--- rpl/ChangeLog 2010/02/08 19:26:31 1.4 +++ rpl/ChangeLog 2010/05/19 09:22:32 1.28 @@ -1,6 +1,118 @@ -* Mon Feb 08 2010 BERTRAND Joël rpl-4.0.10 (RPL/2) +* Mon May 17 2010 BERTRAND Joël 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-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-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-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-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-4.0.10 (RPL/2) +- escape codes are now converted in formateur(), not in recherche_type() to +avoid a minor bug in EDIT and VISIT intrinsics; - 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; - minor bug is fixed in evaluation(). Error returned by RPL/C external functions were able to be avoided by evaluation routine.