pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang/ecl



Module Name:    pkgsrc
Committed By:   asau
Date:           Fri Mar 11 20:32:31 UTC 2016

Modified Files:
        pkgsrc/lang/ecl: Makefile PLIST distinfo
Removed Files:
        pkgsrc/lang/ecl/patches: patch-aa patch-ab patch-ac

Log Message:
Update to ECL 16.1.2

Changes since 16.0.0

 * API changes

 - si:do-setf accepts optional parameter stores.  New lambda-list:
   (access-fn function &optional (stores `(,(gensym))))
   This change is backward compatible.

 - New MP functions:
   mp:with-rwlock
   mp:try-get-semaphore (non-blocking)
   mp:mailbox-try-read  (non-blocking)
   mp:mailbox-try-send  (non-blocking)

 - Added back removed C interfaces
   ecl_import_current_thread
   ecl_release_current_thread

 - When cl-truename encounters a broken symlink, it returns its path
   instead of signalling a file-error

 - Deprecated variables has been removed
   c::*suppress-compiler-warnings*, c::*suppress-compiler-notes*

 - Random state might be initialized by a random seed (truncated to
   32bit value) or by a precomputed array.

   Latter is designed to allow reading back the printed random state
   (when printed readably), not as an array to initialize the random
   state.

 - C99 supporting compiler is mandatory for C backend.

 - COMPILER::*cc_is_cxx*: New variable to switch the output extension of
   emitted compiler code to ".cxx" when configured with "--with-c++". This
   eliminates compiler warnings that compiling C++ with a ".c" extension is
   deprecated; this is seen mostly with Clang++.

 - Added Clang-specific pragmas to disable return type, unused value and
   excessive parentheses warnings, which are fairly harmless, but annoying
   and clutter user output.

 - GRAY:CLOSE isn't specialized on T to preserve compatibility with some
   libraries.

 * Enhancements:

 - Added code walker (present as *feature* :walker)

 - Testing framework cleanup

 - Format fallbacks to prin1 if infinity or NaN are passed to it

 - Annotations are added at runtime (better integration with SLIME)

 - Mersenne-Twister RNG has new 64 bit implementation for appropriate
   machines

 - Add sockets implementation for android platform

 - Add android build target (official android support)

 * Issues fixed:

 - si:open-unix-socket-stream accepts both string and base-string
   (automatic coercion is performed)

 - Long form of DEFSETF accepts multiple-values as a store forms:

   (defsetf gah (x) (y z) `(list ,x ,y ,z))
   (setf (gah 3) (values 3 4))

 - Building with single-threaded boehm works if ECL threads are disabled

 - Using labels works with sharp-S-reader

   (read-from-string
    "(#1=\"Hello\" #S(sharp-s-reader.1.example-struct :A #1#))")

 - Generated C code works well with IEEE 754 infinities
   (regression tests created)

 - User-defined heap sizes can now exceed the size of a fixnum on 32-bit

 - The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
   but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
   prevented the heap to grow for 64-bit.  This now occurs, and a few
   other less visible bugs were fixed by restoring consistency to
   ECL_FIXNUM_BITS.

 - EXT:EXTERNAL-PROCESS-WAIT potential race condition fix

 - Building with object files not created by ECL works (CFFI wrappers)

 - Regression regarding initialization of build by ECL libraries from
   external code fixed. Static and shared libraries initialization
   funcitons has predetermined name while object files has randomized
   names.

 - Random state initial state generation was buggy and insecure (entropy
   from urandom was rejected)

 - Fix `listen' on streams when FILE_CNT isn't available (use read instad
   of fread)

 - `FIND' compiled with C compiler didn't respect `START' nor `END'
   arguments. Compiler macro is fixed now and should work as expected

 - `compute-applicable-methods-using-classes` bugfix


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 pkgsrc/lang/ecl/Makefile
cvs rdiff -u -r1.11 -r1.12 pkgsrc/lang/ecl/PLIST
cvs rdiff -u -r1.18 -r1.19 pkgsrc/lang/ecl/distinfo
cvs rdiff -u -r1.6 -r0 pkgsrc/lang/ecl/patches/patch-aa
cvs rdiff -u -r1.3 -r0 pkgsrc/lang/ecl/patches/patch-ab
cvs rdiff -u -r1.1 -r0 pkgsrc/lang/ecl/patches/patch-ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index