(FILECREATED "29-Sep-86 12:40:18" ("compiled on " {ERIS}SOURCES>MACROS.;47) "27-Sep-86 00:33:58" in "Xerox Lisp 27-Sep-86 ..." dated "27-Sep-86 00:51:47") (FILECREATED "29-Sep-86 12:39:35" {ERIS}SOURCES>MACROS.;47 47822 changes to: (MACROS SELECTC ) previous date: "23-Jul-86 23:40:59" {ERIS}SOURCES>MACROS.;46) (RPAQQ MACROSCOMS ((PROP MACRO NEQ NLISTP ZEROP ADD1 SUB1 SETQQ ERSETQ NLSETQ RPTQ NCONC1 XNLSETQ UNDONLSETQ RESETVAR RESETFORM RESETLST RESETSAVE RESETTOPVALS RESETBUFS SELECT SELECTC IGEQ ILEQ GEQ LEQ FLESSP IMIN IMAX PROG2 EVENP ODDP SIGNED UNSIGNED LIST*) (COMS (* "obsolete Interlisp macro functions") (FNS EXPANDMACRO MACROEXPANSION EXPAND-DEFMACRO COMPUTE-MACRO-ARGS MACROS.GETDEF GETMACROPROP EXPANDOPENLAMBDA) (GLOBALVARS NOFIXFNSLST BYTECOMPFLG CLISPARRAY BYTEMACROPROP)) (PROP MACRO CONSTANT LOADTIMECONSTANT DEFERREDCONSTANT) (FNS CSELECT) (COMS (FNS PRINTCOMSTRAN) (GLOBALVARS COMMENTFLG LCASEFLG PRINTOUTMACROS) (ADDVARS (PRINTOUTMACROS)) (VARS PRINTOUTTOKENS) (PROP INFO PRINTOUT printout) (PROP MACRO PRINTOUT printout)) (ADDVARS * (LIST (CONS ( QUOTE SYSPROPS) MACROPROPS))) (PROP PROPTYPE * (PROGN MACROPROPS)) (PROP SETFN GETTOPVAL) (PROP FILETYPE MACROS) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA COMPUTE-MACRO-ARGS EXPAND-DEFMACRO))))) (PUTPROPS NEQ MACRO ((X Y) (NULL (EQ X Y)))) (PUTPROPS NLISTP MACRO ((X) (NULL (LISTP X)))) (PUTPROPS ZEROP MACRO (OPENLAMBDA (X) (COND ((EQ X 0)) ((FLOATP X) (FEQP X 0.0))))) (PUTPROPS ADD1 MACRO ((X) (IPLUS X 1))) (PUTPROPS SUB1 MACRO ((X) (IDIFFERENCE X 1))) (PUTPROPS SETQQ MACRO ((X V) (SETQ X (QUOTE V)))) (PUTPROPS ERSETQ MACRO ((X) (.ERRSETQ. X T))) (PUTPROPS NLSETQ MACRO ((X . Y) (.ERRSETQ. (PROGN X . Y) NIL))) (PUTPROPS RPTQ MACRO ((N . FORMS) (PROG ((RPTN N) RPTV) (DECLARE (LOCALVARS RPTN RPTV)) RPTQLAB (COND ((IGREATERP RPTN 0) (SETQ RPTV (PROGN . FORMS)) (SETQ RPTN (SUB1 RPTN)) (GO RPTQLAB))) (RETURN RPTV))) ) (PUTPROPS NCONC1 MACRO ((LST X) (NCONC LST (CONS X)))) (PUTPROPS XNLSETQ MACRO ((X FLG FN) (.ERRSETQ. X FLG FN))) (PUTPROPS UNDONLSETQ MACRO ((UNDOFORM UNDOFN) (PROG ((LISPXHIST LISPXHIST) UNDOSIDE0 UNDOSIDE UNDOTEM) (DECLARE (SPECVARS LISPXHIST)) (COND ((LISTP (SETQ UNDOSIDE (LISTGET1 LISPXHIST (QUOTE SIDE)))) (SETQ UNDOSIDE0 (CDR UNDOSIDE))) (T (SETQ UNDOSIDE0 UNDOSIDE) (SETQ UNDOSIDE (LIST 0)) (COND (LISPXHIST ( LISTPUT1 LISPXHIST (QUOTE SIDE) UNDOSIDE)) (T (SETQ LISPXHIST (LIST (QUOTE SIDE) UNDOSIDE)))))) ( RESETVARS (#UNDOSAVES) (SETQ UNDOTEM (XNLSETQ UNDOFORM NIL UNDOFN))) (COND ((EQ UNDOSIDE0 (QUOTE NOSAVE)) (LISTPUT1 LISPXHIST (QUOTE SIDE) (QUOTE NOSAVE))) (T (UNDOSAVE))) (COND (UNDOTEM (RETURN UNDOTEM))) (UNDONLSETQ1 (CDR UNDOSIDE) (LISTP UNDOSIDE0)) (RETURN)))) (PUTPROPS RESETVAR MACRO ((VAR VAL FORM) (PROG (MACROX MACROY) (SETQ MACROX (SETQ RESETVARSLST (CONS ( CONS (QUOTE VAR) (CONS (STKSCAN (QUOTE VAR)) (GETATOMVAL (QUOTE VAR)))) RESETVARSLST))) (SETQ MACROY ( XNLSETQ (PROGN (SETATOMVAL (QUOTE VAR) VAL) FORM) (QUOTE INTERNAL))) (SETATOMVAL (QUOTE VAR) (CDDAR MACROX)) (SETQ RESETVARSLST (CDR MACROX)) (COND (MACROY (RETURN (CAR MACROY)))) (ERROR!)))) (PUTPROPS RESETFORM MACRO (OPENX (SUBPAIR (QUOTE (FN FORM . EXPRESSIONS)) (CONS (CAAR OPENX) OPENX) ( QUOTE (PROG ((OLDVALUE FORM) MACROX MACROY RESETSTATE) (DECLARE (LOCALVARS MACROX MACROY)) (SETQ MACROX (SETQ RESETVARSLST (CONS (LIST (LIST (QUOTE FN) OLDVALUE)) RESETVARSLST))) (COND ((NOT (XNLSETQ (SETQ MACROY (PROGN . EXPRESSIONS)) INTERNAL)) (SETQ RESETSTATE (QUOTE ERROR)))) (SETQ RESETVARSLST ( CDR MACROX)) (APPLY (QUOTE FN) (CDAAR MACROX)) (RETURN (COND (RESETSTATE (ERROR!)) (T MACROY)))))))) (PUTPROPS RESETLST MACRO ((X . Y) (PROG (RESETY RESETZ (LISPXHIST LISPXHIST)) (RESETRESTORE RESETVARSLST (SETQ RESETZ (COND ((XNLSETQ (SETQ RESETY (PROGN X . Y)) INTERNAL) NIL) (T (QUOTE ERROR)) ))) (RETURN (COND (RESETZ (ERROR!)) (T RESETY)))))) (PUTPROPS RESETSAVE MACRO (X (LIST (QUOTE SETQ) (QUOTE RESETVARSLST) (LIST (QUOTE CONS) (COND ((AND ( ATOM (CAR X)) (CAR X)) (SUBPAIR (QUOTE (VAR VAL)) X (QUOTE (PROG1 (CONS (QUOTE VAR) (CONS (STKSCAN ( QUOTE VAR)) (GETATOMVAL (QUOTE VAR)))) (SETATOMVAL (QUOTE VAR) VAL))))) ((CDR X) (LIST (QUOTE LIST) ( CADR X) (CAR X))) (T (LIST (QUOTE LIST) (LIST (QUOTE LIST) (LIST (QUOTE QUOTE) (COND ((EQ (CAAR X) ( QUOTE SETQ)) (CAR (CADDAR X))) (T (CAAR X)))) (CAR X))))) (QUOTE RESETVARSLST))))) (PUTPROPS RESETTOPVALS MACRO (ARGS (CONS (QUOTE RESETLST) (NCONC (MAPCAR (CAR ARGS) (FUNCTION (LAMBDA (V) (CONS (QUOTE RESETSAVE) V)))) (CDR ARGS))))) (PUTPROPS RESETBUFS MACRO ((A . B) ((LAMBDA ($$BUFS) (DECLARE (LOCALVARS $$BUFS)) (PROG1 (PROGN A . B) (AND $$BUFS (BKBUFS $$BUFS)))) (PROGN (LINBUF) (SYSBUF) (CLBUFS NIL T READBUF))))) (PUTPROPS SELECT MACRO (X (CSELECT X))) (PUTPROPS SELECTC MACRO (F (CONS (QUOTE SELECTQ) (CONS (CAR F) (MAPLIST (CDR F) (FUNCTION (LAMBDA (I) (COND ((CDR I) (CONS (EVAL (CAAR I)) (CDAR I))) (T (CAR I)))))))))) (PUTPROPS IGEQ MACRO ((X Y) (NOT (ILESSP X Y)))) (PUTPROPS ILEQ MACRO ((X Y) (NOT (IGREATERP X Y)))) (PUTPROPS GEQ MACRO ((X Y) (NOT (LESSP X Y)))) (PUTPROPS LEQ MACRO ((X Y) (NOT (GREATERP X Y)))) (PUTPROPS FLESSP MACRO (LAMBDA (X Y) (FGREATERP Y X))) (PUTPROPS IMIN MACRO (DEFMACRO (&OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) ( COND ((NOT ARG1GIVEN) (QUOTE MAX.INTEGER)) ((NOT ARG2GIVEN) (BQUOTE (FIX , ARG1))) (RESTARGS (BQUOTE ( IMIN (IMIN2 , ARG1 , ARG2) ., RESTARGS))) (T (LIST (QUOTE IMIN2) ARG1 ARG2))))) (PUTPROPS IMAX MACRO (DEFMACRO (&OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) ( COND ((NOT ARG1GIVEN) (QUOTE MIN.INTEGER)) ((NOT ARG2GIVEN) (BQUOTE (FIX , ARG1))) (RESTARGS (BQUOTE ( IMAX (IMAX2 , ARG1 , ARG2) ., RESTARGS))) (T (BQUOTE (IMAX2 , ARG1 , ARG2)))))) (PUTPROPS PROG2 MACRO ((X . Y) (PROGN X (PROG1 . Y)))) (PUTPROPS EVENP MACRO (DEFMACRO (N &OPTIONAL (MODULUS 2)) (BQUOTE (EQ 0 (IMOD , N , MODULUS))))) (PUTPROPS ODDP MACRO ((X . TAIL) (NOT (EVENP X . TAIL)))) (PUTPROPS SIGNED MACRO (ARGS (COND ((EQ COMPILE.CONTEXT (QUOTE EFFECT)) (CAR ARGS)) (T (CONS (QUOTE ( OPENLAMBDA (N WIDTH) (COND ((IGREATERP N (SUB1 (LLSH 1 (SUB1 WIDTH)))) (* done this way just so that ( SIGNED X %2^16) doesn't box) (SUB1 (IDIFFERENCE N (SUB1 (LLSH 1 WIDTH))))) (T N)))) ARGS))))) (PUTPROPS UNSIGNED MACRO ((X WIDTH) (LOGAND X (SUB1 (LLSH 1 WIDTH))))) (PUTPROPS LIST* MACRO (X (COND ((NULL X) NIL) ((NULL (CDR X)) (CAR X)) ((NULL (CDDR X)) (CONS (QUOTE CONS) X)) (T (LIST (QUOTE CONS) (CAR X) (CONS (QUOTE LIST*) (CDR X))))))) EXPANDMACROA0001 D1 (NAME ERRORSET F 0 EXP F 1 MACROY) Phi i ci(12Q TERPRI 5 PRINTDEF) NIL () EXPANDMACRO D1 (P 11Q RESETSTATE P 10Q MACROY P 6 OLDVALUE P 5 PCF P 4 NCF P 3 MACRODEF P 2 ALLFLG P 1 EFF P 0 VCF I 3 COMPILE.CONTEXT I 2 OPTIONS I 1 QUIETFLG I 0 EXP F 12Q RESETVARSLST F 13Q COMPILERMACROPROPS) CghCgB@1Jg@d` ` b@W @dK bJA@i 1 gNhhWc_og hig_OcgO Oh(213Q ERROR! 203Q APPLY 147Q EXPANDMACROA0001 111Q OUTPUT 72Q MACROEXPANSION 63Q GETMACROPROP 50Q GETHASH 41Q GETHASH) (173Q OUTPUT 157Q ERROR 144Q INTERNAL 117Q OUTPUT 45Q CLISPARRAY 36Q CLISPARRAY 26Q CLISP 12Q EFFECT 3 EFFECT) ( 141Q (EXPANDMACROA0001)) MACROEXPANSION D1 (P 5 PREDF P 4 PCF P 3 NCF P 2 VCF P 1 EFF P 0 EXP I 3 COMPILE.CONTEXT I 2 COMPFLG I 1 MACRODEF I 0 EXPR F 6 LAMBDASPLST) A@AdgAdgdgA@dgA@dgA@ dgdggA@ Ad@AdgA lAdVBgA@ @CgCgh3gA@ bgJA(261Q APPLY 225Q APPLY 171Q SUBPAIR 135Q EXPAND-DEFMACRO 103Q EXPANDOPENLAMBDA) (267Q IGNOREMACRO 252Q NLAMBDA 241Q EFFECT 234Q EFFECT 216Q NLAMBDA 160Q PROGN 125Q DEFMACRO 117Q APPLY* 110Q APPLY 72Q OPENLAMBDA 56Q = 42Q NLAMBDA 34Q LAMBDA 21Q PROGN) () EXPAND-DEFMACROA0001 D1 (F 0 DEF) gP (10Q EVAL) (2 PROGN) () EXPAND-DEFMACRO D1 (L (2 DEFAULT-VALUE 1 FORM) P 3 *MACRO-VALS* P 2 *MACRO-VARS* P 1 *MACRO-DEFAULT* P 0 *MACRO-FORM* I 0 DEF) AB"@Ah JKg dgA(24Q \DO.PROGV 14Q COMPUTE-MACRO-ARGS) (30Q IGNOREMACRO 21Q EXPAND-DEFMACROA0001) () COMPUTE-MACRO-ARGS D1 (L (2 CONTEXT 1 MACRO-CALL-BODY 0 ARGUMENT-LIST) F 6 *MACRO-VARS* F 7 *MACRO-VALS* F 10Q *MACRO-FORM* F 11Q *MACRO-DEFAULT*) @h@Vc AWc@dgdg@Ah @Agbbbdg!@Wg @Agbbbdg!@hg @Agbbbydg@Agbbbadg@AgbbbHg@bdhi5@dgdgdghb@QH HHHHdH AY,hMHJL g @bJig KIIBdgU@B@!HHAIIhg @J gI@Ah Uig A>@Wg:g#@dHd H g Ao@ @Ah @Abb(743Q COMPUTE-MACRO-ARGS 732Q ERROR 710Q COMPUTE-MACRO-ARGS 702Q EVAL 630Q COMPUTE-MACRO-ARGS 616Q COMPUTE-MACRO-ARGS 576Q EVAL 566Q COMPUTE-MACRO-ARGS 475Q COMPUTE-MACRO-ARGS 451Q COMPUTE-MACRO-ARGS 443Q EVAL 420Q MAKE-KEYWORD 164Q COMPUTE-MACRO-ARGS 120Q COMPUTE-MACRO-ARGS 52Q COMPUTE-MACRO-ARGS) (705Q ONE 653Q AUX 646Q ONE 625Q ONE 601Q ONE 563Q ONE 522Q OPTIONAL 472Q ONE 446Q ONE 342Q &AUX 334Q &ALLOW-OTHER-KEYS 326Q &REST 276Q &KEY 260Q AUX 246Q &AUX 227Q OPTIONAL 215Q &OPTIONAL 173Q AUX-ONLY 161Q ONE 147Q &ENVIRONMENT 127Q AUX-ONLY 115Q ONE 101Q &WHOLE 61Q AUX-ONLY 36Q &BODY 30Q &REST) ( 726Q "macro body missing value for") MACROS.GETDEF D1 (I 2 OPTIONS I 1 TYPE I 0 NAME F 5 MACROPROPS) X@AH\I Uhi3LgLgg@Lg@LLhJ KhZLK&(21Q MKPROGN) (70Q PUTPROPS 57Q DEFMACRO 52Q DEFMACRO 40Q MACRO) () GETMACROPROP D1 (P 2 VAL P 1 X I 1 PROPS I 0 FN) A!Hh@I ZHX(20Q GETPROP) NIL () EXPANDOPENLAMBDA D1 (P 15Q A P 7 TMP P 6 GENARGS P 5 VAL P 4 SUBSTPAIRS P 3 VALS P 2 ARGS P 1 A P 0 FORMALS I 1 ACTUALS I 0 OPENLAM) @ HAHdhLKEhC] _'IO_ddi3higOhOLIJMKHAbi K_O3hiJJKKL@bLJ.L@ bJagJ ZggJh@K A 0 J*d O _OhiOh_OO&_OZ@ bA@ (402Q MKPROGN 377Q \NCONC2 365Q SUBPAIR 317Q PACK* 314Q GENSYM 272Q \APPEND2 266Q REVERSE 242Q REVERSE 225Q SUBLIS 51Q CONSTANTEXPRESSIONP) (251Q LOCALVARS 246Q DECLARE 236Q LAMBDA 105Q QUOTE) () (PUTPROPS CONSTANT MACRO (MACROX (PROG ((VAL (APPLY (QUOTE PROG1) MACROX))) (RETURN (COND ((CONSTANTOK VAL) (KWOTE VAL)) (T (CONS (QUOTE LOADTIMECONSTANT) MACROX))))))) (PUTPROPS LOADTIMECONSTANT MACRO ((X) (DEFERREDCONSTANT X))) (PUTPROPS DEFERREDCONSTANT MACRO (X (LIST (SUBST (CAR X) (QUOTE FORM) (QUOTE (LAMBDA (MACROX) (DECLARE (LOCALVARS MACROX)) (OR (CDR MACROX) (FRPLACD (FRPLACA MACROX (EVQ FORM)) T)) (CAR MACROX)))) (KWOTE (CONS))))) CSELECT D1 (L (0 L)) 0@d@lggP@\"KYHgooIh@hiLhR0 L3Lh,dgJH@h_OhiOh_OO&_O]dgM]LO Nh_LuN&_INIL (224Q OR 142Q EQ 57Q LAMBDA 32Q COND 26Q .SELEC.) ( 67Q (DECLARE (LOCALVARS .SELEC.)) 63Q (.SELEC.)) PRINTCOMSTRAN D1 (P 20Q RESETOUT P 17Q TEMP P 16Q ARG P 12Q WIDTH P 11Q POINT P 10Q TYPE P 7 ARG P 4 FORMATLIST P 3 VARS I 4 FROMDWIM I 3 FILEFORM I 2 MACROS I 1 TAIL I 0 FORM F 21Q PRINTOUTTOKENS F 22Q VARS F 23Q FAULTFN) ~D+0BdIhiHhZIH&JW"W$ !@A N2D@@hddW& C@kAb`Ahii_lhiOLO l.Ol _lIOlFhi}OlgOl _dk _3 hi\OKOgOlIggO0Ohi-OOkgOOk _dk I JhYJ&HhLN^@kChbiAB_i_ OAkMbAbAAb_dggAAbjggAAbOjOdigCggoCrOdgi_ AAb]ggAAbCHOgOgOgOdg6gAAbgCOgOgOgOghCg"AAb_gOd3 gO COgOgOdgLgggggCggOdggggOgghChhlggkC_OdgglCMgglC?OdggAAbC(ggAAbgChOdggAAbAbgOgOgOdg:gAAbAbjOgOgiOgOgiCgOdg$gAAbAbAbOghCjg(gggl hCggCoh?OL_gOAAb'O3 higOCjOgjOCgOhC_OOh__*O&_!CdO ggCChhOCgooOCCghgO(1703Q CHARACTER 1111Q PACK* 402Q SUBATOM 371Q STRPOS 271Q SUBATOM 260Q STRPOS 221Q NTHCHARCODE 203Q CHCON1 106Q DWIMIFY0? 53Q \APPEND2 50Q \APPEND2) (2170Q PROGN 2157Q $$OUTPUT 2134Q LAMBDA 2106Q OUTPUT 2103Q RESETFORM 2023Q TAB 2012Q SPACES 1775Q PRIN1 1746Q PRINTNUM 1717Q PROGN 1714Q POSITION 1676Q QUOTE 1673Q PRIN3 1670Q PROGN 1662Q .PAGE 1647Q .PARA2 1621Q PRINTPARA 1612Q .PARA2 1602Q .PARA 1564Q .CENTER2 1555Q .CENTER 1544Q .CENTER2 1535Q .FR2 1513Q FLUSHRIGHT 1504Q .CENTER2 1474Q .CENTER 1464Q .FR2 1454Q .FR 1432Q PRINTNUM 1423Q .N 1406Q TERPRI 1374Q FRPTQ 1366Q .SKIP 1350Q SPACES 1342Q .SP 1326Q SPACES 1321Q ,,, 1310Q SPACES 1302Q ,, 1267Q SPACES 1262Q , 1240Q  1232Q .BASE 1224Q  1217Q .SUP 1212Q  1204Q .SUB 1176Q QUOTE 1173Q PRIN3 1165Q SUPERSCRIPTFONT 1162Q CHANGEFONT 1157Q PROGN 1154Q FONTCHANGEFLG 1151Q AND 1142Q .BASE 1132Q .SUP 1122Q .SUB 1104Q FONT 1072Q CHANGEFONT 1052Q .FONT 1036Q .PPFTL 1026Q .PPVTL 1020Q .PPFTL 1010Q .PPF 1001Q POSITION 767Q PRINTDEF 760Q .PPVTL 750Q .PPFTL 740Q .PPV 730Q .PPF 710Q PRIN2 703Q .P2 657Q # 641Q PRIN1 634Q .RESET 625Q TERPRI 574Q TAB 567Q .TAB 551Q TAB 543Q .TAB0 360Q %. 332Q FLOAT 326Q FIX 315Q QUOTE 251Q %.) ( 2144Q (DECLARE (LOCALVARS $$OUTPUT)) 2140Q ($$OUTPUT) 1725Q (0) 645Q (CONSTANT (CHARACTER (CHARCODE CR)))) (ADDTOVAR PRINTOUTMACROS) (RPAQQ PRINTOUTTOKENS (.RESET .TAB # , ,, ,,, %.P2 .PPF .PPV .PPFTL .PPVTL .TAB0 .FR .FR2 .CENTER .CENTER2 .PARA .PARA2 .PAGE .FONT .SUP .SUB .BASE .SP .SKIP .N)) (PUTPROPS PRINTOUT INFO NOEVAL) (PUTPROPS printout INFO NOEVAL) (PUTPROPS PRINTOUT MACRO (DEFMACRO (&WHOLE X) (PRINTCOMSTRAN X (FUNCTION CDDR) PRINTOUTMACROS ( FUNCTION CADR)))) (PUTPROPS printout MACRO (DEFMACRO (&WHOLE X) (PRINTCOMSTRAN X (FUNCTION CDDR) PRINTOUTMACROS ( FUNCTION CADR)))) (ADDTOVAR SYSPROPS ALTOMACRO MACRO BYTEMACRO DMACRO) (PUTPROPS ALTOMACRO PROPTYPE MACROS) (PUTPROPS MACRO PROPTYPE MACROS) (PUTPROPS BYTEMACRO PROPTYPE MACROS) (PUTPROPS DMACRO PROPTYPE MACROS) (PUTPROPS GETTOPVAL SETFN SETTOPVAL) (PUTPROPS MACROS FILETYPE COMPILE-FILE) (PUTPROPS MACROS COPYRIGHT ("Xerox Corporation" 1984 1985 1986)) NIL