(DEFINE-FILE-INFO §PACKAGE "INTERLISP" §READTABLE "INTERLISP" §BASE 10)(FILECREATED "22-Dec-86 18:42:34" {ERIS}<LISPUSERS>LISPCORE>COMPILEBANG.;3 3465         changes to%:  (FNS COMPILE!)      previous date%: "18-Nov-86 22:23:43" {ERIS}<LISPUSERS>LISPCORE>COMPILEBANG.;2)(* "Copyright (c) 1982, 1983, 1984, 1986 by Xerox Corporation.  All rights reserved.")(PRETTYCOMPRINT COMPILEBANGCOMS)(RPAQQ COMPILEBANGCOMS ((FNS COMPILE!)                        (LISPXMACROS C)                        (USERMACROS C)                        (COMMANDS C)                        (PROP FILETYPE COMPILEBANG)))(DEFINEQ(COMPILE!  [LAMBDA (X NOSAVE NOREDEFINE PRINTLAP)                     (* bvm%: "10-MAR-83 12:48")    (DECLARE (SPECVARS LCFIL LAPFLG STRF SVFLG LSTFIL SPECVARS LOCALVARS NLAMA NLAML LAMS LAMA                     NOFIXFNSLST NOFIXVARSLST))                    (* ;; "In-core compiling for functions and forms, without the interview.  If X is a list, we assume that we are being called merely to display the lap and machine code.  THe form is compiled as the definition of FOO but the compiled code is thrown away.  --- If X is a litatom, then saving, redefining, and printing is controlled by the flags.")    (RESETLST                                                (* ;              "RESETLST to provide reset context for macros under COMPILE1 as generated e.g. by DECL.")           (LET ((LCFIL)                 [LAPFLG (AND PRINTLAP (COND                                          (BYTECOMPFLG T)                                          (T 2]                 (STRF (NOT NOREDEFINE))                 (SVFLG (NOT NOSAVE))                 (LSTFIL T)                 (SPECVARS T)                 (LOCALVARS (COND                               ((NEQ LOCALVARS T)                                (UNION SYSLOCALVARS LOCALVARS))                               (T SYSLOCALVARS)))                 (NLAMA NLAMA)                 (NLAML NLAML)                 (LAMS LAMS)                 (LAMA LAMA)                 (NOFIXFNSLST NOFIXFNSLST)                 (NOFIXVARSLST NOFIXVARSLST))                (COMPILE1 (COND                             ((LITATOM X)                              X)                             (T '*DUMMY-COMPILED-FUNCTION*))                       (COND                          ((NLISTP X)                           (VIRGINFN X T))                          ((ARGTYPE X)                           X)                          (T (LIST 'LAMBDA NIL X)))                       T]))(ADDTOVAR LISPXMACROS (C (COND (LISPXLINE (COMPILE! (CAR LISPXLINE)                                                 NIL NIL T))                               (T C))))(ADDTOVAR USERMACROS [C NIL (ORR (UP 1)                                 NIL)                        (ORR ((E (COMPILE! (OR (LISTP (%##))                                               (%## !0))                                        T T T)))                             ((E 'C?])(ADDTOVAR EDITCOMSA C)(DEFCOMMAND (C :EVAL) (&REST LISPXLINE) (COND                                           (LISPXLINE (COMPILE! (CAR LISPXLINE)                                                             NIL NIL T))                                           (T C)))(PUTPROPS COMPILEBANG FILETYPE CL:COMPILE-FILE)(PUTPROPS COMPILEBANG COPYRIGHT ("Xerox Corporation" 1982 1983 1984 1986))(DECLARE%: DONTCOPY  (FILEMAP (NIL (622 2567 (COMPILE! 632 . 2565)))))STOP