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) |