(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED "16-May-90 14:47:55" {DSK}local>lde>lispcore>sources>CMLSYMBOL.;2 2209 changes to%: (VARS CMLSYMBOLCOMS) previous date%: "23-Mar-87 16:05:27" {DSK}local>lde>lispcore>sources>CMLSYMBOL.;1) (* ; " Copyright (c) 1986, 1987, 1990 by Venue & Xerox Corporation. All rights reserved. ") (PRETTYCOMPRINT CMLSYMBOLCOMS) (RPAQQ CMLSYMBOLCOMS ( (* ;; "Latter part of the symbol functions. The rest are in LLSYMBOL") (OPTIMIZERS GET CL:GETF CL:SYMBOL-PLIST) (SETFS GET CL:SYMBOL-PLIST CL:SYMBOL-VALUE CL:SYMBOL-FUNCTION) (FUNCTIONS %%SET-GET) (PROP FILETYPE CMLSYMBOL))) (* ;; "Latter part of the symbol functions. The rest are in LLSYMBOL") (DEFOPTIMIZER GET (CL:SYMBOL INDICATOR &REST TAIL) `(CL:GETF (CL:SYMBOL-PLIST ,CL:SYMBOL) ,INDICATOR ,@TAIL)) (DEFOPTIMIZER CL:GETF (PLACE INDICATOR &OPTIONAL DEFAULT) [COND (DEFAULT 'IGNOREMACRO) (T `(LISTGET ,PLACE ,INDICATOR]) (DEFOPTIMIZER CL:SYMBOL-PLIST (CL:SYMBOL) `(GETPROPLIST ,CL:SYMBOL)) (CL:DEFSETF GET %%SET-GET) (CL:DEFSETF CL:SYMBOL-PLIST SETPROPLIST) (CL:DEFSETF CL:SYMBOL-VALUE SET) (CL:DEFSETF CL:SYMBOL-FUNCTION SETF-SYMBOL-FUNCTION) (DEFMACRO %%SET-GET (SYMBOL INDICATOR NEWVALUE &OPTIONAL EXTRAVALUE) (* ;; "SETF-INVERSE for GET. This would be simply PUTPROP if GET had exactly two args. However, if the GET form had optional 3rd arg, it shows up in the NEWVALUE position and the actual new value is EXTRAVALUE") `(PUTPROP ,SYMBOL ,INDICATOR ,(CL:IF EXTRAVALUE `(PROGN ,NEWVALUE ,EXTRAVALUE) NEWVALUE))) (PUTPROPS CMLSYMBOL FILETYPE CL:COMPILE-FILE) (PUTPROPS CMLSYMBOL COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1990)) (DECLARE%: DONTCOPY (FILEMAP (NIL))) STOP