Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • gerd's avatar
    20254db5
    Store user-specified slot names in DEFSTRUCT-SLOT-DESCRIPTIONs, · 20254db5
    gerd authored
    	which is necessary for conforming SLOT-EXISTS-P and
    	MAKE-LOAD-FORM-SAVING-SLOTS.  To bootstrap, using pmai's
    	build scripts:
    
    	1. Copy boot10.lisp to target:bootstrap.lisp and do a full
    	   build.  Choose the CLOBBER-IT restart when asked
    	   (for an unknown reason, it doesn't work to do this
    	   programatically.)
    
    	2. Leave the bootstrap file where it is and do a full build
    	   with the Lisp produced in step 1.
    
    	3. Remove the bootstrap file and do another full build.
    
    	* src/bootfiles/18e/boot10.lisp: New file.
    
    	* src-dsd/code/defstruct.lisp (defstruct-slot-description):
    	Rename slot %name to name.
    	(dsd-%name): New function.
    	(dsd-name): Function removed.
    	(parse-1-dsd): Set dsd-name to the slot symbol.
    
    	* src-dsd/pcl/std-class.lisp (*allow-keyword-slot-names*): New
    	variable.
    	(initialize-internal-slot-functions) <around
    	structure-effective-slot-definition>: New method binding
    	*allow-keyword-slot-names* to true.
    
    	* src-dsd/pcl/methods.lisp (legal-slot-name-p): Allow keywords
    	if *allow-keyword-slot-names* is true.
    20254db5
    History
    Store user-specified slot names in DEFSTRUCT-SLOT-DESCRIPTIONs,
    gerd authored
    	which is necessary for conforming SLOT-EXISTS-P and
    	MAKE-LOAD-FORM-SAVING-SLOTS.  To bootstrap, using pmai's
    	build scripts:
    
    	1. Copy boot10.lisp to target:bootstrap.lisp and do a full
    	   build.  Choose the CLOBBER-IT restart when asked
    	   (for an unknown reason, it doesn't work to do this
    	   programatically.)
    
    	2. Leave the bootstrap file where it is and do a full build
    	   with the Lisp produced in step 1.
    
    	3. Remove the bootstrap file and do another full build.
    
    	* src/bootfiles/18e/boot10.lisp: New file.
    
    	* src-dsd/code/defstruct.lisp (defstruct-slot-description):
    	Rename slot %name to name.
    	(dsd-%name): New function.
    	(dsd-name): Function removed.
    	(parse-1-dsd): Set dsd-name to the slot symbol.
    
    	* src-dsd/pcl/std-class.lisp (*allow-keyword-slot-names*): New
    	variable.
    	(initialize-internal-slot-functions) <around
    	structure-effective-slot-definition>: New method binding
    	*allow-keyword-slot-names* to true.
    
    	* src-dsd/pcl/methods.lisp (legal-slot-name-p): Allow keywords
    	if *allow-keyword-slot-names* is true.