diff --git a/code/defstruct.lisp b/code/defstruct.lisp index 03a9063d43b1657445ba2aed0ed611d0bf4c822a..12287fa1618455015551a57add2b18ddd6ac21f2 100644 --- a/code/defstruct.lisp +++ b/code/defstruct.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/defstruct.lisp,v 1.31 1992/03/13 17:58:29 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/defstruct.lisp,v 1.32 1992/03/14 12:05:03 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -65,7 +65,10 @@ ;;; as a string to avoid creating lots of worthless symbols at load time. ;;; (defun dsd-name (dsd) - (intern (string (dsd-%name dsd)) (symbol-package (dsd-accessor dsd)))) + (intern (string (dsd-%name dsd)) + (if (dsd-accessor dsd) + (symbol-package (dsd-accessor dsd)) + *package*))) (defun print-defstruct-slot-description (structure stream depth) (declare (ignore depth)) @@ -263,8 +266,7 @@ (string= (dsd-name (find aname (dd-slots existing) :key #'dsd-accessor)) name) - (member (dd-name existing) - (cons (dd-name defstruct) (dd-includes defstruct)))) + (member (dd-name existing) (dd-includes defstruct))) (setf (dsd-accessor islot) nil) (setf (dsd-accessor islot) aname))) @@ -688,7 +690,7 @@ (loop (pprint-pop) (let ((slot (pop slots))) - (output-object (dsd-name slot) stream) + (princ (dsd-%name slot) stream) (write-char #\space stream) (pprint-newline :miser stream) (output-object (structure-ref structure (dsd-index slot)) @@ -711,7 +713,7 @@ (write-string "...)" stream))) (declare (type index index)) (write-char #\space stream) - (output-object (dsd-name (car slots)) stream) + (princ (dsd-%name (car slots)) stream) (write-char #\space stream) (output-object (structure-ref structure index) stream))))))