Changes:
- The library vecfont10.s7i, which defines the standard vector font
with capital height 10, was added. Now mahjong.sd7 and shisen.sd7
use vecfont10.s7i.
- The programs mahjong.sd7, pairs.sd7, shisen.sd7 and sokoban.sd7
were improved to fit into a screen with a resolution of 1024 x 768.
- The library make.s7i was improved: The parsing of command
parameters (used by the Unix version of the echo command), was
improved. The processing of pattern rules was improved (The rule
with the shortest stem value is used, when several rules match).
- Functions to read a makefile were moved from make.s7i to the new
library makedata.s7i.
- The reading of makefiles was improved: The processing of the gmake
directives 'ifeq' and 'ifneq' was improved to allow else clauses.
The processing of the nmake directive 'if' was added. Merging of
dependencies for rules with the same target was improved.
- The parse function for time values (library time.s7i) was improved
to allow fractions of a second.
- The functions getSubNodes and getContent and a for-loop for xmlNode
values were defined in the library xmldom.s7i.
- The compiler was improved to initialize bstring literals correctly,
when pointers are 64-bit and integers are 32-bit.
- The font libraries cronos16.s7i, cronos27.s7i, modern27.s7i and
vecfont18.s7i were improved to include vectorfont.s7i.
- The font libraries stdfont10.s7i, stdfont12.s7i, stdfont14.s7i,
stdfont16.s7i, stdfont18.s7i, stdfont20.s7i and stdfont24.s7i were
improved to include bitmapfont.s7i.
- The program dnafight.sd7 was improved to limit the speed of the
animation.
- The program make7.sd7 was improved to recognize the options
correctly. Additionally make7 inherits also all improvements of
makedata.s7i and make.s7i.
- The program ftp7.sd7 was improved to accept the option -?.
- The graphic libraries drw_x11.c and drw_win.c were improved to draw
the background of maximized windows with the color of the last
clear command.
Feature safe: yes
Changes:
20121007:
- An error message, that could occur when the Seed7 interpreter is
compiled, is explained in the FAQ and to 'src/read_me.txt'.
- A description of the for-step-statement was added to the manual.
- The library make.s7i was improved. Now makefile dependencies can
contain colons (:) and equal signs (=). The parameters of the echo
command are parsed better now. Calls of the function callOwnProgram
are also avoided now. This way the library works correctly, when it
is used by programs other than make7.sd7.
- The library tar.s7i was improved to set the file mode, when an
archive is extracted.
- Testcases for a variant of the @:= operator, which copies a string
to another, were added to the program chkstr.sd7.
- Interpreter and compiler were improved to support the situation,
when source and destination of the @:= operator (action STR_POSCPY)
are identical.
- The compiler was improved to support the action ITF_DESTR.
- The compiler was improved, to call C compiler and linker with
specific options, such that unneeded functions are ommited (when
the linker and executable file format support this feature).
- The compiler was improved to remove debug symbols, unless called
with -g (some makefiles now define LINKER_OPT_NO_DEBUG_INFO).
- The function name(PROGRAM) was improved, to return the program name
without following symbolic links.
- The function path(PROGRAM) was improved, to follow symbolic links
(see function followLink in cmd_rtl.c). Consequently dir(PROGRAM)
also follows symbolic links.
- The function CommandLineToArgvW in cmd_win.c was improved.
- The files itf_rtl.c and itf_rtl.h, which contain interface
functions, were added.
- The makefile mk_mingc.mak was added to support compilation of the
self extracting version of Seed7.
20120923:
- Experimental support for automatic memory management with reference
counting was added to the interpreter.
- The libraries external_file.s7i, field.s7i, stritext.s7i, gzip.s7i,
listener.s7i, pixmap_file.s7i, shell.s7i, socket.s7i, strifile.s7i,
dir.s7i, utf16.s7i, utf8.s7i and xmldom.s7i were improved to use
the function toInterface.
- The function name(PROGRAM) was improved, to return the name of the
program without extension and without path.
- The interpreter was improved to support the action ITF_DESTR.
Feature safe: yes
Changes:
20120909:
- The chapters about predefined statements and the foreign function
interface in the manual, were improved.
- An explanation, why the div operator is used for integer divisions,
was added to the FAQ.
- The FAQ about garbage collection was improved.
- Links to EBNF syntax descriptions and exceptions were added to the
HTML version of the manual.
- EBNF syntax descriptions in the manual were improved.
- Interpreter and compiler were improved to support the actions
CMD_ENVIRONMENT and CMD_GET_SEARCH_PATH.
- The library shell.s7i was improved to define the functions
getSearchPath and environment.
- The function path(PROGRAM) was improved to return the accurate
value under all circumstances.
- Several preprocessor defines were moved from "common.h to the new
include file "config.h".
- In cmdlib.c the function toArraytype() was introduced and used in
cmd_environment() and cmd_getSearchPath().
- In cmd_rtl.c the functions add_stri_to_array() and
complete_stri_array() were introduced and used in read_dir(),
getSearchPath() and cmdEnvironment().
- Parameter names in drw_win.c, drw_x11.c and drw_dos.c were changed
to fit to the names used in graph.s7i.
- Parameter names in clib_file.s7i, keybd.s7i, sockbase.s7i,
socket.s7i, utf8.s7i, fil_rtl.c, gkb_rtl.c, kbd_rtl.c, soc_dos.c,
soc_rtl.c and ut8_rtl.c were changed to fit to each other.
- The function conv_from_os_stri() was added to striutl.c .
- The function concat_path in str_rtl.c was improved to work
correctly, when the relative path contains "..".
- In several makefiles defines for SEARCH_PATH_DELIMITER and
os_environ were added and defines for
MAP_ABSOLUTE_PATH_TO_DRIVE_LETTERS were replaced with
defines for OS_PATH_HAS_DRIVE_LETTERS.
- A description of several C preprocessor macros used in "version.h"
and "config.h" was added to the file "src/read_me.txt".
- Parameter names were added to function definitions in various
libraries.
- Documentation comments were added or improved in the files
"clib_file.s7i", "external_file.s7i", "socket.s7i", "fil_rtl.c" and
"striutl.c".
- The function determineEnvironDefines was added to "chkccomp.c".
20120826:
- A chapter, which explains the foreign function interface, was added
to the manual.
- Syntax descriptions, code examples and tables in the HTML version
of the manual were improved.
- Documentation comments were added to the file "striutl.c".
- A description of several C preprocessor macros used in "version.h"
was added to the file "src/read_me.txt".
Changes:
* The new library image.s7i was added. The contents of this library
was extracted from the program "carddemo.sd7".
* The new library make.s7i was added. The contents of this library
was extracted from the program "make7.sd7".
* The function 'str' and the 'parse' operator were added to the
library bstring.s7i.
* The function readDir was added to the library tar.s7i.
* A documentation comment was improved in the library bigint.s7i.
* The generation of bstring constants in the compiler (comp.sd7) was
improved.
* The function intStrHex was renamed to intStrPow2Base in the files
"int_rtl.c", "int_rtl.h" and in the compiler. The new function is
used to convert an integer to a string, when the number base is a
power of two.
* The function stri_export was renamed to stri_export_utf8 in the C
source files.
* The function cp_to_cstri was renamed to cp_to_cstri8 in the C
source files.
* Documentation comments were added and improved in the file
"striutl.c".
* The makefile mk_msvc.mak was changed to write a definition of
LIMITED_CSTRI_LITERAL_LEN to "version.h".
* Documentation comments were improved in the libraries idxarray.s7i,
array.s7i, dir.s7i, external_file.s7i, osfiles.s7i, duration.s7i
and time.s7i.
* Parameter names were added to function definitions in the
libraries array.s7i, bigfile.s7i, hash.s7i and idxarray.s7i.
* The compiler was improved to generate better inline code for set
membership (operator: in).
* The functions 'cmdFileType' and 'cmdFileTypeSL' in "cmd_rtl.c" were
improved to return FILE_ABSENT, when the file name is too long
(stat() respectively lstat() return an error and errno has the
value ENAMETOOLONG) or when the file name is an empty string.
* The new libraries subrange.s7i, ref_list.s7i and reference.s7i were
added. The contents of this libraries were extracted from the
seed7_05.s7i library.
Changes:
* The "ftpserv.sd7" example program was improved to support the
commands RNFR and RNTO and to work correctly, when the listener
cannot open a passive data port.
* The font support was improved, such that caching of character
pixmaps works.
* Some characters in the standard bitmap fonts were added or
improved.
* The functions 'socSend' and 'socSendto' in "soc_rtl.c" were
improved to work correctly under 64-bit systems.
* The function 'fltSci' in "flt_rtl.c", was improved to avoid
a C compiler warning about the change of a constant value.
* The function 'redraw' in "drw_x11.c" was changed, such that it
does not use a parameter of type 'XExposeEvent'.
* The functions 'drwHeight', 'drwWidth', 'drwXPos' and 'drwYPos'
in "drw_x11.c" were improved to raise RANGE_ERROR when the
window does not exist.
* The function 'handleExpose' was introduced in "gkb_x11.c", to
handle the job of calling 'redraw'.
* The type 'unsigned int' was replaced by 'sysizetype' in
'findid.c', 'findid.h', 'identutl.c', 'identutl.h', 'literal.c',
'numlit.c', 'scanner.c' and 'symbol.h'.
* Some improvements were done in 'prg_comp.c', 'reflib.c',
'analyze.c', 'exec.c', 'infile.c', 'info.c' and 'typlib.c' to
reduce the number of warnings.
* Support for the unused action "ENU_SIZE" was removed.
- Add LICENSE
Changes:
- The chapter explaining exception handling in the manual was improved.
- The support for bitmap fonts was improved to use fontProperties as base type.
- The '-' function, which computes the differance of two 'time' values (with a
'duration' result) in "time.s7i", was improved.
- The function cmdConfigValue in "cmd_rtl.c" was improved to support the config
values C_COMPILER_VERSION and GET_CC_VERSION_INFO.
- In the file "fil_rtl.c" the functions myLseek, myFseek and myFtell were
renamed to os_lseek, os_fseek and os_ftell respectively.
- The makefiles were changed to define os_fseek, os_ftell, C_COMPILER_VERSION
and GET_CC_VERSION_INFO.
- Documentation comments were added to the function alternate_utime in the file
"tim_win.c".
Changes:
- 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 initialisation 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".
Changes:
- 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 parameter names of the functions arc, chord and pieslice in the
"draw.s7i" library were changed to startAngle and sweepAngle.
- The compiler was improved such that compiled programs which 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.
Changes:
- 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).