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:           Wed Dec  9 21:00:47 UTC 2015

Modified Files:
        pkgsrc/lang/ecl: Makefile buildlink3.mk distinfo options.mk
        pkgsrc/lang/ecl/patches: patch-aa
Added Files:
        pkgsrc/lang/ecl/patches: patch-ac

Log Message:
Update to ECL 16.0.0.
Based on changes from Matthew Mondor as forwarded by Kamil Rytarowski.

Changes since 15.3.7:
 API changes
 - There is no UFFI nickname for FFI package - we piggyback on
   cffi-uffi-compat for UFFI dependent systems (our UFFI wasn't version 2.0
   compatible and there were problems with ADSF dependencies on UFFI - it
   wasn't a system)
 - CLOS has the new nickname "MOP"
 - The new ext:run-program :error argument can automatically create a
   separate stream if provided with the :stream keyword.
   The external-process structure also has a new field to hold that stream.
 - ext:run-program accepts new arguments - :if-input-does-not-exist,
   :if-error-exists and :external-format
 - ext:system no longer binds *standard-input* and *standard-output* and
   now ignores input and output (use ext:run-program for more control)
 - methods can be specialized on both single-float and double-float
   (built-in classes were added for them)
 - LET/FLET/LABELS will signal error if parameter of the same name will
   appear multiple times
 - lambda lists with repeated required parameter name are considered invalid
 - deprecated configure options "--with-system-boehm=x" and
   "--enable-slow-config" removed

 Enhancements:
 - Verification if manual is up-to-date, providing corrections for
   outdated parts
 - Documentation is now included in the main repository under the
   toplevel directory `doc'
 - Update libffi to version 3.2.1
 - Update asdf to version 3.1.5.4
 - Update Boehm-Demers-Weiser garbage collector to version 7.4.2
 - Pathname string-parts internal representation is now character,
   not base-char
 - Dead code removal, tabulators were replaced by spaces
 - Better quality of generated code (explicit casting when necessary)

 Issues fixed:
 - Various fixes of bogus declarations
 - Remove deprecated GC calls
 - ROTATEF, SHIFTF, PSETF reworked to conform to the ANSI standard.
   Places were handled improperly in regard of multiple values.
 - Improved unicode support in character handling
 - Format handles floats and exponentials correctly (major format rework)
 - Stack limits refinements and cleanup, inconsistency and bug fixes
 - Duplicate large block deallocation with GMP 6.0.0a fixed
 - ECL builds on OpenBSD with threads enabled
 - Closures put in mapcar work as expected in both compiled and
   interpreted code
 - Improved readtable-case handling (:invert and character literals now
   conform)
 - Library initialization functions have unique names - no risk of
   clashing symbol names in object files
 - Format float bug fixed, when width and fdigits were not set, but k was
 - `logical-pathname-translations' now throws an error if logical
   pathname wasn't defined yet, to conform with ANSI (it used to return NIL)
 - Wildcards in logical pathname translations are replaced correctly
 - Regression testing framework and unit tests cleanup
 - deftype ANSI conformity fix (deftype accepts macro labda-lists)
 - ECL built with MSVC doesn't crash when Control-C is pressed
 - Other minor tweaks

Changes in 15.3.7 since 15.2.21:
 Issues fixed:
 - DEFUN functions not defined as toplevel forms were also directly
   referenced by other code in the same file.
 - STABLE-SORT works as desired (bogus optimization for strings fixed).
 - broken --with-sse=yes configure flag works once again.

 Enhancements:
 - autoconf scripts are rewritten to support version 2.69 stack.
 - stack direction is now correctly determined, fixing gcc 5.x builds.
 - compilation of ECL under MSVC (2008/2010/2012) even with custom
   code pages.
 - In compiled code it is possible to declare variables to have a C
   type such as in (declare (:double a)) and then the variable is
   enforced to be unboxed to such type.
 - New form FFI:C-PROGN used to interleave C statements with lisp
   code, where the lisp code may refer to any number of variables.
   Example:
       (lambda (i)
         (let* ((limit i)
                (iterator 0))
           (declare (:int limit iterator))
           (ffi:c-progn (limit iterator)
                        "for (#1 = 0; #1 < #0; #1++) {"
                        (print iterator)
                        "}")))

Changes in 15.2.21 since 13.5.1:
 - Features coverity scan model, ffi-unload-module implementation,
   probably more.
 - Build system enhancements, parallel builds, fixes, simplifications,
   cleanups, maintenance.  minor cleanup, maintenance.
 - Numerous fixes.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 pkgsrc/lang/ecl/Makefile
cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/ecl/buildlink3.mk \
    pkgsrc/lang/ecl/options.mk
cvs rdiff -u -r1.16 -r1.17 pkgsrc/lang/ecl/distinfo
cvs rdiff -u -r1.4 -r1.5 pkgsrc/lang/ecl/patches/patch-aa
cvs rdiff -u -r0 -r1.1 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