Diff for /rpl/ChangeLog between versions 1.19 and 1.35

version 1.19, 2010/04/20 12:49:17 version 1.35, 2010/07/25 18:15:36
Line 1 Line 1
 * Tue Apr 20 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.14 (RPL/2)  * Tue Jul 13 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.18 (RPL/2)
   - 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  - some little memory leaks are fixed in evaluation(), recherche_type() and
 sequenceur(). They only occured when syntax error were caught;  sequenceur(). They only occured when syntax error were caught;
 - IMPLICIT causes execution error instead system error;  - IMPLICIT causes execution error instead system error;

Removed from v.1.19  
changed lines
  Added in v.1.35


CVSweb interface <joel.bertrand@systella.fr>