SBCL 1.0.22 released

Discussion of Common Lisp
Post Reply
findinglisp
Posts: 447
Joined: Sat Jun 28, 2008 7:49 am
Location: Austin, TX
Contact:

SBCL 1.0.22 released

Post by findinglisp » Wed Nov 05, 2008 11:42 pm

Richard Kreuter made the announcement last week:
Richard Kreuter wrote: SBCL 1.0.22 has been released. Release notes:

changes in sbcl-1.0.22 relative to 1.0.21:
* minor incompatible change: LOAD-SHARED-OBJECT no longer by default looks
for the shared object in the current directory, but passes the native
namestring of the designated pathname to the operation system's shared
object loading function as-it.
* minor incompatible change: --disable-debugger toplevel option now takes
effect before processing of initialization files and --eval or --load
options.
* new feature: new commandline argument: --script, which supports
shebang lines. See documentation for details. (based on work by
Kevin Reid)
* new feature: SAVE-LISP-AND-DIE can save current values of
--dynamic-space-size and --control-stack-size in the executable core,
causing it to skip normal runtime option processing. See documentation
for details. (thanks to Zach Beane)
* enhancement: inoccous calls to EVAL or generic functions dispatching
on subclasses of eg. STREAM no longer cause compiler notes to appear.
* enhancement: the system no longer resignals errors from --load and
--eval toplevel arguments as SIMPLE-ERRORS, which caused restarts
associated with the original error to be lost. (thanks to Ariel
Badichi)
* enhancement: :DONT-SAVE keyword argument has been added to
LOAD-SHARED-OBJECT for controlling interaction with
SAVE-LISP-AND-DIE, and UNLOAD-SHARED-OBJECT can be used to undo
the effects of an earlier LOAD-SHARED-OBJECT call.
* bug fix: ADJUST-ARRAY on multidimensional arrays used bogusly give
them a fill pointer unless :DISPLACED-TO or :INITIAL-CONTENTS were
provided. (reported by Cedric St-Jean)
* bug fix: circularity handling in the reader did not treat raw
structure slots correctly. (reported by Cedric St-Jean)
* bug fix: SERVE-EVENT occasionally signaled an error about bogus
file descriptors when there were none.
* bug fix: DEFINE-COMPILER-MACRO support of destructuring lambda-lists
was broken. (reporteed by Willem Broekema)
* bug fix: SB-EXT:NATIVE-NAMESTRING on Windows did not work on
pathnames without a directory.
* bug fix: COMPILE-FILE did not warn about undefined variable
references at toplevel, and LOAD of the resulting fasl did
not signal an error.
* bug fix: functions with non-required arguments used to end up with
(SB-C::&OPTIONAL-DISPATCH ...) as their name.
* bug fix: redefining a function with non-required arguments didn't
update the system's knowledge about its call signature properly.
* bug fix: fixed #431; incompatible alien record type redefinitions
are detected and handled. (reported by Neil Haven)
* bug fix: using RESTRICT-COMPILER-POLICY with DEBUG 3 could cause
PROGV miscompilation. (reported by Matthias Benkard, patch by Juho
Snellman)
* bug fix: on x86 and x86-64 backtraces were sometimes truncated
after alien stack frames.
* bug fix: strings passed to mk{s,d}temp lacked null termination
Get it from SourceForge or CVS.
Cheers, Dave
Slowly but surely the world is finding Lisp. http://www.findinglisp.com/blog/

donkey
Posts: 11
Joined: Sun Jun 29, 2008 11:05 am

Re: SBCL 1.0.22 released

Post by donkey » Sat Nov 08, 2008 1:15 pm

new feature: new commandline argument: --script, which supports
shebang lines. See documentation for details. (based on work by
Kevin Reid)
If this is what I think it is, I'm getting drunk tonight.

*a few seconds later*

Ok, I'm getting drunk

dmitry_vk
Posts: 96
Joined: Sat Jun 28, 2008 8:01 am
Location: Russia, Kazan
Contact:

Re: SBCL 1.0.22 released

Post by dmitry_vk » Sat Nov 08, 2008 1:59 pm

donkey wrote:
new feature: new commandline argument: --script, which supports
shebang lines. See documentation for details. (based on work by
Kevin Reid)
If this is what I think it is, I'm getting drunk tonight.

*a few seconds later*

Ok, I'm getting drunk
But the --script option breaks some things becacuse it prevents site-init (/etc/sbclrc) and user-init (~/.sbclrc) from being loaded. E.g., on Gentoo using it breaks asdf.

TheGZeus
Posts: 79
Joined: Mon Jun 30, 2008 10:46 am

Re: SBCL 1.0.22 released

Post by TheGZeus » Sat Nov 08, 2008 2:08 pm

Dammit, why is Sid stuck at 1.0.18???????????

ramarren
Posts: 613
Joined: Sun Jun 29, 2008 4:02 am
Location: Warsaw, Poland
Contact:

Re: SBCL 1.0.22 released

Post by ramarren » Sun Nov 09, 2008 8:58 am

dmitry_vk wrote:But the --script option breaks some things becacuse it prevents site-init (/etc/sbclrc) and user-init (~/.sbclrc) from being loaded. E.g., on Gentoo using it breaks asdf.
This problem is easily solved by using as #! a custom core, with initfiles already loaded. It seems a good idea anyway to avoid reloading common libraries on every script invocation.

dmitry_vk
Posts: 96
Joined: Sat Jun 28, 2008 8:01 am
Location: Russia, Kazan
Contact:

Re: SBCL 1.0.22 released

Post by dmitry_vk » Sun Nov 09, 2008 9:11 am

Ramarren wrote:
dmitry_vk wrote:But the --script option breaks some things becacuse it prevents site-init (/etc/sbclrc) and user-init (~/.sbclrc) from being loaded. E.g., on Gentoo using it breaks asdf.
This problem is easily solved by using as #! a custom core, with initfiles already loaded. It seems a good idea anyway to avoid reloading common libraries on every script invocation.
Custom cores => NOT easily solved.

ramarren
Posts: 613
Joined: Sun Jun 29, 2008 4:02 am
Location: Warsaw, Poland
Contact:

Re: SBCL 1.0.22 released

Post by ramarren » Sun Nov 09, 2008 10:11 am

dmitry_vk wrote:Custom cores => NOT easily solved.
Well, I suppose if considered for end user deployment or something... but even then, compared to installing SBCL at all, it is easy. Just create a file make-utility-core.lisp,

Code: Select all

(cl:in-package :cl-user)

(when (probe-file "sbcl-utility")
  (delete-file "sbcl-utility"))
(require :iterate)
(require :alexandria)
(require :cl-ppcre)
(require :closure-html)
(require :drakma)
(require :cl-interpol)
;; and whatever else you want to use from --script's

(save-lisp-and-die "sbcl-utility" :executable t)
and then

Code: Select all

sbcl --load make-utility-core.lisp
and point #! to the created "sbcl-utility" file. You probably have known that, I just wanted to show this is not really a barrier for using --script. I haven't used sbcl scripts extensively yet, but the few I have work. I'm running Gentoo, with sbcl from lisp-overlay (with locally bumped version to 1.0.22), and have no problems.

Post Reply