February 6th, 2012· FAQ answers, explaining call-by-name and how it is implemented in Seed7, were added.
· The "ftpserv.sd7" program was improved to work with various FTP client programs.
· The speed of 'socLineRead' (getln() for sockets) in "soc_rtl.c" was improved.
· The Unicode support of "ftp.s7i" and "ftp7.sd7" was improved.
· The compiler was improved to generate optimized code for the the @:= operator.
· Test cases for the @:= operator were added to "chkstr.sd7".
· The program "chkccomp.c" was changed to include "version.h" and to define OS_OFF_T_SIZE.
· The function 'str' for 'fileMode' was improved.
January 2nd, 2012· The types 'pollData', 'inetListener', and 'socketAddress' were moved from "socket.s7i" to "poll.s7i", "listener.s7i", and "sockbase.s7i" respectively.
· The functions supported by 'pollData' were changed and improved.
· The file "pol_dos.c" was added.
· The "ftpserv.sd7" example was improved to take the IP address for the "PASV" response from the control socket.
· The console driver "con_win.c" was improved, such that keypressed recognizes control-C as normal keyboard input.
· The function 'socGets' was improved to avoid realloc(), when the string read is shorter than requested.
December 5th, 2011· The makefile "mk_djgpp.mak" was improved to work for DJGPP under DOS (thanks to "Rugxulo" for his help to improve "mk_djgpp.mak").
· The old makefile "mk_djgpp.mak" was renamed to "mk_djgp2.mak".
· The option -?, which writes helping information, was added to the hi interpreter and to the compiler (comp.sd7).
· The "ftp7.sd7" example program was improved to support the command"help".
· The "sydir7.sd7" example program was improved to accept Unix and DOS paths.
· The directions N, S, W, E were renamed to NORTH, SOUTH, WEST and EAST in "dna_base.s7i", "blue.dna", "green.dna", "indigo.dna","red.dna", "tan.dna", "violet.dna" and "white.dna".
· Result variables were renamed in "bigrat.s7i", "complex.s7i", "rational.s7i" and "time.s7i".
· Interpreter, compiler and runtime library (files "cmd_unx.c", "cmd_win.c", "cmd_drv.h", "cmdlib.c", "cmdlib.h" and "primitiv.c") were improved to support the new action "CMD_START_PROCESS".
· A definition of the function 'startProcess' was added to the "shell.s7i" library.
· The function get_primact in "actutl.c" was improved to suppress writing the list of actions, which are implemented by the same function.
· The function timNow() in "tim_dos.c", "tim_unx.c" and "tim_win.c" and the functions timFromTimestamp() and timSetLocalTZ() in "tim_rtl.c" were improved to use localtime_s(), when the prepocessor macro USE_LOCALTIME_S is defined.
· An include command for "math.s7i" was added to "bas7.sd7", "lander.sd7" and "planets.sd7".
November 14th, 2011· Documentation comments were improved in "dir.s7i", "stdio.s7i" and "enable_io.s7i".
· Testcases for the operators 'sci' and 'exp' in "chkflt.sd7" were changed to succedd on all supported platforms.
· The compiler (comp.sd7) was improved, to create better debugging information for compiler generated (DYNAMIC) dispatcher functions.
· The compiler was improved to define and use the macro 'do_setjmp' and to work correctly for empty programs.
· The program "chkccomp.c" was improved to write one of the preprocessor macros ROUND_HALF_TO_EVEN, ROUND_HALF_UP or ROUND_HALF_AWAY_FROM_ZERO to "version.h". This macros describe the rounding behaviour, when float values are converted to strings with 'printf'.
· Result variables were renamed in "echo.s7i", "gzip.s7i", "line.s7i",, "external_file.s7i" "null_file.s7i", "osfiles.s7i", "stdio.s7i", "strifile.s7i", "stritext.s7i" and "utf16.s7i".
· The files "drw_win.c", "fil_win.c" and "striutl.c" were improved to reduce the number of compiler warnings.
November 3rd, 2011· Documentation comments were improved in several files.
· The operators 'sci' and 'exp', which write floating point values in scientific notation, were added to "float.s7i".
· Testcases were added to "chkflt.sd7" and "chkprc.sd7".
· The function 'getInteger' was added to "scanfile.s7i" and "scanstri.s7i".
· The "comanche.sd7" webserver was improved, to write information about the options -? and -h, in case of an error.
· The compiler was improved, to create better debugging information.
· The creation of code for for-loops in the compiler was improved.
· The debugging options in "mk_msvc.mak" were improved.
October 4th, 2011Changes:
· A check for MEMORY_ERROR was removed from "chkexc.sd7" (thanks to Pietro Cerutti for pointing out problems under 64-bit FreeBSD).
· Documentation comments in "complex.s7i", "draw.s7i", "float.s7i", "external_file.s7i", "forloop.s7i", "html_ent.s7i", "keybd.s7i", "null_file.s7i", "socket.s7i", "stdio.s7i" and "xml_ent.s7i" were improved.
· The compiler (comp.sd7) and the makefiles were improved, such that executables only link console libraries (ncurses, etc.), when necessary.
· The function 'encodeHtmlContent' was added to "html_ent.s7i".
· The function 'fromPercentEncoded' was moved from "cgi.s7i" to "encoding.s7i".
· The functions 'toPercentEncoded', 'toUrlEncoded' and 'fromUrlEncoded' were added to the library "encoding.s7i".
· Compiler, runtime libraries and makefiles were improved to support the configuration macros CONSOLE_LIB (name of the Seed7 console library) and SYSTEM_CONSOLE_LIBS (link option for the console library of the OS).
· The makefiles were improved to write all dependencies in the file "depend", instead of "depend", "a_depend", "b_depend", "c_depend" and "d_depend".
September 5th, 2011· Declarations were moved from "seed7_05.s7i" to the new library "forloop.s7i".
· For-loops, with traverse array elements and keys, were introduced in "seed7_05.s7i".
· Testcases for bigInteger exponentiation, when it raises an exception, were added to "chkexc.sd7".
· The recognition of constant expressions and their use to optimize the program in the compiler ("comp.sd7"), was improved.
· Compiler options, to control the optimization of constant expressions, were introduced. Allowed options are -oc0 (no optimisation), -oc1 (default), -oc2 and -oc3 (best optimisation).
· The functions 'bigSquare' and 'bigLog2BaseLShift' were added to "big_rtl.c" and "big_gmp.c" and used by the compiler.
· The functions 'uBigDigitSquare', 'uBigKaratsubaSquare' and 'uBigSquareK' were added to "big_rtl.c".
· The functions 'uBigDecr', 'uBigMultNegativeWithDigit',
· 'uBigMultPositiveWithNegatedDigit', 'bigAbs', 'bigGrow', 'bigMultSignedDigit', 'bigRShiftAssign' and 'bigShrink' in "big_rtl.c" were improved.
· A free list memory management for 'biginttype' (bigInteger) values was introduced in "big_gmp.c".
· All occurrances of the macro UTF32_STRINGS in *.c and *.h files were removed. Strings will always use UTF-32 encoded characters. Strings restricted to byte elements must use a different type.
· The functions 'conWrite' (in "con_rtl.c") and 'conText' (in "con_win.c") were improved to allow writing Unicode characters to the console.
· The random number generator (functions 'uint_rand' and 'intRand' in "int_rtl.c") was improved.
· The functions 'stri_to_wstri' and 'stri_to_bstriw' were added to "striutl.c".
· The experimental function 'inputReady' was added to "file.s7i", "external_file.s7i", "comp.sd7", "fil_unx.c", "fil_win.c" and "fil_drv.h". Because of buffering issues, 'inputReady' does currently not work correctly for pipes.
· Support for 'SOC_INPUT_READY' was added to the compiler (comp.sd7).
· The experimental function pipe2 was added to "shell.s7i".
· Testcases for bigInteger multiplication and squaring were added to "chkbig.sd7".
· The type 'flisttype' was introduced in "common.h" and used in "heaputl.h", "big_rtl.c" and "big_gmp.c".
August 17th, 2011· An explanation of how the syntax of Seed7 is defined was added to the FAQ.
· Documentation comments were added to "math.s7i" and "shell.s7i".
· A declaration of Euler's number was added to "math.s7i".
· The function 'getCommandLineWord' was added to "scanstri.s7i".
· The functions 'shell', 'cmd_sh', 'popen', and 'popen8' in "shell.s7i" were improved to work correctly when commands and parameters contain spaces.
· The library "screen.s7i" was renamed to "console.s7i", and the function 'open(SCREEN)' was renamed to 'open(CONSOLE)'.
· The makefile "mk_bcc32.mak" was improved to work for version 6.71 of bcc32.
August 1st, 2011· The left and right shift operators for bigInteger were improved to work with negative shift counts. Left shifting with a negative shift count results in a right shift. Right shifting with a negative shift count results in a left shift.
· The interpreter was improved to default to non-verbose program parsing (verbose parsing is done with -v or -v2).
· The chapter explaining 'float' in the manual was improved.
· The "draw.s7i" library was improved to contain the functions 'getPixelColor' (obtain the color of a specified pixel from a
· window or pixmap) and 'pixelToColor' (convert a pixel value to a color).
· The function 'newPixmap' in "draw.sd7" and the files "drw_x11.c" and "drw_win.c" were improved to allow crating pixmaps, when no
· window was opened.
· Documentation comments were added to "integer.s7i", "string.s7i" and "wrinum.s7i".
· The function 'inputReady' was added to the "socket.s7i" library.
· The "string.s7i" library, interpreter and compiler were improved to support an overloaded version of the @:= operator. With
· stri @:= [5] "abc"; the characters 5 to 7 in stri are overwritten with "abc" (the primitive action is "STR_POSCPY").
· The function 'daysInMonth' was added to the "time.s7i" library.
· Declarations were moved from "seed7_05.s7i" to the new library "char.s7i".
· Checks were added to "chkbig.sd7", "chkexc.sd7", "chkstr.sd7"
· The performance of 'uBigIncr', 'uBigDecr', 'bigDecr', 'bigIncr', 'bigPred', 'bigPredTemp', 'bigSucc' and 'bigSuccTemp' in "big_rtl.c", was further improved.
· The performace of 'bigImport' and 'bigCLit' in "big_rtl.c", was improved.
· The handling of the action "ARR_IDX" in the compiler (comp.sd7) was improved.
· The functions 'bigLShift', 'bigLShiftAssign', 'bigRShift' and 'bigRShiftAssign' in "big_rtl.c" were adjusted to the new shift behaviour for bigInteger values.
· The prototypes of 'wgetenv' and 'wsetenv' in "cmd_win.c" were improved to use the const qualifier.
· The macros HEAP_REALLOC_BIG and REALLOC_BIG_CHECK_SIZE in "big_rtl.c" and the macros HEAP_REALLOC_STRI, GROW_STRI and REALLOC_STRI_CHECK_SIZE in "heaputl.h" were improved to avoid unused expression results (which get a warning with clang).
· The operator lpad0 (function strLpad0 in "str_rtl.c") was improved to add zero characters ('0') after an optional leading sign ('+' or '-').
July 19th, 2011· FAQ answers and documentation comments were improved.
· The 'str' function for 'duration' values was improved to provide microseconds (when they are not zero).
· Two 'getHttp' functions in "gethttp.s7i" were improved to allow redirections which refer to other redirections.
· Checks for left shift in "chkint.sd7" were improved.
· Checks for the 'pos' function in "chkstr.s7i" were improved.
· The performance of bigInteger increment and decrement functions was improved.
· Several function were moved from "drw_x11.c" to the new file "gkb_x11.c".
· The performance of 'strPos' in "str_rtl.c" was improved.
July 4th, 2011Changes:
· A new example program (ftpserv.sd7), a FTP (file transfer protocol) server, was added.
· The type listener (defined in "socket.s7i") was improved. Now a listener manages its accepted sockets.
· The new function 'waitForRequest' was added to "socket.s7i". It allows to wait until a request can be read or an incoming connection is accepted. With 'waitForRequest' a server is able to handle interleaved requests from multiple clients.
· The functions 'eof' and 'hasNext' in "socket.s7i" were improved to work like the corresponding functions of other files.
· The type socketAddress (defined in "socket.s7i") was improved to support comparisons with '=' and ''.
· The compiler (comp.sd7) and the makefiles were improved, such that executables only link graphic libraries (X11 or gdi), when necessary.
· The makefile mk_djgpp.mak was introduced. It allows compilation under DOS with DJGPP.
· Support for Cygwin was improved to allow graphics with Cygwin/X.
· The functions 'compare' and 'hashCode' were added to the "file.s7i" library. This allows files as keys of hash tables.
· Documentation comments were added or improved in the files "complex.s7i", "file.s7i", "font.s7i" and "socket.s7i".
· The "ftp.s7i" library was improved to accept multiple line responses.
· The function 'quoteHtmlAttrValue' was added to "html_ent.s7i".
· The functions 'clear' in "screen.s7i" and "windows.s7i" were improved to position the cursor in the top left edge.
· The "comanche.sd7" webserver was improved to allow the specification of a port and to write help information, when it is called with -h or -? .
· The "make7.sd7" utility was improved to support the option -i .
· The meaning of the configuration macros SEED7_LIB, COMP_DATA_LIB and COMPILER_LIB was changed to contain library names without path.
· Compiler, runtime libraries and makefiles were improved to support the configuration macros DRAW_LIB (name of the Seed7 graphic library), SYSTEM_DRAW_LIBS (link option for the graphic library of the OS) and S7_LIB_DIR (absolute path of the Seed7 runtime libraries).
· The new file "os_decls.h", which defines macros for OS calls and structs, was added. The definitions in "os_decls.h" were moved from "common.h".
· The file "setpaths.c" was improved to work under DOS and to be able to handle the codepages 437 and 850.
· Functions in "striutl.h" were improved to decode operating system strings with UTF-16 surrogate pairs to the UTF-32 strings of Seed7. Decoding and encoding between codepages (437 and 850 are supported) and the UTF-32 strings of Seed7 was also added.
· The function 'socSelectInput' (defined as 'selectInput' with the action "SOC_SELECT_INPUT" in "socket.s7i") was added to "soc_rtl.c".
· The function 'socInetAddr' in "soc_rtl.c" (defined as 'inetSocketAddress' with the action "SOC_INET_ADDR" in "socket.s7i") was improved to return an empty socket address when the host could not be found.
· The function 'openInetSocket' in "socket.s7i" was improved to return STD_NULL when the socked could not be opened.
· The compiler was improved to support the actions "SOC_HAS_NEXT" and "SOC_SELECT_INPUT".
· The functions 'readVolumeName' and 'closeVolumeList' were moved from "cmd_win.c" to "dir_rtl.c".
· The function 'openVolumeList' was added to "cmd_unx.c".
· The functions 'drwOpen' and 'drwOpenSubWindow' were changed to raise FILE_ERROR when it is not possible to open a window.
· Calls of 'getenv' in 'examineSearchPath' ("arr_rtl.c") and 'init_lib_path' ("infile.c") were replaced with 'os_getenv'.
· Several explanations were added to the file "src/read_me.txt".
· The file "soc_dos.c" was added and the files "scr_dos.c" and "scr_wat.c" were improved.
· The function 'prot_os_stri' was added to "traceutl.c".
· The handling of the element 'tm_isdst' from 'struct tm' (filled when localtime() is called) was changed. Now the the flag 'is_dst' is only set when tm_isdst > 0 holds.
June 20th, 2011· A new example program (ftp7.sd7), an FTP internet file transfer program, was added.
· The "ftp.s7i" library, which supports the FTP protocol, was added.
· The functions 'numericAddress', 'service' and 'getHostname' were added to the "socket.s7i" library.
· Support for the actions SOC_ADDR_NUMERIC, SOC_ADDR_SERVICE and SOC_GET_HOSTNAME were added to the compiler (comp.sd7).
· The compiler was improved to recognize unsupported options and superfluous parameters.
· The functions 'socAddrNumeric', 'socAddrService', 'socGetAddr', 'socSelect', 'socSelectOne', 'socGetHostname' and 'socInputReady' were added to "soc_rtl.c" (some were commented out).
· The functions 'select_addrinfo' and 'dump_addrinfo' in "soc_rtl.c" were improved.
· The functions 'soc_addr_numeric', 'soc_addr_service', 'soc_get_addr', 'soc_get_hostname', 'soc_input_ready' and 'soc_select' were addet to "soclib.c" (some were commented out).
· The file "soc_rtl.c" was improved to reduce the number of compiler warnings.
· Documentation comments were improved in the file "socket.s7i".
· Compiler, runtime libraries and makefiles were improved to support configuration macro CPLUSPLUS_COMPILER.
June 5th, 2011· Declarations were moved from "seed7_05.s7i" to new libraries. This libraries are included from "seed7_05.s7i", so this causes no change in existing programs.
· Declarations were moved between some libraries.
· Documentation comments were added or improved in various files.
· The function 'read_zip_dir' was added to the "zip.s7i" library.
· Checks for 'length', 'tell' and 'seek' with STD_NULL were added to "chkexc.sd7".
· The interpreter, compiler, and runtime library were improved to support searching for a string from a given position to the left.
· Checks for the function 'rpos' were added to "chkstr.sd7".
May 23rd, 2011· FAQ answers, explaining that Seed7 is not a descendant of Pascal and how Seed7 uses abstract data types, were added.
· Documentation comments were added or improved in the files "bigfile.s7i", "bigint.s7i", "bigrat.s7i", "binary.s7i", "cgi.s7i", "charsets.s7i", "complex.s7i", "encoding.s7i", "float.s7i", "getf.s7i", "gzip.s7i", "inifile.s7i", "keybd.s7i", "rational.s7i", "shell.s7i", "socket.s7i", "strifile.s7i", "stritext.s7i", "time.s7i", "utf16.s7i", "utf8.s7i", "fil_rtl.c" and "ut8_rtl.c".
· The new libraries "color.s7i", "enable_io.s7i", "external_file.s7i", "file.s7i", "null_file.s7i", "osfiles.s7i", "stdio.s7i", and "text.s7i" were added.
· The contents of this libraries were extracted from the "seed7_05.s7i" library. Programs, which need functionality from "text.s7i", "osfiles.s7i" or "color.s7i", must now include them.
· To keep basic compatibility, the "stdio.s7i" library is included from "seed7_05.s7i", but in a future version this may change. To cope with this change programs, which use standard I/O, should include "stdio.s7i".
· The interpreter and the runtime library were improved to support forward declarations of variables (the action DCL_FWDVAR is used for this purpose).
· All usages of the function 'fileExists' and its definition in the "seed7_05.s7i" library, were removed.
· The functions 'fileType' and 'fileOpenSucceeds' can be used as replacement.
· Checks for 'sqrt' were added to the "chkbig.sd7" program.
· The bigInteger 'sqrt' function was improved, to return 0_ for sqrt(0_) instead of raising an exception.
· The logic of 'null_file' and 'socket' was changed, such that the functions 'length', 'seek' and 'tell' raise FILE_ERROR (This files are not seekable).
· The function 'replaceHexChars' in "cgi.s7i" was renamed to 'fromPercentEncoded'.
· The function 'removeUtf16SurrogatePairs' in "charsets.s7i" was renamed to 'replaceUtf16SurrogatePairs'.
· The new function 'openSocket' was introduced in "socket.s7i".
· Unnecessary definitions were removed from "graph.s7i".
May 9th, 2011· FAQ answers about Seed7s application area, Unicode support, Seed7s closures and how the compiler implements them, were added.
· A new example program (sydir7.sd7), an utility to syncronize directory trees, was added.
· The comanche.sd7 webserver was improved to use the Seed7 interpreter (hi) to execute CGI scripts with the extension ".sd7".
· Interpreter, compiler and runtime library were improved to support the action CMD_TO_OS_PATH.
· The compiler (comp.sd7) was improved to create #line directives with the path notation of the operating system.
· The file "setpaths.c" was added. It is used during the make process to write the configuration macros SEED7_LIB, COMPILER_LIB, COMP_DATA_LIB and SEED7_LIBRARY to the file "version.h".
· The makefiles mk_mingw.mak, mk_nmake.mak, mk_msvc.mak, mk_bcc32.mak and mk_bccv5.mak were improved to use the new file "setpaths.c", instead of creating their own versions of "setpaths.c".
· The configuration macros SEED7_LIB, COMPILER_LIB, COMP_DATA_LIB and SEED7_LIBRARY were changed to use the standard path representation and UTF-8 encoding.
· The function relativeToProgramPath was added to the file "striutl.c".
April 26th, 2011· Information about the lines of code in Seed7 was added to the FAQ.
· The FAQ answers about supported operating systems and the analyze phase of the interpreter were improved.
· Several spelling errors in the FAQ and in the manual were fixed.
· The appearance of tables in the FAQ and in the manual was improved.
· Variants of the function 'timAwait', which work with poll() and ppoll(), were added to "tim_unx.c".
· The files "makefile", "mk_linux.mak", "mk_cygw.mak", and "mk_osx.mak" were improved to select one version of 'timAwait'.
· Descriptions of configuration macros were added to "src/read_me.txt".
April 6th, 2011· The compiler (comp.sd7) was improved to generate less code to initialize arrays.
· Repeated elements in array initializations are recognized, and the initialization is done with loops instead of individual assignments.
· The compiler (comp.sd7) was improved to generate string literals with reduced space requirements.
· The function 'getArgv' in "arr_rtl.c" was changed to assume that the parameters 'arg_0' and 'exePath' are not NULL.
· The code to recognize constant expressions in the compiler was improved.
· The superfluous functions 'gkbXpos' and 'gkbYpos' were removed from "drw_dos.c".
March 21st, 2011· An explaination where the interpreter looks for include files, was added to the FAQ.
· An explanation how the directory of the predefined include libraries is determined, was added to the FAQ.
· An explanation how the Seed7 compiler gets information about C compiler and runtime, was added to the FAQ.
· A description of several C preprocessor macros used in "version.h" was added to the file "src/read_me.txt".
· Missing functions were added to the file "drw_dos.c".
· The function 'bstTail' was added to the file "bst_rtl.c".
March 7th, 2011· The support for CGI programs in the comanche.sd7 webserver was improved.
· The first steps towards evaluating pure functions in the compiler (when they are called with constant parameters), were done.
· The compiler (comp.sd7) was improved to generate code with fewer temporary variables for the actions SET_ELEM and SET_NOT_ELEM.
· The function 'evaluate' (defined in "progs.s7i" and implemented in "exec.c", "prglib.c" and "prg_comp.c") was improved to work correctly when the evaluation raises an exception.
· Parameter names were added to the prototypes in the files "exec.h", "executl.h", "expr.h", "identutl.h", "match.h", "objutl.h", "name.h", "object.h", "parser.h","runerr.h", "symbol.h" and "token.h".
· The files "memory.c" and "memory.h" were renamed to "objutl.c" and "objutl.h" respectively.
· The function 'uintCmpGeneric' was introduced in the file "int_rtl.c" and used in compiled programs.
· The example programs "chk_all.sd7" and "chkprc.sd7" were improved.
· The file "drw_x11.c" was changed to reduce the number of warnings generated by the C compiler.
· Missing functions were added to the file "drw_dos.c".
February 21st, 2011· The handling of closure parameters in the compiler (comp.sd7) was improved.
· A free string memory management for small strings was introduced in "heaputl.h". This improves the performance of some programs with string processing by up to 20 percent.
· The "socket.s7i" library was improved to provide protocol independent network access.
· The function 'addrFamily' was added to the "socket.s7i" library.
· Several changes were done to support compiling with a C++ compiler.
· The compiler (comp.sd7) was improved to generate runtime library prototypes with const qualifier.
· The macros 'likely' and 'unlikely' were added to if-statements checking for exception conditions in the files "cmd_rtl.c" and "soc_rtl.c".
· The const qualifier was added to function prototypes in "hsh_rtl.c" and "hsh_rtl.h".
· The functions 'socInetAddr', 'socInetLocalAddr' and 'socInetServAddr' in "soc_rtl.c" were improved to optionally use the function 'getaddrinfo'. With 'getaddrinfo' it is possible to access computers with IPv4 and IPv6 addresses. For Linux this feature is activated.
· Interpreter, compiler and runtime library were improved to support the action SOC_ADDR_FAMILY.
· The compiler (comp.sd7) was improved to generate better code when accessing the element of an array that was the result of another computation.
· The compiler (comp.sd7) was improved to generate code with fewer temporary variables for the actions ARR_IDX, ARR_LNG, STR_EQ and STR_NE.
· The initialisation of string constants in the compiler was improved.
February 8th, 2011Changes:
· Many thanks to Bogdan Lisovich for his help to investigate and fix a compilation problem under Mac OS.
· The fannkuch-redux benchmark "fannkuch.sd7" from "Bart C" was added (Many thanks to "Bart C" for releasing "fannkuch.sd7" under the GPL).
· The comanche.sd7 webserver was improved to support CGI programs.
· The chapter explaining 'operating system access' in the manual was improved.
· The function 'getCgiParameters(file)' was added to "cgi.s7i".
· The functions 'setenv' and 'file(PROGRAM)' were added to "seed7_05.s7i"
· The interpreter and the compiler were improved to support the function 'getenv'.
· Several changes were done to support compiling with a C++ compiler.
· The keyword INLINE was removed from the functions bigCmp, bigCreate, bstCmp, bstCreate, fltCmp, intCmp, rflCreate, setCmp, setCreate, strCompare and strCreate (C++ does not generate an externally visible function for inline functions).
· The compiler (comp.sd7) was improved to generate runtime library prototypes with constant types.
· The function timFromIntTimestamp was introduced in "tim_rtl.c" and used in "timlib.c" and in compiled code.
· The example programs dirtst.sd7, eliza.sd7, fib.sd7, gkbd.sd7, hamu.sd7, kbd.sd7, rand.sd7, rever.sd7, sl.sd7, snake.sd7 and tak.sd7 were improved to use the operator
January 17th, 2011· The chapter explaining 'operating system access' in the manual was improved.
· The standard path representation was changed to forbid drive letters (instead of "C:" the standard path "/c" must be used).
· The programs comanche.sd7, comp.sd7 and make7.sd7 were improved to work with the new standard path representation.
· The spacing between characters in the standard bitmap fonts was improved.
· The example programs startrek.sd7, wiz.sd7, mind.sd7, wumpus.sd7 and addup.sd7 were improved to use the operator
January 3rd, 2011· The function convDosPath was added to the "seed7_05.s7i" library. It converts a path with backslashes and drive letters to the standard path representation. E.g.: "C:\seed7" is converted to "/c/seed7". When a path is already in the standard path representation it is left unchanged.
· Functions with path parameters or path result were improved to accept and return file paths with the standard path representation. The standard path representation uses a slash as path separator. Under Windows a standard path like "/c" is mapped to the drive letter "C:". Reading the directory "/" unter Windows returns a list of available drives.
· The function path(PROGRAM), which returns the absolute path of the program, was added to the "seed7_05.s7i" library.
· The function dir(PROGRAM), which returns the directory containing the program, was added to the "seed7_05.s7i"library. The dir(PROGRAM) function allows placing configuration data in the directory of the program.
· The function getenv was improved to work with Unicode environment variables.
· The "bas7.sd7" Basic interpreter was improved to interpret RND() as RND and MID statements as equivalent to MID$ statements.
December 20th, 2010· The handling of closures in the compiler ("comp.sd7") was improved.
· The compiler uses code inlining or C functions to implement closures.
· A new example program (make7.sd7), a make utility that can be used to manage the compilation process, was added.
· The "tar.s7i" library, which allows programs to deal with tar files without the need to call external programs, was added.
· The directory seed7/bin was introduced as a place for executables and runtime libraries.
· The performance of the str function (conversion to string), for integer and bigInteger values, was improved.
December 6th, 2010· The interpreter and compiler were improved to support Unicode program arguments under Windows.
· The 'carddemo.sd7' program was improved to allow moving, raising, and lowering cards.
· The chapter explaining the file open function in the manual was improved.
· Bitmap fonts were improved to allow scaling.
· The handling of Expose events in the "drw_x11.c" driver was improved.
· The function 'getHttp' in "gethttp.s7i" was improved to handle several status codes.
· The file open function was improved to return STD_NULL on an attempt to open a directory.
· The makefiles were improved to use a generic "chkccomp.c".
November 22nd, 2010· The chapters explaining integer and bigInteger in the manual were improved.
· Several improvements were made in the "gzip.s7i" library.
· The tar archiving program (tar7.sd7) was improved.
· The compiler was improved to generate better code for the power operator.
· The compiler and the runtime library were improved to use string slices instead of copying, when possible.
· The compiler and the runtime library were improved to allow appending an element to an array with the &:= operator.
· String and array indexing functions in the compiler were improved.
· The file "read_me" was renamed to "read_me.txt".
October 25th, 2010· The FAQ answers explaining extensible programming and object orientation were improved.
· The chapters explaining UTF-16 files and exception handling in the manual, were improved.
· The standard bitmap font was improved to define more characters.
· Documentation comments were added to the library "utf16.s7i".
· The "bas7.sd7" (Basic interpreter) example program was improved to avoid an endless loop when the label or line number of a goto does not exist.
· Several changes were done to improve the configuration of the Seed7 interpreter.
October 11th, 2010· The first steps towards support of bitmap fonts were done.
· The standard bitmap font was defined for the sizes 10, 12, 14, 16, 18, and 24.
· A new example program (testfont.sd7), which writes with the standard font in various sizes, was added.
· The initialization of the random number generator in the function uint_rand in "int_rtl.c" was improved.
· The function timMycroSec was defined in "tim_unx.c" and "tim_win.c".
September 20th, 2010· The chapter explaining string indexing in the manual was improved.
· The compiler (comp.sd7) and the hi interpreter were improved to support the actions "ITF_CMP" and "ITF_HASHCODE".
· The compiler was improved such that compiled programs that use SIGALARM (the functions 'wait' and 'await' from the "time.s7i" library may use SIGALARM) can be terminated with ctrl-c followed by * and enter.
· Parameter names were added to the prototypes in the file "drw_drv.h".
· The function drwPFArcPieSlice in "drw_win.c" was implemented.
· The functions drwFCircle and drwPFCircle in "drw_x11.c were improved.
September 6th, 2010· The chapter explaining the type 'time' in the manual was improved.
· The support for source level debugging in the compiler (comp.sd7) was improved. Now the option -g generates better #line directives and the 'main' function was arranged such that the current line shown by a debugger is correct when the program is started.
· In the "seed7_05.s7i" library the function "rpos" was overloaded to do a reverse search for a character in a string starting from a given position.
· The files "str_rtl.c", "strlib.c", "primitiv.c" and the compiler were improved to support the primitive action STR_RCHIPOS (which implements the new overloaded 'rpos' function).
July 19th, 2010· The first steps towards support of variable functions and closures in the compiler ("comp.sd7") were made.
· The generation of code for 'for' loops and the 'div' operator in the compiler was improved.
· The compiler function 'getTemporaryToResultExpr' was improved to generate code without casts from 'floattype' to 'generictype'.
· The function 'rand_32' in "int_rtl.c" was renamed to 'uint_rand' and improved to work better for 64-bit integers.
· A bug that could occur when a saved game is loaded was fixed in "castle.sd7".
· Tests for conversions from integer to float were added to "chkflt.sd7".
June 21st, 2010· Documentation comments were added to several libraries.
· An option to enable exception tracing (-te) was added to the compiler.
· The interpreted for-loop was improved such that loop variables have correct values when exceptions occur.
· The performance of several string functions in "str_rtl.c" was improved.
· The functions "bigIncr" and "bigDecr" in "big_rtl.c" were improved to work as transactions in out-of-memory situations.
· The compilation of programs with huge array constants was speeded up.
· The macro "unlikely" was added to if statements which check for error conditions in several files.
March 22nd, 2010· User defined statements and operators.
· Types are first class objects (Templates and generics can be defined easily without special syntax).
· Predefined constructs like arrays or for-loops are declared in the language itself.
· Object orientation with interfaces and multiple dispatch.
· Static type checking and no automatic casts.
· Support for bigInteger and bigRational numbers which have unlimited size.
· exception handling
· overloading of procedures/functions/operators/statements
· Various predefined types like resizable arrays, hashes, bitsets, structs, color, time, duration, etc.
· Runs under linux, various unix versions and windows.
· The interpreter and the example programs use the GPL license, while the runtime library uses the LGPL license.
March 8th, 2010· User defined statements and operators.
· Types are first class objects (Templates and generics can be defined easily without special syntax).
· Predefined constructs like arrays or for-loops are declared in the language itself.
· Object orientation with interfaces and multiple dispatch.
· Static type checking and no automatic casts.
· Support for bigInteger and bigRational numbers which have unlimited size.
· exception handling
· overloading of procedures/functions/operators/statements
· Various predefined types like resizable arrays, hashes, bitsets, structs, color, time, duration, etc.
· Runs under linux, various unix versions and windows.
· The interpreter and the example programs use the GPL license, while the runtime library uses the LGPL license.
October 19th, 2009· The compiler (comp.sd7) was improved to support the actions CMD_GET_CTIME and TIM_FROM_TIMESTAMP.
· The handling of the actions ARR_ARRLIT, ARR_IDX, and DRW_OPEN in the compiler was improved.
· The interpreter (hi) and the compiler were improved to support the actions STR_PUSH, TIM_SET_LOCAL_TZ, DRW_OPEN_SUB_WINDOW, DRW_SETPOS, DRW_XPOS, and DRW_YPOS.
· The bas7.sd7 (basic interpreter) example program was improved.
· The functions drwPointerXpos, drwPointerYpos, drwHeight, and drwWidth in the file drw_win.c were improved.
· The functions closedir and wclosedir in dir_win.c were improved to call FindClose.
October 5th, 2009· The function isDigitString in the seed7_05.s7i library was improved.
· The bas7.sd7 (basic interpreter) example program was improved.
· The functions fltIPow and fltRand in the file flt_rtl.c were improved.
September 21st, 2009· A FAQ about extensible programming languages and the portability of Seed7 programs was added.
· The bas7.sd7 (basic interpreter) example program was improved.
· The function gkbButtonPressed in the file drw_win.c was improved.
September 7th, 2009· Various syntax descriptions in the manual were improved.
· Several functions were added to the libraries binary.s7i, graph.s7i, keybd.s7i, and seed7_05.s7i.
· The carddemo.sd7 program was improved to allow taking and moving a card.
· The comanche.sd7 Web server was improved.
· The compiler was improved to do some optimizations for set membership tests.
· The tarx.sd7 example program was improved to read and write file modes.
· Several functions in "arr_rtl.c" were improved to raise MEMORY_ERROR when the maximum index is too big.
· The function alternate_utime was improved to correct buggy behaviour of bcc32.
August 17th, 2009· The chapters explaining external files, the KEYBOARD file, files with line structure, and sockets in the manual were added or improved.
· The function timestamp1970ToTime was added to the 'time.s7i' library.
· The tarx.sd7 example program was improved.
· Documentation comments in the libraries rational.s7i, bigrat.s7i, keybd.s7i, socket.s7i, and time.s7i were improved.
· The function alternate_utime was introduced to allow changing the access and modification times of directories under Windows.
· Several makefiles were improved to support alternate_utime.
July 20th, 2009· The charsets.s7i library was improved to support the character sets armscii_8, geostd8, ns_4551_1, utf-16be, utf-16le and utf-7.
· The functions utf16beToStri, utf16leToStri, removeUtf16SurrogatePairs and utf7ToStri were added to the charsets.s7i library.
· The functions getWord, getNonDigits and getQuotedText were added to the scanfile.s7i library.
· The functions skipLine and getLine were added to the scanstri.s7i library.
· everal changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
· The file src/read_me.txt was improved to explain C compiler warnings because of unused parameter 'arguments'.
July 6th, 2009· The chapter explaining the function 'getenv' in the manual was improved.
· The dom.s7i library was renamed to xmldom.s7i and its functionality was improved.
· A new library named inifile.s7i, which allows reading key value pairs from an INI file, was added.
· The functions getLineComment, getLine, skipXmlComment, getXmlTagHeadOrContent skipXmlTag, getNextXmlAttribute and getNextHtmlAttribute in scanfile.s7i were added or improved.
· The functions getSymbol, skipXmlComment, getXmlTagHeadOrContent skipXmlTag, getNextXmlAttribute and getNextHtmlAttribute in scanstri.s7i were added or improved.
· The function isDigitString was added to the seed7_05.s7i library.
· The functions open_utf16le and open_utf16be in the utf16.s7i library were improved.
· A new library named xml_ent.s7i, which supports XML entity handling, was added.
· The compiler comp.sd7 was improved to create more prototype definitions of extern library functions.
· The interpreter (hi) and the compiler (comp.sd7) were improved to accept a UTF-8 byte order mark at the beginning of a source or include/library file.
· The types gmpBiginttype and rtlBiginttype in the files big_gmp.c and big_rtl.c were replaced with biginttype (defined in common.h).
· The function bigLowestSetBit in big_rtl.c was improved to raise RANGE_ERROR when the result does not fit in an integer.
· The function move_any_file in cmd_rtl.c was improved to raise FILE_ERROR when the file cannot be renamed.
· The function hsh_idx in hshlib.c was improved to work correctly when the hash is destroyed after indexing.
· The const qualifier was added in many *.c and *.h files.
· Several makefiles were changed to use BIGINT_LIB_DEFINE and BIGINT_LIB to decide about the big integer library (big_rtl.c or big_gmp.c).
June 22nd, 2009· The chapters explaining set types and primitive actions in the manual were improved.
· The codepages 720, 1125, 1255, 1256, 1258, 8859_6 and 8859_8 were added to the charsets.s7i library.
· A new library named dom.s7i, which contains a simple dom parser, was added.
· Several changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
· The makefile mk_cygw.mak was improved to better support compilation with cygwin.
· The file src/read_me.txt was improved to explain compiling under windows with cygwin.
· The function 'exit' was introduced to terminate a program with a return code.
· The functions setIsSubset and setIsProperSubset were introduced in set_rtl.c and used in setlib.c and comp.sd7 to replace the functions setGe, setLe, setGt and setLt.
· The functions setCmp, setEq, setIsSubset and setIsProperSubset in set_rtl.c were improved to avoid accessing memory beyond the set data structure.
· The function setDiff in set_rtl.c was improved.
· The chkset.sd7 program was improved with additional checks for the 'compare' function and the set relations.
· The chk_all.sd7 check program was improved to take the changes in chkset.sd7 into account.
· The compiler comp.sd7 was improved to support the compilation of the primitive action SET_CMP.
· The compiler comp.sd7 was improved to compile programs with sets as parameters in user defined functions also correctly with the bcc32 C compiler.
June 9th, 2009· The chkint.sd7 program was improved with additional checks for the binomial coefficient (for values of k greater than n and for negative values of n) and 'bitLength'.
· The chkstr.sd7 program was improved with additional checks for string subranges ([ A .. B ] and [ A len B ]).
· An error concerning array subranges was fixed in the function arr_range (arrlib.c).
· Several changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
· Occurrences of 'float' in the compiler (comp.sd7) were replaced with 'floattype'.
· Functions to compute the most and least significant bit of unsigned integers with a width of 8, 16, 32 and 64 bits were added to the file int_rtl.c.
· The new functions ***MostSignificantBit and ***LeastSignificantBit were used in the following functions: intBitLength, intLog2, bigBitLength, bigDiv, bigLog2, bigLowestSetBit, bigMDiv, bigMod, bigRand, bigRem, setCmp, setMax, setMin and setRand.
May 25th, 2009· Prevention against a Mac OS X malloc() error was added to the function filGets (in fil_rtl.c). When malloc() is not able to allocate memory it should return NULL. The Mac OS X malloc() function additionally writes a message to stderr. This behaviour is not according to K&R C, ANSI C, POSIX or SUS. Thanks to John B. Matthews and Frank Goenninger for their help.
· The FAQ and the file src/read_me.txt were improved to explain what happens when someone forgot to run 'make depend' before running 'make'.
· The compiler (comp.sd7) was improved to generate better C code to copy arrays and hashes. Now the C code is accepted by gcc again and therefore panic.sd7 can again be compiled under Linux.
· Several changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
· A new library named binary.s7i, which contains functions to read binary data from a string or file, was added.
· A new library named zip.s7i, which contains a zip uncompression function, was added.
· The type 'SIZE_TYPE' was replaced by 'size_t' in various *.c and *.h files.
May 11th, 2009· A new example program, the Comanche webserver (comanche.sd7), was added.
· The function getNonDigits was added to the scanstri.s7i library.
· Experimental support for new attribute parameters was added.
· Memory leaks in the functions hsh_excl (hshlib.c) and hshExcl (hsh_rtl.c) were fixed.
April 27th, 2009· The function 'inflate' was added to the gzip.s7i library.
· The function getNextHtmlAttribute was added to the scanfile.s7i library.
· The functions getNextXmlAttribute and getNextHtmlAttribute were added to the scanstri.s7i library.
· A sokoban puzzle game example program (sokoban.sd7) was added.
· A new library sokoban1.s7i, which contains the 90 classic sokoban levels, was added.
· Parameter names were added to the function prototypes of the header files actutl.h, analyze.h, error.h and findid.h .
· The function cp_to_wpath was changed to raise RANGE_ERROR when a path contains a backslash.
April 14th, 2009· A description of data struct elements was added to the chapters rational, bigRational, complex, color and time in the manual.
· A description of the functions fileTypeSL, getATime, getCTime, getMTime, setATime, setMTime and removeAnyFile was added to the chapter 'OS access' in the manual.
· The compiler (comp.sd7) was improved to correctly handle hashtables as elements of structs.
· The compiler (comp.sd7) was improved to to generate dispatcher functions which copy a reference to a value when the interface needs the value itself (the value is used and possibly freed afterwards by the caller).
· The functions getXmlTagHeadOrContent in the scanfile.s7i and scanstri.s7i libraries were improved to correctly read the head of empty element tags when they have no attributes (E.g: The tag head of "" is "
March 30th, 2009· The chapters explaining exponentiation and operating system functions in the manual were improved.
· The function getSymbolInXmlTag in scanfile.s7i was fixed to really return "" when EOF was reached.
· A documentation comment was added to the function getNextXmlAttribute in scanfile.s7i and the function was improved to correctly handle tags ending with > and /> .
· The functions cmd_sh and popen were moved from progs.s7i and seed7_05.s7i to the new library shell.s7i .
· The function 'shell' was introduced execute shell commands and to return the exit code of the shell.
· The chkbig.sd7 program was improved to contain checks for the exponentiation of -1.
· The chkexc.sd7 program was improved to contain more checks for exceptions raised by integer exponentiation.
· The compiler (comp.sd7) was improved to generate better code for some bigInteger operations and to support the actions cmd_readlink and cmd_remove_any_file.
· Parameter names were added to the function prototypes of the header file big_drv.h .
· The functions bigSuccTemp and bigPredTemp were added to the files big_rtl.c and big_gmp.c .
· A documentation comment was added to the function cp_to_command in the file striutl.c .
March 10th, 2009· Several chapters in the manual were improved.
· A library that supports UTF-16 files was added.
· The seed7_05.s7i functions removeAnyFile, fileType, readlink, and symlink were added or improved.
· The time.s7i functions str, time, strTimeZone, getATime, setATime, getMTime, and setMTime were added or improved.
· The driver functions timAwait and timNow were improved.
· Several makefiles were improved to create new defines in the file version.h.
· An explanation of several defines was added to the file 'src/read_me.txt'.
· The files bas7.sd7 and planets.sd7 were adjusted to use the improved time functions.
February 23rd, 2009· A new example program (chkhsh.sd7), which checks hash table operations, was added.
· A compare function was added for the type 'boolean'.
· The driver functions cmdCopy, cmdMove, and cmdRemove were improved to use wide char (UTF-16) functions under Windows and normal (UTF-8) functions under UNIX/Linux/BSD.
· The functions dirOpen, dirRead, and dirClose in the file dir_rtl.c were improved to use os_opendir, os_readdir, and os_closedir (defined in dir_rtl.h).
· The K&R function headers in several files were corrected.
· An explanation of several defines was added to the file 'src/read_me.txt'.
February 2nd, 2009· A new saving phase was added to the savehd7.sd7 example program.
· Savehd7 can be used to save a potentially damaged hard disk partition to an image file.
· A new chapter about class methods was added to the manual.
· The chapter about the type 'type' in the manual, was improved.
· A check for NULL pointers was added to the function raise_with_arguments.
January 19th, 2009· The savehd7.sd7 example program, which can be used to save a potentially damaged hard disk partition to an image file, was improved.
· A FAQ about compiling the Seed7 interpreter was added.
· The function bigFileSize was added to bigfile.s7i.
· The functions file_size and file_type were renamed to fileSize and fileType in seed7_05.s7i.
· The driver functions cmdBigFileSize, cmdChdir, cmdFileType cmdFileSize, and cmdMkdir were improved to use wide char (UTF-16) functions under Windows and normal (UTF-8) functions under Unix/Linux/BSD.
· In big_rtl.c, the functions bigFromUInt32 and bigFromUInt64 were fixed.
January 5th, 2009· A new example program (savehd7.sd7), which can be used to save a partially damaged hard disk partition to an image file, was added.
· Spelling errors in the FAQ and in the manual were fixed.
· The library line.s7i was improved to be usable as a file that flushes every line.
· The bas7.sd7 (basic interpreter) example program was improved.
· The macros HAS_INT64TYPE and INT64TYPE_IS_INT64 were replaced by INT64TYPE in various files.
· The makefiles were improved to create defines for INT64TYPE and UINT64TYPE in version.h.
· A makefile mk_osx.mak was added to support compilation under Mac OS X with Xcode.
December 21st, 2008· The chapter about the Seed7 structured syntax definition in the manual was improved.
· A new library named gethttp.s7i, which contains support to get data with the HTTP protocol, was added.
· A new library named html.s7i, which contains support functions for HTML, was added.
· The bas7.sd7 (basic interpreter) example program was improved.
· The compiler (comp.sd7) was improved to support the addresses of ITF_CPY and ITF_CREATE, so hash tables with interface values are supported.
December 8th, 2008· A new chapter about the Seed7 structured syntax definition was added to the manual.
· The chapter about declarations in the manual was improved.
· The function getValueOfHeaderAttribute was added to the scanstri.s7i library.
· The seed7_05.s7i library was improved to support case statements for the type boolean.
· The wiz.sd7 example program was improved.
November 17th, 2008· The support for compilation with the bcc32 C compiler from BDS was improved such that the chk_all.sd7 check program succeeds.
· The FAQ about the operating systems supported by Seed7, was improved.
· A chapter describing how to replace pointers with interface types was added to the manual.
· The program chk_all.sd7 was improved to also check for the successful compilation of the compiler.
· The compiler (comp.sd7) was improved to generate C programs that are acceptable to the bcc32 C compiler.
· The documentation file src/read_me.txt was improved to explain the #define value CHECK_INT_DIV_BY_ZERO.
November 2nd, 2008· A new gzip.s7i library, which contains a gzip uncompression function, was added.
· The functions getXmlTagHeadOrContent, getSymbolInXmlTag, getHtmlAttributeValue and getNextXmlAttribute were added to the scanfile.s7i library.
· In the library scanstri.s7i the function getXmlTagHeadOrContent was added and the function getSymbolInHtmlTag was renamed to getSymbolInXmlTag.
· The call stack written by the (hi) interpreter, when an uncatched exception occurs, was improved.
· The compiler (comp.sd7) was improved to write a file name and a line when an uncatched exception occurs.
· The handling of sockets in the compiler was improved to support them also for the cl C compiler from msvc.
· The makefiles were improved to define 'make clean' additionally to 'make clear' to remove the object files and libraries which were created during the compilation process.
· The documentation file src/read_me.txt was improved to explain more #define values used in the file version.h.
October 20th, 2008· Support for compilation with the cl C compiler from msvc was improved such that chk_all.sd7 succeeds.
· The programs chkexc.sd7 and chkflt.sd7 were improved to better check for division by zero.
· The files dir_rtl.c and dir_rtl.h were added to support reading directories with char and wide char types.
· An implementation for the functions wopendir(), wreaddir(), and wclosedir(), based on FindFirstFile() and FindNextFile(), was added to dir_win.c.
· The file src/read_me.txt was improved to explain compilation with bcc32.
· The file scr_win.c was improved to support the keypad cursor keys better.
October 6th, 2008· The chapter about primitive actions in the manual was improved.
· The definition of STD_NULL in the seed7_05.s7i library was improved to support read and write operations with STD_NULL.
· The bas7.sd7 (basic interpreter) example program was improved.
· The compiler (comp.sd7) was improved to support local interface declarations and dynamic functions that refer to constant values.
· Several improvements were made to support compilation with the cl compiler from MSVC and the bcc32 compiler.
· The function bigCLit() was improved to avoid C code that the cl C compiler miscompiles to the wrong machine code.
September 22nd, 2008· The chapters about object orientation and primitive actions in the manual were improved.
· The bas7.sd7 (basic interpreter) example program was improved.
· The compiler (comp.sd7) was improved to support several new primitive actions and HASHOBJECT constants.
· A binary gcd function was added to the gcd.sd7 example program.
· The X11 keyboard driver was improved to support the num-lock functionality.
· The functions hash_data_to_list and hash_key_to_list were added to the file listutl.c .
· The functions matchExpr, setVar, hash_data_to_list, and hash_key_to_list were added to the progs.s7i library.
September 3rd, 2008· The FAQ about development speed and type checking was improved. Several chapters in the manual were improved.
· The functions rflTail and rflRange were improved to raise MEMORY_ERROR instead of RANGE_ERROR.
· The 'conv' operator was improved to convert between numeric types.
· The function getSymbolWithHtmlEntities and the 'conj' operator were added.
· Changes were made to support compilation when DO_HEAP_STATISTIC is defined.
· The file src/read_me.txt was improved.
· Various 'reference' functions were improved to raise RANGE_ERROR when a reference is NIL or does not have the required category.