version 1.5, 2010/02/10 08:09:29
|
version 1.28, 2010/05/19 09:22:32
|
Line 1
|
Line 1
|
* Mon Feb 08 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.10 (RPL/2) |
* Mon May 17 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.15 (RPL/2) |
|
- 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 |
|
and writes warning to standard output; |
|
* Wed Feb 10 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.10 (RPL/2) |
- escape codes are now converted in formateur(), not in recherche_type() to |
- escape codes are now converted in formateur(), not in recherche_type() to |
avoid a minor bug in EDIT and VISIT intrinsics; |
avoid a minor bug in EDIT and VISIT intrinsics; |
- minor bug is fixed in formateur_reel(); |
- minor bug is fixed in formateur_reel(); |
- file-5.03 is patched to avoid bus error on system that require memory |
- file-5.03 is patched to avoid bus error on systems that require memory |
alignment; |
alignment; |
- minor bug is fixed in evaluation(). Error returned by RPL/C external functions |
- minor bug is fixed in evaluation(). Error returned by RPL/C external functions |
were able to be avoided by evaluation routine. |
were able to be avoided by evaluation routine. |