Diff for /rpl/ChangeLog between versions 1.2 and 1.36

version 1.2, 2010/01/29 16:51:46 version 1.36, 2010/07/31 10:34:15
Line 1 Line 1
 * Tue Jan 26 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.10 (RPL/2)  * Sat Jul 31 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.18 (RPL/2)
   - TOKENIZE is now able to convert escape sequences;
   - ATPOKE and CLRATPOKE new intrinsics are added;
   - --enable-full-static configure flag is added. With this flag, mysql and
   postgresql libraries are statically linked in rpl executable;
   - units Makefile is modified to avoid readline and ncurses usages;
   - sqlite is upgraded to 3.7.0;
   - units is upgraded to 1.88;
   - another major bug is fixed in the same variable creation subroutine.
   Level 0 and 1 variables adresses were swapped when a global variable masked
   a name of RPL/2 routine;
   - major bug is fixed in global variable creation subroutine. When a global
   variable was created and when a local variable existed with the same name,
   computed address of global variable was wrong;
   - src/Makefile.am is modified to avoid a bug on several systems. libptmalloc3
   is forced in front of all libraries.
   * 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
   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
   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 systems that require memory
   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.
 * Tue Jan 26 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.9 (RPL/2)  * Tue Jan 26 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.9 (RPL/2)

Removed from v.1.2  
changed lines
  Added in v.1.36


CVSweb interface <joel.bertrand@systella.fr>