Diff for /rpl/ChangeLog between versions 1.91 and 1.215

version 1.91, 2011/11/17 22:47:55 version 1.215, 2015/01/28 21:47:26
Line 1 Line 1
 * Wed Sep 21 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.4 (RPL/2)  * Mon Jan 5 2015 BERTRAND Joël <rpl@systella.fr> rpl-4.1.20 (RPL/2)
   - major regression introduced in 4.1.19 is fixed in parser. << 1 -> << exp >> >>
   returned sytax 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
   -1;
   - major bug is fixed in signal management. With new signal management, thread or
   process were not signalized anymore by POSIX signals. If a thread or a process
   was sleeping, it was not interrupted;
   - minor bug is fixed in OPEN intrinsic. Now, when a socket is open, its default
   adress is set to 0.0.0.0;
   - new rule is added to main makefile (make debian) to build deb package;
   - new benchmark (Xeon W3520 @ 2.67GHz) :
   schroedinger:[~/cvs/bench] > ./bench.rpl 
   +++RPL/2 (R) version 4.1.5 (Friday 12/02/11, 12:18:23 CET)
   +++Copyright (C) 1989 à 2010, 2011 BERTRAND Joël
   Number of scalar operations per second and per core : 3809121.83444626
   schroedinger:[~/cvs/bench] > 
   - recherche_type() did not convert huge integer in real. Now,
   18446744072742037448 is converted into real as value cannot be stored in
   RPL/2 integer type;
   - WFSOCK is modified to handle unconnected sockets;
   - REGEX is added;
   - RESTART is added (execvp() on main RPL/2 process);
   - copie_objet() now returns same MTX (struct_mutex) even if caller wait for
   a real copy. Now, struct_mutex contains locks owner. On Linux or Solaris (for
   example), it is possible to lock mutex from a thread and unlock the same mutex
   from another thread. On NetBSD, system crashes.
   * Mon Nov 21 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.4 (RPL/2)
   - rplcas/@GIAC@/src/config.h is removed to avoid compilation bug. config.h
   written by configure script was overloaded by src/config.h;
   - lot of compilation warnings have been fixed;
   - lapack and blas have been upgraded;
   - ncurses, sqlite and giac have been upgraded;
   - LCASE, UCASE, POS and SUB now handle escape characters;
 - major bug is fixed in INT (numerical integration was unusable as type  - major bug is fixed in INT (numerical integration was unusable as type
 checking condition was always false);  checking condition was always false);
 - SIZE, CHR and NUM can handle strings with escape characters;  - SIZE, CHR and NUM can handle strings with escape characters;
Line 1652  WHILE/REPEAT/END can now be used in an e Line 1881  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.91  
changed lines
  Added in v.1.215


CVSweb interface <joel.bertrand@systella.fr>