1 ;; -*- Mode: Lisp; Lowercase: True -*-
 2 
 3 ;; library.incl.lisp -- Selectively loads modules from bound_lisp_library_ into
 4 ;; either the compiler or interpreter environment.
 5 ;; Written:  October 1982 by Carl Hoffman
 6 
 7 (eval-when (eval compile)
 8   (mapc '(lambda (module)
 9                  (or (memq module (status features))
10                      (load (catenate (car (namelist (truename infile)))
11                                      ">lisp_" module "_"))))
12         '(backquote sharpsign destructuring_let defmacro setf
13                     macro_macros other_other defun defstruct loop)))
14 
15 (eval-when (eval compile)
16   (defun --load-myself-- macro (module)
17     (setq module (cadr module))
18     (list 'or
19           (list 'status 'feature module)
20           (list 'load (catenate (car (namelist (truename infile)))
21                                 ">lisp_" module "_")))))
22 
23 (--load-myself-- runtime)
24 (--load-myself-- format)
25 
26 ;; This is necessary for (defprop a b macro) forms and defuns produced
27 ;; by defmacro to appear in the object segment.
28 (declare (macros t))