(FILECREATED "25-JAN-83 16:38:09" {PHYLUM}<LISPUSERS>COMPILEFORMSLIST.;2 1440 changes to: (FNS COMPILEFORMSLIST) previous date: "17-JAN-79 08:20:41" {PHYLUM}<LISPUSERS>COMPILEFORMSLIST.;1) (* Copyright (c) 1983 by Xerox Corporation) (PRETTYCOMPRINT COMPILEFORMSLISTCOMS) (RPAQQ COMPILEFORMSLISTCOMS [(FNS COMPILEFORMSLIST) (DECLARE: EVAL@COMPILE DONTCOPY (P (RESETSAVE DWIMIFYCOMPFLG T]) (DEFINEQ (COMPILEFORMSLIST [LAMBDA (VAR) (* bas: "25-JAN-83 16:37") (* Compiles the list of forms bound to VAR (e.g. AFTERSYSOUTFORMS) as a single function and changes the binding of VAR to a single form calling that function) (if (LISTP (GETATOMVAL VAR)) then (RESETVARS (LAPFLG SVFLG LCFIL (STRF T) (LSTFIL T)) (PROG [(FN (PACK* VAR (GENSYM))) (DEF (CONS (QUOTE LAMBDA) (CONS NIL (GETATOMVAL VAR] (if (EQ FN (if BYTECOMPFLG then (BYTECOMPILE2 FN DEF) else (COMPILE2 FN DEF))) then (* Otherwise compiler failed) (PUT FN (QUOTE EXPR) DEF) (* Save symbolics for future reference) (SETATOMVAL VAR (LIST (LIST FN]) ) (DECLARE: EVAL@COMPILE DONTCOPY (RESETSAVE DWIMIFYCOMPFLG T) ) (PUTPROPS COMPILEFORMSLIST COPYRIGHT ("Xerox Corporation" 1983)) (DECLARE: DONTCOPY (FILEMAP (NIL (426 1289 (COMPILEFORMSLIST 436 . 1287))))) STOP