Python 2.4 is now in bugfix-only mode, no new features are being added. At
least 50 bugs have been squashed since Python 2.4.2, including a number of
bugs and potential bugs found by Coverity.
* Updates of many standard Perl modules.
* Performance enhancements for loadable modules and memory usage.
* Fixed bug when running with "-w". Previously when running with
warnings enabled globally via "-w", selective disabling of specific
warning categories would actually turn off all warnings. This
is now fixed; now "no warnings 'io';" will only turn off warnings
in the "io" class. This bug fix may cause some programs to start
correctly issuing warnings.
* Perl 5.8.4 introduced a change so that assignments of "undef" to a
scalar, or of an empty list to an array or a hash, were optimised away.
As this could cause problems when "goto" jumps were involved, this
change has been backed out.
* Using the sprintf function with some formats could lead to a
buffer overflow in some specific cases. This has been fixed,
along with several other bugs, notably in bounds checking.
* Fixed bug in pkgsrc-installed perl-5.8.7 and all subsequent
PKGREVISIONs, where perl didn't look for site modules under
/usr/pkg/lib/perl5/site_perl, but only under
/usr/pkg/lib/perl5/site_perl/5.8.0, and similarly for the vendor
modules.
* Honor PKGMANDIR when installing man pages.
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).
* Centralize directory creation during do-install in INSTALLATION_DIRS.
* Don't install *.orig files.
* Fix PLIST problems if using xemacs instead of emacs.
Bump PKGREVISION to 4 for PLIST changes.
* Remove patch-ac which patched the Makefile to install the example config
file into the examples directory and replace with an appropriate
INSTALL_MAKE_FLAGS setting.
* Remove SUBST_FILES setting and replace with a patch. This will make
merges with future updates easier.
* Fix the location of the example configuration file to match where it's
actually installed. Now, the file will actually be copied over during
POST-INSTALL.
pkgsrc-installed libtool. Modify the configure script to grep the
libtool we're using for the values of various libtool-derived
variables. While here, fix the name of the variable that contains
the flags to pass linker options to the compiler.
* Drop the use of SUBST_FILES to directly substitute into cimcomp.c
and just patch the Makefile to pass the proper flags when compilng.
order. Remove "@unexec rmdir" lines made redundant by the reordering.
Also, use a more succinct way to match ${OPSYS} + ${MACHINE_ARCH} by
just checking ${MACHINE_PLATFORM}.
iconv and gdbm. We now patch Makefile.in instead of the configure
script and just pass in thr rpath flags via environment variables.
* Honor PKGINFODIR.
that "gmp" is registered as a direct dependency for any package that
includes ghc/buildlink3.mk to get ghc as a build dependency. This is
needed since software built by ghc requires routines from the "gmp"
shared library. This fixes PR pkg/33100.
Remove the workaround in devel/darcs and x11/wxhaskell.
and replace with appropriate references to PKGINFODIR instead.
* Properly account for split info files during installation.
* Move info file listings directly into the package PLISTs.
This fixes info-file-related PLIST problems.
info files for both emacs and xemacs. Install the info files correctly
by handling the case where there may be split info files. List the info
files in the PLIST. Use EMACS_MODULES where appropriate to replace the
conditional dependency on xemacs-packages. Bump the PKGREVISION.
INSTALL/DEINSTALL script creation within pkgsrc.
If an INSTALL or DEINSTALL script is found in the package directory,
it is automatically used as a template for the pkginstall-generated
scripts. If instead, they should be used simply as the full scripts,
then the package Makefile should set INSTALL_SRC or DEINSTALL_SRC
explicitly, e.g.:
INSTALL_SRC= ${PKGDIR}/INSTALL
DEINSTALL_SRC= # emtpy
As part of the restructuring of the pkginstall framework internals,
we now *always* generate temporary INSTALL or DEINSTALL scripts. By
comparing these temporary scripts with minimal INSTALL/DEINSTALL
scripts formed from only the base templates, we determine whether or
not the INSTALL/DEINSTALL scripts are actually needed by the package
(see the generate-install-scripts target in bsd.pkginstall.mk).
In addition, more variables in the framework have been made private.
The *_EXTRA_TMPL variables have been renamed to *_TEMPLATE, which are
more sensible names given the very few exported variables in this
framework. The only public variables relating to the templates are:
INSTALL_SRC INSTALL_TEMPLATE
DEINSTALL_SRC DEINSTALL_TEMPLATE
HEADER_TEMPLATE
The packages in pkgsrc have been modified to reflect the changes in
the pkginstall framework.
2.38 (2006-01-24)
=================
User visible changes
--------------------
* SAVEINITMEM can create standalone executables.
Thanks to Frank Buß for the idea.
SAVEINITMEM also accepts :NORC argument do disable RC-file loading.
See <http://clisp.cons.org/impnotes/image.html> for details.
* POSIX:SYSLOG no longer recognizes "%m" and other formatting instructions.
For your safety and security, please do all formatting in Lisp.
* Fixed the OPEN :IF-EXISTS :APPEND bug introduced in 2.37.
* Fixed a crash on woe32 in opening files with names longer than MAX_PATH.
* Module berkeley-db now supports Berkeley DB 4.4.
2.37 (2006-01-02)
=================
User visible changes
--------------------
* Signal a continuable error when an already opened file is opened again,
unless both streams are read-only.
* SOCKET-SERVER now accepts :BACKLOG and :INTERFACE arguments.
The first (optional) argument should be the port number or NIL.
Use (SOCKET-SERVER NIL :INTERFACE SOCKET) instead of (SOCKET-SERVER SOCKET).
Thanks to Tomas Zellerin
See <http://clisp.cons.org/impnotes/socket.html#sose> for details.
* EXT:HTTP-PROXY now uses the environment variable "http_proxy", not
"HTTP_PROXY", like curl does, to avoid confusing it with CGI arguments.
* OPEN :DIRECTION :OUTPUT now creates write-only handles and treats
named pipes correctly.
* Fixed EXT:SETENV on non-POSIX systems (woe32 and BSD derivatives).
* Fixed a bug in EXT:! on 64-bit platforms.
Thanks to Dr. Werner Fink
2.36 (2005-12-04)
=================
User visible changes
--------------------
* Infrastructure:
+ Top-level configure now accepts the option --enable-maintainer-mode
that affects autoconf-related Makefile targets. The default value
is determined based on the presence of the CVS directories.
+ When libsigsegv is not found, print instructions on getting/building
libsigsegv and bail out; override with --ignore-absence-of-libsigsegv.
+ When --with-dynamic-ffi is supplied, but the FFI fails to build, abort.
+ When --with-readline is supplied, but GNU readline is not found, abort.
+ makemake no longer checks with_module_* variables.
* New function EXT:OPEN-HTTP and macro EXT:WITH-HTTP-INPUT.
See <http://clisp.cons.org/impnotes/macros3.html#open-http> for details.
* New declaration EXT:NOTSPECIAL undoes the effects of DEFVAR and DEFCONSTANT.
See <http://clisp.cons.org/impnotes/declarations.html#notspec-decl>
for details.
* Function EXT:CLHS is now deprecated in favor of DESCRIBE, which can now
point your web browser to the ANSI CL and CLISP-specific documentation.
See <http://clisp.cons.org/impnotes/environment-dict.html#describe>
for details.
* FFI modules can now take advantage of autoconf feature detection.
See <http://clisp.cons.org/impnotes/dffi.html#ffi-guard> for details.
* New FFI macro FFI:DEF-C-CONST.
See <http://clisp.cons.org/impnotes/dffi.html#def-c-const> for details.
* New charset BASE64 encodes arbitrary byte sequences with strings of
printable ASCII characters (4 characters per 3 bytes).
See <http://clisp.cons.org/impnotes/encoding.html#base64> for details.
* New module readline offers some advanced readline and history features.
It is a BASE module and is available when both FFI and readline are present.
* SOCKET:SOCKET-SERVICE-PORT is now deprecated in favor of OS:SERVICE.
See <http://clisp.cons.org/impnotes/syscalls.html#service> for details.
* New SETF-able functions POSIX:GETUID, POSIX:GETGID, POSIX:GETEUID,
POSIX:GETEGID.
New functions POSIX:GROUP-INFO and POSIX:STRING-TIME.
Function POSIX:USER-DATA is renamed to POSIX:USER-INFO.
See <http://clisp.cons.org/impnotes/syscalls.html> for details.
* New NEW-CLX demo: foch.lisp draws fractal snowflakes.
Implemented XLIB:SET-MODIFIER-MAPPING, XLIB:KEYSYM->KEYCODES,
XLIB:ACCESS-HOSTS, XLIB:ADD-ACCESS-HOST, XLIB:REMOVE-ACCESS-HOST,
XLIB:CHANGE-KEYBOARD-CONTROL, XLIB:CHANGE-KEYBOARD-MAPPING,
XLIB:KEYBOARD-MAPPING, XLIB:KEYSYM-NAME, XLIB:KEYCODE->CHARACTER,
XLIB:SHAPE-EXTENTS, XLIB:SHAPE-RECTANGLES, XLIB:DEFAULT-KEYSYM-INDEX.
Use MAP instead of ELT for sequence access in NEW-CLX.
* ANSI CL compliance issues:
+ DEFPACKAGE options :SHADOWING-IMPORT-FROM, :USE, :IMPORT-FROM
accept package designators, not just package names.
+ ENCODE-UNIVERSAL-TIME is now the perfect inverse for DECODE-UNIVERSAL-TIME.
* The command line option -v now affects *LOAD-ECHO* also.
See <http://clisp.cons.org/clisp.html#opt-v> for details.
* When a CLISP process is killed, clean-up is always executed.
* DEFCLASS now permits user-defined :ALLOCATION arguments.
* Fixed (FUNCTION-LAMBDA-EXPRESSION #'(SETF FOO)) on compiled functions.
* Fixed re-exporting symbols from POSIX to EXT.
* Fixed module rawsock on platforms with non-trivial struct sockaddr layout.
Functions that take a BUFFER argument, also take :START and :END arguments.
Renamed RAWSOCK:LISTEN to RAWSOCK:SOCK-LISTEN to avoid a conflict with CL.
New functions RAWSOCK:PROTOCOL, RAWSOCK:NETWORK, RAWSOCK:GETADDRINFO,
RAWSOCK:GETNAMEINFO.
See <http://clisp.cons.org/impnotes/rawsock.html> for details.
* Fixed module postgresql logging behavior.
* Fixed clisp.h generation to conform to the internal definitions.
2.35 (2005-08-29)
=================
User visible changes
--------------------
* SOCKET:SOCKET-STREAM-SHUTDOWN does not call CLOSE anymore,
just shutdown(2) - as it has always been documented.
It now also works on raw sockets, thus RAWSOCK:SHUTDOWN has been removed.
See <http://clisp.cons.org/impnotes.html#sost-shut> and
<http://clisp.cons.org/impnotes.html#rawsock> for details.
* When the command line option -E receives an invalid encoding,
ISO-8859-1 is used instead. [It was ASCII (for *FOREIGN-ENCODING*) or
UTF-8 (for all other encodings) before.]
Rationale: this is a 1:1 that corresponds to CLISP CODE-CHAR/CHAR-CODE
and avoids spurious errors in DIRECTORY on startup.
* New function EXT:COMPILED-FILE-P - checks whether the file is a
CLISP-compiled file with a compatible bytecode format.
See <http://clisp.cons.org/impnotes.html#compiled-file-p> for details.
* New functions EXT:CHAR-INVERTCASE, EXT:STRING-INVERTCASE and
EXT:NSTRING-INVERTCASE invert case of characters and strings.
See <http://clisp.cons.org/impnotes.html#char-invertcase> and
<http://clisp.cons.org/impnotes.html#string-invertcase> for details.
* New function POSIX:STREAM-OPTIONS calls fcntl(2).
See <http://clisp.cons.org/impnotes.html#fcntl> for details.
* Explicitly close all possible file descriptors before exec().
* Danish translations of the user interface messages have been added.
Thanks to Dennis Decker Jensen
2.34 (2005-07-20)
=================
Important notes
---------------
* All .fas files generated by previous CLISP versions are invalid and
must be recompiled. This is caused by the addition of MOP, the DEFSETF
fixes, and the TRANSLATE-PATHNAME and MAKE-HASH-TABLE enhancements.
Set CUSTOM:*LOAD-OBSOLETE-ACTION* to :COMPILE to automate this.
See <http://clisp.cons.org/impnotes.html#loadfile> for details.
* The name of the Run-Control file has changed from '_clisprc' to
'.clisprc' on all platforms.
If you are using woe32, please rename your Run-Control file.
* Modules i18n, regexp, and syscalls are now present even in the base
linking set. Do not pass, e.g., "--with-module=regexp" to configure.
User visible changes
--------------------
* The CLOS MetaObject Protocol is supported:
+ New class METAOBJECT.
+ Classes:
New classes
STANDARD-READER-METHOD, STANDARD-WRITER-METHOD, FORWARD-REFERENCED-CLASS.
New functions
ENSURE-CLASS.
New generic functions
CLASS-DIRECT-SUPERCLASSES, CLASS-PRECEDENCE-LIST, CLASS-DIRECT-SLOTS,
CLASS-SLOTS, CLASS-DIRECT-DEFAULT-INITARGS, CLASS-DEFAULT-INITARGS.
New customizable generic functions
For class creation:
ENSURE-CLASS-USING-CLASS, VALIDATE-SUPERCLASS,
COMPUTE-DIRECT-SLOT-DEFINITION-INITARGS,
COMPUTE-CLASS-PRECEDENCE-LIST, COMPUTE-EFFECTIVE-SLOT-DEFINITION,
COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS, COMPUTE-SLOTS,
COMPUTE-DEFAULT-INITARGS, READER-METHOD-CLASS, WRITER-METHOD-CLASS.
For notification about subclasses:
CLASS-DIRECT-SUBCLASSES, ADD-DIRECT-SUBCLASS, REMOVE-DIRECT-SUBCLASS.
+ Generic Functions:
New classes
FUNCALLABLE-STANDARD-CLASS, FUNCALLABLE-STANDARD-OBJECT.
New functions
ENSURE-GENERIC-FUNCTION, SET-FUNCALLABLE-INSTANCE-FUNCTION,
COMPUTE-EFFECTIVE-METHOD-AS-FUNCTION.
New generic functions
GENERIC-FUNCTION-NAME, GENERIC-FUNCTION-METHODS,
GENERIC-FUNCTION-METHOD-CLASS, GENERIC-FUNCTION-LAMBDA-LIST,
GENERIC-FUNCTION-METHOD-COMBINATION,
GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER, GENERIC-FUNCTION-DECLARATIONS.
New customizable generic functions
ENSURE-GENERIC-FUNCTION-USING-CLASS, COMPUTE-DISCRIMINATING-FUNCTION,
COMPUTE-APPLICABLE-METHODS, COMPUTE-APPLICABLE-METHODS-USING-CLASSES.
+ Methods:
New generic functions
METHOD-FUNCTION, METHOD-GENERIC-FUNCTION, METHOD-LAMBDA-LIST,
METHOD-SPECIALIZERS, ACCESSOR-METHOD-SLOT-DEFINITION.
New functions
EXTRACT-LAMBDA-LIST, EXTRACT-SPECIALIZER-NAMES.
+ Method-Combinations:
New generic function
FIND-METHOD-COMBINATION.
New customizable generic function
COMPUTE-EFFECTIVE-METHOD.
+ Slot-Definitions:
New classes
SLOT-DEFINITION, STANDARD-SLOT-DEFINITION,
DIRECT-SLOT-DEFINITION, STANDARD-DIRECT-SLOT-DEFINITION,
EFFECTIVE-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION.
New generic functions
SLOT-DEFINITION-NAME, SLOT-DEFINITION-INITFORM,
SLOT-DEFINITION-INITFUNCTION, SLOT-DEFINITION-TYPE,
SLOT-DEFINITION-ALLOCATION, SLOT-DEFINITION-INITARGS,
SLOT-DEFINITION-READERS, SLOT-DEFINITION-WRITERS,
SLOT-DEFINITION-LOCATION.
New customizable generic functions
DIRECT-SLOT-DEFINITION-CLASS, EFFECTIVE-SLOT-DEFINITION-CLASS.
+ Specializers:
New classes
SPECIALIZER, EQL-SPECIALIZER.
New generic functions
SPECIALIZER-DIRECT-GENERIC-FUNCTIONS, SPECIALIZER-DIRECT-METHODS.
New functions
EQL-SPECIALIZER-OBJECT, INTERN-EQL-SPECIALIZER.
New customizable generic functions
ADD-DIRECT-METHOD, REMOVE-DIRECT-METHOD.
+ Slot access:
New generic functions
SLOT-VALUE-USING-CLASS, (SETF SLOT-VALUE-USING-CLASS),
SLOT-BOUNDP-USING-CLASS, SLOT-MAKUNBOUND-USING-CLASS.
New functions
STANDARD-INSTANCE-ACCESS, FUNCALLABLE-STANDARD-INSTANCE-ACCESS.
+ Dependent object notification:
New functions
MAP-DEPENDENTS.
New customizable generic functions
ADD-DEPENDENT, REMOVE-DEPENDENT, UPDATE-DEPENDENT.
See <http://clisp.cons.org/impnotes.html#mop-chap> for details,
and <http://clisp.cons.org/impnotes.html#mop-clisp> for a list
of differences between CLISP and "The Art of the Metaobject Protocol".
*FEATURES* now contains :MOP.
* CLISP now supports programming with case sensitive symbols. This is the
default when CLISP is started with the new command line option "-modern".
See <http://clisp.cons.org/impnotes.html#package-case> for details.
* Several new datatypes that manage weak references:
WEAK-LIST, WEAK-AND-RELATION, WEAK-OR-RELATION,
WEAK-MAPPING, WEAK-AND-MAPPING, WEAK-OR-MAPPING, WEAK-ALIST.
New functions
- for WEAK-LIST:
MAKE-WEAK-LIST, WEAK-LIST-P, WEAK-LIST-LIST, (SETF WEAK-LIST-LIST),
- for WEAK-AND-RELATION:
MAKE-WEAK-AND-RELATION, WEAK-AND-RELATION-P, WEAK-AND-RELATION-LIST,
- for WEAK-OR-RELATION:
MAKE-WEAK-OR-RELATION, WEAK-OR-RELATION-P, WEAK-OR-RELATION-LIST,
- for WEAK-MAPPING:
MAKE-WEAK-MAPPING, WEAK-MAPPING-P, WEAK-MAPPING-PAIR, WEAK-MAPPING-VALUE,
(SETF WEAK-MAPPING-VALUE),
- for WEAK-AND-MAPPING:
MAKE-WEAK-AND-MAPPING, WEAK-AND-MAPPING-P, WEAK-AND-MAPPING-PAIR,
WEAK-AND-MAPPING-VALUE, (SETF WEAK-AND-MAPPING-VALUE),
- for WEAK-OR-MAPPING:
MAKE-WEAK-OR-MAPPING, WEAK-OR-MAPPING-P, WEAK-OR-MAPPING-PAIR,
WEAK-OR-MAPPING-VALUE, (SETF WEAK-OR-MAPPING-VALUE),
- for WEAK-ALIST:
MAKE-WEAK-ALIST, WEAK-ALIST-P, WEAK-ALIST-TYPE, WEAK-ALIST-CONTENTS,
(SETF WEAK-ALIST-CONTENTS), WEAK-ALIST-ASSOC, WEAK-ALIST-RASSOC,
WEAK-ALIST-VALUE, (SETF WEAK-ALIST-VALUE).
See <http://clisp.cons.org/impnotes.html#weak> for details.
* You can create formatting streams of class EXT:FILL-STREAM.
See <http://clisp.cons.org/impnotes.html#fill-stream> for details.
* SUBTYPEP can determine subtype relationship and type equivalence much better
than it could before.
* When *PRINT-READABLY* is true, symbols are now printed with package marker
and vertical bars.
* ANSI CL compliance issues:
+ Issue <DECLARATION-SCOPE:NO-HOISTING> is implemented: The scope of
declarations that do not apply to bindings, such as free SPECIAL, NOTINLINE
or OPTIMIZE declarations, includes only the body forms and no longer
includes the initforms of the LAMBDA/LET/LET*/MULTIPLE-VALUE-BIND bindings.
+ Vectors of element type NIL are now strings in all aspects. But the type
BASE-STRING does _not_ include vectors of element type NIL.
+ TYPE-OF now returns STANDARD-CHAR instead of CHARACTER when possible.
+ The type COMPILED-FUNCTION no longer encompasses generic functions.
+ TYPE-OF now returns COMPILED-FUNCTION or STANDARD-GENERIC-FUNCTION instead
of FUNCTION when possible.
+ The space character is printed as "#\ " if CUSTOM:*PRINT-SPACE-CHAR-ANSI*
is true.
+ The #<PACKAGE KEYWORD> no longer has the nickname "". The syntax :FOO for
keywords still works, but is now special cased in the reader.
+ Class redefinition with DEFCLASS no longer modifies the previous class if
it doesn't have a "proper name".
+ Class redefinition with DEFCLASS removes accessor methods that have been
installed through the previous DEFCLASS definition of the same class.
+ Generic function redefinition with DEFGENERIC removes methods that have
been installed through the previous DEFGENERIC definition of the same
function.
+ The set of qualifiers allowed for methods that are combined with a method
combination defined through the short form of DEFINE-METHOD-COMBINATION
now includes the name of the method combination instead of the operator.
+ FIND-METHOD now gives an error if the list of specializers has a wrong
length.
+ ARRAY-TOTAL-SIZE-LIMIT, ARRAY-DIMENSION-LIMIT, ARRAY-RANK-LIMIT are now
fixnums.
+ SHORT-FLOATs whose absolute value is an integer in the range between 10^5
and 10^7 are now printed with full precision.
+ Operations combining rational and floating-point numbers now return a
floating-point result if CUSTOM:*FLOATING-POINT-RATIONAL-CONTAGION-ANSI*
is true. When the mathematical result in a situation is rational, a
warning is issued if CUSTOM:*WARN-ON-FLOATING-POINT-RATIONAL-CONTAGION* is
true.
+ Class redefinition with DEFCLASS now updates existing instances as
specified.
+ An ABORT restart is now always installed.
+ UPDATE-INSTANCE-FOR-DIFFERENT-CLASS does the required argument checking.
+ Passing invalid initialization arguments to MAKE-INSTANCE and similar
now generates a PROGRAM-ERROR instead of just an ERROR.
+ Documentation strings are now attached to class objects, not just to
their name.
+ Arrays with total array size 0 are printed in a lossy way if
CUSTOM:*PRINT-EMPTY-ARRAYS-ANSI* is true and *PRINT-READABLY* is false.
+ Allow () to match NIL in destructuring lambda lists.
+ Documentation strings at a place where only declarations and forms are
allowed now give a warning, not an error.
+ LAST, BUTLAST and NBUTLAST check their list argument for circularity.
+ Different LOAD-TIME-VALUE forms that are EQUAL but not EQ are no longer
coalesced by COMPILE-FILE.
+ DEFSETF lambda-lists now support &ENVIRONMENT.
+ DEFSETF lambda-lists are no longer destructuring lambda-lists.
+ NAMESTRING no longer accepts an optional second argument.
+ SETF of VALUES now uses only the first value of each subform.
+ SPECIAL declarations of variables are now correctly respected inside
macro expanders defined through MACROLET within the declaration's scope.
+ (EXPORT NIL), (UNEXPORT NIL), (IMPORT NIL), (SHADOWING-IMPORT NIL),
(SHADOW NIL) are now nops.
+ An attempt to create a condition from an invalid condition designator now
always results in a TYPE-ERROR being signalled.
+ The reader's errors are now of type READER-ERROR when they should be.
+ READ-DELIMITED-LIST now returns NIL when *READ-SUPPRESS* is true.
+ Printing of multidimensional arrays now respects *PRINT-LEVEL*.
+ As required by 19.2.3, *DEFAULT-PATHNAME-DEFAULTS* is merged into
pathnames before accessing the file system.
+ LOGICAL-PATHNAME now gives an error if the argument string does not
contain a host specification.
+ The PRINT-UNREADABLE macro prints extraneous spaces if
CUSTOM:*PRINT-UNREADABLE-ANSI* is true.
+ In the #n= and #n# reader syntax, the integer n may now be larger than
7 digits.
+ IN-PACKAGE forms with constant arguments are no longer executed by the
compiler if they occur in a non-null lexical environment.
+ COMPILE-FILE now always returns the TRUENAME of its output file.
+ GET-SETF-EXPANSION now accepts NIL as the environment argument to
mean null lexical environment
Thanks to Paul F. Dietz and his ANSI compliance
suite, which helped detect some of these deficiencies.
Thanks to Yuji Minejima and his ANSI compliance
suite, which helped detect some of these deficiencies.
* Global error handlers can now be installed and removed using
EXT:SET-GLOBAL-HANDLER, EXT:WITHOUT-GLOBAL-HANDLERS,
and -on-error command line option.
See <http://clisp.cons.org/impnotes.html#global-handler> and
<http://clisp.cons.org/clisp.html#opt-on-error> for details.
* TRANSLATE-PATHNAME and TRANSLATE-LOGICAL-PATHNAME accept a new keyword
argument :ABSOLUTE which makes them convert their return values to
absolute pathnames.
See <http://clisp.cons.org/impnotes.html#translate-pathname> and
<http://clisp.cons.org/impnotes.html#translate-logpath> for details.
* New function EXT:ABSOLUTE-PATHNAME.
See <http://clisp.cons.org/impnotes.html#absolute-pathname> for details.
* New function EXT:ELASTIC-NEWLINE and new FORMAT directive "~.".
See <http://clisp.cons.org/impnotes.html#elastic-newline>
and <http://clisp.cons.org/impnotes.html#format-dot> for details.
Through this function, CLISP no longer produces spurious blank lines when
a program uses the convention of printing a #\Newline before each line.
* TRACE has a new option :MAX-DEPTH, that is useful to avoid infinite
recursions in the tracer.
See <http://clisp.cons.org/impnotes.html#trace> for details.
* The function LENGTH and a few other sequence functions now signal a
TYPE-ERROR when a circular list has been given as argument.
* Function UPGRADED-COMPLEX-PART-TYPE is now as precise as possible.
See <http://clisp.cons.org/impnotes.html#ucpt> for details.
* In non-interactive batch mode, *ERROR-OUTPUT* now uses the system's
standard error stream, instead of the standard output stream.
* The macros MUFFLE-CERRORS, APPEASE-CERRORS and EXIT-ON-ERROR now treat
CONTINUE restarts which require interactive user intervention like other
restarts. Only non-interactive CONTINUE restarts are silently invoked.
* LOAD :OBSOLETE-ACTION can now also be :COMPILE to automatically
recompile the obsolete *.fas file.
LOAD can now ignore erroneous forms using SKIP and STOP restarts.
See <http://clisp.cons.org/impnotes.html#loadfile> for details.
* References from within macros defined through MACROLET to variables or
functions defined in the lexical environment outside the MACROLET form
now signal an error. Previously, this resulted in undefined behavior.
* The FFI recognizes the c-type declaration (FFI:C-POINTER <c-type>) to
handle references without conversion to/from Lisp structures.
See <http://clisp.cons.org/impnotes.html#c-pointer> for details.
* The FFI variable FFI:*FOREIGN-ENCODING* can now be a multibyte encoding.
The warning "*FOREIGN-ENCODING*: reset to ASCII" at startup is gone.
* New FFI constructor functions FFI:FOREIGN-VARIABLE and FFI:FOREIGN-FUNCTION,
more operators are now exported (FFI:FOREIGN-VALUE, FFI:PARSE-C-TYPE).
See <http://clisp.cons.org/impnotes.html#dffi-make-var>
and <http://clisp.cons.org/impnotes.html#dffi-make-func> for details.
* FFI macro FFI:C-LINES can now be used to fine-tune
initialization and finalization.
See <http://clisp.cons.org/impnotes.html#c-lines> for details.
* New FFI function FFI:CLOSE-FOREIGN-LIBRARY can be used to unload a library.
See <http://clisp.cons.org/impnotes.html#dffi-close-lib> for details.
* New FFI low-level accessor FFI:MEMORY-AS.
See <http://clisp.cons.org/impnotes.html#memory-as> for details.
* Foreign functions and variables can now be documented using the
:DOCUMENTATION option to FFI:DEF-CALL-OUT and FFI:DEF-C-VAR.
* Buffered streams now are suitable for interactive streams. It is no longer
necessary to use :BUFFERED NIL to avoid blocking in various situations.
* Function EXT:READ-BYTE-SEQUENCE takes a new keyword argument :INTERACTIVE.
See <http://clisp.cons.org/impnotes.html#rd-by-seq> for details.
* Methods on GRAY:STREAM-READ-BYTE-SEQUENCE and GRAY:STREAM-WRITE-BYTE-SEQUENCE
now need to accept a second optional argument.
* The possible values of the :WEAK argument of MAKE-HASH-TABLE are changed:
Use :KEY-AND-VALUE instead of :EITHER, :KEY-OR-VALUE instead of :BOTH now.
* The :LIBRARY option argument to EXT:DEF-CALL-OUT and EXT:DEF-C-VAR is now
evaluated (i.e., it can now be a variable) and may take a value of
:DEFAULT and :NEXT in addition to being a string as before.
See <http://clisp.cons.org/impnotes.html#def-c-var> and
<http://clisp.cons.org/impnotes.html#def-call-out> for details.
* New user variable CUSTOM:*PRINT-SYMBOL-PACKAGE-PREFIX-SHORTEST*
allows using the shortest package (nick)name as the symbol prefix.
See <http://clisp.cons.org/impnotes.html#pr-sym-pack-prefix> for details.
* The user commands can now be extended using CUSTOM:*USER-COMMANDS*.
See <http://clisp.cons.org/impnotes.html#user-commands> for details.
* Initialization and finalization of the CLISP process can now be
augmented with CUSTOM:*INIT-HOOKS* and CUSTOM:*FINI-HOOKS*.
See <http://clisp.cons.org/impnotes.html#init-hooks> and
<http://clisp.cons.org/impnotes.html#fini-hooks> for details.
* SET functions (like UNION et al) are now much faster on large lists.
* The second, optional argument of EXT:SPECIAL-VARIABLE-P can no longer be T;
please use (THE-ENVIRONMENT) instead.
* New function EXT:FEATUREP - the run-time version of read-time #+/#-.
See <http://clisp.cons.org/impnotes.html#featurep> for details.
* Bug fixes:
+ The interpreter no longer executes the body of (EVAL-WHEN (COMPILE) ...)
forms.
+ Fixes to internationalized error messages.
+ When an interpreted INITIALIZE-INSTANCE method uses CALL-NEXT-METHOD with
a modified argument list, MAKE-INSTANCE could in some cases initialize
the new object three times instead of just once.
+ Fixed a compiler bug that could lead to incorrect code when a LAMBDA
with SPECIAL-declared optional variables was compiled inline and the
initforms of the optional variables depended on the values of the previous
optional variables.
+ Passing a package as second argument of RENAME-PACKAGE led to an
unjustified error.
+ Passing a displaced vector as argument to REVERSE could lead to an
unjustified error.
+ FRESH-LINE did not work in some situations.
+ Fixed ATANH on complex numbers.
+ The macros EXT:LETF and EXT:LETF* now work correctly on symbol-macros.
+ Fixed a spurious crash of MULTIPLE-VALUE-SETQ in interpreted code.
+ Fixed a crash of (COPY-READTABLE NIL some-readtable).
+ Fixed a crash when using a hash-table as hash-table key.
+ Fixed a crash triggered by the READ-BYTE function on streams with
element type ([UN]SIGNED-BYTE n), 24 < n < 32, on big-endian platforms.
+ Fixed a crash that occurred on glibc platforms when writing Unicode
characters in the range #\U000E0000..#\U000E007F on a stream with an
encoding other than UTF-8.
+ An invalid bignum could be returned by GET-INTERNAL-RUN-TIME on 64-bit
platforms.
+ Third party code walkers can now handle HANDLER-BIND et al.
* Woe32 distribution now comes with a binary driver clisp.exe.
Do not copy it anywhere - create a shortcut to it instead!
Use install.bat to automate shortcut creation.
Modules
-------
* New module matlab interfaces to <http://www.mathworks.com/products/matlab/>
and allows complicated matrix computations.
See <http://clisp.cons.org/impnotes.html#matlab> for details.
* New module rawsock offers low-level socket access.
Thanks to Fred and Don Cohens.
See <http://clisp.cons.org/impnotes.html#rawsock> for details.
* New module zlib interfaces to <http://www.zlib.org> and allows
compression and uncompression of vectors.
See <http://clisp.cons.org/impnotes.html#zlib> for details.
* New module i18n now contains the GNU gettext interface as well as
other functionality for Lisp program internationalization.
See <http://clisp.cons.org/impnotes.html#i18n-mod> for details.
* New module PARI interfaces to <http://pari.math.u-bordeaux.fr/>.
See <http://clisp.cons.org/impnotes.html#pari> for details.
* Module syscalls is significantly expanded.
See <http://clisp.cons.org/impnotes.html#syscalls> for details.
* Module berkeley-db is vastly expanded.
See <http://clisp.cons.org/impnotes.html#berkeley-db> for details.
Added support for Berkeley DB 4.3.
* Modules now have an exit function.
See <http://clisp.cons.org/impnotes.html#modexit> for details.
Portability
-----------
* Heaps and memory images larger than 4 GB are now supported on 64-bit
platforms.
* Support files larger than 2 GB or 4 GB also on Windows.
* Weak pointers now also work on platforms without mmap().
* Weak hash tables now also work on platforms without mmap().
* Dynamic modules now work on woe32 too.
* On most 64-bit platforms, fixnums are now 49 bits wide (including the sign
bit), instead of 33 bits wide.
without underscores (REPLACE.*.old, REPLACE.*.new, and REPLACE_FILES.*).
Also convert REPLACE.*.new= ${SH:Q} back to ${SH}, as it should not be quoted
here, if at all.
Ok with rillig.
Changes in 1.4.2_11
Exception message's size is more than doubled everytime an exception is thrown
CMS: assert during mark-word restoration
returning out of memory when -XX:+UseConcMarkSweepGC is used.
Concurrently memory allocation and JNI CS provoke OOM
Gc tests crashes on linux-ia64 at concurrentMarkSweepGeneration.cpp with -Xcongc
RFE: Stall allocation requests while heap is full and GC locker is held
Reduce default code cache sizes on 64-bit platforms
Intel IA64(Montecito) failed with 1.4.2_09
VM uselessly traps SIGCHLD on Linux (cleanup)
Linux build does not optimize AWT and other essential libraries
REGRESSION: ClassCastException in JISAutoDetect.java on 1.4.2_10
decodeText() doesn't convert from iso-2022-jp to Unicode for some Japanese chars
Increase compiler optimisation level for libfontmanager to improve runtime performance
Mouse Cursor should be the default cursor when ALT key is pressed, on win32
PIT: Default cursor is shown but changing when ALT key is down, on win32
RE 1.5.0_04 copy and paste fails in Modal JDialog
REGRESSION: 6 JCK14a api/java_lang/StrictMath tests fail on tiger
java.net.Socket checks for old-style impls
InetAddress never caches hostnames with upper case characters
(coll) Exception thrown while deserializing HashMap
(coll) The writeObject() specification in HashMap.java was changed in 1.4.2_11
Correction to the new Azerbaijani currency
(tz) Regression test java/util/TimeZone/SolarisTZVM.sh is failing on Solaris 10
GregorianCalendar doesn't work in non-lenient due to timezone bounds checking
(tz) Support tzdata2005n
(tz) java/util/TimeZone/WinTZVM.sh fails on amd64
New Azerbaijani currency
Cannot deserialize a Calendar with Security on
(tz) Incorrect default timezone for Santiago, Chile on Win32.
REGRESSION: serious performance degradation as GZIPInputStream is slower
Problem with jre 1.4.2_08 install/unistall script
The official version number is not correct in release notes
Java Process terminates abnormally, related to Attach/detatch operation in jni.cpp
realloc should not be used in cjavajni.cpp
Socket timeouts for SSLSockets causes data corruption
Changes in 1.4.2_10
hotspot crashes when c1 compiler thread is running in 6.0b26
hotspot crashes(SIGSEGV) when many local variables are used in one java program
JVM 1.4.2_06 crash in C2 compiler at IdealLoopTree::policy_do_remove_empty_loop
HotSpot compiler error (Error ID : 4F530E43505002EF 01) uploading large files
Full GC causes core
Hotspot problem with loop-variables of type long on jdk1.4.2/Itanium
CMS: perm gen expansion without explicit GC, but with concurrent cycle initiation.
CMS: more helpful message for concurrent mode failures
JVM crash in "instanceof" codelet, array of secondary supertypes at end of heap.
deadlock at VM startup when JVMPI / JDWP both enabled
Performance problems with com.sun.corba.se.impl packages in 5.0
1.4.2xx only: org.omg.CORBA.OBJECT_NOT_EXIST errors when using -Dcom.sun.CORBA.ORBServerPort
1.4.2xx only - Sun ORB Hang
Memory Leak in Class Loaders with RMI-IIOP
Worse performance of isSupported for JISAutoDetect (1.4.X)
ArrayIndexOutOfBoundsException when opening PrintDialog with HP LaserJet 1300
nsk/regression/b4305163 test dumps core on solx86
Font.equals in 1.4.2 needs tightening to include the native font pointer.
NPE thrown when opening PrintDialog with HP LaserJet 8000N
java.awt.color.ICC_Profile should define serialVersionUID
Color Management code is not thread safe in HT/SMP machine
Component.removeNotify() should always deactivate InputContext
problem with DefaultPersistenceDelegate use of reflection
JRE 1.4.2_07 lacks support for Japanese on RHEL-4
(fs) FileChannelImpl.c: off64_t should be used for flock64 (F_SETLK64) in 1.4.2_07 (lnx)
(so) client does not see (NIO-created) socket close with SO_TIMEOUT
REGRESSION: Lock.java is failing with 1.4.2_10-b01 and passing with 1.4.2_09-b05
(se) DevPollSelectorProvider stops being the default on Solaris 10
Cannot Ctrl-Shift-Click to create disjoint selection interval in list
gif files not found error message displayed at console
Problem with applet interaction with system selection clipboard
New currencies for Afghanistan and East Timor
(rb) Update javadoc for java.util.ListResourceBundle class
ListResourceBundle subclasses should have protected getContents() returning Object[][] copy
GZipOutputStream/InputStream goes critical(calls JNI_Get*Critical) and causes slowness
GZipOutputStream/InputStream goes critical(calls JNI_Get*Critical) and causes slowness
GZipOutputStream/InputStream goes critical(calls JNI_Get*Critical) and causes slowness
Auto regression test 5098318 was failing with 142_10-b01
Auto regression test case 6282891 was failing with 142_10-b01(Compilation failed)
Auto regression test case 6232446 was failing with 142_10-b01 on Sol10-sparc
Manual regression testcase 4902977 scripts(runTest.ksh) has to be modified to support Suse9.3
Manual regression Testcase (4861802) is failing on Solaris10-sparc with 5.0u6_b02 and 1.4.2-10_b01
Manual Regression test 4974531 instructions need modification
TESTBUG: 6291034 testcase is failing with exit code1
SubClasses of ListResourceBundle should fix getContents()
Subclasses of ListResourceBundle should fix getContents()
FileCacheImageInputStream and FileCacheImageOutputStream should avoid File.deleteOnExit
JAR verification causes significant footprint increases
1.4.2_10 nightly build failed
creating JVM via C program "steals" space from main thread stack rendering JNI useless
Auto regression testcases(sun/tools/jps/jps-*.sh) is failing.
java launcher should define -Dsun.java.launcher
IFrame in Applet flickers
Applet will not reauthenticate user when returning from another applet
java web start cannot start on linux with newer glibc
SubClasses of ListResourceBundle should fix getContents()
Testcase TestMaliciousSigObj.java in JCE workspace has an extra closing brace
Cached Jar file should be released on appl. exit even that is opended by Cipher
intermittent "RSA PreMasterSecret error" during ssl handshake
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD
when determining whether the native makeinfo can be used.
* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.
* Get rid of all the "split" argument deduction for makeinfo since
the PLIST module already handles varying numbers of split info files
correctly.
NOTE: Platforms that have "makeinfo" in the base system should check
that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
correct.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
05/01/05 (version 1.3)
Additions:
A collection of libraries implementing the Concurrent ML
model for concurrent programming has been added; it is
compatible to the CML libraries in Sunterlib. See the
documentation for details.
Support for SRFIs 34-36 ("Exception handling for programs",
"Conditions", "I/O conditions") has been added. This is in
the CONDITIONS, EXCEPTIONS, and I/O-CONDITIONS structures,
for which the SRFI-34, SRFI-35, and SRFI-36 structures are
essentially aliases. A bridging infrastructure between the
old condition system and the new one translates condition
objects back and forth, hopefully transparently for the
user.
A new infrastructure for dynamically loading external
libraries from shared objects has been added; check the
manual for details. The old infrastructure is still
presented, but is unsupported on Windows and will be
removed in a future release.
The S48_GC_UNPROTECT_GLOBAL macro has been added, which
allows to remove a root added by S48_GC_PROTECT_GLOBAL.
The Scheme 48 header files should now be compileable by a
C++ compiler.
An experimental Windows port has been added.
Changes:
The HTML manual is now generated with tex2page.
A number of changes to the VM to support the (future)
native-code compiler have been made.
The PreScheme type rule for IF is now more strict, thus
disallowing code that would lead to invalid C output.
(This fixes a bug reported by Markus Ziegler.)
Bug fixes:
The TRAVERSE structure for displaying heap statistics has
been re-enabled.
A number of misues of CALL-ERROR have been corrected
(reported by Taylor Campbell).
The VALUE-PIPES package works again
(fix by Taylor Campbell).
In PreScheme it is now possible to shift integers by
non-constant shift widths.
Logical right shifts in PreScheme work now
(reported by Taylor Campbell).
A bug in TERMINATE-THREAD! was fixed
(reported by Taylor Campbell).
A bug in the implementation of ,exit-when-done was fixed.
A bug in the regexp-matching code that prevented matching
the empty string correctly was fixed.
A bug in the implementation of STRING-CONTAINS from SRFI-13
was fixed.
A bug in the implementation of :WHILE in SRFI-42 was fixed
(submitted by Sebastian Egner).
Bugs in the implementations of ANGLE and MAGNITUDE were
fixed.
An obscure bug in the implementation of APPLY (which was
triggered by certain instances of (apply apply ...) )
was fixed.
For a degenerate case of ITERATE, the code was made to
conform the documentation
(reported by Taylor Campbell).
Various miscellaneous fixes.
Patch provided by Nils O. Selasdal in PR 32941.
While here, fixed pkglint warnings.
* HTTP Response Splitting has been addressed in ext/session and in
the header() function.
* Fixed format string vulnerability in ext/mysqli.
* Fixed possible cross-site scripting problems in certain error conditions.
* Hash & XMLWriter extensions added and enabled by default.
* Upgraded OCI8 extension.
* Over 85 various bug fixes.
(I haven't heard anything from the MAINTAINER but since this works fine
on my servers and as this fixes security issues I checked in this)
"/bin/env ruby" in bang line. It was broken after switching to use subst
frame work.
The problem was noted by OBATA Akio via private mail, thanks much.