pkgsrc changes: desupport build options that are turned into module packages.
2.49 (2010-07-07)
=================
User visible changes
--------------------
* New command line option -disable-readline lets working around bugs and
incompatibilities between readline CLISP was built against and the
library actually installed.
See <http://clisp.cons.org/impnotes/clisp.html#opt-norl> for details.
* FFI:OPEN-FOREIGN-LIBRARY now accepts the :REQUIRE argument.
See <http://clisp.cons.org/impnotes/dffi.html#dffi-open-lib> for details.
* New user variable CUSTOM:*USER-LIB-DIRECTORY* is respected by REQUIRE
and used by "clisp-link install".
Dynamic modules are now the default build option.
See <http://clisp.cons.org/impnotes/require.html> and
<http://clisp.cons.org/impnotes/clisp-link.html> for details.
* Function RENAME-FILE now accepts :IF-EXISTS argument which determines
the action when the destination exists, unless, of course, *ANSI* is T.
See <http://clisp.cons.org/impnotes/file-func.html#rename-file> for details.
* The replacement value entered by the user in STORE-VALUE and USE-VALUE
restarts is now EVALuated.
* The old user variable CUSTOM:*PRINT-CLOSURE* now controls interpreted
closure output too (RFE#3001956). This is a tricky feature, read up!
See <http://clisp.cons.org/impnotes/multi-rep.html#pr-closure>.
* Module readline now supports readline 6.1.
(Older versions are, of course, still supported).
See <http://clisp.cons.org/impnotes/readline-mod.html> for details.
* Module pcre now supports pcre 8.01.
(Older versions are, of course, still supported).
See <http://clisp.cons.org/impnotes/pcre.html> for details.
* Module libsvm does not come with the upstream sources anymore, install
locally and pass --with-libsvm-prefix to the top-level configure instead.
All upstream versions up to 2.91 are supported.
See <http://clisp.cons.org/impnotes/libsvm.html> for details.
* Module berkeley-db now supports Berkeley-DB 4.8.
(Older versions are, of course, still supported).
See <http://clisp.cons.org/impnotes/berkeley-db.html> for details.
* Module postgresql now supports PostgreSQL 8.4.
(Older versions are, of course, still supported).
See <http://clisp.cons.org/impnotes/postgresql.html> for details.
* Module pari has been updated to support both 64 & 32 bit platforms
with and without GMP.
See <http://clisp.cons.org/impnotes/pari.html> for details.
* New functions OS:VERSION-COMPARE et al call strverscmp.
See <http://clisp.cons.org/impnotes/syscalls.html#strverscmp> for details.
* Bug fixes:
+ Do not eliminate function calls which are advertised to have
exceptional situation in unsafe code (bug#2868166).
+ Fix an internal error in DECLAIM on bad OPTIMIZE quality (bug#2868147).
+ CLEAR-INPUT now clears the EOF condition on file streams (bug#2902716).
+ When quitting on a signal, never enter the debugger (bug#2795278).
+ Respect :FULL T in DIRECTORY :WILD-INFERIORS (bug#3009966).
+ Handle TWO-WAY-STREAM and ECHO-STREAM correctly by
(SETF STREAM-EXTERNAL-FORMAT) (bug#3020933).
+ Fix unbuffered output pipe stream initialization (bug#3024887).
* ANSI compliance:
+ Implement the ANSI issue COMPILER-DIAGNOSTICS:USE-HANDLER: use the
CL Condition System for compiler diagnostics.
+ STREAM-ELEMENT-TYPE on empty CONCATENATED-STREAMs now returns NIL
because nothing can be read from such streams (bug#3014921).
Important notes
---------------
* Multiple threads of execution are now experimentally supported
(not ready for prime time yet).
Thanks to Vladimir Tzankov <vtzankov@gm...>.
See <http://clisp.cons.org/impnotes/mt.html> for details.
* Module libsvm has been upgraded to the upstream version 2.89.
See <http://clisp.cons.org/impnotes/libsvm.html> for details.
* Module Berkeley-DB now supports Berkeley DB 4.7.
(older versions 4.* are, of course, still supported).
See <http://clisp.cons.org/impnotes/berkeley-db.html> for details.
* Module readline now supports readline 6.0.
(older versions 5.* are, of course, still supported).
See <http://clisp.cons.org/impnotes/readline-mod.html> for details.
* Passing :EXECUTABLE 0 to EXT:SAVEINITMEM results in an executable
image which delegates processing of all the usual CLISP command line
options to the :INIT-FUNCTION.
See <http://clisp.cons.org/impnotes/image.html> for details.
* Driver clisp accepts "-b" to print the installation directory.
See <http://clisp.cons.org/impnotes/clisp.html#opt-printlibdir> for details.
* Add file clisp.m4 so that the packages which use CLISP can check
whether it is properly installed and has the required version.
* POSIX:COPY-FILE now accepts :METHOD :HARDLINK-OR-COPY.
See <http://clisp.cons.org/impnotes/syscalls.html#copy-file> for details.
* New function POSIX:WAIT calls waitpid or wait4.
See <http://clisp.cons.org/impnotes/syscalls.html#wait> for details.
* New function EXT:TRIM-IF removes leading and trailing matches.
See <http://clisp.cons.org/impnotes/seq-func-ext.html#trim-if> for
details.
* New user command "LocalSymbols" (abbreviated ":ls").
See <http://clisp.cons.org/impnotes/repl.html#debugger-main-deb-step>
for details.
* Commands "add" and "create" replace "add-module-set", "add-module-sets" and
"create-module-set" in clisp-link.
See <http://clisp.cons.org/impnotes/modules.html#clisp-link> for details.
* Bug fixes:
+ Better support of :START and :END arguments in NEW-CLX. [ 2159172 ]
+ Fix LOAD-LOGICAL-PATHNAME-TRANSLATIONS when *LOAD-PATHS* contains
wild pathnames (introduced in 2.47). [ 2198109 ]
+ Module NEW-CLX now has the XLIB:QUEUE-EVENT function,
implemented by Philippe Brochard <hocwp@fr...>.
+ Extend the domain of LOG to larger BIGNUMs and RATIOs. [ 1007358 ]
+ Avoid a segfault on (EXPT <HUGE> <HUGE>). [ 2807311 ]
+ Fix interaction of finalizers and weak objects. [ 1472478 ]
* ANSI compliance:
+ Implement the ANSI (IGNORE #'FUNCTION) declaration.
* New module DBUS interfaces to the D-Bus message bus system.
See <http://clisp.cons.org/impnotes/dbus.html> for details.
* New function EXT:PROBE-PATHNAME can figure out whether the existing
pathname refers to a file or a directory.
See <http://clisp.cons.org/impnotes/files.html#probe-path> for details.
* New function EXT:CANONICALIZE lets you easily canonicalize a value
before processing it.
See <http://clisp.cons.org/impnotes/macros3.html#canonicalize> for details.
* New user variable CUSTOM:*REOPEN-OPEN-FILE* controls CLISP behavior
when opening an already open file.
See <http://clisp.cons.org/impnotes/open.html#reopen> for details.
* New SETFable function OS:FILE-SIZE extends FILE-LENGTH to pathname
designators and lets you change file size.
See <http://clisp.cons.org/impnotes/syscalls.html#file-size> for details.
New function OS:USER-SHELLS returns the list of legal user shells.
See <http://clisp.cons.org/impnotes/syscalls.html#user-shells> for details.
New SETFable functions OS:HOSTID and OS:DOMAINNAME.
See <http://clisp.cons.org/impnotes/syscalls.html#hostid> for details.
* Module readline has been upgraded to readline 5.2
(older versions 5.0 and 5.1 are, of course, still supported).
See <http://clisp.cons.org/impnotes/readline-mod.html> for details.
* LOAD now uses DIRECTORY only for wild *LOAD-PATHS* components, thus
speeding up the most common cases and preventing the denial-of-service
attack whereas CLISP would not start if a file with a name
incompatible with *PATHNAME-ENCODING* is present in USER-HOMEDIR-PATHNAME.
* ROOM now prints some GC statistics and returns the same values as GC.
See <http://clisp.cons.org/impnotes/environment-enq.html#room> for details.
* New user variable CUSTOM:*HTTP-LOG-STREAM* controls EXT:OPEN-HTTP logging.
See <http://clisp.cons.org/impnotes/macros3.html#http-log-stream> for details.
* Bug fixes:
+ Comparison of floats and rationals never underflows. [ 2014262 ]
+ When failing to convert a huge LONG-FLOAT to a RATIONAL, signal an
ARITHMETIC-ERROR instead of blowing the stack. [ 2015118 ]
+ Restored TYPECODES g++ compilation [ 2015118 ], which allowed fixing
a few GC-safety bugs.
+ Fixed a segfault when signaling some UNBOUND-VARIABLE errors in some
interpreted code on MacOS X (introduced in 2.46). [ 2020784 ]
Thanks to Vladimir Tzankov <vtzankov@gmail.com>.
+ Fixed input after switching a :DOS stream to binary. [ 2022362 ]
+ Support circular objects in EQUAL and EQUALP hash-tables. [ 2029069 ]
+ Avoid C namespace pollution. [ 2146126 ]
+ Fix timeout precision in NEW-CLX. [ 2188102 ]
* ANSI compliance:
+ The sets of declaration and type names are disjoint.
+ FLET, LABELS and MACROLET respect declarations.
Removing patch-ad: Issue fixed upstream.
User visible changes:
* CLISP built natively on 64-bit platforms (i.e., with 64-bit pointers)
now has :WORD-SIZE=64 in *FEATURES*.
See <http://clisp.cons.org/impnotes/features.html> for details.
* Module syscalls now offers OS:ERRNO and OS:STRERROR (for the sake of
FFI modules).
See <http://clisp.cons.org/impnotes/syscalls.html#errno> for details.
* Modules MIT-CLX and NEW-CLX export a new macro XLIB:WITH-OPEN-DISPLAY.
* Module netica has been upgraded to the Netica C API version 3.25 (from 2.15).
See <http://clisp.cons.org/impnotes/netica.html> for details.
* Module libsvm has been upgraded to the upstream version 2.86.
See <http://clisp.cons.org/impnotes/libsvm.html> for details.
* Bug fixes:
+ Work around the absence of tgamma() on solaris.
+ Avoid a rare segfault on SIGHUP.
+ Improve module portability to systems with non-GNU make.
+ Fix GRAY:STREAM-READ-SEQUENCE and GRAY:STREAM-WRITE-SEQUENCE.
+ Fix the remaining bugs in special bindings in evaluated code on
TYPECODES (64-bit) platforms.
+ Fix SOCKET:SOCKET-CONNECT with timeout to a dead port.
Changes since previous (2.44.1) release:
User visible changes
--------------------
* Experimental Just-In-Time Compilation of byte-compiled closures is now
done using GNU lightning (this is a configure-time option).
Thanks to Yann Dauphin <yann-nicolas.dauphin@polymtl.ca>.
* New command-line option -lp adds directories to *LOAD-PATHS*.
See <http://clisp.cons.org/impnotes/clisp.html#opt-load-paths> for details.
* New function FFI:OPEN-FOREIGN-LIBRARY allows pre-opening of shared libraries.
See <http://clisp.cons.org/impnotes/dffi.html#dffi-open-lib> for details.
* New macro EXT:COMPILE-TIME-VALUE allows computing values at file compilation.
See <http://clisp.podval.org/impnotes/macros3.html#compile-time-value>
for details.
* New function FFI:FOREIGN-POINTER-INFO allows some introspection.
See <http://clisp.cons.org/impnotes/dffi.html#fptr-info> for details.
* Versioned library symbols are now accessible via the :VERSION argument of
DEF-CALL-OUT and DEF-C-VAR.
Thanks to Kaz Kylheku <kkylheku@gmail.com>.
See <http://clisp.cons.org/impnotes/dffi.html#def-call-out> for details.
* New functions GRAY:STREAM-READ-SEQUENCE and GRAY:STREAM-WRITE-SEQUENCE have
been added for portability reasons.
Suggested by Anton Vodonosov <avodonosov@yandex.ru>.
See <http://clisp.cons.org/impnotes/gray.html#st-rd-seq> for details.
* New user variable CUSTOM:*SUPPRESS-SIMILAR-CONSTANT-REDEFINITION-WARNING*
controls whether the redefinition warning is issues when the new
constant value is visually similar to the old one.
See <http://clisp.cons.org/impnotes/defconstant.html#defconstant-similar>
for details.
* REPL commands can now accept arguments.
See <http://clisp.cons.org/impnotes/repl.html> for details.
* Updated the postgresql module to PostgreSQL 8.3.
See <http://clisp.cons.org/impnotes/postgresql.html> for details.
* Module syscalls now interfaces to <stdio.h> (for the sake of FFI modules).
See <http://clisp.cons.org/impnotes/syscalls.html#stdio> for details.
There are others additions there also, but they are too numerous to
be enumerated here.
* Bug fixes:
+ Fix handling of quoted objects by READ-PRESERVING-WHITESPACE. [ 1890854 ]
+ Fix rectangle count in NEW-CLX XLIB:SET-GCONTEXT-CLIP-MASK. [ 1918017 ]
+ Fix argument handling in NEW-CLX XLIB:QUERY-COLORS. [ 1931101 ]
+ Fix compilation on systems not supporting returning void. [ 1924506 ]
+ Fix TANH floating point overflow for large floats. [ 1683394 ]
+ Avoid extra aggressive bignum overflow reporting in READ. [ 1928735 ]
+ Improved floating point number formatting. [ 1790496, 1928759 ]
+ COMPILE no longer discards MACRO doc strings. [ 1936255 ]
+ Improved accuracy of LOG on complex numbers. [ 1934968 ]
+ Fix COERCE for compound float result-types. [ 1942246 ]
+ Fix $http_proxy parsing. [ 1959436 ]
+ Fix LISTEN on buffered streams when the last character was CRLF. [ 1961475 ]
+ Cross-compilation process has been restored to its former glory,
Major changes from 2.41:
- Use pkgsrc-supplied libffcall
- Use libtool
- New PKG_OPTIONS to enable support for db4, gdbm, gtk2, fastcgi, pcre.
- lots of bugfixes
to avoid jemalloc. The simple allocator used by clisp in the NetBSD
case appears to use some assumptions, like allocations below sbrk(), which
don't hold with jemalloc. We might switch to another allocator later,
but as the code looks this needs more work and testing.
From Aleksej Saushev per PR pkg/37381; the patch is attributed to
Arnaud Degroote.
Should also fix PR pkg/37304 from Yakovetsky Vladimir.
Based on patch provided by Yorick Hardy in PR 36334, I ajust patch files.
2.41 (2006-10-13)
=================
User visible changes
--------------------
* New module libsvm interfaces to <http://www.csie.ntu.edu.tw/~cjlin/libsvm>
and makes Support Vector Machines available in CLISP.
See <http://clisp.cons.org/impnotes/libsvm.html> for details.
* The same internal interface now handles FFI forms DEF-CALL-OUT and
DEF-C-VAR regardless of the presence of the :LIBRARY argument.
(:LIBRARY NIL) is now identical to omitting the :LIBRARY argument.
The default for the :LIBRARY argument is provided by
FFI:*DEFAULT-FOREIGN-LIBRARY* (bound in a compilation unit).
See <http://clisp.cons.org/impnotes/dffi.html#dffi-default-lib> for details.
* Bug fixes:
+ DOCUMENTATION on built-in functions was broken on some platforms.
[ 1569234 ]
+ Fixed FFI callbacks, broken since the 2.36 release.
+ Fixed the way the top-level driver handles the "--" option terminator.
+ Fixed COMPILE of APPLY in LABELS for local function. [ 1575946 ]
2.40 (2006-09-23)
=================
Important notes
---------------
* All .fas files generated by previous CLISP versions are invalid and
must be recompiled. This is because DOCUMENTATION and LAMBDA-LIST are
now kept with the closures.
Set CUSTOM:*LOAD-OBSOLETE-ACTION* to :COMPILE to automate this.
See <http://clisp.cons.org/impnotes.html#loadfile> for details.
User visible changes
--------------------
* Infrastructure
+ Top-level configure now accepts a new option --elispdir which specifies
the installation directory for the Emacs Lisp files (clhs.el et al).
The default value is ${datadir}/emacs/site-lisp/.
Thus, clhs.el at al are now installed by "make install", and should
be included in the 3rd party distributions.
+ Top-level configure now accepts variables on command line, e.g.,
./configure CC=g++ CFLAGS=-g
* Function PCRE:PCRE-EXEC accepts :DFA and calls pcre_dfa_exec() when
built against PCRE v6. See <http://clisp.cons.org/impnotes/pcre.html>.
* New functions RAWSOCK:IF-NAME-INDEX, RAWSOCK:IFADDRS.
See <http://clisp.cons.org/impnotes/rawsock.html>.
* When the OPTIMIZE SPACE level is low enough, keep function
documentation and lambda list.
See <http://clisp.cons.org/impnotes/declarations.html#space-decl>.
* Bug fixes:
+ Make it possible to set *IMPNOTES-ROOT-DEFAULT* and *CLHS-ROOT-DEFAULT*
to local paths, as opposed to URLs. [ 1494059 ]
+ Fix the evaluation order of initialization and :INITIALLY forms in
then extended LOOP. [ 1516684 ]
+ Do not allow non-symbols as names of anonymous classes. [ 1528201 ]
+ REINITIALIZE-INSTANCE now calls FINALIZE-INHERITANCE. [ 1526448 ]
+ Fix the RAWSOCK module on big-endian platforms. [ 1529244 ]
+ PRINT-OBJECT now works on built-in objects. [ 1482533 ]
+ ADJUST-ARRAY signals an error if :FILL-POINTER is supplied and non-NIL
but the non-adjustable array has no fill pointer, as per ANSI. [ 1538333 ]
+ MAKE-PATHNAME no longer ignores explicit :DIRECTORY NIL (thanks to
Stephen Compall <s11001001@us...>). [ 1550803 ]
+ Executable images now work on ia64 (thanks to Dr. Werner Fink
<werner@su...>).
+ MAKE-PATHNAME on win32 now handles correctly directories that start
with a non-string (e.g., :WILD). [ 1555096 ]
+ SOCKET-STREAM-PEER and SOCKET-STREAM-LOCAL had do-not-resolved-p
inverted since 2.37.
+ Set functions with :TEST 'EQUALP were broken on large lists. [ 1567186 ]
last released version that we have as devel/ffcall. Arrange for
powerpc files (from files/) to end up in the right place and get used
by the build:
tramp-* files are no longer used, so don't copy them. They can
probably be deleted from files/ now.
powerpc is now known to ffcall as powerpc, not rs6000 so change the
target name accordingly and make the makefile rule recognize netbsd
and pick up our file.
Makes clisp build/work on my macppc.
Ok wiz@ (except any typos in this commit message).
List of changes from the release notes:
2.39 (2006-07-16)
=================
User visible changes
--------------------
* SAVEINITMEM now accepts :SCRIPT argument that disables interpreting
the first positional argument as the script name; and :DOCUMENTATION
argument that is printed by the new -help-image command line option.
See <http://clisp.cons.org/impnotes/image.html> and
<http://clisp.cons.org/impnotes/clisp.html#opt-help-image> for details.
* FFI:UINT64 and FFI:SINT64 are now compatible with C's long long type.
* Stack overflow detection and recovery finally work fine on Unix.
Libsigsegv is required for this, on all platforms (including MS-Windows).
CLISP should neither exit nor crash under infinite recursion.
If your distribution has CLISP compiled without libsigsegv, report
the missing feature to its maintainer.
Note that libsigsegv 2.4 is required, there are bugs in libsigsegv 2.3!
* It is now possible to specify the default method-combination of a generic
function, to be used when the DEFGENERIC form does not specify the
:METHOD-COMBINATION explicitly, through a default initarg specification
for the :METHOD-COMBINATION keyword on the generic function class.
* Readline completion works with non 1:1 terminal encodings, e.g. UTF-8.
* WITH-KEYBOARD works with a Unix tty even when SLIME hijacks *TERMINAL-IO*.
* I/O operations on Win32 are now much faster.
* New functions: POSIX:FFS, POSIX:PATHCONF.
* Infrastructure:
+ Top-level configure now accepts a new option --with-gmalloc to use the
GNU malloc implementation instead of the one supplied by libc.
You may need it on older HP-UX and newer OpenBSD systems.
See file unix/PLATFORMS for more information.
+ The value of the environment variable CFLAGS is respected by configure.
* Bug fixes:
+ SOCKET:SOCKET-SERVER :INTERFACE now behaves as documented.
+ EXT:READ-BYTE-NO-HANG and SOCKET:SOCKET-STATUS used to hang on
buffered binary sockets.
+ Allow DESTRUCTURING-BIND (a . b) with circular and dotted lists.
+ ADJUST-ARRAY of zero length adjustable string now works.
+ TIME now reports correct results when the heap grows over 4GB.
+ RAWSOCK functions now handle :START/:END arguments correctly.
+ BDB:DBC-GET now accepts :READ-COMMITTED and :READ-UNCOMMITTED.
+ POSIX:GROUP-INFO and POSIX:USER-INFO now handle errors correctly.
* Portability:
+ Support DragonFly BSD.
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).