(DEFINE-FILE-INFO §PACKAGE "INTERLISP" §READTABLE "INTERLISP" §BASE 10) (FILECREATED "22-Dec-86 18:42:34" {ERIS}LISPCORE>COMPILEBANG.;3 3465 changes to%: (FNS COMPILE!) previous date%: "18-Nov-86 22:23:43" {ERIS}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