mirror of
https://github.com/PDP-10/its.git
synced 2026-05-23 13:56:15 +00:00
86 lines
2.8 KiB
Common Lisp
Executable File
86 lines
2.8 KiB
Common Lisp
Executable File
;; -*- Mode: Lisp -*-
|
|
|
|
;; This file is to be included by various randoms who want the the more winning
|
|
;; lisp-machine like lisp environment provided by LIBMAX;PRELUD, but who don't
|
|
;; want the other completely random things which are part of the macsyma
|
|
;; compilation environment.
|
|
;; 6:15pm Thursday, 5 January 1980 -GJC
|
|
|
|
;; This file loads a part of the Macsyma compile-time environment. These
|
|
;; packages will be loaded when the source file is either compiled or
|
|
;; interpreted. They are not loaded by compiled code. For more information,
|
|
;; see LIBMAX;-READ- -THIS- and MAXDOC;LIBMAX >.
|
|
|
|
(EVAL-WHEN
|
|
(EVAL COMPILE)
|
|
(OR (GET 'UMLMAC 'VERSION) (LOAD "LISP;UMLMAC"))
|
|
(OR (GET 'LMMAC 'VERSION) (LOAD "LIBMAX;LMMAC"))
|
|
(or (get 'mlmac 'version) (load '((lisp)mlmac)))
|
|
(or (get 'maxmac 'version) (load '((libmax)maxmac)))
|
|
(PUTPROP 'META-EVAL '((DSK LIBMAX)META) 'AUTOLOAD)
|
|
|
|
(DEFMACRO AUTOLOAD-MACROS (FILE &REST MACROS)
|
|
`(PROGN (MAPC '(LAMBDA (U)(PUTPROP U ',FILE 'AUTOLOAD))
|
|
',MACROS)
|
|
(COND (COMPILER-STATE
|
|
(MAPC '(LAMBDA
|
|
(U)
|
|
(OR (GET U 'MACRO)
|
|
(PUTPROP U
|
|
'(LAMBDA (FORM)
|
|
(LOAD (GET (CAR FORM)
|
|
'AUTOLOAD))
|
|
FORM)
|
|
'MACRO)))
|
|
',MACROS)))))
|
|
(AUTOLOAD-MACROS ((LIBLSP)STRUCT) DEFSTRUCT)
|
|
(AUTOLOAD-MACROS ((LIBLSP)LOOP) LOOP)
|
|
(AUTOLOAD-MACROS ((LIBMAX)PROCS)
|
|
DEF-PROCEDURE-PROPERTY
|
|
CALL-PROCEDURE-PROPERTY)
|
|
(AUTOLOAD-MACROS ((LIBMAX)CLOSE) DEFCLOSURE CALL)
|
|
(AUTOLOAD-MACROS ((LIBMAX)OPSHIN) DEF-OPTIONS)
|
|
(AUTOLOAD-MACROS ((LIBMAX)READM) |DEF#\SYMBOL|)
|
|
(DEFPROP PARSE-OPTION-HEADER ((LIBMAX)OPSHIN) AUTOLOAD)
|
|
(SETQ MACRO-FILES '(UMLMAC LMMAC mlmac)))
|
|
|
|
|
|
;; Print macro versions in the unfasl file.
|
|
|
|
(EVAL-WHEN (COMPILE)
|
|
(LET ((UNFASL (IF (EQ (CAAR (NAMELIST (CAR CMSGFILES))) 'DSK)
|
|
(CAR CMSGFILES)
|
|
(CADR CMSGFILES))))
|
|
(FORMAT UNFASL "~%;; Compilation by ~A~%"
|
|
(STATUS UNAME))
|
|
(FORMAT UNFASL ";; ~15A~A~%"
|
|
"Prelude file:"
|
|
(LET ((X (TRUENAME INFILE)))
|
|
(NAMESTRING (CONS (CDAR X) (CDR X)))))
|
|
(FORMAT UNFASL ";; ~15A" "Macro files:")
|
|
(FORMAT UNFASL "~{~<~%;; ~15X~:;~A ~A~>~^, ~}~%"
|
|
(MAPCAN #'(LAMBDA (X) `(,X ,(GET X 'VERSION)))
|
|
MACRO-FILES)
|
|
)))
|
|
|
|
;; Make DEFUN retain useful debugging information about the format
|
|
;; of the bound variable list.
|
|
|
|
(DECLARE (SETQ DEFUN&-CHECK-ARGS T))
|
|
|
|
;; Place macros in fasl file, and include code for displacing within
|
|
;; the interpreter.
|
|
|
|
(DECLARE (SETQ DEFMACRO-FOR-COMPILING T)
|
|
(SETQ DEFMACRO-DISPLACE-CALL T)
|
|
(MACROS T))
|
|
|
|
(EVAL-WHEN (EVAL LOAD COMPILE)
|
|
; make sure DEFSTRUCT is always around
|
|
(mapc '(lambda (x)
|
|
(putprop x '((liblsp)struct) 'autoload))
|
|
'(defstruct
|
|
defstruct-cons defstruct-ref
|
|
defstruct-expand-ref-macro defstruct-expand-cons-macro
|
|
defstruct-expand-alter-macro
|
|
defstruct-get-property defstruct-put-property))) |