Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Seed7 Release 2021-08-07

7 views
Skip to first unread message

Thomas Mertes

unread,
Aug 8, 2021, 7:18:07 AM8/8/21
to
I have released a new version of Seed7: seed7_05_20210807.tgz
The download is here: https://sourceforge.net/projects/seed7/files
Seed7 is also at GitHub: https://github.com/ThomasMertes/seed7
The Seed7 programming language has many interesting concepts, which
are explained at its Homepage: http://seed7.sourceforge.net

Notable changes in this release are:
- Support to read BMP images has been improved and support to read ICO files has been added.
- Additional optimizations have been introduced in the Seed7 compiler.
- The performance of several message digest functions has been improved.
- A function to change the visibility of the mouse cursor in a window has been added.
- A function to convert an integer to a string of bytes with a given encoding and length has been introduced.
- The management of external files has been improved to automatically close files and to recognize if a closed file is reused.

Changelog:
- The bmp.s7i library has been improved. Now the function readBmp() works also for historical versions of the BMP format.
- The function readIco() has been added to the library ico.s7i.
- In msgdigest.s7i the run-time of the functions md4(), md5(), ripemd160(), sha1(), sha224() and sha256() has been reduced by 4% and the run-time of sha384() and sha512() has been reduced by 62% and 67% respectively (measured with gcc and valgrind).
- The example program pv7.sd7 (Picture Viewer) has been improved to support the ICO graphic format. Additionally the window title is now changed also at the start and the end of the picture sequence.
- The library gif.s7i has been improved to work also for the empty GIF image.
- Functions to convert a bin64 or bin32 to a string of bytes with a given length have been added to bin64.s7i and bin32.s7i. To get the bytes of a bin64 or bin32 value use e.g.: bytes(number, BE, 4) The functions bin32AsFourBytesBe, bin32AsFourBytesLe, bin64AsEightBytesBe and bin64AsEightBytesLe are deprecated now.
- In bytedata.s7i the functions int16AsTwoBytesBe, int32AsFourBytesBe, int64AsEightBytesBe, int16AsTwoBytesLe, int32AsFourBytesLe, int64AsEightBytesLe, bigAsEightBytesLe and bigAsEightBytesBe are deprecated now. The functions from the bytes(number, SIGNED, LE, 4) family can be used instead.
- Calls of the deprecated functions have been replaced with the new function bytes(), which converts an integer to a string of bytes with a given length. The changes have been done in aes.s7i, blowfish.s7i, bmp.s7i, des.s7i, encoding.s7i, gzip.s7i, hmac.s7i, ico.s7i, msgdigest.s7i, rpm.s7i, tls.s7i, zip.s7i, bas7.sd7 and s7c.sd7.
- Interpreter and compiler have been improved to support the actions BIN_N_BYTES_BE and BIN_N_BYTES_LE.
- The compiler (s7c.sd7) has been improved to generate optimized code for the actions INT_N_BYTES_BE_UNSIGNED, INT_N_BYTES_LE_UNSIGNED, BIN_N_BYTES_BE and BIN_N_BYTES_LE.
- In zip.s7i an error in the function setMTime() has been fixed and the function close() has been improved to leave the actual ZIP file open.
- Tests for the bytes() function have been added to chkint.sd7 and chkbig.sd7. These tests make sure that the compiler optimizations of the bytes() function work correctly.
- The functions uintNBytesBe() and uintNBytesLe() have been added to int_rtl.c.
- The functions bin_n_bytes_be() and bin_n_bytes_le() have been added to binlib.c.
- Documentation comments have been improved in drwlib.c, intlib.c and int_rtl.c.
- The documentation of primitive actions in the manual has been improved.
- A debug printf() has been removed from the function socGets() in soc_rtl.c.

Changelog of the previous release (2021-06-27):
- As suggested by Zachary Menzies a function to make the mouse cursor invisible has been added. The function setCursorVisible() has been added to graph.s7i. This function sets the visibility of the mouse cursor in a specified window.
- A function to convert an integer to a string of bytes with a given length has been added to bytedata.s7i. To get the bytes of a 32-bit signed big-endian representation use: bytes(number, SIGNED, BE, 4).
- The functions for external files have been improved to raise FILE_ERROR, if a file is used after it has been closed.
- The management of external files has been improved to automatically close a file, when the last variable that refers to the file leaves its scope (no variable refers to the file any more).
- Adjustments have be done in s7c.sd7, comp/prg_act.s7i, comp/sql_act.s7i, comp/str_act.s7i, prg_comp.c, chkccomp.c, sql_cli.c, sql_fire.c, sql_lite.c, sql_my.c, sql_oci.c, sql_post.c, sql_tds.c, sql_rtl.c, sql_rtl.h and sql_drv.h to support compilation with a C++ compiler.
- The functions XCreateBitmapFromData(), XCreatePixmapCursor(), XDefineCursor() and XUndefineCursor() have been added to x11_x.h and fwd_x11.c.
- The makefiles have been improved to compile the utilities with -O3 -oc3 (command: make utils). A possibility to remove the utilities has been added (command: make clean_utils). The utility programs are now installed under Linux (command: make install).
- Documentation comments have been improved in cc_conf.s7i, environment.s7i, process.s7i, graph.s7i, cmdlib.c and cmd_rtl.c.
- In cgidialog.s7i the handling of an image with an empty pixmap has been improved.
- In clib_file.s7i the function destroy has been changed to use the action FIL_DESTR.
- Interpreter and compiler have been improved to support the actions DRW_SETCURSORVISIBLE, FIL_DESTR, INT_N_BYTES_BE_SIGNED, INT_N_BYTES_BE_UNSIGNED, INT_N_BYTES_LE_SIGNED and INT_N_BYTES_LE_UNSIGNED.
- Tests have been added to chkint.sd7. These tests check the conversion of an integer to a string of bytes with a given length.
- Tests have been added to chkfil.sd7. It is checked if the automatic closing of files works as expected. Other tests check if FILE_ERROR is raised in case a file is used after it has been closed.
- Tests for the assignment to an element in an array of strings have been added to chkstr.sd7.
- The libraries cpio.s7i and rpm.s7i have been improved to use the new integer conversion functions.
- Additional conversion functions have been added to float.s7i and integer.s7i.
- Another test for FLOAT_ZERO_DIV_ERROR has been added to chkccomp.c.
- In drw_win.c drwSetCursorVisible() has been added, dra_init() has been renamed to drawInit() and WndProc() has been improved to process WM_SETCURSOR.
- In drw_x11.c drwGetImage() has been improved to work for an empty window, drwSetCursorVisible() has been added and several checks for RANGE_ERROR have been improved.
- In fillib.c the functions fil_cpy(), fil_create(), fil_destr(), fil_empty(), fil_eof(), fil_err(), fil_flush(), fil_in() and fil_out() have been adjusted for the new fileType.
- The functions in fil_rtl.c have been adjusted for the new fileType.
- In fil_unx.c and fil_win.c the functions filInputReady(), filPipe() and setupFiles() have been adjusted for the new fileType.
- In fil_ut8.c the functions ut8Getc(), ut8Gets(), ut8LineRead(), ut8Seek(), ut8WordRead() and ut8Write() have been adjusted for the new fileType.
- The function heapStatistic() in flistutl.c has been adjusted for the new fileType.
- Improvements in gkb_win.c set the button window, when a resize is done.
- The functions intNBytesBeSigned(), intNBytesBeUnsigned(), intNBytesLeSigned() and intNBytesLeUnsigned() have been added to int_rtl.c.
- In pcs_rtl.c pcsChildStdErr(), pcsChildStdIn(), pcsChildStdOut() and pcsDestr() have been adjusted for the new fileType.
- In pcs_dos.c in function pcsStart() the logging has been adjusted for the new fileType.
- In pcs_unx.c the functions pcsPipe2(), pcsPty(), pcsStart() and pcsStartPipe() have been adjusted for the new fileType.
- In pcs_win.c the functions pcsPipe2(), pcsStart() and pcsStartPipe() have been adjusted for the new fileType.
- Functions in soc_rtl.c have been changed to raise FILE_ERROR, if they are used with an invalid socket.
- Logging functions have been added to prclib.c.
- The documentation in src/read_me.txt has been improved.

Regards,
Thomas Mertes

--
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
0 new messages