0.8.0.24:
[sbcl.git] / src / code / symbol.lisp
index a32c855..e1143df 100644 (file)
   symbol)
 
 ;;; Return the built-in hash value for SYMBOL.
-#!+(or x86 mips) ;; only backends for which a symbol-hash vop exists
+
+;;; only backends for which a SYMBOL-HASH vop exists.  In the past,
+;;; when the MIPS backend supported (or nearly did) a generational
+;;; (non-conservative) garbage collector, this read (OR X86 MIPS).
+;;; Having excised the vestigial support for GENGC, this now only
+;;; applies for the x86 port, but if someone were to rework the GENGC
+;;; support, this might change again.  -- CSR, 2002-08-26
+#!+x86 
 (defun symbol-hash (symbol)
   (symbol-hash symbol))
 
 ;;; Compute the hash value for SYMBOL.
-#!-(or x86 mips)
+#!-x86
 (defun symbol-hash (symbol)
   (%sxhash-simple-string (symbol-name symbol)))
 
   (do ((plist place (cddr plist)))
       ((null plist) default)
     (cond ((atom (cdr plist))
-          (error "~S is a malformed property list."
-                 place))
+          (error 'simple-type-error
+                 :format-control "malformed property list: ~S."
+                 :format-arguments (list place)
+                 :datum (cdr plist)
+                 :expected-type 'cons))
          ((eq (car plist) indicator)
           (return (cadr plist))))))
 
   (do ((plist place (cddr plist)))
       ((null plist) (values nil nil nil))
     (cond ((atom (cdr plist))
-          (error "~S is a malformed proprty list."
-                 place))
+          (error 'simple-type-error
+                 :format-control "malformed property list: ~S."
+                 :format-arguments (list place)
+                 :datum (cdr plist)
+                 :expected-type 'cons))
          ((memq (car plist) indicator-list)
           (return (values (car plist) (cadr plist) plist))))))