<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ports/lang/seed7/files, branch main</title>
<subtitle>FreeBSD ports tree</subtitle>
<id>https://cgit-dev.freebsd.org/ports/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/ports/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/'/>
<updated>2025-07-30T12:54:36Z</updated>
<entry>
<title>lang/seed7: update to 05_20250729</title>
<updated>2025-07-30T12:54:36Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2025-07-30T12:51:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=0f88407a0f0acd37df54073846488aaaedd99862'/>
<id>urn:sha1:0f88407a0f0acd37df54073846488aaaedd99862</id>
<content type='text'>
Changes: https://github.com/ThomasMertes/seed7/releases/tag/Seed7_release_2025-07-29
</content>
</entry>
<entry>
<title>lang/seed7: update to 05_20250516</title>
<updated>2025-07-17T19:30:57Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2025-07-17T19:26:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=841d56019fa0656d87f1e5cae55140c3986d7153'/>
<id>urn:sha1:841d56019fa0656d87f1e5cae55140c3986d7153</id>
<content type='text'>
Changes:
* https://github.com/ThomasMertes/seed7/releases/tag/Seed7_release_2025-03-25
* https://github.com/ThomasMertes/seed7/releases/tag/Seed7_release_2025-05-16
</content>
</entry>
<entry>
<title>lang/seed7: 05_20230709</title>
<updated>2023-08-29T15:23:18Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2023-08-29T15:22:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=f40164d18b6fb2de77bf535cf09245340de463ba'/>
<id>urn:sha1:f40164d18b6fb2de77bf535cf09245340de463ba</id>
<content type='text'>
20230709:
- Explanations about the initialization with 'is', the 'return'
  declaration construct and the meaning of dollar signs have been
  added or improved in the FAQ.
- A chapters about arrays has been added to the tutorial.
- In the manual, chapters about variants of for-each loops have been
  added or improved.
- A chapter about the exception GRAPHIC_ERROR has been added to the
  manual.
- The compiler (s7c.sd7) has been improved:
  - The generated code for array indexing that always raises
    INDEX_ERROR, has been improved to be accepted by clang. A cast to
    the desired type has been added.
  - The code generation for the hash set functions card() and rand()
    has been improved to support temporary sets.
  - Spezialized code is now generated, if the hash set function rand()
    is used with constant sets.
  - The functions strHeadAssign and strTailAssign are used now. They
    are always called like this: aString = strHeadAssign(aString, pos);
- In the library gzip.s7i the functions length() and tell() have been
  added for a gzipWriteFile.
- In the library tar.s7i the function putFile() has been improved to
  check for seekable() before aplying seek().
- The function pemObject() which creates a PEM object from 'pemType'
  and 'content' has been added to pem.s7i.
- Support for the generation of non-self-signed certificates has been
  added to the x509cert.s7i library.
- Support for X509 extensions has been added to the x509cert.s7i
  library.
- A function to create an x509Name has been added to x509cert.s7i.
- In x509cert.s7i several things have been renamed:
  - The types validityType and nameType have been renamed to
    x509Validity and x509Name respectively.
  - The function getName() has been renamed to getX509Name().
  - The parameter encryptionKey has been renamed to issuerKey.
- In x509cert.s7i the type x509cert is deprecated now. The type
  x509Cert should be used instead.
- In asn1.s7i and x509cert.s7i parameters and result variables have
  been renamed from 'stri' to 'asn1'.
- In pkcs1.s7i an additional function to generate a RSA key pair has
  been added.
- Now 'in varfunc' call-by-name parameters can be specified with 'in'
  and 'ref'. This is done in the library seed7_05.s7i by defining
  IN_PARAM_IS_REFERENCE(varfunc aType).
- In seed7_05.s7i the boolean condition parameters of loops have been
  changed to be defined with 'ref'. This corresponds to the fact that
  changing a condition variable in the loop body can terminate the
  loop.
- The test suite has been improved to increase the code coverage.
- A test program for enumerations (chkenum.sd7) has been added.
- Tests have been added to chkbig.sd7:
  - Tests for bigInteger comparisons (=, &lt;&gt;, &lt;, &lt;=, &gt;=, &gt; and compare).
  - Tests for the optimization of ord(a mod b).
  - Tests for the multiplication of a constant with a bigInteger.
  - Tests for the divRem operator and for the rand and gcd functions.
  - Tests for the modulus of a bigInteger by a power of two.
- Tests have been added to chkbin.sd7:
  - Tests for the bin64 &amp;, | and &gt;&lt; operators.
  - Tests for the optimization of bin64(a mod b).
  - Tests for bin64 shift operator have been improved.
- Tests have been added to chkbst.sd7:
  - Tests for bstring length.
  - Improve tests for bstring assignments.
- Tests have been added to chkchr.sd7:
  - Tests for char literals and conversions
  - Tests for the char functions succ(), pred(), lower() and upper().
- Tests in chkhsh.sd7 have been improved:
  - Tests for hash tables with enumeration type keys and values have
    been added.
  - Tests for hash tables with bstring keys and values have been added.
  - Tests for hash tables with bitset keys and values have been added.
  - Tests for hash keys() and values() function have been added.
- Tests in chkstr.sd7 have been improved:
  - Tests for c_literal() have been added.
  - Tests for string head (stri[.. stop]) have been added.
  - Tests for string tail (stri[start ..]) have been added.
  - Tests for the string pos(), rpos() and replace() functions have
    been added. These tests trigger a Boyer-Moore string search.
  - Tests for fromUtf8() have been added.
  - Tests for lower() and upper() have been added.
  - Tests for string assignment have been added.
- Tests for the expression A * B ** C have been added to chkint.sd7
  and chkovf.sd7.
- Tests for string head (stri[.. n]) and string tail (stri[n ..]) have
  been added to chkidx.sd7.
- In chkset.sd7 tests for the hash set functions card(), rand() and
  toArray() have been added. Tests for the operators 'in' and 'not in'
  have been added as well.
- In chkprc.sd7 tests for for-until loops have been added.
- Tests for the type clib_file and for the functions seekable(),
  tell(), bigTell() and seek() have been added to chkfil.sd7.
- The handling of the version level (the last number in the version
  string) has been improved:
  - The file src/level_rl.h which contains the release level has been
    introduced.
  - The files src/level.h and src/level_bk.h have been removed from the
    release.
  - In the makefiles the target distclean has been improved to remove
    src/level.h and src/level_bk.h.
  - The program levelup.c has been improved to maintain the file
    level.h. If level_rl.h has changed it will be copied to level.h. If
    there is no change in level_rl.h every compilation of s7 will
    increment the level.
  - The program wrdepend.c has been improved to check if level.h is
    missing. In this case, level_rl.h is copied to level.h.
  - The minor version number of s7 and s7c has been incremented.
- In seed7_05.s7i, forloop.s7i, chkarr.sd7, chkbig.sd7, chkbin.sd7,
  chkbst.sd7, chkfil.sd7, chkflt.sd7, chkidx.sd7, chkint.sd7,
  chkovf.sd7, chkset.sd7 and chkstr.sd7 'ref func' parameters have been
  replaced with 'in func' parameters.
- In chk_all.sd7, chkarr.sd7, chkfil.sd7, chkidx.sd7, chkovf.sd7 and
  chkstr.sd7 'ref proc' parameters have been replaced with 'in proc'
  parameters.
- In str_rtl.c the functions strHeadAssign and strTailAssign have been
  introduced. These functions leave the string parameter intact in case
  of an error.
- In str_rtl.c the function strHeadTemp has been refactored to assume
  that the string parameter is always tempory and can be freed in case
  of an error.
- Documentation comments have been improved in pem.s7i and
  x509cert.s7i.
</content>
</entry>
<entry>
<title>lang/seed7: update to 05_20230529</title>
<updated>2023-06-01T13:59:29Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2023-06-01T13:33:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=cb604c2560409515ec7de5c155a5a94daec629f2'/>
<id>urn:sha1:cb604c2560409515ec7de5c155a5a94daec629f2</id>
<content type='text'>
20230529:
- The FAQ concerning break and continue has been improved.
- Chapters about assignment and constants have been added to the
  tutorial, which is part of the manual. A description of the function
  fraction() has been added to the chapter about predefined types.
- The new library archive_base.s7i has been added. This library
  defines common functions for file archives. It currently defines the
  function readDir() which is used by the archive libraries ar.s7i,
  cpio.s7i, rpm.s7i, tar.s7i and zip.s7i.
- In the zip.s7i library the function readDir() has been improved to
  work for absolute paths (by calling readDir() from archive_base.s7i).
- Several improvements have been made in the rpm.s7i library:
  - The signature section digests are checked when the RPM file is
    opened.
  - The payload digests are only checked if the payload is used.
  - Provided and required dependencies are read when the RPM file is
    opened.
- The compiler (s7c.sd7) has been improved:
  - It recognizes if an array index access would always raise
    INDEX_ERROR. This is done for a constant array and with the range
    of possible index values.
  - The optimization of the floating point power operator with an
    integer exponent has been improved. There are cases where the base
    is constant, and the range of possible exponents allows a
    simplification.
  - The optimization of the floating point left and right shift
    operators has been improved. It considers cases where the number
    that needs to be shifted is constant and cases where nothing is
    constant. In both situations the range of possible shift amounts
    allows simplifications.
  - The optimization of A * B ** C with A and B float and C integer,
    has been improved. This considers cases where B is a power of two
    and the range of possible exponents C allows a simplification.
  - It is recognized if the integer left shift operator would always
    raise OVERFLOW_ERROR. Depending on the range of possible values
    for the shift amount and the value to be shifted, this optimization
    is made.
  - The number of checks for OVERFLOW_ERROR and NUMERIC_ERROR of the
    integer power operator has been reduced. Depending on the range of
    possible values for base and exponent, some checks can be omitted.
  - Now the range of possible integer values is determined for the
    expression ord(aBigInteger mod 2_ ** n).
  - Now the range of possible integer values is determined for the
    length of a sub-string.
  - The generated code for 'elsif FALSE then end if' as been fixed.
  - String index checks are optimized away if the range of possible
    index values always remains inside a constant string.
  - Computing the length of a fixLen substring has been optimized
    (e.g.: length(aString[A fixLen B]) will always return B).
  - The optimization of the string length function has been changed to
    sum up the length of the components as integers.
- The test suite has been improved to increase the code coverage of the
  compiler.
- Tests for array assignment, array length and array index access have
  been added to chkarr.sd7.
- Tests of the optimization of expressions like ord((A + B) mod C)
  (the modulus of a bigInteger sum converted to an integer) have been
  added.
- Several tests have been added to chkflt.sd7:
  - Tests for float left shift (&lt;&lt;).
  - Tests for float right shift (&gt;&gt;).
  - Tests for float ** integer.
  - Tests for the A * B ** C optimization.
  - Tests for float ** float.
  - The tests for decompose() have been improved.
  - Tests for ceil(), floor() and trigonometric functions have been
    added.
- Tests for the power operator (**) and for the integer &gt;&gt;:= operator
  have been added to chkint.sd7.
- Tests for the overflow of shift left (&lt;&lt;) and for the power operator
  (**) have been added to chkovf.sd7.
- Tests for string head have been added to chkidx.sd7.
- Tests for empty if-, while- and repeat-statements have been added to
  chkprc.sd7.
- Tests for card(), rand() and assignment have been added to
  chkset.sd7.
- Several tests have been added to chkstr.sd7:
  - Tests for string length.
  - Tests for string index access.
  - Tests for the string head function.
  - Tests for string concatenation.
  - Tests for string assignment.
- The phrase "works correct" has been replaced with "works correctly"
  in the files chk_all.sd7, chkarr.sd7, chkbig.sd7, chkbin.sd7,
  chkbigdata.sd7, chkbool.sd7, chkbst.sd7, chkchr.sd7, chkcmd.sd7,
  chkexc.sd7, chkfil.sd7, chkflt.sd7, chkhsh.sd7, chkidx.sd7,
  chkint.sd7, chkovf.sd7, chkprc.sd7, chkset.sd7 and chkstr.sd7.
- The value STMT_BLOCK_IN_PARENTHESES_OK has been added to confval.sd7.
- The initialization of local variables and constants with a single
  local value has been fixed (in dcllib.c).
- In flt_rtl.c the function fltLdexp() has been improved to work
  correctly for infinity, even if ldexp() does not.
- The program chkccomp.c has been improved to determine
  LDEXP_OF_INFINITY_OKAY (which defines if ldexp() works for infinity).
- Documentation comments have been improved in null_file.s7i.

20230422:
- The compiler option -S to specify the stack size has been added.
  Many thanks to Bruce Axtens for pointing out problems with the
  Ackermann function at RosettaCode. This triggered the -S improvement.
- Many thanks to Bruce Axtens for adding Seed7 to the Exercism project.
  Discussions about that resulted in several improvements:
  - Now call-by-name parameters can be specified with 'in' and 'ref'.
  - Support for syntax statements without $ (dollar) has been added.
  - The error message for an unspecified kind of in-parameter has been
    improved.
- Many thanks to Gary Chike for pointing out problems:
  - The RosettaCode example "Convert decimal number to rational" did
    not work correct. To fix that, the function fraction(), which gets
    a fraction as string (e.g. "1/3"), has been added to bigrat.s7i and
    rational.s7i.
  - Mac OS 13.2.1 had permission problems when installing Seed7. The
    copying of manual pages failed. In mk_osx.mak and mk_osxcl.mak, the
    copying of the s7 and s7c manual pages to /usr/share/man/man1 has
    been changed to allow a failure.
  - On some computers, vim syntax highlighting is turned off by
    default. The FAQ has been improved to describe the steps for
    enabling vim syntax highlighting.
- Explanations about design principles, compiler options, syntax
  highlighting, forward declarations, function overloading, function
  declarations and declaring break/continue statements have been
  added or improved in the FAQ.
- Chapters about function declarations and overloading have been
  added to the tutorial (part of the manual).
- In the manual the chapters about types, parameters and expressions
  have been improved.
- In seed7_05.s7i the function literal() has been defined for
  enumeration types.
- The files panic.sd7, wiz.sd7, savehd7.sd7, cards.s7i, sql_base.s7i
  and boolean.s7i have been changed to use the new function literal().
- Support for the ternary operator ?: has been added for enumerations
  and for the types 'type' and 'category'.
- The compiler (s7c.sd7) has been improved:
  - At several places the function integerLiteral() is used instead of
    str() to create integer literals.
  - Assignments to temp variables in inline functions have been fixed.
    This allows: float parse ("0." &amp; "0" mult 307 &amp; "1")
  - If-statements are used in overflow checks for the operators +:=,
    -:=, *:=, &lt;&lt;:= and &gt;&gt;:=.
  - Generated temporary variables have been renamed in int_act.s7i.
  - The code of the factorial function has been optimized.
  - Support for the action ENU_LIT has been added.
  - The action ENU_LIT has been added to the list of special actions.
  - Allocated result data of inlined special actions is now freed.
  - Now integer comparisons are checked with -oc3 if they can be
    computed at compile time. With -w2, a warning is written if this
    is the case.
  - The compiler option -S to specify the stack size has been added.
- In zip.s7i the function fileMode() has been fixed to work for short
  file names.
- The test program chkflt.sd7 has been improved to have detailed error
  messages. Tests for converting between floats to strings in both
  directions have been added as well.
- Definitions of LINKER_OPT_STACK_SIZE and DEFAULT_STACK_SIZE have been
  added to cc_conf.s7i. The file cmd_rtl.c and the program confval.sd7
  have been adjusted accordingly.
- The interpreter has been improved to support the actions DCL_SYNTAX,
  ENU_LIT and PRC_BEGIN_NOOP.
- Support for empty func ... end func constructs has been added.
- The error messages "Syntax declared twice", "Associativity expected",
  "Dot expression expected" and "Integer literal expected" have been
  improved in error.c.
- The functions err_expr_type() and err_expr_obj_stri() have been added
  to error.c.
- In fil_rtl.c the function filClose() has been improved to work
  correctly if fclose() fails after a previous error.
- In flt_rtl.c the function fltParse() has been improved to consider
  STRTOD_ACCEPTS_INF, STRTOD_ACCEPTS_INFINITY, STRTOD_ACCEPTS_NAN and
  STRTOD_ACCEPTS_SIGN_WITHOUT_DIGITS.
- In gkb_win.c definitions of XBUTTON1, XBUTTON2, WM_MOUSEWHEEL,
  GET_WHEEL_DELTA_WPARAM, VK_OEM_PLUS, VK_OEM_MINUS and VK_OEM_1 to
  VK_OEM_8 are added if they are not present in the include files.
- In heaputl.c the function setupStack() has been improved to have the
  requested stack size as a parameter.
- In os_decls.h the definition of safe_fileno() has been improved to
  use os_fileno() instead of fileno().
- Functions for X11 selection (cut and paste) have been added to
  fwd_x11.c and x11_x.h.
- In pcs_unx.c and pcs_win.c the function pcsPipe2() has been improved
  to leave *childStdin and *childStdout unchanged if the corresponding
  call of os_fdopen() fails.
- The function prc_begin_noop() has been added to prclib.c.
- In soc_rtl.c the functions socInetAddr(), socInetLocalAddr() and
  socInetServAddr() have been improved to set 'result' to NULL if
  ai_addrlen is negative.
- The function prot_dot_expr() has been added to traceutl.c. This
  function is used to write the error message SYNTAX_DECLARED_TWICE.
- The program chkccomp.c has been improved to determine
  STRTOD_ACCEPTS_SIGN_WITHOUT_DIGITS, STRTOD_ACCEPTS_INF,
  STRTOD_ACCEPTS_INFINITY, STRTOD_ACCEPTS_NAN,
  OS_GETCWD_INCLUDE_DIRECT_H, OS_OPENDIR_INCLUDE_DIRECT_H and
  FCLOSE_FAILS_AFTER_PREVIOUS_ERROR. The computation of
  FLOAT_NAN_COMPARISON_OKAY has been improved.
- In chkccomp.c recent PostgreSQL versions are considered now.
- In cmd_rtl.c and dir_drv.h the file direct.h is now conditionally
  included depending on OS_GETCWD_INCLUDE_DIRECT_H respectivily
  OS_OPENDIR_INCLUDE_DIRECT_H.
- Includes of stdlib.h have been added to literal.c, sql_rtl.c,
  syvarutl.c and tim_rtl.c.
- The makefiles mk_bcc32.mak, mk_bccv5.mak, mk_clangw.mak, mk_cygw.mak,
  mk_mingc.mak, mk_mingw.mak, mk_msvc.mak, mk_msys.mak, mk_nmake.mak
  and mk_tcc_w.mak have been improved to define DEFAULT_STACK_SIZE and
  LINKER_OPT_STACK_SIZE.
- Documentation comments have been added to float.s7i and rational.s7i.
</content>
</entry>
<entry>
<title>lang/seed7: update to 05_20220312</title>
<updated>2022-03-30T08:47:46Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2022-03-30T08:28:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=a4c45911d52f912867d5b5e540c070589362aed7'/>
<id>urn:sha1:a4c45911d52f912867d5b5e540c070589362aed7</id>
<content type='text'>
20220312:
- Two typos in the fwd_x11.c have been fixed. Thanks to Zachary
  Menzies for pointing them out.
- Interpreter and compiler have been improved to support Informix
  databases.
- The example program portfwd7.sd7 has been added. Portfwd7 is a
  port forwarder to redirect network communication.
- The run-time to write a BMP file has been reduced to 74% (measured
  with gcc and valgrind).
- The error messages for "Match failed" and "Variable expected"
  errors have been shortened.
- The program gkbd.sd7 has been improved to show when mouse
  buttons are pressed.
- The browser interface in browser.s7i has been improved to support
  Chromium and Edge.
- In http_response.s7i, the HTTP response has been improved to
  support JPEG, ICO and TIFF files.
- The pv7 picture viewer has been improved to use the path of the
  image.
- The function hasImageExtension() has been move from pv7.sd7 to
  the imagefile.s7i library.
- The example program findchar.sd7 has been improved to support
  Windows/DOS paths.
- The support for primitive actions in the compiler has been
  improved.
- The function loadBaseDlls() has been added to sql_post.c.
- In tls.s7i an error in processing change_cipher_spec has been
  fixed.
- The program chkbig.sd7 has been refactored to use smaller
  functions.
- An additional test for case statements has been added to
  chkprc.sd7.
- The function getPixelArray() has been added to draw.s7i.
- The function setPointerPos() has been added to graph.s7i.
- The libraries bmp.s7i, ico.s7i and ppm.s7i have been improved to
  use the function getPixelArray() to write BMP, ICO and PPM images.
- In the libraries bmp.s7i, gif.s7i, jpeg.s7i, png.s7i, ppm.s7i and
  tiff.s7i calls of imagePixmap() have been replaced by calls of
  getPixmap().
- The undocumented functions imagePixmap() and getImage() have been
  renamed to getPixmap() and getPixelData() respectively.
- The compiler (s7c) has been improved to inline the action
  DRAW_PIXEL_TO_RGB.
- The makefiles have been improved to simplify the build system. Now
  utilies like chkccomp, wrdepend, setwpath and sudo are compiled
  with extra commands. Support for Informix databases has also been
  added.
- Several improvements have been made in chkccomp.c:
  - It now writes more detailed error messages.
  - The function appendOption() has been improved to check if an
    option is already an element in the list.
  - The functions fileIsPresentPossiblyAfterDelay(), runTest(),
    doTestNoResultCheck(), addDynamicLibToDllListWithRpath(),
    addDynamicLib(), addDynamicLibsWithRpath() and
    determineInformixDefines() have been added.
  - Now the macros ODBC_SIZEOF_SQLWCHAR, DB2_SIZEOF_SQLWCHAR and
    INFORMIX_SIZEOF_SQLWCHAR, SQL_SERVER_SIZEOF_SQLWCHAR are
    written into version.h.
  - Macros to support Informix databases are written into version.h.
- In sql_base.c the error message concerning the searching for
  dynamic libraries has been improved.
- Now the static functions hasDataType() and dataTypeIsUnsigned() in
  sql_cli.c are only defined when needed.
- In all C source files, the types wcharType and wstriType have been
  replaced by utf16charType and utf16striType respectively. This
  avoids confusion, since sizeof(wchar_t) is 2 in Windows and 4 in
  Linux/Unix/BSD (although sizeof(wcharType) was always 2).
- Definitions of utf32charType and utf32striType have been added to
  common.h.
- Explanations of utf16charType, utf16striType, utf32charType and
  utf32striType have been added to the manual.
- In heaputl.h, the macros SIZ_WSTRI, MAX_WSTRI_LEN and ALLOC_WSTRI
  have been removed. Definitions of the macros SIZ_UTF16, SIZ_UTF32,
  MAX_UTF16_LEN, MAX_UTF32_LEN, ALLOC_UTF16, ALLOC_UTF32,
  REALLOC_UTF16, REALLOC_UTF32, UNALLOC_UTF16 and UNALLOC_UTF32
  have been added.
- The database drivers sql_cli.c sql_db2.c, sql_odbc.c and sql_srv.c
  have been changed to use SQLWCHAR instead of wcharType and
  wstriType.
- In sql_cli.c the macros SIZ_SQLWSTRI, MAX_SQLWSTRI_LEN,
  ALLOC_SQLWSTRI, UNALLOC_SQLWSTRI, stri_to_sqlwstri,
  sqlwstri_to_stri and copy_to_sqlwstri have been introduced. These
  macros allow the DB interface to work for sizeof(SQLWCHAR) == 2
  and sizeof(SQLWCHAR) == 4.
- The Informix database driver sql_ifx.c has been added.
- The macro BIGINT_LIB has been renamed to BIGINT_LIBRARY in
  chkccomp.c, common.h, big_gmp.c, big_rtl.c, flistutl.c and
  heaputl.h.
- Documentation comments have been improved in bmp.s7i, ccittfax.s7i,
  draw.s7i, hmac.s7i, huffman.s7i, ico.s7i, imagefile.s7i, lzw.s7i,
  ppm.s7i,
- In sql_base.s7i, the value DB_INFORMIX has been added to the
  enumeration type dbCategory.
- Functions to open Informix databases have been added to
  sql_base.s7i and sqllib.c.
- The function quoteTableNames() has been added to sql_base.s7i.
- The program db7.sd7 has been improved to quote table names
  depending on the database type.
- The function drwPFArc() has been added to drw_dos.c and drw_emc.c.
- The program wrdepend.c has been improved to support
  INFORMIX_INCLUDE_OPTION.
- The function XWarpPointer() has been added to fwd_x11.c and
  x11_x.h.
- Interpreter and compiler have been improved to support the actions
  DRW_GET_PIXEL_ARRAY, DRW_SET_POINTER_POS and SQL_OPEN_INFORMIX.
- The actions DRW_IMAGE, DRW_GETIMAGE and DRW_GET have been renamed
  to DRW_GET_PIXMAP_FROM_PIXELS, DRW_GET_PIXEL_DATA and
  DRW_GET_PIXMAP respectively.
- Action and function names have been refactored to fit to each
  other. The actions DRW_CONVPOINTLIST, DRW_FPOLYLINE,
  DRW_GENPOINTLIST, DRW_GETIMAGEPIXEL, DRW_GETPIXEL, DRW_PIXELTORGB,
  DRW_POLYLINE, DRW_SETCLOSEACTION, DRW_SETCONTENT,
  DRW_SETCURSORVISIBLE, DRW_SETPOS, DRW_SETTRANSPARENTCOLOR,
  DRW_SETWINDOWNAME, DRW_TOBOTTOM and DRW_TOTOP have been renamed to
  DRW_CONV_POINT_LIST, DRW_FPOLY_LINE, DRW_GEN_POINT_LIST,
  DRW_GET_IMAGE_PIXEL, DRW_GET_PIXEL, DRW_PIXEL_TO_RGB,
  DRW_POLY_LINE, DRW_SET_CLOSE_ACTION, DRW_SET_CONTENT,
  DRW_SET_CURSOR_VISIBLE, DRW_SET_POS, DRW_SET_TRANSPARENT_COLOR,
  DRW_SET_WINDOW_NAME, DRW_TO_BOTTOM and DRW_TO_TOP respectively.
- The file primitiv.c has been adjusted to use the new action names.
- The files drwlib.c and drwlib.h have been refactored to use
  function names that correspond to action names.
- In drw_rtl.c the functions memcpy_pixel() and drwRtlImage() have
  been renamed to memcpy_to_pixel() and drwGetPixmapFromPixels()
  respectively.
- The functions memcpy_from_pixel() and drwGetPixelArray() have been
  added to drw_rtl.c.
- In drw_win.c, the function rwGetImage() and drwGet() have been
  renamed to drwGetPixelData() and drwGetPixmap() respectively.
- The function drwSetPointerPos() has been added to drw_win.c and
  drw_x11.c.
- In error.c the new macro MAX_DEPTH_SHOWN defines the expression
  depth shown in "Match failed" and "Variable expected" error
  messages.
- The functions stri_to_wstri16(), stri_to_wstri32(),
  wstri16_to_stri() and wstri32_to_stri() have been added to
  striutl.c.
- The files comp/drw_act.s7i and comp/sql_act.s7i have been adjusted
  to support the new action names.
</content>
</entry>
<entry>
<title>lang/seed7: update to 05_20220130</title>
<updated>2022-03-01T15:10:59Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2022-03-01T15:08:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=fbc7d9e005d9211359f9f26c6acf0ffc8f1c4678'/>
<id>urn:sha1:fbc7d9e005d9211359f9f26c6acf0ffc8f1c4678</id>
<content type='text'>
20220130:
- An arc() function (to draw an arc) with a width (thickness)
  parameter has been added to the draw.s7i library. Many thanks to
  Zachary Menzies for pointing out that it was missing.
- The new library tiff.s7i has been added. This library supports the
  TIFF image file format.
- The new library ccittfax.s7i has been added. This library supports
  CCITT fax decoding as it is used in TIFF files.
- The library zip.s7i has been improved to support reading zip64
  archives.
- A chapter about the type 'process' has been added to the manual.
  The chapter about case statements and other chapters of the manual
  have been improved as well.
- Bit streams have been introduced and the huffman decoding has been
  improved. The run-time to extract a gzipped Seed7 archive with tar7
  has been reduced to 46% (measured with gcc and valgrind). Other
  usages of the inflate algorithm (PNG, ZIP, etc.) also benefit from
  the improvements.
- The compiler has been improved to:
  - Optimize overflow checks away for shift operations.
  - Optimize index checks for string operations.
  - Write an error message if an unsupported option is used.
  - Inline the string tail function.
  - Use parentheses to reduce C compiler warnings.
  - Improve optimizations of the bytes2Int() function.
  - Improve checking of division by zero.
- The statistics of the Seed7 compiler (s7c.sd7) has been improved
  to count inlined functions, optimized index checks and optimized
  overflow checks.
- In bitdata.s7i, the types bitStream, lsbBitStream and msbBitStream
  have been introduced. These types support the functions getBit(),
  getBits(), peekBits(), skipBits() and gets().
- In bitdata.s7i, the functions openLsbBitStream() and
  openMsbBitStream() have been introduced to create lsbBitStream
  and msbBitStream values. With these functions, bit streams can be
  created with a file or a string as data source.
- In bitdata.s7i the functions getBitLsb(), getBitsLsb(),
  peekBitsLsb(), skipBitsLsb(), getBitMsb(), getBitsMsb(),
  peekBitsMsb() and skipBitsMsb() with string als parameters are
  deprecated now. The functions with the types lsbBitStream and
  msbBitStream should be used instead.
- In huffman.s7i the functions getHuffmanSymbolMsb(string, ...) and
  getHuffmanSymbolLsb(string, ...) are deprecated. The functions
  getHuffmanSymbol(msbBitStream, ...) and
  getHuffmanSymbol(lsbBitStream, ...) should be used instead.
- Tests for getBit(), getBits(), peekBits(), skipBits() and gets()
  have been added to chkbitdata.sd7. This refers to tests with
  lsbBitStream and msbBitStream.
- The program chk_all.sd7 has been adjusted to the changes in
  chkbitdata.sd7.
- The functions in inflate.s7i have been improved to use lsbBitStream
  as parameter instead of the previous combination of string, bytePos
  and bitPos.
- The library inflatefile.s7i has been removed. The functions from
  inflate.s7i can be used instead.
- The library cpio.s7i has been improved to check if a CPIO header
  is the correct size.
- The library bytedata.s7i has been improved to raise RANGE_ERROR
  if an empty byte string is converted to integer or bigInteger.
- The library gzip.s7i has been improved to use lsbBitStream and the
  new functions from inflate.s7i.
- The library imagefile.s7i has been improved to support TIFF images.
- The library jpeg.s7i has been improved to use
  getHuffmanSymbol(msbBitStream) instead of
  getHuffmanSymbolMsb(stri, bytePos, bitPos, ...).
- The library lzw.s7i has been improved to support the functions
  lzwDecompress(lsbBitStream, ...), lzwDecompress(msbBitStream, ...),
  lzwDecompressEarlyChange(msbBitStream, codeSize),
  lzwDecompressEarlyChange(msbBitStream, codeSize, requestedLength)
  and lzwDecompressMsbEarlyChange(string, codeSize, requestedLength).
- The files bitdata.s7i, gzip.s7i, inflate.s7i, jpeg.s7i, zstd.s7i
  and chkbitdata.sd7 have been refactored to avoid 'bitStream' as
  variable name. The name 'bitStream' is now used as interface type
  in bitdata.s7i.
- The Seed7 compiler has been improved in comp/arr_act.s7i,
  comp/bin_act.s7i, comp/bst_act.s7i, comp/const.s7i,
  comp/flt_act.s7i, comp/int_act.s7i, comp/intrange.s7i,
  comp/literal.s7i, comp/prc_act.s7i, comp/rfl_act.s7i,
  comp/set_act.s7i, comp/stat.s7i, comp/str_act.s7i and s7c.sd7.
- Checks for bytes(), bytes2Int(), the right shift operator and
  division by zero have been added to chkint.sd7.
- Checks for bin64 shift operations have been added to chkbin.sd7.
- Checks for index access to an empty array have been added to
  chkarr.sd7.
- Checks for bytes2BigInt() have been added to chkbig.sd7.
- In array.s7i the declaration of the times operator has been
  simplified.
- The program pv7.sd7 has been improved to support TIFF files.
- Casts have been added to dll_win.c and libpath.c to reduce C
  compiler warnings.
- In error.c the error message for a failed declaration has been
  improved.
- In str_rtl.c the performance of strHeadSlice() has been improved.
- Unused variables have been removed in several files of the
  compiler.
- In int_rtl.c the functions intBytesBe2Int(), intBytesBe2UInt(),
  intBytesLe2Int() and intBytesLe2UInt() have been changed to raise
  RANGE_ERROR if the string is empty.
- In big_rtl.c and big_gmp.c the functions bigFromByteBufferBe()
  and bigFromByteBufferLe() have been changed to raise RANGE_ERROR
  if the size is zero (the buffer is empty).
- The files drw_win.c, drw_x11.c, drw_drv.h, drwlib.c, drwlib.h and
  primitiv.c have been changed to support the action DRW_PFARC.
- Definitions for the function XSetLineAttributes() have been added
  to fwd_x11.c and x11_x.h.
- In the program chkccomp.c the detection of the division by zero
  behavior and the remainder by zero behavior has been improved.
- Documentation comments have been improved in bstring.s7i,
  bytedata.s7i, bitdata.s7i, null_file.s7i, process.s7i, strifile.s7i
  and biglib.c.
</content>
</entry>
<entry>
<title>lang/seed7: update to 05_20201208</title>
<updated>2020-12-11T17:29:54Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2020-12-11T17:29:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=db7fc24e0e8f2af062f8a2041d0522e3fb0d8833'/>
<id>urn:sha1:db7fc24e0e8f2af062f8a2041d0522e3fb0d8833</id>
<content type='text'>
Relnotes:	https://github.com/ThomasMertes/seed7/blob/a19763a/doc/chlog.txt
</content>
</entry>
<entry>
<title>lang/seed7: update to 05_20200502</title>
<updated>2020-05-06T15:59:09Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2020-05-06T15:59:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=2d20eca1273008477989c312adadc1ef2fe57640'/>
<id>urn:sha1:2d20eca1273008477989c312adadc1ef2fe57640</id>
<content type='text'>
20200502:
- As suggested by Zachary Menzies a detection of more modifier keys has
  been added. E.g.: KEY_SHIFT_LOCK and KEY_NUM_LOCK. These modifier
  keys have a state. The state of KEY_SHIFT_LOCK can be retrieved with
  buttonPressed(KEYBOARD, KEY_SHIFT_LOCK_ON).
- Several new keys and key combinations such as KEY_PRINT, KEY_PAUSE,
  KEY_ALT_LEFT and KEY_SFT_MENU have been added to keybd.s7i. Existing
  definitions in keybd.s7i have been refactored. Key names in
  keydescr.s7i have been updated.
- The program gkbd.sd7 has been improved to show the new capabilies of
  the keybord interface.
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for the predefined subprograms CHAR, CLEAR, COLOR, HCHAR,
  KEY, SCREEN and VCHAR and for the function SEG$ has been added.
- The bitmap font font8x8 has been added. This is a font with 8x8 pixel
  used by the TI-99/4A homecomputer.
- The functions line() and column() have been added to pixmap_file.s7i.
- The function replace1() has been added to string.s7i.
- In the manual the chapters about types and the keyboard have been
  improved.
- The compiler has been improved to link database libraries only if
  they are needed.
- The compiler has been improved to use builtin functions of the C
  compiler (if available) to do integer overflow checks. This reduces
  the runtime of the xz (lzma2) decompression by 4% (measured with gcc
  and valgrind, when decompressing a binary Seed7 package).
- The compiler has been improved to use a better approach to test for
  integer overflow of addition and subtraction, if no builtin functions
  are available. This reduces the runtime of the xz (lzma2)
  decompression by 0.8% (measured with gcc and valgrind, when
  decompressing a binary Seed7 package).
- The compiler has been improved to optionally suppress the generation
  of checks for integer division by zero with the option -sd.
- The simple function profiling of the Seed7 compiler has been improved
  to write the place and the name of the Seed7 function and to avoid
  a C compiler error about "too many initializers".
- The compiler has been improved to write a warning if there is a catch
  statement for an exception although the checks for this exception
  have been suppressed (with the option -s).
- The compiler has been improved to work correct for all corner cases
  of the string operations [, mult and @:=.
- Testcases for the operators [, mult and @:= and for the functions
  pos() and rpos() have been added to chkstr.sd7.
- Testcases for the exception RANGE_ERROR have been added to
  chkbig.sd7. The function bigInteger() and the operators radix, RADIX
  and parse are checked now, if they correctly raise RANGE_ERROR.
- Testcases for the exception RANGE_ERROR have been added to
  chkint.sd7. The functions bytes() and integer() and the operators
  radix, RADIX, sci and parse are checked now, if they correctly raise
  RANGE_ERROR.
- Testcases for the exception NUMERIC_ERROR have been added to
  chkint.sd7. The operators div, rem, mdiv, mod and ** are checked
  now, if they correctly raise NUMERIC_ERROR.
- A lot of testcases has been added to chkint.sd7 and chkovf.sd7 in
  the function check_reduced_overflow_checking_for_sums().
- In comp/big_act.s7i the function process_const_big_ipow has been
  improved to allow that the check for a negative exponent can be
  optionally omitted.
- In chkovf.sd7 the checks for the operators rem and mod have been
  improved to allow that the operators return the correct result
  instead of raising OVERFLOW_ERROR.
- Index access in comp/str_act.s7i and comp/bst_act.s7i has been
  improved to work also for the index integer.first (now the index is
  casted to (unsigned) and afterwards 1 is subtracted).
- In comp/intrange.s7i the function getIntRange has been improved to
  return better ranges for INT_ABS and INT_NEGATE.
- The keyboard driver gkb_x11.c has been improved to support new keys
  and key combinations. Additionally the modifier state is synched now
  with the keypresses. This allows reading a modifier key state (e.g.
  (control has been pressed) from the moment when the main key (e.g.
  the letter A) was pressed.
- The program chkccomp.c has been improved to determine the values
  CHECK_INT_DIV_ZERO_BY_ZERO, HAS_BUILTIN_OVERFLOW_OPERATIONS and
  SYSTEM_DATABASE_LIBS. The logic to determine the values
  CHECK_INT_DIV_BY_ZERO, CHECK_INT_REM_BY_ZERO and
  CHECK_INT_REM_ZERO_BY_ZERO has been improved.
- The configuration value CHECK_INT_DIV_ZERO_BY_ZERO,
  BUILTIN_ADD_OVERFLOW, BUILTIN_SUB_OVERFLOW, BUILTIN_MULT_OVERFLOW
  and SYSTEM_DATABASE_LIBS have been added to cc_conf.s7i, confval.sd7
  and cmd_rtl.c.
- Documentation comments have been added or improved in cc_conf.s7i,
  encoding.s7i, gzip.s7i, lzma.s7i, pixmap_file.s7i, scanfile.s7i,
  sql_base.s7i, string.s7i, xz.s7i, sigutl.c and striutl.c.

20200405:
- The new library xz.s7i has been added. This library supports XZ
  compressed files.
- The new library lzma.s7i has been added. This library supports LZMA
  compressed files.
- The library rpm.s7i has been improved to support an XZ compressed
  payload.
- The library tar_cmds.s7i and the program tar7.s7i have been improved
  to support XZ and LZMA compressed tar archives.
- The library zip.s7i has been improved to support Unicode file names.
- As suggested by Zachary Menzies a detection of modifier keys has been
  added. E.g. buttonPressed(KEYBOARD, KEY_SHIFT). Additionally several
  new key combinations such as KEY_SFT_MOUSE1 and KEY_CTL_PAD_CENTER
  have been added to keybd.s7i.
- The program gkbd.sd7 has been improved to show the new capabilies of
  the keybord interface.
- Interpreter and compiler have been improved, to write a compile time
  error, if a numerical escape sequence in a string or char literal
  is too big.
- The compiler has been improved to omit overflow checks for the
  dividend of the mod operator, if the divisor is a power of two. This
  reduces the runtime of the xz (lzma2) decompression by 2.3% (measured
  with gcc and valgrind, when decompressing a binary Seed7 package).
- The compiler file comp/intrange.s7i has been added. This file defines
  the function getIntRange(), which computes the range of possible
  results for several operators (e.g.: div, rem, mdiv, mod, &gt;&gt;) and
  functions (e.g.: sqrt, length, pos, rand, log).
- The compiler has been improved to use the function getIntRange() to
  omit overflow checks for addition, subtraction, multiplication and
  left shift of integer values. This reduces the runtime of the xz
  (lzma2) decompression by 0.4% (measured with gcc and valgrind, when
  decompressing a binary Seed7 package).
- In the compiler the code generation for the operators div, rem, mdiv,
  mod, * and &lt;&lt; has been improved to work without catching the
  exception OVERFLOW_ERROR.
- The compiler has been improved to allow that a range check is
  suppressed with -sr for the action FLT_BITS2SINGLE (convert integer
  to single precision float value).
- The compiler has been improved to generate code that writes the error
  message of a DATABASE_ERROR, if the exception is uncatched.
- The compiler has been improved to suppress the usage of the C
  compiler option CC_OPT_TRAP_OVERFLOW (-ftrapv), if the Seed7 compiler
  option -so (suppress overflow checks) is used.
- The makefiles mk_clang.mak, mk_clangw.mak and mk_osxcl.mak have been
  improved to define CC_OPT_TRAP_OVERFLOW with the value -ftrapv.
- The functions check_mod_by_power_of_two_optimization() and
  check_mod_by_computed_power_of_two_optimization() have been added
  to chkint.sd7. This functions check the mod operator regarding
  the new compiler optimization for the mod dividend.
- The functions check_reduced_overflow_checking_for_sums(),
  check_reduced_overflow_checking_for_mult() and
  check_reduced_overflow_checking_for_lshift() have been added to
  chkint.sd7 and chkovf.sd7. This functions test the compiler
  optimization to reduce overflow checking with getIntRange().
- The libraries aes.s7i, bitdata.s7i, color.s7i, deflate.s7i, draw.s7i,
  ico.s7i, msgdigest.s7i, pkcs1.s7i, showtls.s7i and utf16.s7i have
  been improved to use the division operators 'mdiv' and 'mod' instead
  of 'div' and 'rem'.
- The configuration value CC_OPT_TRAP_OVERFLOW has been introduced in
  cc_conf.s7i, confval.sd7, s7c.sd7, chkccomp.c, cmd_rtl.c and
  read_me.txt.
- The function write_exception_info() has been added to runerr.c. This
  function is called in executl.c.
- The keyboard drivers gkb_win.c and gkb_x11.c have been improved to
  support modifier keys and more key combinations.
- Definitions for 31 new key compinations and 9 modifier keys have
  been added to keybd.s7i and keydescr.s7i.
- Documentation comments have been improved in ar.s7i, cc_conf.s7i
  and csv.s7i.
</content>
</entry>
<entry>
<title>lang/seed8: update to 05_20200308</title>
<updated>2020-03-09T14:25:20Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2020-03-09T14:25:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=11516cb0cf026f58e349e12b53bc42ab470512c9'/>
<id>urn:sha1:11516cb0cf026f58e349e12b53bc42ab470512c9</id>
<content type='text'>
20200308:
- The new library cpio.s7i has been added. This library supports cpio
  archive files.
- The new library rpm.s7i has been added. This library supports rpm
  archive files.
- The new library ar.s7i has been added. This library supports ar
  archive files.
- The new library subfile.s7i has been added. This library allows to
  open a part of an existing file as read only file.
- The new library filebits.s7i has been added. This library defines
  file mode bits used by archive file systems.
- The libraries bin32.s7i and bin64.s7i have been improved to support
  case statements for the types bin32 and bin64.
- The tarHeader element 'size' has been renamed to 'fileSize' in
  tar.s7i and tar_cmds.s7i.
- Tests for the operator 'conv' and for the functions compare(), str(),
  float(), trunc() and round() have been added to chkflt.sd7.
- The program chkccomp.c has been improved to determine the values
  MINIMUM_TRUNC_ARGUMENT and MAXIMUM_TRUNC_ARGUMENT.
- Definitions of MINIMUM_TRUNC_ARGUMENT and MAXIMUM_TRUNC_ARGUMENT have
  been added to cc_conf.s7i.
- The compiler (s7c) has been improved (in comp/flt_act.s7i) such that
  the actions FLT_TRUNC and FLT_ROUND do the correct check for the
  exception RANGE_ERROR.
- The database driver sql_oci.c has been improved to support the types
  BINARY_FLOAT and BINARY_DOUBLE.
- Tests for FLOAT and DOUBLE fields have been added to chkdb.sd7.
- A definition of the constant GZIP_MAGIC has been added to gzip.s7i.
- In file.s7i and iobuffer.s7i the functions hasNext() and length()
  have been changed to use an inout parameter for the file. This fixes
  a problem in compiled programs with some file systems where also an
  inout parameter is used for the file.
- The file db_oci.h has been improved to define SQLT_BFLOAT,
  SQLT_IBFLOAT, SQLT_BDOUBLE and SQLT_IBDOUBLE.
- In fltlib.c the functions flt_trunc() and flt_round() have been
  improved to do the correct check for the exception RANGE_ERROR.

20200209:
- The new database driver sql_tds.c has been added. This driver uses
  the Tabular Data Stream (TDS) protocol to transfer data between
  database server and client. TDS is used by SQL Server and Sybase.
  This driver allows the connection to a SQL Server database from
  Linux.
- The new library db_prop.s7i has been added. This library provides a
  collection of database properties.
- The example program chkdb.sd7 has been improved:
  - Tests with comments in sql statements have been added.
  - Tests that fetch boolean values from numeric fields have been
    added.
  - Tests for date, time, datetime and timestamp fields have been
    added.
- In the library time.s7i the function time() has been improved, to
  accept more variants of the ISO 8601 time and date format including
  variants with a time zone.
- The interpreter (s7) has been improved to write the error message of
  a DATABASE_ERROR, if the exception is not catched.
- In tim_rtl.c the function timUtcFromTimestamp() has been improved to
  work without calling gmtime() or gmtime_r() or gmtime_s(). Now the
  function always works with a 64-bit signed timestamp. Gmtime() uses
  time_t, which can be 32-bit or 64-bit and it can be signed or
  unsigned.
- In tim_rtl.c the function timToTimestamp() has been improved to work
  without calling mkutc(). This way the function always works with a
  64-bit signed timestamp. Mkutc() is also defined in tim_rtl.c and it
  uses the system dependend type time_t.
- In tim_rtl.c the functions timToOsTimestamp(), assignTime() and
  dateFromDaysSince1900() have been added and the functions
  timFromBigTimestamp() and timToBigTimestamp() have been removed.
- In exec.c the functions par_restore() and loc_restore() have been
  improved to free unneeded memory, in case an exception has been
  raised.
- In executl.c the function destroy_local_object() has been improved to
  optionally ignore exceptions.
- The functions leaveExceptionHandling(), saveFailState() and
  restoreFailState() have been added to runerr.c. This function is used
  in executl.c and prclib.c.
- In numutl.c the functions getDecimalBigRational() and
  getDecimalFloat() have been improved to accept both, a decimal point
  and a decimal comma.
- In several database drivers the function processStatementStri() has
  been improved to replace a comment with a space.
- Interpreter and compiler have been improved to support the actions
  SQL_ROLLBACK, SQL_GET_AUTO_COMMIT and SQL_SET_AUTO_COMMIT.
- The functions sqlRollback(), sqlGetAutoCommit() and
  sqlSetAutoCommit() have been added to sql_cli.c, sql_lite.c,
  sql_my.c, sql_oci.c, sql_post.c and sql_rtl.c.
- In the database driver sql_lite.c the functions sqlBindTime() and
  sqlColumnTime() have been improved to support more time and date
  formats. The function sqlColumnTime() calls assignTime() to reach
  this goal.
- In the database driver sql_my.c the function sqlColumnTime() has
  been improved to correct values, if they are outside of the allowed
  range.
- The database driver sql_db2.c has been improved to allow that for
  the functions SQLExecute() and SQLFetch() SUCCESS_WITH_INFO is
  treated as SQL_SUCCESS.
- The database driver sql_post.c has been improved:
  - Inserting and selecting time fields is now supported under
    different operating systems and compilers.
  - The type preparedStmtRecord and the functions freePreparedStmt()
    and sqlPrepare() have been improved such that a prepared statement
    maintains a dbType reference instead of a connection (PGconn).
  - The functions doExecSql() and implicitCommit() have been added.
    These functions are used for autocommit and for transaction
    handling.
- The database driver sql_oci.c has been improved:
  - The function sqlBindTime() has been improved to set the timeZone
    and to use a nanosecond as unit for the fraction of a second.
    There is also a check for situations in which the function
    OCIDateTimeConstruct() fails.
  - The function sqlColumnTime() has been improved to use the function
    OCIDateTimeGetTimeZoneOffset() to retrieve a timeZone and to use a
    nanosecond as unit for the fraction of a second.
- The database driver sql_cli.c has been improved:
  - In case of a DATABASE_ERROR exception the native SQL error is
    assigned to the errorCode.
  - The function freePreparedStmt() has been changed to ignore
    possible errors of SQLFreeStmt().
  - Binding SQL_BLOB and SQL_CLOB parameters is supported now.
  - Retrieving SQL_SS_TIME2 and SQL_XML columns is supported now.
  - Retrieving datetime2 columns in sqlColumnTime() has been improved
    to use the function assignTime().
- The database include files db_lite.h, db_my.h, db_oci.h and db_odbc.h
  have been improved.
- In sql_srv.c the functions connectToServer() and
  connectToLocalServer() have been improved to return a boolean value
  instead of a SQLRETURN value.
- In cmd_rtl.c the functions cmdSetATime() and cmdSetMTime() have been
  improved to use the new function timToOsTimestamp().
- The function determineTdsDefines() has been added to chkccomp.c.
- In exec.c the function suspendInterpreter() has been renamed to
  doSuspendInterpreter().
</content>
</entry>
<entry>
<title>lang/seed7: update to 05_20191229</title>
<updated>2020-01-14T12:43:57Z</updated>
<author>
<name>Pietro Cerutti</name>
<email>gahr@FreeBSD.org</email>
</author>
<published>2020-01-14T12:43:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/ports/commit/?id=24c2189e0aa964eb8b1838148aa5a7f5aa3ecdf4'/>
<id>urn:sha1:24c2189e0aa964eb8b1838148aa5a7f5aa3ecdf4</id>
<content type='text'>
20191229:
- Spelling corrections have been done in several files. Many thanks go
  to Jens Schleusener, for sending a source code misspelling report
  from Fossies.
- The memory management has been improved:
  - In exec.c the functions res_restore() and exec_action() have been
    improved to free unneeded memory, in case an exception has been
    raised.
  - In prclib.c the functions prc_block(), prc_block_catch_all() and
    prc_block_otherwise() have been improved to free the
    fail_expression, in case an exception has been caught.
  - In numutl.c the function getDecimalBigRational() has been improved
    to free the temporary string.
  - In sql_rtl.c the function sqlColumnBigRat() has been improved to
    free the old values of numerator and denominator.
- In sql_base.s7i the function openDatabase() with DB_ODBC and dbPath
  has been improved to use a DSN (data source name), if colon and slash
  are missing. E.g.: openDatabase(DB_ODBC, "anyDsn", "test", "test")
- The compiler has been improved to support the action PRC_HEAPSTAT.
- In flistutl.c the functions heapStatistic() and check_heap() have
  been improved to consider processes, sql functions, databases,
  prepared statements and fetched data. The function heap_statistic()
  has been renamed to heapStatistic().
- In sql_cli.c the functions sqlColumnBigInt(), sqlColumnBigRat(),
  sqlColumnBStri(), sqlColumnFloat() and sqlColumnStri() have been
  improved to check, if the length returned by the database is greater
  than the buffer_length. In this case a DATABASE_ERROR is raised.
- In sql_cli.c the function setDecimalBigRat() has been improved to
  convert integers to a string without decimal point.
- The function SQLGetFunctions() has been removed from db_odbc.h,
  sql_cli.c and the makefiles (variable OBJCOPY_PARAMS).
- In sql_cli.c the element SQLDescribeParam_supported has been removed.
  Instead the function pointer of SQLDescribeParam is checked and the
  result of SQLDescribeParam() is compared with SQL_SUCCESS.
- In sql_odbc.c the function driverConnect() has been improved to
  search only for a driver, if the driver name is not empty.
- In sql_odbc.c the function sqlOpenOdbc() has been improved to use
  the dbName as DSN (data source name) only, if no driver and no server
  are given.
- In sql_post.c the function setupDll() has been improved to call
  dllOpen() instead of a recursive call of setupDll().
- The new macro ALLOC_RECORD2() has been added to heaputl.h. The macro
  is used in drw_win.c, drw_x11.c, sql_cli.c, sql_fire.c, sql_lite.c,
  sql_my.c, sql_oci.c and sql_post.c.
- The new macros COUNT_GROW_STRI() and COUNT_SHRINK_STRI() have been
  added to heaputl.h. This macros are currently empty. They are planned
  for a heap statistic concerning unused chars in strings with
  capacity.
- In chkccomp.c several improvements have been done. In
  determineFireDefines() a search for the Firebird home directory has
  been added. In determineDb2Defines() the environment variable
  DB2_HOME is used now, to determine the Db2 home directory. In
  determineConsoleDefines() and determineSqlServerDefines() the list
  of DLLs has been improved.
- The heap statistic for strings has been improved to use the string
  capacity instead of the string size.
- The file config.h has been changed to define the macros
  USE_ALTERNATE_NEXT_CHARACTER, USE_INFILE_BUFFER, USE_CHUNK_ALLOCS,
  USE_ALTERNATE_CHUNK_ALLOCS and USE_MAXIMUM_MALLOC_CHECK always. Now
  these macros can have a value of 0 or 1.

20191215:
- The database libraries sql_srv.c and sql_cli.c have been improved to
  allow the connection to a SQL Server database from Linux. The library
  libtdsodbc.so is used to do the actual communication with the
  database.
- The build system of Seed7 has been improved. Logic regarding X11,
  ncurses and the databases has been moved from the makefiles to
  chkccomp.c.
- The build for Linux has been improved to work even if essential
  header files (for X11 or ncurses) are missing. This should only be
  used, if it is impossible to install the development packages of X11
  or ncurses.
- The example program chkdb.sd7 has been improved to do tests for SQL
  Server.
- In the FAQ the explanation of "What is necessary to compile Seed7
  with database connections", has been improved.
- In chkccomp.c the functions findIncludeFile(), findStaticLib(),
  findLinkerOption(), listDynamicLibs() and determineConsoleDefines()
  have been added.
- In chkccomp.c the functions determineEnvironDefines(),
  determineStatFunctions(), determineX11Includes(),
  determineMySqlDefines(), determineSqliteDefines(),
  determinePostgresDefines(), determineOdbcDefines(),
  determineOciDefines(), determineFireDefines(), determineDb2Defines(),
  determineSqlServerDefines(), determineIncludesAndLibs() and main()
  have been improved.
- The files fwd_term.c and fwd_term.h have been added. The functions in
  fwd_term.c forward calls to a shared terminfo library.
- The files con_inf.c, kbd_inf.c, kbd_poll.c, trm_cap.c and trm_inf.c
  have been improved to work with fwd_term.c and fwd_term.h.
- The file fwd_x11.c has been added. The functions in fwd_x11.c forward
  X11 calls to a shared X11 library. Fwd_x11.c is used, if it is not
  possible to link to a static X11 library.
- The file x11_x.h has been added. This file is used, if no X11 include
  file can be found.
- The files drw_x11.c and gkb_x11.c have been improved to work with
  x11_x.h and x11_x.h.
- The makefiles have been adjusted to work with the new build system.
- The program warn.c has been added. This program writes a warning, if
  header files of X11 or ncurses are missing.
- Documentation has been added to read_me.txt.
- In dll_win.c the function dllOpen() has been improved to assure, that
  a path to a DLL uses a backslash as path delimiter. This is required
  by the function LoadLibrary().
- The files bin/call_cl.bat and bin/call_lib.bat have been removed.

20191117:
- Support for mice with forward and back button has been added to the
  Seed7 run-time library. Many thanks go to Zachary Menzies, for
  driving my focus towards mice with additional buttons.
- Support for the C compiler from Visual Studio 2019 has been added.
  Many thanks go to Alexander Yu. Vlasov for pointing out compilation
  problems with Visual Studio 2019 and for investigating the problems.
- Interpreter and compiler have been improved to support DB2 and SQL
  Server databases.
- In the manual the chapter about the database abstraction API has been
  improved.
- The compiler has been improved to optimize the function replace()
  (action STR_REPL). Special functions (strChRepl() and strChChRepl())
  are used, if the searched or the replaced string consist of one
  character. This works even, if a character is converted to a string
  with the function str().
- Testcases for replace() have been added to chkstr.sd7.
- The program bigfiles.sd7 has been improved to search for the biggest
  directories additionally to the biggest files.
- The libraries keybd.s7i and keydescr.s7i have been improved to
  support KEY_MOUSE_FWD and KEY_MOUSE_BACK.
- The library sql_base.s7i and the programs db7.sd7 and sql7.sd7 have
  been improved to support DB_DB2 and DB_SQL_SERVER.
- In striutl.c the function stri_to_standard_path() has been improved,
  to do a smarter mapping from a DOS/Windows path to the Seed7 standard
  path representation.
- In osfiles.s7i the functions makeParentDirs() and convDosPath() have
  been improved. Now convDosPath() and stri_to_standard_path() use the
  same algorithm to map from a DOS/Windows path to the Seed7 standard
  path representation.
- The function strChChRepl() has been added to str_rtl.c.
- The program chkccomp.c has been improved to define the macros
  REMOVE_REATTEMPTS, SETENV_ALLOWS_KEY_WITH_EQUALS_SIGN and
  GETENV_ALLOWS_KEY_WITH_EQUALS_SIGN.
- The functions determineDb2Defines() and determineSqlServerDefines()
  have been added to chkccomp.c.
- The names of database DLLs (shared libraries) has been moved from
  the makefiles to chkccomp.c.
- The database driver sql_odbc.c has been refactored to be based on
  sql_cli.c. Most of the contents of sql_odbc.c has been moved to
  sql_cli.c and sql_odbc.c now includes sql_cli.c.
- The new database drivers sql_db2.c (for DB2) and sql_srv.c (for SQL
  Server) have been added. Like sql_odbc.c this drivers also include
  sql_cli.c.
- In cmd_rtl.c the function cmdChdir() has been improved to use an
  extended length path only, if it is absolutely necessary. In Windows
  an extended length path starts with \\?\ and can have a length
  greater equal 260. Many subprocesses cannot handle a current working
  directory with an extended length path.
- The makefiles mk_msvc.mak and mk_clangw.mak have been improved to
  write INI files with all environment variables. The INI files are
  seed7/bin/cl_env.ini and seed7/bin/clangenv.ini. This INI files
  contain the environment variables necessary to use the C compiler.
- The program setpaths.c has been improved to optionally write a
  definition of the macro CC_ENVIRONMENT_INI to version.h. The macro
  CC_ENVIRONMENT_INI defines the path of seed7/bin/cl_env.ini or
  seed7/bin/clangenv.ini.
- Support for the configuration values CC_ENVIRONMENT_INI and
  DATABASE_LIB has been added to cc_conf.s7i and cmd_rtl.c (in
  cmdConfigValue()).
- The function unsetenv7() has been added to cmd_unx.c.
- In gkb_x11.c and gkb_x11.c the functions gkbGetc() and
  gkbKeyPressed() have been improved to support KEY_MOUSE_FWD and
  KEY_MOUSE_BACK. Additionally the macro TRACE_EVENTS, to optionally
  trace events has been introduced.
- The makefiles have been improved to create the new library s7_db.a
  (s7_db.lib), which contains all database drivers.
- The files sql_cli.c (former sql_odbc.c) and sql_fire.c have been
  improved to reduce the number of C compiler warnings.
- In sql_cli.c (former sql_odbc.c) the function setDbErrorMsg() has
  been improved to work for database error messages with Unicode
  characters. The function wstri_to_cstri8() has been added to do the
  conversion.
- The file db_odbc.h has been improved to define wide character
  functions instead of ASCII functions. This was needed by sql_srv.c
  because it links dynamically to sqlsrv32.dll, which only defines
  wide character functions.

20191020:
- The support for Emscripten has been improved to allow the compilation
  of Seed7 programs.
- Improvements have been done in sql_odbc.c to support the connection
  with a DB2 database.
- Testcases for pos() and rpos() have been added to chkstr.sd7.
- The compiler has been improved to optimize the functions pos() and
  rpos() (actions STR_POS, STR_RPOS, STR_CHPOS, STR_RCHPOS).
- The program setwpath.c has been improved to work correct in more
  situations (E.g.: If no PATH variable exists, if the path to be added
  is a substring of an existing path, if the first path in the PATH
  variable is to be removed, if there is only on path in the PATH
  variable and this path is to be removed).
- In fil.unx.c the function setupFiles() has been improved to mount the
  file systems for Emscripten and node.js with a better strategy.
- In sql_odbc.c the function sqlStmtColumnName() has been improved to
  work with one call of SQLColAttributeW(), if the length of the column
  name is below a limit. Additionally a parameter of NULL as
  destination for the name has be replaced by a valid address. The
  usage of NULL triggered an error with DB2.
- The configuration value LINKED_PROGRAM_EXTENSION has been added to
  cc_conf.s7i. The linker produces a file with the extension defined by
  LINKED_PROGRAM_EXTENSION. Usually LINKED_PROGRAM_EXTENSION is
  identical to EXECUTABLE_FILE_EXTENSION. Except for Emscripten where,
  the value is ".js".
- The makefiles mk_emccl.mak and mk_emccw.mak have been improved to
  define LINKED_PROGRAM_EXTENSION.
- The compiler (s7c.s7i), the function getProgramName() in arr_rtl.c,
  the function cmdConfigValue() in cmd_rtl.c and the program chkccomp.c
  have been improved to use LINKED_PROGRAM_EXTENSION.
- In chkccomp.c the function determineEnvironDefines() has been
  improved to determine, if getenv() works case sensitive. A definition
  of GETENV_IS_CASE_SENSITIVE, with a value of 0 or 1, is written to
  version.h.
- The function getSearchPathDelimiter() has been added to cmd_rtl.c.
  This function is used if SEARCH_PATH_DELIMITER is 0. In this case
  the search path delimiter must be determined at run-time.
- The function systemForNodeJs() has been added to cmd_rtl.c. This
  function is used for Emscripten and node.js as replacement for the
  C run-time library function system().
- The files sql_fire.c, sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c
  and sql_post.c have been improved to work correct, if no database
  include file could be found. Normally this should not happen,
  because Seed7 can provide its own database include files.
- The functions getenv7() and setenv7() have been added to cmd_unx.c.
  This functions are used for Emscripten, because of a limitation in
  the Emscripten implementations of getenv() and setenv().
- Documentation comments have been improved in external_file.s7i,
  file.s7i, leb128.s7i, scanfile.s7i, scanstri.s7i and string.s7i.
- Comments explaining the usage of undefined behavior have been added
  to arrlib.c, bstlib.c, set_rtl.c and strlib.c.

20190919:
- A chapter about the database abstraction API has been added to the
  manual.
- In the manual the chapters about primitive actions and about the
  foreign function interface have been improved.
- An explanation of the Seed7 installer and about the download of Seed7
  have been added to the FAQ.
- The new library ico.s7i has been added. This library supports the ICO
  image file format.
- The library browser.s7i has been improved to be more robust regarding
  network events.
- The database drivers have been improved to raise a DATABASE_ERROR,
  if the database library could not be found. The error message of the
  DATABASE_ERROR contains the name of the missing DLL respectively
  shared object library.
- Documentation comments have been improved in 85 library/include files
  (*.s7i). Wrong usages of the word "when" have been replaced by "if".
- Documentation comments have been improved in 96 C source files.
  Wrong usages of the word "when" have been replaced by "if".
- Texts in 9 Seed7 programs (*.sd7) and in a lot of documentation files
  have been improved. Wrong usages of the word "when" have been
  replaced by "if".

20190819:
- A definition of SQL_DRIVER_NOPROMPT has been added to db_odbc.h.
  Many thanks go to Brett Senior for pointing out a fatal compilation
  error in sql_odbc.c, when compiling Seed7 version 2019-08-18 under
  Debian Linux.
- The example program chkdb.sd7 has been improved to write better
  error messages.
- In reflib.c the function ref_select() has been improved to work
  correct, if a derived struct overrides an element of the parent
  struct.
</content>
</entry>
</feed>
