1
0
mirror of https://github.com/PDP-10/its.git synced 2026-05-23 13:56:15 +00:00
Files
PDP-10.its/src/libmax/gprelu.22
Eric Swenson 19dfa40b9e Adds LIBMAX AND MAXTUL FASL files. These are prerequisites for
building and running Macsyma.  Resolves #710 and #711.
2018-03-09 07:47:00 +01:00

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)))