Commit 70327f16 authored by rtoy's avatar rtoy
Browse files

Merge from unicode-utf16-branch to get equal hash-table fixes so that

name-char works again.
parent 91bb6401
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -405,7 +405,7 @@

(in-package "LISP")

(defvar *unicode-data* (make-hash-table :test 'eql :size 30000))
(defvar *unicode-data* (make-hash-table :test 'equal :size 30000))
(defvar *assigned-codepoints-bitmap* (make-array 65536 :element-type 'bit))
(when (< (hash-table-count *unicode-data*) 20000)
  (dolist (range '((#x0000 . #x001F) (#x007F . #x009F) (#x3400 . #x4DB5)
+2 −4
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/char.lisp,v 1.15.18.3.2.3 2009/03/27 04:14:10 rtoy Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/char.lisp,v 1.15.18.3.2.4 2009/03/27 16:24:10 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -513,9 +513,7 @@
		   (#xDB80 . #xDBFF)))
    (loop for i from (car range) to (cdr range) do
	 (setf (aref *assigned-codepoints-bitmap* i) 1)))
  ;; Make the sure the hash table is an eql hash table.  This helps
  ;; during build because we don't need to do equal on characters.
  (setf *unicode-data* (make-hash-table :test 'eql :size 30000))
  (setf *unicode-data* (make-hash-table :test 'equal :size 30000))
  (with-open-file (s unicode-data-file)
    (flet ((cat (x) (dpb (position (char x 0) "CLMNPSZ") (byte 3 4)
			 (position (char x 1) "cdefiklmnopstu")))
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hash-new.lisp,v 1.47 2008/04/29 13:07:47 rtoy Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hash-new.lisp,v 1.47.4.1 2009/03/27 16:24:10 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -980,7 +980,7 @@
    ;; The pointers and immediate types.
    (cons (sxhash-list s-expr depth))
    (fixnum (ldb sxhash-bits-byte s-expr))
    (character (char-code (char-upcase s-expr)))
    (character (char-code s-expr))
    (pathname
     ;; Pathnames are EQUAL if all the components are EQUAL, so we
     ;; hash all of the components of a pathname together.
+4 −0
Original line number Diff line number Diff line
@@ -28,6 +28,10 @@ New in this release:
      trying to simplify the union of a large number of disjoint
      numeric types.  Previously, we handled the case of integer
      types.  Extend this to handle floats as well.
    - SXHASH was computing the same hash code for upper and lower case
      characters by upcasing the character.  This isn't necessary
      since the characters are not EQUAL, so make SXHASH return
      different values for upper and lower case letter.

  * Trac Tickets:
    #31: pathname bug with :case :common