Skip to content
Snippets Groups Projects
Commit 52eecc9b authored by gerd's avatar gerd
Browse files

* src/code/defstruct.lisp (defstruct): Handle uninterned

	struct names.
parent 16427ca3
No related branches found
No related tags found
No related merge requests found
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/defstruct.lisp,v 1.85 2003/05/12 16:30:41 emarsden Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/defstruct.lisp,v 1.86 2003/05/12 21:54:57 gerd Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -454,19 +454,21 @@ ...@@ -454,19 +454,21 @@
(if (atom name-and-options) (if (atom name-and-options)
(list name-and-options) (list name-and-options)
name-and-options))) name-and-options)))
(name (dd-name defstruct))) (name (dd-name defstruct))
(when cl::*enable-package-locked-errors* (pkg (symbol-package name)))
(when (ext:package-definition-lock (symbol-package name)) (when (and cl::*enable-package-locked-errors*
(restart-case pkg
(error 'cl::package-locked-error (ext:package-definition-lock pkg))
:package (symbol-package name) (restart-case
:format-control "defining structure ~A" (error 'cl::package-locked-error
:format-arguments (list name)) :package pkg
(continue () :format-control "defining structure ~A"
:report "Ignore the lock and continue") :format-arguments (list name))
(unlock-package () (continue ()
:report "Disable package's lock then continue" :report "Ignore the lock and continue")
(setf (ext:package-lock (symbol-package name)) nil))))) (unlock-package ()
:report "Disable package's lock then continue"
(setf (ext:package-lock pkg) nil))))
(when (stringp (car slot-descriptions)) (when (stringp (car slot-descriptions))
(setf (dd-doc defstruct) (pop slot-descriptions))) (setf (dd-doc defstruct) (pop slot-descriptions)))
(dolist (slot slot-descriptions) (dolist (slot slot-descriptions)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment