git: d459647cddfa - main - lang/seed7: update to 05_20211114

From: Pietro Cerutti <gahr_at_FreeBSD.org>
Date: Mon, 29 Nov 2021 08:59:30 UTC
The branch main has been updated by gahr:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d459647cddfa4b1cd63cd05419de0eb0aad3e9c1

commit d459647cddfa4b1cd63cd05419de0eb0aad3e9c1
Author:     Pietro Cerutti <gahr@FreeBSD.org>
AuthorDate: 2021-11-29 08:57:12 +0000
Commit:     Pietro Cerutti <gahr@FreeBSD.org>
CommitDate: 2021-11-29 08:59:26 +0000

    lang/seed7: update to 05_20211114
    
    20211114:
    - The libraries pixmap_file.s7i and graph_file.s7i have been improved
      to draw to the correct graphic window. Many thanks to Anders
      Carstensen for pointing out that text was written into the wrong
      window and for providing a test program.
    - Answers to three new questions have been added to the FAQ. Answers
      to existing questions have been improved. Many thanks to Zachary
      Menzies for pointing out a problem with two dimensional arrays and
      for providing a test program.
    - An unclosed <i> tag has been removed from the manual. Thanks to
      ifethereal for pointing out this error. Several other places with
      illegal HTML in doc/manual.htm have also been fixed.
    - The function getXmlTagHeadOrContent() has been improved in
      scanfile.s7i and scanstri.s7i. Now, tag names start with a letter
      or underscore (_), and the function can read XML contents that
      start with the character '<' (like < <= or <> ). In this case, the
      character < is read as character reference (&lt;).
    - An explanation of the exception declaration has been added to the
      manual.
    - The search for the X11 Xrender extension has been improved. In
      chkccomp.c the function determineX11Defines() has been improved.
      Declarations have been moved from x11_x.h to the new file
      x11_rend.h. Adjustements have been made in drw_x11.c and fwd_x11.c.
    - Two code pages for APL symbol encoding have been added to
      charsets.s7i. The graphic representation of the character '\a'
      (bell) has been changed from '\16#25cf;' to '\16#2022;' in all
      code sets.
    - In the vector font cronos16 the design of the characters 'J' '£'
      and '€' have been improved.
    - In the vector font cronos27 the design of the characters '£' '¤'
      and '€' have been improved.
    - In analyze.c, the function analyzeProg() has been improved to work
      correctly if an error occurs.
    - In itflib.c, the function itf_create() has been improved to raise
      the exception ACTION_ERROR if the source struct is NULL.
    - The prototypes of the functions conWrite() and stri_to_bstriw()
      have been changed to work with constant strings.
    
    20211009:
    - Seed7's approach to avoid double library includes has been
      improved. Many thanks to Zachary Menzies for reporting the
      problem (a second library with the same name but in a different
      directory was not included) and for providing a test case to
      trigger it. The new mechanism uses the absolute path of a library
      to determine if it already has been included. Now the map of
      included libraries is not part of the compiled executable anymore.
      Changes have been made in seed7_05.s7i, analyze.c, data.h,
      infile.c, infile.h, libpath.c, libpath.h, prclib.c and prg_comp.c.
    - The new library htmldom.s7i has been added. This library contains
      an improved HTML DOM parser. Many thanks to OddCitron1981 for
      suggesting to parse some of the wild HTML out there on the web. The
      functions readHtmlNode() and readHtml() have been moved from
      xmldom.s7i to htmldom.s7i. The type htmlDocument and the function
      readHtmlContainerSubNodes() have been added. Improvements of HTML
      scanning functions were also made due to this suggestion. The new
      HTML parser considers several things special for HTML:
      - Tag names and attribute names are converted to lower case.
      - There are alternate end tags for tags with optional closing tag.
      - Attributes without value get "" as value.
      - The <!DOCTYPE data is not handled as xmlNode.
      - Closing tags without opening tag are left in as is.
    - The HTML scanning functions in scanfile.s7i and scanstri.s7i have
      been improved:
      - HTML tag attributes without value are allowed now.
      - Reading of HTML tag attributes now stops at the end of tag
        character (>).
      - CDATA sections are considered now.
      - The functions getXmlTagHeadOrContent(), getSymbolInXmlTag(),
        getHtmlAttributeValue() and getNextHtmlAttribute() have been
        improved.
      - The function getXmlCdataContent() has been added.
    - A chapter about for-until-loops has been added to the manual.
    - The makefiles and the compiler (s7c.sd7) have been improved to
      avoid linking unused system libraries (e.g. with -lm). Changes have
      been done in cc_conf.s7i, comp/action.s7i, comp/flt_act.s7i,
      comp/library.s7i, s7c.sd7, cmd_rtl.c and in the makefiles.
    - The bas7.sd7 (basic interpreter) example program has been improved.
      - Now, it is possible to do a string multiplication with the *
        operator. E.g.: "ha"*3 results in "hahaha" and "ab"*2+"xy"*3
        results in "ababxyxyxy".
      - Now, the RPT$ function is checked for a negative factor.
    - The wiz.sd7 example program has been refactored. The functions
      treasureNumber() and vendorDies() have been introduced.
    - The bigfiles.sd7 example program has been improved to limit the
      length of the result list.
    - The compiler has been improved:
      - Now, unused system libraries are not linked to the executable.
      - In comp/flt_act.s7i the implementation of FLT_DECOMPOSE has been
        improved and float comparisons set the flag mathLibraryUsed, if
        the implementation requires it.
      - Two functions named appendLibrary() have been added to s7c.sd7.
        These functions avoid that a system library is linked twice.
      - In comp/action.s7i calls of BIG_... actions now set the flag
        bigintLibraryUsed  and calls of FLT_... actions (that need the
        math system library) now set the flag mathLibraryUsed.
      - The flags bigintLibraryUsed and mathLibraryUsed have been added
        to comp/library.s7i.
    - In xmldom.s7i the writeXml functions have been refactored.
      Unnecessary definitions of writeXml have been removed.
    - Definitions of SYSTEM_BIGINT_LIBS and SYSTEM_MATH_LIBS have been
      added to cc_conf.s7i. The definition of ADDITIONAL_SYSTEM_LIBS
      has been removed. SYSTEM_BIGINT_LIBS and SYSTEM_MATH_LIBS are
      used in confval.sd7 and s7c.sd7.
    - Several improvements in chkccomp.c have been done:
      - Now SYSTEM_MATH_LIBS and LINKER_OPT_DYN_LINK_LIBS are
        considered. This helps to avoid linking unused libraries.
      - ADDITIONAL_SYSTEM_LIBS has been renamed to SYSTEM_BIGINT_LIBS.
      - Now, it checks if fileno() succeeds after a successful
        call of popen() (this fixes a problem with Emscripten).
      - The function appendOption() has been improved.
      - The type of several indices has been changed from int to
        unsigned int (this reduces the number of C warnings).
      - The value LINKER_OPT_DYN_LINK_LIBS is now added to a
        corresponding list of system libraries if dynamic linking at
        run-time is necessary.
    - In cmd_rtl.c the function doReadLink() has been improved to work
      also for symlinks in the Linux /proc filesystem (in /proc the
      stat() function reports a symlink size of 0).
    - The macro environmenStrncmp has been renamed to environmentStrncmp.
    - The function getProgramPath() has been moved from analyze.c to
      cmd_rtl.c. Additionally it has been improved and renamed to
      getAbsolutePath().
    - In cmd_unx.c the function getExecutablePath() has been improved to
      use doReadLink() and to return a straightened absolute path (the
      special directories "." and ".." are interpreted according to
      their conventional meanings).
    - The functions concatAndStraightenPath() and
      straightenAbsolutePath() have been added to str_rtl.c.
    - In infile.c the functions open_infile(), close_infile(),
      open_string() and remove_prog_files() have been renamed to
      openInfile(), closeInfile(), openString() and removeProgFiles()
      respectively. Now openInfile() and openString() return a
      boolType result to indicate the success.
    - In libpath.c the functions find_include_file(),
      append_to_lib_path(), init_lib_path() and free_lib_path() have
      been renamed to findIncludeFile(), appendToLibPath(),
      initLibPath() and freeLibPath() respectively. The functions
      initIncludeFileHash(), shutIncludeFileHash() and
      openIncludeFile() have been added. The added functions maintain a
      hashmap of already included files.
    - In prclib.c the function prc_include() has been adjusted to call
      the new function that avoids double includes. Now the 2nd
      parameter of the action PRC_INCLUDE contains the file name to be
      included.
    - In striutl.c the functions stri_to_os_utf8(), conv_to_os_stri()
      have been improved to return a boolType result that indicates
      success.
    - Logging functions have been added to strlib.c.
    - Documentation comments have been improved in cc_conf.s7i,
      html.s7i, osfiles.s7i, scanfile.s7i, scanstri.s7i, cmdlib.c,
      cmd_rtl.c, hshlib.c and hsh_rtl.c.
    
    20210904:
    - The linking of PostgreSQL has been improved. Many thanks go to
      SiliconWizard, for pointing out linking problems and for helping
      to investigate them. The function findPgTypeH() has been added to
      chkccomp.c. Now the search for pg_type.h and pg_type_d.h does not
      include postgres.h. In sql_post.c the include of the file
      postgres.h has been removed.
    - The wiz.sd7 example program has been refactored. Now it can be
      compiled. Many thanks go to Vasiliy Tereshkov, for reporting the
      compilation problem. Additionally, several improvements of wiz.sd7
      have been done.
    - The functions expm1() and log1p() have been added to the math.s7i
      library. Many thanks go to Sanjay Jain for pointing out that
      they were missing.
    - In wrinum.s7i the functions str(ENGLISH, number) and
      str(GERMAN, number) have been improved to work correctly for zero.
    - In forloop.s7i the definition of for-until-loops has been
      improved, such that the loop variable never gets a value outside
      of the range. The definition of for-loops has been changed to
      invoke the loop-body just at one place. Since the loop body is
      inlined, this does shorten the generated code.
    - Tests for for-loops have been added to chkprc.sd7.
    - The compiler (s7c.sd7) has been improved to generate better code
      for the actions BLN_TERNARY, REF_ADDR, REF_SELECT and SET_ELEM
      (changes were done in bln_act.s7i, ref_act.s7i and set_act.s7i).
    - The compiler has been improved (in comp/enu_act.s7i), to check
      for a possible RANGE_ERROR, if an integer is converted to an
      enumeration value (action ENU_ICONV2).
    - The compiler has been improved to optimize expressions like
      ord(aBigExpression mod aPowerOfTwo).
    - The function chkBigOrdWithBigMod has been added to chkbig.sd7.
      This function checks the optimizations done with expressions like
      ord(aBigExpression mod aPowerOfTwo).
    - Tests for the ternary operator have been added to chkstr.sd7.
    - Tests for the 'element in bitset' operator have been added to
      chkset.sd7. These tests check the compiler optimizations for
      SET_ELEM.
    - Definitions of HAS_EXPM1 and HAS_LOG1P have been added to
      cc_conf.s7i.
    - Interpreter and compiler have been improved, to support the
      actions HAS_EXPM1 and HAS_LOG1P.
    - In comp/intrange.s7i the function getIntRange() has been improved
      to consider the actions INT_SUCC, INT_PRED, INT_ICONV1,
      INT_ICONV3 and SET_RAND. The handling of the actions INT_RAND,
      INT_ABS and INT_NEGATE has been improved. The functions
      getIntAddRange() and getSetRandRange() have been added.
    - The program chk_all.sd7 has been adjusted to the changes in the
      check programs.
    - A spelling error in s7c.sd7 has been fixed.
    - The program wrinum.sd7 has been changed to start with zero.
    - Logging functions have been added to reflib.c.
---
 lang/seed7/Makefile  | 2 +-
 lang/seed7/distinfo  | 6 +++---
 lang/seed7/pkg-plist | 1 +
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/lang/seed7/Makefile b/lang/seed7/Makefile
index eeda2072da16..2d2365ba674e 100644
--- a/lang/seed7/Makefile
+++ b/lang/seed7/Makefile
@@ -1,7 +1,7 @@
 # Created by: gahr
 
 PORTNAME=	seed7
-DISTVERSION=	05_20210807
+DISTVERSION=	05_20211114
 PORTREVISION=	0
 CATEGORIES=	lang
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${DISTNAME}/
diff --git a/lang/seed7/distinfo b/lang/seed7/distinfo
index eab49adf9a30..0fa5cbd64cbf 100644
--- a/lang/seed7/distinfo
+++ b/lang/seed7/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628493447
-SHA256 (seed7_05_20210807.tgz) = baad500d577b6f1a347d00f0471405f8bf0b9eabeb7fff080fc5c863a7c540dd
-SIZE (seed7_05_20210807.tgz) = 3609571
+TIMESTAMP = 1638171785
+SHA256 (seed7_05_20211114.tgz) = 80d7e456b2ade2512a12fc2f19dd8ac47ae8fe6ef61f8557ab2a9ce6c3e0ffd3
+SIZE (seed7_05_20211114.tgz) = 3632041
diff --git a/lang/seed7/pkg-plist b/lang/seed7/pkg-plist
index 9c7773200d74..6df81b70624c 100644
--- a/lang/seed7/pkg-plist
+++ b/lang/seed7/pkg-plist
@@ -131,6 +131,7 @@ lib/seed7/lib/hashsetof.s7i
 lib/seed7/lib/hmac.s7i
 lib/seed7/lib/html_ent.s7i
 lib/seed7/lib/html.s7i
+lib/seed7/lib/htmldom.s7i
 lib/seed7/lib/http_response.s7i
 lib/seed7/lib/httpserv.s7i
 lib/seed7/lib/huffman.s7i