HomeFreeBSD

lang/seed7: update to 05_20220724

Description

lang/seed7: update to 05_20220724

20220724:

  • The operating system DOS is supported (with DJGPP) again. The tests have been done with Dosbox.
  • Explanations about syntax highlighting, static type checking and return type overloading have been improved in the FAQ.
  • In the manual, the chapter about the keyboard has been improved to explain the window close button and window resize events. The manual has also been adjusted to describe the new functions instead of the deprecated ones.
  • The error messages for failed declarations have been improved.
  • The error reporting has been improved to also show an error line if parsing the file has finished.
  • Reading from a Windows console with getc(KEYBOARD) has been improved to support all Unicode characters (including characters outside of the Basic Multilingual Plane). This allows the reading of characters that have been pasted from the clipboard to a console window.
  • The functions inputReady(), getc(aFile, NO_WAIT), clickedXPos() and clickedYPos() have been added to keybd.s7i.
  • The functions toUtf8(), fromUtf8(), toUtf16Be(), fromUtf16Be(), toUtf16Le(), fromUtf16Le() and fromUtf7() have been added to unicode.s7i.
  • The functions toUtf16Be() and toUtf16Le() raise RANGE_ERROR if a surrogate character is present.
  • The functions fromUtf16Be() and fromUtf16Le() raise RANGE_ERROR if an invalid surrogate pair is found (a single surrogate character or surrogate characters not in the proper succession).
  • In unicode.s7i the function replaceUtf16SurrogatePairs() has been fixed to work correctly.
  • Tests for toUtf16Be(), fromUtf16Be(), toUtf16Le(), fromUtf16Le() and replaceUtf16SurrogatePairs() have been added to chkstr.sd7.
  • Several improvements have been done in chkccomp.c:
    • If reading a numeric test result fails, the program waits for a second before restarting the test.
    • It shows an error message if a test fails to deliver a numeric result.
    • It does not create an empty test program. Some anti virus software considers an empty program to be dangerous.
    • It determines if partial linking is actually working.
    • A list of potential partial linking options is tested to find the correct one.
    • The number of warnings has been reduced.
  • In tim_dos.c, tim_unx.c and tim_win.c the function timNow() has been improved to work also for an unsigned time_t.
  • The support for the unused action SCT_ELEM has been removed.
  • In keybd.s7i the functions keypressed(), busy_getc(), getxpos() and getypos() are deprecated now. The functions inputReady(), getc(aFile, NO_WAIT), clickedXPos() and clickedYPos() should be used instead.
  • The files dialog.s7i, bas7.sd7, carddemo.sd7, castle.sd7, clock.sd7, clock2.sd7, clock3.sd7, dnafight.sd7, ftp7.sd7, gkbd.sd7, hal.sd7, kbd.sd7, klondike.sd7, lander.sd7, mahjong.sd7, mandelbr.sd7, mirror.sd7, pac.sd7, pairs.sd7, panic.sd7, planets.sd7, prime.sd7, pv7.sd7, rand.sd7, savehd7.sd7, shisen.sd7, sl.sd7, snake.sd7, sokoban.sd7, sudoku7.sd7, tet.sd7, tetg.sd7 and wator.sd7 have been altered to use inputReady(), getc(aFile, NO_WAIT), clickedXPos() and clickedYPos() instead of the deprecated functions.
  • In keybd.s7, the implementation of getc(aFile, NO_WAIT) is now based on inputReady(). The primitive actions KBD_BUSY_GETC and GKB_BUSY_GETC are not needed anymore.
  • The support for the primitive actions KBD_BUSY_GETC and GKB_BUSY_GETC has been removed from interpreter and compiler. Changes have been done in drwlib.c, drwlib.h kbdlib.c, kbdlib.h, primitiv.c, comp/action.s7i, comp/gkb_act.s7i and comp/kbd_act.s7i.
  • The actions GKB_KEYPRESSED and KBD_KEYPRESSED have been renamed to GKB_INPUT_READY and KBD_INPUT_READY respectively.
  • In unicode.s7i the functions striToUtf8(), utf8ToStri(), striToUtf16be(), utf16beToStri, striToUtf16le, utf16leToStri and utf7ToStri() are deprecated now. The functions toUtf8(), fromUtf8(), toUtf16Be(), fromUtf16Be(), toUtf16Le(), fromUtf16Le() and fromUtf7() should be used instead.
  • The files ar.s7i, cgi.s7i, cgidialog.s7i, charsets.s7i, cpio.s7i, csv.s7i, ftp.s7i, ftpserv.s7i, gethttp.s7i, httpserv.s7i, rpm.s7i, tar.s7i, zip.s7i, chkstr.sd7, ide7.sd7 s7c.sd7, comp/debug.s7i and comp/expr_util.s7i have been altered to use the new functions instead of the deprecated function.
  • The exception CLOSE_ERROR has been renamed to GRAPHIC_ERROR.
  • The graphic drivers have been changed to raise GRAPHIC_ERROR instead of FILE_ERROR.
  • The C macro SUPPORTS_PARTIAL_LINKING has been renamed to LINKER_OPT_PARTIAL_LINKING in chkccomp.c and several makefiles.
  • The functions checkPartialLinking() and determinePartialLinking() have been added to chkccomp.c. These functions determine if partial linking is actually working.
  • Documentation comments have been improved in keybd.s7i, unicode.s7i, drwlib.c and kbdlib.c.
  • In several files phrases like "illegal encoding" and "illegal file names" have been replaced with "invalid encoding" and "invalid file names".

20220626:

  • Syntax highlighting for the Nano editor has been added. Many thanks to Duke Normandin for creating seed7.nanorc.
  • The syntax highlighting of vim (in seed7.vim) has been improved.
  • The file syntaxhl.sd7 has been improved.
  • Explanations about type inference, return type overloading and integer overflow have been improved in the FAQ.
  • In the manual the tutorial chapter "For loop and containers" has been improved. The chapter about errors has been improved also.
  • The documentation in src/read_me.txt has been improved and the new file src/read_me.htm has been introduced.
  • The interpreter (s7) has been improved to write the error message with the correct line if a declaration fails (changes have been done in dcllib.c and error.c).
  • The new library pem.s7i has been added. This library supports the PEM cryptographic file format.
  • In encoding.s7i the function fromBase64 has been improved to check that no = is in the middle of a base64 string.
  • The library zstd.s7i has been fixed to work correct if the ID field size of the dictionary is 0.
  • The Seed7 compiler (s7c) has been improved to support warning levels.
  • The compiler has been improved to support case statements if the C switch statement does not work for int64Type (in prc_act.s7i).
  • In the compiler the string concatenation optimizations have been improved (in str_act.s7i).
  • Tests for string concatenation have been added to chkstr.sd7.
  • Checks for converting float expressions to bin32 and bin64 have been added to chkbin.sd7.
  • The support for the function log1p has been improved (in flt_rtl.c, flt_rtl.h and flt_act.s7i).
  • In the library asn1.s7i the function printAsn1 has been improved.
  • The usage of the GMP library has been disabled by default. It turned out that database connection libraries used GnuTLS which used GMP with a custom memory allocator. This caused a memory corruption. All makefiles now define USE_GMP as 0.
  • The program chkccomp.c has been improved to:
    • Determine the C language version supported by the compiler.
    • Determine C overflow behavior of int division.
  • The handling of integer division overflow has been fixed to avoid a MinGW gcc bug that triggers an endless loop.
  • Several types in database drivers have been renamed to avoid violating the C++ One Definition Rule (in sql_cli.c, sql_db2.c, sql_fire.c, sql_ifx.c, sql_lite.c, sql_my.c, sql_oci.c, sql_post.c, sql_srv.c and sql_tds.c).
  • Adjustments have be done in s7c.sd7 and comp/str_act.s7i to support compilation with a C++ compiler.
  • In common.h the macro logErrorIfTrueX has been introduced.
  • Function logging has been added to big_gmp.c, kbd_inf.c and kbd_poll.c.
  • Errors in function logging have been fixed in arr_rtl.c, big_rtl.c, drw_x11.c and sql_rtl.c.
  • Definitions of LOG1P_FUNCTION_OKAY, INT_DIV_OVERFLOW and INT_REM_OVERFLOW have been added to cc_conf.s7i. The definition of HAS_LOG1P has been removed. The file cmd_rtl.c and the program confval.sd7 have been adjusted.
  • Documentation comments have been updated in array.s7i, bin32.s7i, bin64.s7i, cc_conf.s7i, external_file.s7i, file.s7i, hash.s7i, math.s7i and flt_rtl.c.

Details

Provenance
gahrAuthored on Aug 4 2022, 6:07 AM
Parents
R11:8bd2a7d3c6fc: irc/irssi-scripts: Update to 20220704
Branches
Unknown
Tags
Unknown