From: Christophe Rhodes Date: Mon, 23 Jun 2003 12:32:52 +0000 (+0000) Subject: 0.8.0.78.vector-nil-string.4: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=f6d1a599fe7bf8a77635f22b46309aa1d3bdf693;p=sbcl.git 0.8.0.78.vector-nil-string.4: Fix some brokennesses ... SXHASH now copes with (vector nil)s of non-zero length ... OUTPUT-SYMBOL can now output zero-length (vector nil)s --- diff --git a/src/code/print.lisp b/src/code/print.lisp index 968c84f..68dffb6 100644 --- a/src/code/print.lisp +++ b/src/code/print.lisp @@ -597,7 +597,7 @@ ;;; words, diddle its case according to *PRINT-CASE* and ;;; READTABLE-CASE. (defun output-symbol-name (name stream &optional (maybe-quote t)) - (declare (type simple-base-string name)) + (declare (type simple-string name)) (setup-printer-state) (if (and maybe-quote (symbol-quotep name)) (output-quoted-symbol-name name stream) diff --git a/src/code/target-sxhash.lisp b/src/code/target-sxhash.lisp index cc574a5..56df709 100644 --- a/src/code/target-sxhash.lisp +++ b/src/code/target-sxhash.lisp @@ -84,11 +84,12 @@ (declare (type index count)) (let ((result 408967240)) (declare (type fixnum result)) - (dotimes (i count) - (declare (type index i)) - (mixf result - (the fixnum - (ash (char-code (aref string i)) 5)))) + (when (typep string 'base-string) + (dotimes (i count) + (declare (type index i)) + (mixf result + (the fixnum + (ash (char-code (aref string i)) 5))))) result)) ;;; test: ;;; (let ((ht (make-hash-table :test 'equal))) diff --git a/version.lisp-expr b/version.lisp-expr index 9ce03c6..058ac49 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.0.78.vector-nil-string.3" +"0.8.0.78.vector-nil-string.4"