diff --git a/code/sharpm.lisp b/code/sharpm.lisp index 79b8b631359be13c470473a7f4396e579df1cc59..7218cf137a6a813cb270d9957f2ba37fc793df00 100644 --- a/code/sharpm.lisp +++ b/code/sharpm.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sharpm.lisp,v 1.4 1991/02/08 13:35:39 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sharpm.lisp,v 1.5 1991/02/14 18:41:37 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -16,15 +16,13 @@ ;;; Runs in the standard Spice Lisp environment. ;;; This uses the special std-lisp-readtable, which is internal to READER.LISP ;;; -;;; **************************************************************** -(in-package 'lisp) +(in-package "LISP") ;;; declared in READ.LISP (proclaim '(special *read-suppress* std-lisp-readtable *bq-vector-flag*)) - (defun sharp-backslash (stream backslash ignore) (declare (ignore ignore)) (unread-char backslash stream) @@ -177,8 +175,7 @@ retval) (setq denval (+ (* denval radix) dig)))) ;;it's bogus - (t (error - "Illegal digits ~S for radix ~S" token radix))))))) + (t (error "Illegal digits ~S for radix ~S" token radix)))))) (defun sharp-B (stream ignore1 ignore2) (declare (ignore ignore1 ignore2)) @@ -203,10 +200,9 @@ dimensions)) (if (> dimensions 0) (let ((dlist (make-list dimensions)) - (init-list - (if (char= (read-char stream t) #\( #|)|#) - (read-list stream nil) - (error "Array values must be a list.")))) + (init-list (if (char= (read-char stream t) #\() + (read-list stream nil) + (error "Array values must be a list.")))) (do ((dl dlist (cdr dl)) (il init-list (car il))) ;; I think the nreverse is causing the problem. @@ -226,24 +222,25 @@ (when *read-suppress* (read stream () () t) (return-from sharp-S nil)) - (let ((body - (if (char= (read-char stream t) #\( ) - (read-list stream nil) - (error "Non-list following #S")))) + (let ((body (if (char= (read-char stream t) #\( ) + (read-list stream nil) + (error "Non-list following #S")))) (cond ((listp body) (unless (symbolp (car body)) (error "Structure type is not a symbol: ~S" (car body))) (let ((defstruct (info type defined-structure-info (car body)))) (unless defstruct (error "~S is not a defined structure type." (car body))) - (unless (c::dd-constructor defstruct) - (error "The ~S structure does not have a default constructor." (car body))) + (unless (c::dd-constructors defstruct) + (error "The ~S structure does not have a default constructor." + (car body))) (do ((arg (cdr body) (cddr arg)) (res ())) - ((endp arg) (apply (c::dd-constructor defstruct) res)) + ((endp arg) + (apply (car (c::dd-constructors defstruct)) res)) (push (cadr arg) res) (push (intern (string (car arg)) *keyword-package*) res)))) - (t (error "Non-list following #S: ~S" body)))))) + (t (error "Non-list following #S: ~S" body))))) (defmacro int-subst-array (new old array rank var-list) (if (> rank (array-rank array))