Skip to content
Snippets Groups Projects
Commit 6973177f authored by William Harold Newman's avatar William Harold Newman
Browse files

0.6.8: tweaked SXHASH DEFTRANSFORMs, fixed HANDLER-BIND

parent 7f76d571
Branches
Tags sbcl.0.6.8 sbcl_0_6_8
No related merge requests found
......@@ -22,12 +22,6 @@ but instead
the program loops endlessly instead of printing the object.
KNOWN PORT-SPECIFIC BUGS
OpenBSD-1:
The breakpoint-based TRACE facility doesn't work properly
in the OpenBSD port of sbcl-0.6.7.
KNOWN BUGS RELATED TO THE IR1 INTERPRETER
At some point, the pure interpreter (aka the "IR1 interpreter") will
......@@ -49,6 +43,7 @@ IR1-2:
* (COMPILED-FUNCTION-P #'FOO)
T
OTHER KNOWN BUGS:
(There is also some information on bugs in the manual page and in the
......@@ -761,3 +756,13 @@ Error in function C::GET-LAMBDA-TO-COMPILE:
58:
(SUBTYPEP '(AND ZILCH INTEGER) 'ZILCH)
=> NIL, NIL
59:
CL:*DEFAULT-PATHNAME-DEFAULTS* doesn't behave as ANSI suggests (reflecting
current working directory). And there's no supported way to update
or query the current working directory (a la Unix "chdir" and "pwd"),
which is functionality that ILISP needs (and currently gets with low-level
hacks).
60:
The debugger LIST-LOCATIONS command doesn't work properly.
......@@ -502,20 +502,14 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7:
of static symbols.
* FINISH-OUTPUT is now called more consistently on QUIT. (It
used to not be called for a saved Lisp image.)
?? A bug related to the signal handling rewrite, keeping the DEBUG:ARG
function from working, was fixed.
* Martin Atzmueller's version of a patch to fix a compiler crash,
as posted on sbcl-devel 13 September 2000, has been installed.
* Instead of installing Martin Atzmueller's patch for the
compiler transform for SUBSEQ, I deleted the compiler transform,
and transforms for some similar consing operations.
?? A bug in signal handling which kept TRACE from working on OpenBSD
* A bug in signal handling which kept TRACE from working on OpenBSD
has been fixed.
?? Remember to remove this from the port-specific section of BUGS.
?? The signal handling bug reported by Martin Atzmueller on
sbcl-devel 13 September 2000, which caused the debugger to
get confused after a Ctrl-C interrupt under ILISP, has been fixed.
?? added enough DEFTRANSFORMs to allow (SXHASH 'FOO) to be optimized
* added enough DEFTRANSFORMs to allow (SXHASH 'FOO) to be optimized
away by constant folding
* The system now defines its address space constants in one place
(in the Lisp sources), and propagates them automatically elsewhere
......@@ -526,3 +520,5 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7:
the sources, because they have never saved me trouble and
they've been source of trouble working with patches and other
diff-related operations.
* fixed the PROG1-vs.-PROGN bug in HANDLER-BIND (reported by
ole.rohne@cern.ch on cmucl-help@cons.org 2000-10-25)
......@@ -314,8 +314,9 @@
bindings))
*handler-clusters*)))
(multiple-value-prog1
,@forms
;; Wait for any float exceptions
(progn
,@forms)
;; Wait for any float exceptions.
#!+x86 (float-wait))))
;;;; HANDLER-CASE and IGNORE-ERRORS
......
......@@ -42,9 +42,20 @@
(ash x -3) ; to get sign bit into hash
361475658)))
;;;; Some other common SXHASH cases are defined as DEFTRANSFORMs in order to
;;;; avoid having to do TYPECASE at runtime.
;;; Some other common SXHASH cases are defined as DEFTRANSFORMs in
;;; order to avoid having to do TYPECASE at runtime.
;;;
;;; We also take the opportunity to handle the cases of constant
;;; strings, and of symbols whose names are known at compile time;
;;; except that since SXHASH on the cross-compilation host is not in
;;; general compatible with SXHASH on the target SBCL, we can't so
;;; easily do this optimization in the cross-compiler, and SBCL itself
;;; doesn't seem to need this optimization, so we don't try.
(deftransform sxhash ((x) (simple-string))
'(%sxhash-simple-string x))
(if #+sb-xc-host nil #-sb-xc-host (constant-continuation-p x)
(sxhash (continuation-value x))
'(%sxhash-simple-string x)))
(deftransform sxhash ((x) (symbol))
'(%sxhash-simple-string (symbol-name x)))
(if #+sb-xc-host nil #-sb-xc-host (constant-continuation-p x)
(sxhash (continuation-value x))
'(%sxhash-simple-string (symbol-name x))))
......@@ -15,4 +15,4 @@
;;; versions, and a string a la "0.6.5.12" is used for versions which
;;; aren't released but correspond only to CVS tags or snapshots.
"0.6.7.26"
"0.6.8"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment