version 1.7, 2010/02/11 14:18:14
|
version 1.34, 2010/07/13 17:37:07
|
Line 1
|
Line 1
|
* Wed Feb 10 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.11 (RPL/2) |
* Tue Jul 13 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.17 (RPL/2) |
|
- BACKTRACE intrinsic is added; |
|
- major bug is fixed in SELECT/DEFAULT/END conditional structure. Only occurs |
|
when this structure is included in IFERR/THEN/END structure and when an error is |
|
caught; |
|
- major bug is fixed in analyse() subroutine. When evaluation() returned error |
|
in a compiled program, analyse() caught this error twice and randomly aborted |
|
with a segmentation error; |
|
- TRIM and TOKENIZE replace both '\n' and '\t' by regular spaces; |
|
- ATEXIT subroutine begins with an implicit CSTOP to avoid multiple stop |
|
signals; |
|
- memory leak is fixed in ROW+. It only occurs when a row is added to an empty |
|
matrix. |
|
* Thu Jun 24 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.16 (RPL/2) |
|
- minor bug is fixed in evaluation() subroutine. With this patch, same program |
|
returns same result with or without -p flag; |
|
- ncurses 5.7 is upgraded to 20100619; |
|
- openssl is upgraded to 1.0.0a; |
|
- interrupt stacks are now FIFO instead of LIFO; |
|
- debug memory allocation subroutines are improved to run in multithreaded |
|
programs; |
|
- some memory leaks are fixed in process management (SPAWN and DETACH); |
|
- version verification is added to shared objects; |
|
- -D_GNU_SOURCE is added to ptmalloc3 makefile to avoid a major bug on 64 bits |
|
linux (false mremap() prototype); |
|
- major bug is fixed in rpliconv. getc() returns an int, not a unsigned char. |
|
* Sun May 23 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.15 (RPL/2) |
|
- all '-' are replaced by '_' in random generator list; |
|
- minor memory leak is fixed in OPEN intrinsic (socket); |
|
- major bug is fixed in IFERR structure. Only occurs in compiled program; |
|
- major bug is fixed in copie_objet() and liberation(). Only concerns |
|
format in FCH (file descriptor) and SCK (socket descriptor); |
|
- debug routines are improved; |
|
- PROCID is added; |
|
- MEMLOCK and MEMUNLOCK are added. MEMLOCK forces a process to remain in memory |
|
and to not use swap; |
|
- major bug is fixed in sql support. SQL connections were closed in all chield |
|
process; |
|
- standard allocator (malloc()/free()) is replaced by ptmalloc3 due to some bugs |
|
discovered in Solaris thread safe allocators (libmalloc and libumem) that |
|
are first fit class allocators. Solaris libmtmalloc works better and is |
|
a best fit class allocator but its performance is poor than ptmalloc3 |
|
performance; |
|
- major bug is fixed in ROW+ intrinsic (new row was not added where it |
|
should); |
|
- minor bugs are fixed in interruptions.c (semaphores values when error is |
|
caught); |
|
- major bug is fixed in STOP intrinsic. STOP was unable to stop any process |
|
created by SPAWN; |
|
- SIGFABORT is added. When process receives SIGFSTOP, it tries to execute |
|
ATEXIT. If it receives SIGFABORT, it does not; |
|
- ONEXIT is renamed in ATEXIT; |
|
- ONEXIT new intrinsic is added. |
|
* Wed Apr 21 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.14 (RPL/2) |
|
- major bug is fixed in static and shared variables initialization subroutine. |
|
This bug only occurs when RPL/2 tries to create a shared or static variable |
|
from an expression; |
|
- major bug is fixed in copie_etat_processus(). A field that contains |
|
information about shared variable was not copied to new processus structure; |
|
- some little memory leaks are fixed in evaluation(), recherche_type() and |
|
sequenceur(). They only occured when syntax error were caught; |
|
- IMPLICIT causes execution error instead system error; |
|
- Hurd support is improved but currently broken because Hurd does not support |
|
SIG_INFO. Work in progress; |
|
- OpenBSD specific support is removed from sources; |
|
- support for Mac OS X and Windows/Cygwin is added. |
|
* Wed Apr 07 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.13 (RPL/2) |
|
- implicit names can now be disabled by new IMPLICIT intrinsic: |
|
cauchy:[~/cvs/test] > cat implicit.rpl |
|
#!/usr/local/bin/rpl -sp |
|
TEST |
|
<< |
|
"none" implicit |
|
|
|
1 -> Z |
|
<< |
|
Z disp |
|
'Z' disp |
|
>> |
|
|
|
'Z' disp |
|
Z disp // Undefined |
|
>> |
|
|
|
cauchy:[~/cvs/test] > LANG=C ./implicit.rpl |
|
+++RPL/2 (R) version 4.0.13 (Wednesday 04/07/10, 13:57:44 CEST) |
|
+++Copyright (C) 1989 to 2009, 2010 BERTRAND Joel |
|
1 |
|
'Z' |
|
'Z' |
|
+++System : Invalid implicit name [6631] |
|
cauchy:[~/cvs/test] > |
|
|
|
RPL/2 aborts because the last Z is undefined and not protected by ''. |
|
By default, implicit is set to "ALL"; |
|
- sqlite is upgraded to 3.6.23.1; |
|
- openssl is upgraded to 1.0.0; |
|
- major bug is fixed in RETURN intrinsic. It only occurs in evaluation |
|
subroutine; |
|
- table variable can now be sorted by SORT; |
|
- some regressions between libtool 1.x and 2.x are fixed by workarouds in |
|
Makefiles; |
|
- -a command line option analyzes program (structure and syntax) and |
|
sends preprocessor output to standard output. This option is used by |
|
rplc (RPL/2 compiler). |
|
* Tue Mar 09 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.12 (RPL/2) |
|
- in formatted file, string format returned a variable length string even if |
|
format was 'CHARACTER*(n)' (n characters string). Now, 'CHARACTER*(*)' returns |
|
a variable length string and 'CHARACTER*(n)' a fixed length string; |
|
- keyed access files support is added. Currently, only formatted files are |
|
supported; |
|
- direct access files support is added. Currenlty, these files can only be used |
|
in formatted mode; |
|
- virtual variables are now writte in UTF-8 and all special characters |
|
in string are escaped; |
|
- all formatted files are now converted into UTF-8; |
|
- all file and unix socket names created by RPL/2 are now UTF-8 compliant; |
|
- RPL/2 tools (rpliconv, rplfile, rplpp and rplconvert) are now checked before |
|
each execution (md5 and sha1 sums) to enhance security. If one of these tools |
|
have been modified between RPL/2 compilation and current execution, RPL/2 aborts |
|
on a non recoverable system error; |
|
- openssl and sqlite3 libraries are added; |
|
- RPL_HOME env variable is added. When RPL/2 is called from librpl, this |
|
variable indicates RPL/2 root directory. If it is not set, root path |
|
is given by configure script (d_exec_path); |
|
* Thu Mar 03 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.11 (RPL/2) |
|
- configure.in and makefile.am's are modified to add Cygwin support. Interix |
|
support is broken; |
|
- memory leak is fixed in recherche_type(); |
|
- TeX files are now written in UTF-8 even default locale differs; |
|
- minor bug is fixed in ->STR (escaped characters); |
|
- minor bug is fixed in ->Q intrinsic. Resultat is returned as integer |
|
fraction intead real one; |
|
- SIGN now returns (0,0) instead (nan,nan) when complex argument is null; |
|
- Makefile.am are modified to authorize parallel builds; |
- minor bug is fixed in CR intrinsic. CR sends a carriage return to printer |
- minor bug is fixed in CR intrinsic. CR sends a carriage return to printer |
and writes warning to standard output; |
and writes warning to standard output; |
* Wed Feb 10 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.10 (RPL/2) |
* Wed Feb 10 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.10 (RPL/2) |