Diff for /rpl/ChangeLog between versions 1.103 and 1.245

version 1.103, 2012/01/06 16:04:51 version 1.245, 2016/03/01 21:59:43
Line 1 Line 1
 * Mon Nov 21 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.5 (RPL/2)  * Tue Mar 01 2016 BERTRAND Joël <rpl@systella.fr> rpl-4.1.24 (RPL/2)
   - tools are upgraded (xpm, openssl, ncurses, sqlite, file);
   - BSD sockets options are fixed;
   - RPL/2 splash screen is upgraded;
   - gmp is upgraded to 6.1.0;
   - sys_realloc() is added in library to allow reallocation à la C in RPL/C
   programs;
   - reallocate function is added to rplexternals.h;
   - GET, GETI, LIST-> and TABLE-> now evaluate symbolic constants instead of
   return associated fonctions in stack;
   - { e } 1 get now returns e and not E. Same fix with infinity and i symbolic
   constants ;
   - GET is fixed and now evaluates names when names are not protected:
   4 'X' sto { X } 1 get returns 4 and not X. Same fix for tables;
   - --enable-native flag is added to configure script;
   - lapack is upgraded to 3.6.0.
   * Thu Nov 26 2015 BERTRAND Joël <rpl@systella.fr> rpl-4.1.23 (RPL/2)
   - Giac is upgraded to 1.2.2 and mpfi is added;
   - GSL is upgraded to 2.1;
   - major bug is fixed in interruption (mutexes failure);
   - minor bug is fixed in evaluation():
   << 1 'X' sto { X } 'Y' sto 'Y(1)' eval >> returns 1 and
   << 1 'X' sto { 'X' } 'Y' sto 'Y(1)' eval >> only returns 'X'.
   Same bugfix for tables;
   - 4 'X' sto <[ X ]> returns <[ X ]> in both interpreted and compiled mode.
   Before this bugfix, it returned <[ 4 ]> in interpreted mode and <[ X ]>
   in compiled mode.
   * Wed Sep 16 2015 BERTRAND Joël <rpl@systella.fr> rpl-4.1.22 (RPL/2)
   - socket options are now forced on socket created by WFSOCK to fix 'KEEP ALIVE'
   bug;
   - sqlite is upgraded;
   - major regressions are fixed in compiler;
   - gnuplot is upgraded from 5.0.0 to 5.0.1;
   - ncurses is upgraded from 5.9 to 6.0 ;
   - major bug is fixed in rpl_malloc(). rpl_malloc(0) crashed with segfault.
   * Mon Jun 08 2015 BERTRAND Joël <rpl@systella.fr> rpl-4.1.21 (RPL/2)
   - nested function options() is removed from instruction_open() as
   LLVM/CLANG does not support this kind of function;
   - sqlite and ncurses are upgraded;
   - all compilation errors are now printed;
   - escaped characters are allowed in LOGGER intrinsic;
   - 1 -> Y 'Z' now returns undefined implicit name error.
   * Mon Feb 19 2015 BERTRAND Joël <rpl@systella.fr> rpl-4.1.20 (RPL/2)
   - minor bug is fixed in evaluation(). When analyse() is called from
   evaluation(), RPL/2 always evaluates compiled expression;
   - 1 -> X 'X' can be evaluated ('X' is a name and before last patch, only
   algebraic expressions were able to be directly evaluated);
   - major regression introduced in 4.1.19 is fixed in parser.
   << 1 -> X << exp >> >> returned syntax error;
   - compilation() now returns an error if a definition name contains invalid
   characters instead of BUG();
   - zlib is upgraded;
   - sqlite and openssl are upgraded;
   - new buffercached  allocator is added;
   - giac is upgraded to 1.1.4;
   - Gnuplot is upgraded to 5.0.0.
   * Mon Jan 5 2015 BERTRAND Joël <rpl@systella.fr> rpl-4.1.19 (RPL/2)
   - EQV is added in algebraic input and output subroutines;
   - ncurses and sqlite have been upgraded with last patches;
   - openssl is upgraded to 1.0.1j and Gnuplot is upgraded to 4.6.6;
   - expression simplification subsystem is rewritten from scratch. Now, it does
   not do anything. Only fonctions to convert algebraic expression to and from
   q-tree have been written and successfuly tested;
   - EQV intrinsic is added;
   - major bug is fixed in XOR intrinsic (erroneous truth table with integer
   or real arguments);
   - parser is upgraded. Now, it is possible to write <[[[3]]]> or {{5}} (without
   space) and [[ 3 4 ]]4 catches error;
   - major regression is fixed in recherche_type() (complex type);
   - shebang paths are modified to be computed by configure script (NetBSD issue);
   - ncurses is upgraded.
   * Thu Jul 17 2014 BERTRAND Joël <rpl@systella.fr> rpl-4.1.18 (RPL/2)
   - major regression is fixed in SysV semaphore emulation subsystem (segfault);
   - gmp is upgraded;
   - ncurses is upgraded;
   - empilement_pile_last() is modified to delete argument from current stack if
   it cannot save all arguments (to few arguments error _before_ first call
   to depilement() by parent routine).
   * Wed Apr 23 2014 BERTRAND Joël <rpl@systella.fr> rpl-4.1.17 (RPL/2)
   - semaphores have been removed from s_signaux as POSIX doesn't assure that
   semaphores are synchronized between address spaces without msync();
   - sqlite is upgraded;
   - OpenSSL is upgraded;
   - lapack is upgraded to 3.5.0;
   - use of uninitialized variables is avoided in FORALL;
   - giac is upgraded;
   - units is upgraded;
   - OpenSSL, sqlite and gnuplot are upgraded;
   - major bug is fixed in both FOR and FORALL (segmentation fault if both
   instructions are not followed by a name).
   * Fri Nov 28 2013 BERTRAND Joël <rpl@systella.fr> rpl-4.1.16 (RPL/2)
   - OpenMotif is patched to correctly detect fontconfig;
   - sqlite and ncurses are patched;
   - rpl.inc is fixed;
   - rpl() now sends arguments to RPL/2 subroutine;
   - rpl() prototype is fixed (rpl_home is an unsigned char * not an unsigned char
   **);
   - GSL is upgraded;
   - major bug is fixed in READ intrinsic (Unix device).
   * Fri Sep 6 2013 BERTRAND Joël <rpl@systella.fr> rpl-4.1.15 (RPL/2)
   - RGDL and RGDR (ragged left and ragged right) are added;
   - major bug is fixed in initialization (segfault). It only occurs when RPL/2
   is built with a forced localization;
   - EXIT regression is fixed.
   * Fri Jun 21 2013 BERTRAND Joël <rpl@systella.fr> rpl-4.1.14 (RPL/2)
   - number of pipes between process is reduced;
   - gnuplot is upgraded;
   - libiconv is patched to be built with recent glibc (C11);
   - some race conditions have been fixed;
   - sqlite is upgraded;
   - Major regression is fixed in IFERR/END structure;
   - Major regression is fixed in evaluation(). Local variables were exported
   to called definitions.
   * Mon Apr 1 2013 BERTRAND Joël <rpl@systella.fr> rpl-4.1.13 (RPL/2)
   - integer overflows have been fixed (NEG, ABS, minus);
   - global variables can now be recalled from ATEXIT procedure;
   - ATEXIT registered procedure is now executed even if program is stopped by
   SIGINT;
   - minor bug is fixed in TOKENIZE intrinsic instruction. TOKENIZE did not work on
   a copy of input string;
   - major bug (segfault) is fixed in liste_variables(). It only occurs
   when this function is called with shared variables;
   - all internal data are now stored in 64 bits wide integers (even is 32 bits
   ABI is selected);
   - major bug is fixed in recherche_instruction_suivante(). In some
   circumstances, this function can return a spurious error;
   - new NATIVE*(*) data format is added. By default, native*(*) is used
   to write data without precision loss. It can also be used to write
   complex objects like expressions, lists or tables;
   - major bug is fixed in formateur(). When INT64_MIN was pushed into stack,
   internal value was good but RPL/2 was not able to correctly display
   this value. This bug comes from ABS as ABS(INT64_MIN) cannot be represented
   in integer. All abs(), fabs() and labs() present in source code have been
   checked to avoid this kind of bug;
   - unformatted sockets are now usable as unformatted files;
   - BACKSPACE now runs on unformatted file;
   - major bug is fixed in BACKSPACE that didn't check if '"' characters were
   escaped;
   - CHARACTER*(n) format now counts escaped characters;
   - transliteration is avoid in rpl-core file generation to authorize core
   creation even if a transliteration error is caught;
   - major bug is fixed in evaluation(). System stack was not correctly
   destacked when execution error occurs;
   - major bug is fixed in READ (socket interface);
   - minor bug is fixed in analyse_flux().
   * Wed Feb 27 2013 BERTRAND Joël <rpl@systella.fr> rpl-4.1.12 (RPL/2)
   - bug is fixed in recherche_type(). { "\"" } was not evaluated as expected
   as inner quote was not escaped;
   - CIPHER new intrinsic is added to perform key generation, decryption and
   encryption;
   - CBC-CMAC digest is added;
   - HMAC digest is added;
   - DIGEST intrinsic is added;
   - signal management is fixed to be usable on NetBSD;
   - RPL/CAS autoconfiguration is upgraded;
   - sqlite, openssl, giac, gmp ave been upgraded;
   - SQLITE support is added in SQLQUERY, SQLCONNECT and SQLDISCONNECT.
   * Tue Dec 18 2012 BERTRAND Joël <rpl@systella.fr> rpl-4.1.11 (RPL/2)
   - shared variables are now stored in a tree;
   - lapack is upgraded to 3.4.2;
   - only giac/src is built in rplcas (giac/Makefile.am is modified);
   - gnuplot is upgraded to 4.6.1;
   - giac, units and ncurses are upgraded;
   - interprocess capabilities are removed when RPL/2 cannot run its initialization
   routine to keep operating system as clean as possible;
   - sem_wait() has to catch EINTR in thread_surveillance_signaux();
   - signal management is rewritten to avoid a strange bug on NetBSD. On NetBSD,
   a signal handler can be called within a special thread and not in the
   calling thread;
   - static variables are now written in a variables tree;
   - major bug is fixed in STO intrinsic. STO returns an error when it has
   to create a global variable if intrinsic none (default) is set.
   * Mon Oct 1 2012 BERTRAND Joël <rpl@systella.fr> rpl-4.1.10 (RPL/2)
   - FORALL intrinsic is added;
   - major bug (deadlock) is fixed in CYCLE. Only occurs when CYCLE is called to
   interrupt a loop from a subroutine within a compiled programm;
   - workaround to avoid strange bug on slow network is written in READ
   intrinsic;
   - CRITICAL/END structure is added. When program enters in a critical
   section, all other threads of the same process sleep until program leaves
   critical section.
   * Wed Aug 22 2012 BERTRAND Joël <rpl@systella.fr> rpl-4.1.9 (RPL/2)
   - giac is upgraded to 0.9.8;
   - ncurses is patched with last patches;
   - Sqlite is upgraded to 3.7.13;
   - Units is upgraded to 1.89e;
   - Lapack is upgraded to 3.4.1;
   - LENGTH*(...) format is fixed;
   - some patches have been added to build RPL/2 on NetBSD;
   - escaped characters are fixed in READ and WRITE operations;
   - major bug is fixed in READ intrinsic (on socket). End of file condition
   was randomly caught on slow network;
   - stdin can now handle espaced characters strings in SYSEVAL;
   - --with-gcc-version is added to configure script to force gcc version as
   gfortran 4.7 is broken and crashes with segmentation fault.
   * Mon May 21 2012 BERTRAND Joël <rpl@systella.fr> rpl-4.1.8 (RPL/2)
   - POLL now accepts more than one descriptor and returns informations
   about pollable descriptors;
   - SMPHRTRYDECR now takes timeout value instead of returning when semaphore
   cannot by decremented;
   - signal handlers are fixed to avoid spurious and very rare deadlocks;
   - pari is upgraded;
   - force CFLAGS for tools/file (-O2 -g) to avoid mmap() error;
   - giac, gmp and mpfr have been upgraded.
   * Fri Apr 13 2012 BERTRAND Joël <rpl@systella.fr> rpl-4.1.7 (RPL/2)
   - double quote is escaped in INPUT and PROMPT intrinsic functions;
   - error is returned (instead of warning) when unavailable intrinsic function
   is called;
   - lot of minor bugs have been fixed;
   - ncurses and file are patched;
   - RPL/2 can now be cross compiled (until .deb archive generation);
   - all table, vector and matrix dimensions are now treated as unsigned long;
   - recherche_type() function is modified to use cached memory;
   - gnuplot is upgraded to 4.6.0.
   * Wed Feb 29 2012 BERTRAND Joël <rpl@systella.fr> rpl-4.1.6 (RPL/2)
   - serial line support is added to OPEN (STTY options);
   - multiline inputs are allowed:
   schroedinger:[~/cvs/build/src] > rpl -is
   +++RPL/2 (R) version 4.1.6 (Monday 01/30/12, 10:20:38 CET)
   +++Copyright (C) 1989 à 2011, 2012 BERTRAND Joël
   
   +++Ce logiciel est un logiciel libre sans aucune garantie de fonctionnement.
   +++Pour plus de détails, utilisez la commande 'warranty'.
   
   RPL/2> [[ 1 2 3 ]
   + 001> [ 4 5 6 ]
   + 002> [ 7 8 9 ]]
   
   1: [[ 1 2 3 ]
       [ 4 5 6 ]
       [ 7 8 9 ]]
   RPL/2> [[ 1 23 ]
   + 001> [ 4 5 6 ]]
   +++Erreur : Erreur de syntaxe [19267]
   
   1: [[ 1 2 3 ]
       [ 4 5 6 ]
       [ 7 8 9 ]]
   RPL/2> [ 1 2 3
   + 001> annulation
   RPL/2> abort
   
   'annulation' is done by pressing CTRL+g, and abort by CTRL+d on empty line.
   * Tue Jan 17 2012 BERTRAND Joël <rpl@systella.fr> rpl-4.1.5 (RPL/2)
   - ncurses, sqlite and openssl have been upgraded;
 - major bug is fixed in ** (integer integer **) when first argument is equal to  - major bug is fixed in ** (integer integer **) when first argument is equal to
 -1;  -1;
 - major bug is fixed in signal management. With new signal management, thread or  - major bug is fixed in signal management. With new signal management, thread or
Line 6  process were not signalized anymore by P Line 250  process were not signalized anymore by P
 was sleeping, it was not interrupted;  was sleeping, it was not interrupted;
 - minor bug is fixed in OPEN intrinsic. Now, when a socket is open, its default  - minor bug is fixed in OPEN intrinsic. Now, when a socket is open, its default
 adress is set to 0.0.0.0;  adress is set to 0.0.0.0;
 - new rule is added to main makfile (make debian) to build deb package;  - new rule is added to main makefile (make debian) to build deb package;
 - new benchmark (Xeon W3520 @ 2.67GHz) :  - new benchmark (Xeon W3520 @ 2.67GHz) :
 schroedinger:[~/cvs/bench] > ./bench.rpl   schroedinger:[~/cvs/bench] > ./bench.rpl 
 +++RPL/2 (R) version 4.1.5 (Friday 12/02/11, 12:18:23 CET)  +++RPL/2 (R) version 4.1.5 (Friday 12/02/11, 12:18:23 CET)
Line 1683  WHILE/REPEAT/END can now be used in an e Line 1927  WHILE/REPEAT/END can now be used in an e
 * Mon Sep  3 2001 BERTRAND Joël <rpl2@systella.fr> rpl-4.00pre1 (RPL/2)  * Mon Sep  3 2001 BERTRAND Joël <rpl2@systella.fr> rpl-4.00pre1 (RPL/2)
 - initial public release (GPL).  - initial public release (GPL).
 * Thu Apr  2 1998 BERTRAND Joël <rpl2@systella.fr> rpl-4.00pre0 (RPL/2)  * Thu Apr  2 1998 BERTRAND Joël <rpl2@systella.fr> rpl-4.00pre0 (RPL/2)
 - RPL is rewritten from scratch and named RPL/2.  - RPL is rewritten from scratch and renamed RPL/2.
 #* 1992 BERTRAND Joël rpl-3.02 (RPL-387)  #* 1992 BERTRAND Joël rpl-3.02 (RPL-387)
 #- minor bugfixes.  #- minor bugfixes.
 #* 1991 BERTRAND Joël rpl-3.01 (RPL-387)  #* 1991 BERTRAND Joël rpl-3.01 (RPL-387)

Removed from v.1.103  
changed lines
  Added in v.1.245


CVSweb interface <joel.bertrand@systella.fr>