From: Christophe R. <cr...@us...> - 2003-06-23 12:32:56
|
Update of /cvsroot/sbcl/sbcl/src/code In directory sc8-pr-cvs1:/tmp/cvs-serv15528/src/code Modified Files: Tag: vector_nil_string_branch print.lisp target-sxhash.lisp Log Message: 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 Index: print.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/print.lisp,v retrieving revision 1.42 retrieving revision 1.42.2.1 diff -u -d -r1.42 -r1.42.2.1 --- print.lisp 13 Jun 2003 09:49:43 -0000 1.42 +++ print.lisp 23 Jun 2003 12:32:52 -0000 1.42.2.1 @@ -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) Index: target-sxhash.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/target-sxhash.lisp,v retrieving revision 1.14 retrieving revision 1.14.4.1 diff -u -d -r1.14 -r1.14.4.1 --- target-sxhash.lisp 7 May 2003 11:19:00 -0000 1.14 +++ target-sxhash.lisp 23 Jun 2003 12:32:53 -0000 1.14.4.1 @@ -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))) |