Subject: [clisp-list] GNU CLISP 2.25 (2001-03-15) is released

From: Sam Steingold <[email-masked]>
Date: 14 Mar 2001 17:22:42 -0500

A new version of CLISP has just been released.

Bruno, please post this announcement to news:comp.lang.lisp
 (I have lost my nntp connection yet again, so I cannot do it).

2.25 (2001-03-15)
=================

Important notes
---------------

* The default extension of Lisp source files for CLISP is now ".lisp" instead
  of ".lsp". When both "foo.lisp" and "foo.lsp" exist, (LOAD "foo") will load
  "foo.lisp".

* Changed bytecode format. All .fas files generated by previous CLISP versions
  are invalid and must be recompiled.

User visible changes
--------------------

* A new version numbering scheme is adopted.

* If an error is signalled by a form supplied with the command-line
  option "-x", CLISP now exits with a non-zero status.

* The pretty-printer does not print hanging parenthesis by default now.
  *PRINT-RPARS* now defaults to NIL and *PRINT-INDENT-LISTS* to 1, so
  that the lists are printed like in CLHS and CLtL.

* New extension: directory access (win32 registry).  See impnotes for details.

* Support UNC pathnames (\\host\dir\name.ext) on win32.

* Support the SCREEN package on Win32. Thanks to Arseny Slobodjuck.

* New functions CONVERT-STRING-FROM-BYTES and CONVERT-STRING-TO-BYTES.

* Support for non-blocking binary I/O.
  New functions READ-BYTE-LOOKAHEAD, READ-BYTE-WILL-HANG-P, READ-BYTE-NO-HANG.
  New generic functions STREAM-READ-BYTE-LOOKAHEAD,
  STREAM-READ-BYTE-WILL-HANG-P, STREAM-READ-BYTE-NO-HANG.

* CONCATENATED-STREAM-STREAMS now returns only the remaining streams,
  as per ANSI CL spec.

* Implemented ANSI CL function INSPECT,
  and a function LISP:CLHS for access of Common Lisp HyperSpec.

* Characters have now the same names as in Unicode 3.0, with space replaced
  by underscore.

* ANSI CL compliance: CALL-NEXT-METHOD and NEXT-METHOD-P are now implemented
  as local functions, not local macros. It is now possible to call
  (APPLY #'CALL-NEXT-METHOD argument-list-of-unknown-length).

* ANSI CL compliance: LOAD has a new keyword argument :EXTERNAL-FORMAT.

* ANSI CL compliance: When an end-of-stream occurs, READ, READ-CHAR, PEEK-CHAR,
  READ-CHAR-NO-HANG, READ-LINE, READ-BYTE, READ-INTEGER, READ-FLOAT, called
  with arguments eof-error-p = NIL and without eof-value, now return NIL
  instead of #<END OF FILE>.

* ANSI CL compliance: When LISP:*PARSE-NAMESTRING-ANSI* is non-NIL,
  PARSE-NAMESTRING parses strings with colons as logical pathnames.

* New supported character sets in package CHARSET: GB18030, BIG5HKSCS.

* Arguments passed to MAKE-PATHNAME with value NIL are not overridden by
  pathname slots in the :DEFAULTS argument any more.

* STREAM-ELEMENT-TYPE of a TWO-WAY-STREAM or an ECHO-STREAM now depends on
  the stream's constituents. Previously, it was always (OR CHARACTER INTEGER).

* Fixed a bug: REPLACE signalled an error if the source and destination
  sequences were the same and the source and destination ranges didn't overlap.

* Fixed a bug: A garbage collection during the execution of a foreign function
  callback caused a crash.

* Fixed a bug: Calling READ-LINE on a stream already positioned at EOF caused
  a crash on 64-bit platforms.

* Fixed a bug: For long-floats, (EQL x (- x)) returned true.

* Fixed a bug: OPEN now returns NIL when the filename's directory does not
  exist and :IF-DOES-NOT-EXIST NIL was specified. Previously, an error was
  signalled except when :DIRECTION was :PROBE.

* Fixed a bug: (subtypep 'fundamental-stream 'stream) returned NIL.

Portability
-----------

* Added support for IA-64 running Linux.

* Added support for BeOS 5. Thanks to Alexis Rivera Rios <[email-masked]>.

* Removed support for DOS. Don't worry, OS/2 and Win32 are still supported.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
Fighting for peace is like screwing for virginity.

---

From: Paolo Amoroso <[email-masked]>
Date: Fri, 16 Mar 2001 13:52:43 +0100

> A new version of CLISP has just been released.
[...]
[...]
> * A new version numbering scheme is adopted.

Can you tell something more about the new numbering scheme?

Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/

---

From: Peter Wood <[email-masked]>
Date: Fri, 16 Mar 2001 15:10:15 +0100

> A new version of CLISP has just been released.

Thanks!  I think there are a few problems...

Line 1830 of the Makefile:

impnotes.html : ../doc/impnotes.html
	$(CP)  ../doc/impnotes.html impnotes.html

Stopped the make, with a "no rule for" error.

I changed it to:

impnotes.html:
	$(CP) impnotes.html ../doc/impnotes.html

and the make continued.

More seriously, when I load clisp with the "-K full" option, any error
immediately exits clisp.  I get no error message or anything else.  Am
I forgetting something?

This is what it looks like:

Script started on Fri Mar 16 13:19:23 2001
------------------------------------------
Correct behaviour:
-----------------------------------------

>clisp -q --norc 

[1]> (something-stupid)

*** - EVAL: the function SOMETHING-STUPID is undefined
1. Break [2]> 
[3]> (quit)

----------------------------------------
Something wrong here:
---------------------------------------

>clisp -q -norc -K full

[1]> (something-stupid)

------------------------------------------

Here are my vital statistics:

*features*
(:CLX-MIT-R5 :CLX-MIT-R4 :XLIB :CLX :CLX-LITTLE-ENDIAN
 :HAVE-READ-BYTE-LOOKAHEAD :HAVE-WITH-STANDARD-IO-SYNTAX :HAVE-CLCS
 :HAVE-DECLAIM :HAVE-PRINT-UNREADABLE-OBJECT :CLOS :LOOP :COMPILER :CLISP
 :CLTL2 :COMMON-LISP :INTERPRETER :LOGICAL-PATHNAMES :FFI :GETTEXT :UNICODE
 :BASE-CHAR=CHARACTER :PC386 :UNIX)

Linux localhost.localdomain 2.4.2 #3 Mon Mar 12 11:34:35 CET 2001 i586 unknown
GNU CLISP 2.25 (released 2001-03-15) (built 3193738054) (memory 3193738900)

Regards,
Peter

---

From: Bruno Haible <[email-masked]>
Date: Fri, 16 Mar 2001 15:45:09 +0100 (CET)

> Can you tell something more about the new numbering scheme?

It's a MAJOR.MINOR[.SUBMINOR] scheme, like that used by many other GNU
programs.

This release is called 2.25 because it's the 26th non-bugfix-only
release of this major version. The list of releases can be found in
the src/HISTORY file in the source.

Bruno

---

From: Bruno Haible <[email-masked]>
Date: Fri, 16 Mar 2001 16:28:49 +0100 (CET)

> Stopped the make, with a "no rule for" error.

Thanks for reporting it. A new release has been uploaded to the ftp
servers, in order to correct this problem.

> Script started on Fri Mar 16 13:19:23 2001

Argh. In base/lispinit.mem, sys::*break-driver* = #'sys::break-loop,
but in full/lispinit.mem, sys::*break-driver* = #'sys::batchmode-break-driver.

Expect a re-fixed release soon. Thanks for the quick feedback.

Bruno