I have released a new version of Seed7: seed7_05_20220522.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 since the last announcement here:
- Syntax highlighting for vim has been added.
- The manual has been improved heavily.
- Several functions have been renamed to use camel case.
The old functions are deprecated and will be removed in the future.
- Arcs can be drawn with thickness now.
- Support to read TIFF images has been added.
- Support for Zip64 archives has been added and the performance of
inflate (used by ZIP, GZIP, PNG, etc.) has been improved.
- Support for Informix databases has been added.
- A port forwarder example program (portfwd7.sd7) has been added.
- The performance of functions that write image files has been improved.
- Problems pointed out by the Seed7 community have been resolved.
- Reading of TIFF and JPEG files has been improved to work for corner cases.
- Improvements have been done for TLS and X.509 certificates.
- The support for Seed7 syntax highlighting has been improved for several
- An explicit initialization of graphics is no longer necessary.
- Case conversions now use an up to date Unicode definition.
- An explanation for Seed7 syntax highlighting has been added to
- Syntax highlighting for vim and UltraEdit has been fixed in the
files doc/sd7.vim, doc/seed7.vim and doc/seed7.uew.
- Syntax highlighting support for notepad++ has been added with the
- The file syntaxhl.sd7 has been added. It can be used to test
Seed7 syntax highlighting.
- In the string.s7i library, the functions lower() and upper() now
use an up to date Unicode definition.
- The library gzip.s7i has been refactored to use the new type
gzipHeader and to avoid calling getUInt16Le().
- The function getDigestOidFromAlgorithm() has been added to the
- The pac.sd7 example program has been refactored. Now it also
works when compiled.
- The calc7 example program has been improved to support functions
from the draw.s7i library.
- Tests for array append ( &:= ), the 'times' operator and the
function remove() have been added to chkarr.sd7.
- Tests in chkovf.sd7 have been refactored.
- Tests for Unicode case conversions and for conversions to UTF-8
have been added to chkstr.sd7.
- Errors in getGidFromGroup() and getUidFromUser() have been fixed
in the file cmd_unx.c.
- In literal.c the error message for empty char literals has been
- The number of C compiler warnings has been reduced in sql_oci.c,
drw_win.c and int_rtl.c.
- In drw_drv.h, drw_dos.c, drw_emc.c, drw_win.c, drw_x11.c, s7.c,
s7c.sd7 and comp/drw_act.s7i, the graphics support has been
changed to call drawInit() at program start.
- The function drawInit() has been added to drw_dos.c and
- With these changes in the graphics support, an explicit
initialization of graphics is no longer necessary. The explicit
graphics initialization has been removed from bmp.s7i, gif.s7i,
ico.s7i, jpeg.s7i, png.s7i, ppm.s7i and tiff.s7i.
- In str_rtl.c the functions toLower() and toUpper() have been
improved to use an up to date Unicode definition.
- In drw_x11.c the exception checks in the function drwText have
- In src/read_me.txt the explanation for how to compile under
Windows with cl from MSVC has been improved.
- In sql_fire.c the function setupParameters() has been changed to
check wether malloc() returns NULL.
- In sql_ifx.c the function createConnectionString has been
changed to optionally consider the DB_LOCALE. Now, the function
opening the Informix DB will try to do so with and without
- The compiler (s7c.sd7) has been changed to use stderr for a
trace of functions (option: -tf).
- The compiler has been improved to support tracing of dynamic
calls (option: -td). This tracing is also written to stderr.
- The compiler has been changed to raise ACTION_ERROR if a dynamic
call would result in an endless recursion.
- The program chkccomp.c has been improved to restart tests if no
numeric result could be obtained. This is necessary for the
program to work reliable under Windows with certain virus
- Documentation comments have been improved in color.s7i.
Changelog of the previous release (2022-04-10):
- In time.s7i, the function time(string) has been improved to
consider the daylight saving time. Many thanks to Anders
Carstensen for pointing out the problem and for providing a test
- Explanations of the times operator and the functions bytes(),
bytes2Int(), bytes2BigInt(), expm1(), log1p(), ignore() and
openServerTls() have been added to the manual.
- In the manual, the chapters about primitive actions and about the
foreign function interface have been improved.
- The FAQ and manual have been improved to consider the Informix
- In ccittfax.s7i, the CCITT fax decoding has been improved.
- In tiff.s7i, reading of TIFF files has been improved. Now, the
requested length of Lempel Ziv Welch compressed data is computed
- In jpeg.s7i, reading of JPEG files has been improved to use the
component ID. Now, a hash from component ID to component type is
used. The old code assumed that component ID and component type
would be equal, and it raised RANGE_ERROR when this was not the
- In bitdata.s7i, the performance of the functions getBit() and
getBits() with a msbBitStream has been improved.
- In array.s7i, the times operator has been improved to work with
[A len L] times element.
- A definition of the [A len L] operator has been added to
- In x509cert.s7i reading and validating certificates has been
improved. Now, there is partial support for PKCS #7 certificates.
- The libraries tls.s7i and showtls.s7i have been improved to
support TLS certificate_request, client_certificate and
- The compiler (s7c.sd7) has been improved to write better error
messages for duplicate when values.
- The program gkbd.sd7 has been improved to consider the space key.
- In ref_data.c the function refArrToList() has been improved to
raise RANGE_ERROR for an illegal array value.
- In dcllib.c the function dcl_elements() has been improved to work
correctly when push_stack() is a noop.
- The files sql_fire.c and sql_tds.c have been improved to reduce C
- The program chkccomp.c has been improved to allow build tests to
deliver a result after a delay.
- In soc_rtl.c the functions socGets() and receive_and_alloc_stri()
have been improved to set the EOF indicator instead of raising
FILE_ERROR if the peer has crashed.
- In soc_rtl.c, the function logError() will now be called if
- In chkccomp.c, the function determineInformixDefines has been
improved to avoid the definition of an empty C array.
- The makefile mk_msvc.mak has been changed to define
LIMITED_CSTRI_LITERAL_LEN. This avoids that the C compiler runs
out of heap space.
- Documentation comments have been updated in graph.s7i, tls.s7i,
x509cert.s7i, ar.s7i, cpio.s7i, rpm.s7i, tar.s7i and zip.s7i.
Changelog of the second to last release (2022-03-12):
- Two typos in fwd_x11.c have been fixed. Thanks to Zachary Menzies
for pointing them out.
- Interpreter and compiler have been improved to support Informix
- 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
- The function hasImageExtension() has been moved from pv7.sd7 to
the imagefile.s7i library.
- The example program findchar.sd7 has been improved to support
- The support for primitive actions in the compiler has been
- The function loadBaseDlls() has been added to sql_post.c.
- In tls.s7i an error in processing change_cipher_spec has been
- The program chkbig.sd7 has been refactored to use smaller
- An additional test for case statements has been added to
- 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
- The undocumented functions imagePixmap() and getImage() have been
renamed to getPixmap() and getPixelData() respectively.
- The compiler (s7c) has been improved to inline the action
- 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
- 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(),
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
- 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
- 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
- Documentation comments have been improved in bmp.s7i, ccittfax.s7i,
draw.s7i, hmac.s7i, huffman.s7i, ico.s7i, imagefile.s7i, lzw.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
- The function XWarpPointer() has been added to fwd_x11.c and
- 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
- 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()
- 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
- In error.c the new macro MAX_DEPTH_SHOWN defines the expression
depth shown in "Match failed" and "Variable expected" error
- The functions stri_to_wstri16(), stri_to_wstri32(),
wstri16_to_stri() and wstri32_to_stri() have been added to
- The files comp/drw_act.s7i and comp/sql_act.s7i have been adjusted
to support the new action names.
Changelog of the third to last release (2022-01-30):
- 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
- 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 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
- 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
- The functions in inflate.s7i have been improved to use lsbBitStream
as parameter instead of the previous combination of string, bytePos
- 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, 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
- 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
- Checks for bytes2BigInt() have been added to chkbig.sd7.
- In array.s7i the declaration of the times operator has been
- 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
- In error.c the error message for a failed declaration has been
- In str_rtl.c the performance of strHeadSlice() has been improved.
- Unused variables have been removed in several files of the
- 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
Changelog of the fourth to last release (2021-12-25):
- Support for syntax highlighting in vim has been added. Many thanks
to Johannes Gritsch for providing the files doc/seed7.vim and
- Chapters about ignoring values, bin64, bin32, bstring, fileSys,
Transport Layer Security and the graphics library have been added
to the manual. Many other chapters of the manual have been improved
- The new library imagefile.s7i has been added. This library supports
various image file formats (PNG, GIF, JPEG, BMP, ICO, PPM).
- The picture viewer program pv7.sd7 has been improved to use the
function readImage() from the imagefile.s7i library.
- The keyboard test program gkbd.sd7 has been improved to show more
keys. These keys turn red when they are currently pressed.
- The function equalFileContent() in sydir7.sd7 has been improved to
use a reduced buffer size. A possible error that happens if just
one file is at EOF after reading data into the buffers, has been
- In keybd.s7i, keydescr.s7i and kbd_drv.h definitions for KEY_CTL_0
to KEY_CTL_9 have been added.
- In png.s7i an error that happened when reading tiny interlaced PNG
files has been fixed.
- In boolean.s7i the functions succ(), pred() and boolean()
(conversion from integer) have been improved to raise RANGE_ERROR
if the resulting value would not be TRUE or FALSE.
- Tests for the boolean succ() and pred() functions have been added
- Tests for boolean for-loops have been added to chkprc.sd7.
- The operator -:= has been added to bitset.s7i, bitsetof.s7i and
- Tests for set difference assignment (operator -:=) have been added
- The program chk_all.sd7 has been adjusted to the changes in the
- The function width(aCharacter) (defined in char.s7i) has been fixed
to return 0 for cursor and function keys. The change has been made
- In file.s7i the function skip() has been improved to avoid a
possible endless loop.
- In null_file.s7i the function gets() has been improved to raise
RANGE_ERROR if the parameter ''maxLength'' is negative.
- In graph_file.s7i, pixmap_file.s7i and window.s7i, the scrolling
has been fixed.
- In bytedata.s7i the functions getUInt16Le(), getUInt32Le(),
getUInt16Be() and getUInt32Be() have been improved to use
- In filesys.s7i and osfiles.s7i the function readlink() is
deprecated. The function readLink() should be used instead.
The files cpio.s7i ftpserv.s7i, rpm.s7i, tar.s7i, find7.sd7 and
sydir7.sd7 have been altered to use readLink().
- In graph.s7i the function DRAW_FLUSH() is deprecated. The
function flushGraphic() should be used instead.
- The files dialog.s7i, graph_file.s7i, pixmap_file.s7i, bas7.sd7,
bifurk.sd7, carddemo.sd7, castle.sd7, cellauto.sd7, clock3.sd7,
dnafight.sd7, gkbd.sd7, klondike.sd7, lander.sd7, mahjong.sd7,
mandelbr.sd7, mirror.sd7, pairs.sd7, panic.sd7, percolation.sd7,
pv7.sd7, raytrace.sd7, shisen.sd7, sudoku7.sd7 and tetg.sd7 have
been altered to use flushGraphic() instead of the deprecated
- In draw.s7i the put() functions with PSET and XOR parameter are
deprecated. The functions without PSET respectively XOR should
be used instead.
- In graph.s7i the function setCloseAction() is deprecated.
Instead of setCloseAction(popupWindow, RETURN_KEY); the statement
selectInput(popupWindow, KEY_CLOSE, TRUE); should be used.
- The files dialog.s7i, castle.sd7, klondike.sd7, lander.sd7,
mahjong.sd7, mandelbr.sd7, pairs.sd7, panic.sd7, planets.sd7,
shisen.sd7, sokoban.sd7, sudoku7.sd7, tetg.sd7 and wator.sd7 have
been altered to use selectInput() instead of the deprecated
- In gzip.s7i the functions openGunzipFile(aFile) and
openGzipFile(aFile) are deprecated. Instead of
openGunzipFile(aFile), use openGzipFile(aFile, READ), and instead
of openGzipFile(aFile) use openGzipFile(aFile, WRITE). The files
rpm.s7i and tar_cmds.s7i have been altered to use the new
- In strifile.s7i the function openStrifile() is deprecated.
The function openStriFile() should be used instead.
- The files htmldom.s7i, rpm.s7i, xmldom.s7i and chkbitdata.sd7 have
been altered to use openStriFile() instead of the deprecated
- In stritext.s7i the function openStritext() is deprecated.
The function openStriText() should be used instead.
- A syntax error in the library stritext.s7i has been fixed.
- In echo.s7i, dir.s7i, pixmap_file.s7i and shell.s7i internal
identifiers have been renamed to use camel case.
- Interpreter and compiler have been improved to support the actions
BLN_SUCC and BLN_PRED. Changes have been done in boolean.s7i,
blnlib.c, blnlib.h, primitiv.c, comp/bln_act.s7i and
- Interpreter and compiler have been improved to support the action
SET_DIFF_ASSIGN. Changes have been done in bitset.s7i,
bitsetof.s7i, set_rtl.c, set_rtl.h, setlib.c, setlib.h, primitiv.c,
comp/set_act.s7i and comp/action.s7i.
- In interpreter and compiler the actions BLN_ICONV1 and BLN_ICONV3
have been improved to raise RANGE_ERROR if the value is not 0 or 1.
- The interpreter has been improved (in s7.c) to write an error
message if the declaration of main() is missing.
- The graphic keyboard drivers in drw_win.c, gkb_win.c and gkb_x11.c
have been improved. Minimizing, maximizing and restoring a window
triggers a KEY_RESIZE only when it is necessary. Now it can be
checked if the mouse forward and back buttons are currently
pressed. The event tracing in the keyboard drivers has also been
- The parameters of the function drwPut() have been altered in
drw_dos.c, drw_emc.c, drw_win.c, drw_x11.c, drw_drv.h, drwlib.c
- The code generation for ENU_ICONV2 in the compiler has been
improved (in comp/enu_act.s7i). Now it is similar to the code
generated for BLN_ICONV1 and BLN_ICONV3.
- The error logging in exec.c has been improved.
- Several makefiles have been improved such that 'sudo make install'
succeeds for an existing installation.
- In blnlib.c the functions bln_pred() and bln_succ() have been
added and the functions bln_iconv1() and bln_iconv3() have been
adjusted. Now these functions raise RANGE_ERROR if the resulting
value would not be TRUE or FALSE.
- The function setDiffAssign() has been added to set_rtl.c.
- In tim_win.c the function alternate_utime() has been improved to
work more reliable (this is called by setMTime).
- The function cmdReadlink has been renamed to cmdReadLink. Changes
have been done in cmdlib.c, cmd_rtl.c, cmd_rtl.h and
- Documentation comments have been added or improved in array.s7i,
bigint.s7i, bin32.s7i, bin64.s7i, bitset.s7i, bitsetof.s7i,
bmp.s7i, boolean.s7i, bstring.s7i, category.s7i, char.s7i,
cpio.s7i, dir.s7i, draw.s7i, echo.s7i, file.s7i, filesys.s7i,
float.s7i, forloop.s7i, gif.s7i, graph.s7i, graph_file.s7i,
gzip.s7i, hashsetof.s7i, ico.s7i, integer.s7i, jpeg.s7i,
keydescr.s7i, line.s7i, logfile.s7i, lzma.s7i, null_file.s7i,
pixmap_file.s7i, png.s7i, ppm.s7i, progs.s7i, reference.s7i,
ref_list.s7i, rpm.s7i, shell.s7i, stars.s7i, strifile.s7i,
string.s7i, stritext.s7i, subfile.s7i, tar.s7i, text.s7i,
tls.s7i, utf16.s7i, utf8.s7i, xz.s7i, zstd.s7i
setlib.c and set_rtl.c.
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.