;; These are the macros for conditionalizing on MACLISP or LISPM -*-LISP-*- ;THESE ARE CONDITIONAL ON WHICH SYSTEM IS EXECUTING THEM. (MACRO IF-IN-MACLISP (X) (COND ((NOT (STATUS FEATURE LISPM)) (CADR X)))) (MACRO IF-IN-LISPM (X) (COND ((STATUS FEATURE LISPM) (CADR X)))) ;THESE ARE CONDITIONAL ON WHICH SYSTEM RESULT IS INTENDED "FOR ". ; THIS IS THE SAME AS WHICH SYSTEM IS "IN" EXCEPT IN THE CASE ; COMPILING IN MACLISP FOR LISPM (IE QCMP, AFTER COMPILER ITSELF HAS ; BEEN LOADED). THE COMPILING-FOR-LISPM SWITCH IS SET BY .LISP. (INIT) ; AFTER QCMP HAS BEEN LOADED. (MACRO IF-FOR-MACLISP (X) (COND ((AND (NOT (STATUS FEATURE LISPM)) ;IN MACLISP (OR (NOT (BOUNDP 'COMPILING-FOR-LISPM)) (NULL COMPILING-FOR-LISPM))) `(PROGN 'COMPILE . ,(CDR X))))) (MACRO IF-FOR-LISPM (X) (COND ((OR (STATUS FEATURE LISPM) (AND (BOUNDP 'COMPILING-FOR-LISPM) COMPILING-FOR-LISPM)) `(COMPILER-LET ((RUN-IN-MACLISP-SWITCH NIL)) (PROGN 'COMPILE . ,(CDR X)))))) (MACRO IF-FOR-MACLISP-ELSE-LISPM (X) (COND ((NOT (STATUS FEATURE LISPM)) (COND ((OR (NOT (BOUNDP 'COMPILING-FOR-LISPM)) ;QCMP DEFINES THIS TO T (NULL COMPILING-FOR-LISPM)) (CADR X)) (T `(COMPILER-LET ((RUN-IN-MACLISP-SWITCH NIL)) ,(CADDR X))))) ;COMPLR DOESNT KNOW (OR CARE) ABOUT COMPILER-LET. (T (CADDR X))))