Skip to content
Browse files

0.6.8: tweaked SXHASH DEFTRANSFORMs, fixed HANDLER-BIND

  • Loading branch information...
1 parent 7f76d57 commit 6973177fbe23d007655345c1fe2e0d6a5e397aa5 William Harold Newman committed Oct 26, 2000
Showing with 35 additions and 22 deletions.
  1. +11 −6 BUGS
  2. +4 −8 NEWS
  3. +4 −3 src/code/early-target-error.lisp
  4. +15 −4 src/code/sxhash.lisp
  5. +1 −1 version.lisp-expr
View
17 BUGS
@@ -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.
View
12 NEWS
@@ -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)
View
7 src/code/early-target-error.lisp
@@ -314,9 +314,10 @@
bindings))
*handler-clusters*)))
(multiple-value-prog1
- ,@forms
- ;; Wait for any float exceptions
- #!+x86 (float-wait))))
+ (progn
+ ,@forms)
+ ;; Wait for any float exceptions.
+ #!+x86 (float-wait))))
;;;; HANDLER-CASE and IGNORE-ERRORS
View
19 src/code/sxhash.lisp
@@ -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))))
View
2 version.lisp-expr
@@ -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 comments on commit 6973177

Please sign in to comment.
Something went wrong with that request. Please try again.