(FILECREATED " 3-Sep-86 13:56:53" {ERIS}<LISPCORE>PKG>CMLSYMBOL.;1 2727 changes to: (FUNCTIONS CL:COPY-SYMBOL CL:GENSYM CL:GENTEMP) (VARS CMLSYMBOLCOMS) previous date: "27-Aug-86 15:58:05" {ERIS}<LISPCORE>LIBRARY>CMLSYMBOL.;27) (* Copyright (c) 1986 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT CMLSYMBOLCOMS) (RPAQQ CMLSYMBOLCOMS ((* ;; "Latter part of the symbol functions. The rest are in LLSYMBOL") (OPTIMIZERS GET GETF SYMBOL-PLIST) (SETFS GET SYMBOL-PLIST SYMBOL-VALUE SYMBOL-FUNCTION) (PROP FILETYPE CMLSYMBOL))) (* ;; "Latter part of the symbol functions. The rest are in LLSYMBOL") (DEFOPTIMIZER GET (SYMBOL INDICATOR &REST TAIL) (BQUOTE (GETF (SYMBOL-PLIST (\, SYMBOL)) (\, INDICATOR) (\,@ TAIL)))) (DEFOPTIMIZER GETF (PLACE INDICATOR &OPTIONAL DEFAULT) (COND (DEFAULT (QUOTE IGNOREMACRO)) (T (BQUOTE (LISTGET (\, PLACE) (\, INDICATOR)))))) (DEFOPTIMIZER SYMBOL-PLIST (SYMBOL) (BQUOTE (GETPROPLIST (\, SYMBOL)))) (DEFINE-SETF-METHOD GET (SYMBOL PROP &OPTIONAL DEFAULT) "Get turns into %%put. Don't put in the default unless it really is supplied and non-nil, so that we can transform into the get instruction whenever possible." (LET ((SYMBOL-TEMP (GENSYM)) (PROP-TEMP (GENSYM)) (DEF-TEMP (GENSYM)) (NEWVAL (GENSYM))) (VALUES (BQUOTE ((\, SYMBOL-TEMP) (\, PROP-TEMP) (\,@ (COND (DEFAULT (BQUOTE ((\, DEF-TEMP)))))))) (BQUOTE ((\, SYMBOL) (\, PROP) (\,@ (COND (DEFAULT (BQUOTE ((\, DEFAULT)))))))) (LIST NEWVAL) (BQUOTE (PUTPROP (\, SYMBOL-TEMP) (\, PROP-TEMP) (\, NEWVAL))) (BQUOTE (GET (\, SYMBOL-TEMP) (\, PROP-TEMP) (\,@ (COND (DEFAULT (BQUOTE ((\, DEF-TEMP))))))))))) (DEFSETF SYMBOL-PLIST SETPROPLIST) (DEFSETF SYMBOL-VALUE SET) (DEFSETF SYMBOL-FUNCTION SETF-SYMBOL-FUNCTION) (PUTPROPS CMLSYMBOL FILETYPE COMPILE-FILE) (PUTPROPS CMLSYMBOL COPYRIGHT ("Xerox Corporation" 1986)) (DECLARE: DONTCOPY (FILEMAP (NIL))) STOP