Diff for /rpl/ChangeLog between versions 1.58 and 1.153

version 1.58, 2011/01/03 11:20:10 version 1.153, 2013/02/27 14:28:29
Line 1 Line 1
 * Thu Dec 09 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.20 (RPL/2)  * Tue Dec 18 2012 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
   undef constant;
   - infinity constant is added.
   * Sun Jul 24 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.1 (RPL/2)
   - VERSION now returns OS type, architecture and ABI;
   - configure script is updated. New flags :
       --with-32bits-abi
       --with-64bits-abi
       --with-rplcas
   Please not that RPL/CAS is not built by default;
   - Lapack is upgraded to 3.3.1.
   * Mon Jun 27 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0 (RPL/2)
   - New stable release.
   * Fri Jun 22 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0.prerelease.4 (RPL/2)
   - some minor changes have been done in instruction_int() to accept new argument
   types;
   - interface_cas.cpp now catchs exceptions returned by giac.
   * Fri Jun 24 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0.prerelease.3 (RPL/2)
   - INT intrinsic now uses RPLCAS to compute symbolic integration;
   - minor bug is fixed in INTRINSIC function. Now, this function gives same
   result with ou without -p switch.
   * Wed Jun 22 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0.prerelease.2 (RPL/2)
   - memory caching is added to new variable tree.
   * Tue Jun 21 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0.prerelease.1 (RPL/2)
   - SPAWN is now usable with new variable management;
   - MEM is rewritten;
   - PRUSR is rewritten;
   - merge 4_0 branch into HEAD;
   - CLUSR is rewritten;
   - -p flag is now usable;
   - New benchmark:
   cauchy:[~/rpl/bench] > ./bench.rpl 
   +++RPL/2 (R) version 4.1.0.prerelease.1 (lundi 20/06/2011, 23:00:45 CEST)
   +++Copyright (C) 1989 à 2010, 2011 BERTRAND Joël
   Number of scalar operations per second and per core : 2625369.22710792
   * Mon Jun 20 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.1.0.prerelease.0 (RPL/2)
   - New variable management is written. Please note that -p flag does not work
   and all multithread/multitask capabilities have been disabled until this
   new subsystem shall be validated.
   * Thu May 09 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.0.23 (RPL/2)
   - major bug is fixed in STD format (1E7 sq prints 1);
   - major bug is fixed in READ intrinsic (socket). This bug was introduced
   by a new feature in glibc.
   * Thu Apr 14 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.0.22 (RPL/2)
   - by default, RPL/2 uses "NONE" IMPLICIT when it's started in batch mode and
   "ALL" IMPLICIT when it runs in interactive mode;
   - when "NONE" IMPLICIT is set, STO intrinsic raises an error when it is used
   to create or modify a global variable. Now, with "NONE" IMPLICIT, you have
   to use SAVE to manipulate global variables;
   - replace erroneous TAB by TBL in evaluation() and formateur_fichier()
   subroutines;
   - fix major memory access violation in evaluation subroutine. Only occurs
   when 'X(i,j)' is evaluated on a matrix and when (i,j) points out of bounds;
   - fix major bug in evaluation subroutine. 'X(i)' returns execution error
   when X was a vector or a table.
   * Sun Apr 04 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.0.21 (RPL/2)
   - Gnuplot is upgraded;
   - flag 34 is now used to enable or disable control character evaluation;
   - major bug is fixed in P->R intrinsic function when argument type is
   complex and degree mode is set;
   - L->T and T->L are added;
   - OLD filetype is fixed;
   - FLOW socket support is added;
   - FLOW sequential files are added;
   - new escape sequence is added to handle flow files (\x + hexadecimal code).
   Known escape sequences are \", \b, \n, \t, \x?? and \\.
   * Sun Mar 06 2011 BERTRAND Joël <rpl@systella.fr> rpl-4.0.20 (RPL/2)
   - Ncurses is upgraded to 5.8;
   - ALARM is fixed by filling isdst field;
   - catch ECONNRESET in write intrinsic to return an execution error instead of
   system one;
   - fix a typo in HELP intrinsic;
   - Openssl is upgraded to 1.0.0d, sqlite to 3.7.5 and readline to 6.2;
 - Lapack is upgraded to 3.3.0;  - Lapack is upgraded to 3.3.0;
 - libmtmalloc is now default Solaris allocator;  - libmtmalloc is now default Solaris allocator;
 - ncurses is upgraded;  - ncurses is upgraded;
 - regression introduced bt 4.0.19 is fixed in signal management.  - regression introduced by 4.0.19 is fixed in signal management.
 Interruption1() can be called from itself and raises bus error (on sparc) or  Interruption1() could be called from itself and raises bus error (on sparc) or
 segmentation fault;  segmentation fault;
 - sqlite is upgraded to 3.7.4;  - sqlite is upgraded to 3.7.4;
 - OpenSSL is upgraded to 1.0.0c;  - OpenSSL is upgraded to 1.0.0c;

Removed from v.1.58  
changed lines
  Added in v.1.153


CVSweb interface <joel.bertrand@systella.fr>