Diff for /rpl/ChangeLog between versions 1.76 and 1.179

version 1.76, 2011/08/01 10:01:37 version 1.179, 2013/06/21 12:36:50
Line 1 Line 1
 * Sun Jul 24 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.2 (RPL/2)  * Fri Jun 21 2013 BERTRAND Joël <rpl@systella.fr> rpl-4.1.13 (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
   checking condition was always false);
   - SIZE, CHR and NUM can handle strings with escape characters;
   - lot of patches for Android and OS/2;
   - configure.ac is improved to remove operating systems special cases.
   - major bug is fixed in DRWS (SDAT was not used...);
   - lists, and integer, real and complex numbers can now be written in
   unformatted files;
   - rplawk makefile is fixed to avoid build process bug. Warning, with these
   modifications, sources tree has to be writable.
   * Wed Sep 21 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.3 (RPL/2)
   - Linux port, MacOS X port and xBSD ports are tested and fully fonctionnal;
   - libsigsegv is added;
   - OpenMotif is added;
   - all internal signal handlers are rewritten to avoid POSIX signal usage
   and to be async signal safe;
   - SIGSEGV signal handler is rewritten;
   - SREV intrinsic is added.
   * Tue Aug 9 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.2 (RPL/2)
   - I have fixed a lot of bugs in gpp preprocessor (and sent gpp 3.0 to official
   gpp developer). Now, macros like
   
       #define foo foo bar
   
   is evaluated without recursion. gpp 2.24 crashed on stack overflow.
   - LIMIT is added;
 - Now, undefined values like 'infinity/infinity' are computed. Result is  - Now, undefined values like 'infinity/infinity' are computed. Result is
 undef constant;  undef constant;
 - infinity constant is added.  - infinity constant is added.
Line 6  undef constant; Line 203  undef constant;
 - VERSION now returns OS type, architecture and ABI;  - VERSION now returns OS type, architecture and ABI;
 - configure script is updated. New flags :  - configure script is updated. New flags :
     --with-32bits-abi      --with-32bits-abi
     --with-64bits-abi      --with-64bits-abi
     --with-rplcas      --with-rplcas
 Please not that RPL/CAS is not built by default;  Please not that RPL/CAS is not built by default;
 - Lapack is upgraded to 3.3.1.  - Lapack is upgraded to 3.3.1.
 * Mon Jun 27 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0 (RPL/2)  * Mon Jun 27 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0 (RPL/2)

Removed from v.1.76  
changed lines
  Added in v.1.179


CVSweb interface <joel.bertrand@systella.fr>