Google
 

Trailing-Edge - PDP-10 Archives - clisp - clisp/upsala/provide.lap
There are no other files named provide.lap in the archive.
;;; CLC vP.U.V.1(2) compiling CARMEN::SS:<CLISP.UPSALA>PROVIDE.CLISP.14

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (*MODULES* PROVIDE REQUIRE *REQUIRE-VERBOSE* *MODULE-FILE-TRANSLATIONS* *CLISP-MODULES-FILE*))) 
(DEFVAR *MODULES* (QUOTE NIL) "This is a list of (case-sensitive) names of modules that have been loaded
  into the LISP system so far.  Normally a module will update this list using 
  provide, and require will check it before loading its files.") 
(DEFVAR *MODULE-FILE-TRANSLATIONS* (QUOTE NIL) "This is an a-list mapping modules to lists of file names. Normally
  it is read from the file *clisp-modules-file* when CLisp sees the
  first REQUIRE.  The user can change this or add to this before
  CLisp reads the first REQUIRE; when reading in the a-list from
  *clisp-modules-file*, will only add NEW entries onto the a-list.") 
(DEFVAR *CLISP-MODULES-FILE* "clisp-modules.clisp" "This is the string name of a file whose first sexpression should
  be an a-list mapping module names (case-sensitive strings) to lists
  of files which should be loaded when requiring that module.") 
(DEFVAR *REQUIRE-VERBOSE* T "If non-nil, require prints out which files are loaded.") 
(%PUT (QUOTE PROVIDE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Tell the LISP system that the module whose (case-sensitive) name is
  Module-name has already been loaded. Returns nil.")) 

#_(LAP #0_PROVIDE EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*MODULES* :TEST STRING=)
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 2))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 1))
             (CALL ADJOIN 4)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O1 NIL)
             (MOVEI N 1)
             (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE PROVIDE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (MODULE-NAME))) 
(%PUT (QUOTE PROVIDE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PROVIDE.CLISP.14") (GET (QUOTE PROVIDE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE REQUIRE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "This tests whether the module whose (case-sensitive) name is
  Module-name has already been loaded.  If not, it attempts to load
  the module from the files on Pathname, or uses the following method
  if no pathname is provided: The files loaded are those which appear
  with the module in the a-list *Module-file-translations*, or in the
  *Clisp-modules-file*, or simply the single file
  <Module-name>.Clisp or .Lap (whichever is youngest), or looks for it on
  CLISP:.  Tell which files are loaded if *require-verbose* is non-NIL.
  Returns whether the module was loaded.")) 

#_(LAP #0_REQUIRE EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*MODULES* :TEST STRING= *CLISP-MODULES-FILE* *MODULE-FILE-TRANSLATIONS* *LOAD-VERBOSE* *REQUIRE-VERBOSE* :IF-DOES-NOT-EXIST "Could not find file " *STANDARD-OUTPUT* 0 "." T)
       (CODE-START)
(LABEL 1)    (MOVE O2 NIL)
(LABEL 2)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -6 Q)
             (MOVE O4 (CONSTANT 2))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 1))
             (CALL MEMBER 4)
             (JUMPN O1 5)
             (SKIPE NIL (SPECIAL 0))
             (JRST 8)
             (MOVE O1 (SPECIAL 3))
             (CALL PATHNAME 1)
             (CALL PROBE-FILE 1)
             (SKIPN NIL O1)
(LABEL 8)    (JRST 7)
             (MOVE O1 (SPECIAL 3))
             (CALL OPEN 1)
             (MOVEM O1 -6 Q)
             (ICALL CUNWIND)
             (JRST 10)
             (JRST 11)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -5 Q)
             (MOVE O1 -6 Q)
             (CALL READ 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL APPEND 2)
             (MOVEM O1 (SPECIAL 4))
             (POPJ P)
(LABEL 10)   (MOVE O1 -6 Q)
             (CALL CLOSE 1)
             (POPJ P)
(LABEL 11)
(LABEL 7)    (MOVE O1 -7 Q)
             (CALL LISTP 1)
             (JUMPN O1 14)
             (MOVE O1 -7 Q)
             (CALL LIST 1)
             (MOVEM O1 -7 Q)
(LABEL 14)   (MOVE O5 -7 Q)
             (MOVEM O5 -6 Q)
(LABEL 20)   (SKIPE NIL -6 Q)
             (JRST 21)
             (JRST 16)
(LABEL 21)   (MOVE O1 -6 Q)
             (MOVE O1 0 O1)
             (CALL PATHNAME 1)
             (MOVE O2 O1)
             (MOVE O1 -6 Q)
             (CALL RPLACA 2)
             (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (JRST 20)
(LABEL 16)   (SKIPN NIL -7 Q)
             (JRST 23)
             (MOVE O1 (SPECIAL 6))
             (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O5 -7 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
(LABEL 29)   (MOVE O1 -5 Q)
             (CALL ATOM 1)
             (JUMPE O1 30)
             (JRST 25)
(LABEL 30)   (MOVE O3 NIL)
             (MOVE O1 -4 Q)
             (MOVE O2 (CONSTANT 7))
             (CALL LOAD 3)
             (JUMPN O1 32)
             (MOVE O1 -4 Q)
             (CALL LISP::MAKE-CLISP-DEVICE-PATHNAME 1)
             (MOVEM O1 -3 Q)
             (MOVE O3 NIL)
             (MOVE O2 (CONSTANT 7))
             (CALL LOAD 3)
             (JUMPN O1 34)
             (SKIPN NIL (SPECIAL 6))
             (JRST 36)
             (MOVE O5 (SPECIAL 9))
             (MOVEM O5 -1 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 8))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 10))
             (CALL LISP::%SP-WRITE-STRING 4)
             (MOVE O1 -4 Q)
             (CALL PRIN1 1)
             (MOVE O5 (SPECIAL 9))
             (MOVEM O5 -1 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 11))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 10))
             (CALL LISP::%SP-WRITE-STRING 4)
             (CALL TERPRI 0)
(LABEL 36)
(LABEL 34)
(LABEL 32)   (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -4 Q)
             (JRST 29)
(LABEL 25)   (UNBIND 1)
             (JRST 24)
(LABEL 23)   (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -4 Q)
             (MOVE O4 (CONSTANT 2))
             (MOVE O1 -8 Q)
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 1))
             (CALL ASSOC 4)
             (MOVE O1 1 O1)
             (SKIPE NIL O1)
             (MOVEM O1 -6 Q)
             (JUMPN O1 38)
             (MOVE O1 -8 Q)
             (CALL LIST 1)
             (MOVEM O1 -6 Q)
(LABEL 38)   (MOVE O1 (SPECIAL 6))
             (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O5 -6 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
(LABEL 43)   (MOVE O1 -4 Q)
             (CALL ATOM 1)
             (JUMPE O1 44)
             (JRST 39)
(LABEL 44)   (MOVE O1 -3 Q)
             (CALL PATHNAME 1)
             (MOVEM O1 -3 Q)
             (MOVE O3 NIL)
             (MOVE O2 (CONSTANT 7))
             (CALL LOAD 3)
             (JUMPN O1 46)
             (MOVE O1 -3 Q)
             (CALL LISP::MAKE-CLISP-DEVICE-PATHNAME 1)
             (MOVEM O1 -2 Q)
             (MOVE O3 NIL)
             (MOVE O2 (CONSTANT 7))
             (CALL LOAD 3)
             (JUMPN O1 48)
             (SKIPN NIL (SPECIAL 6))
             (JRST 50)
             (MOVE O5 (SPECIAL 9))
             (MOVEM O5 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 8))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 10))
             (CALL LISP::%SP-WRITE-STRING 4)
             (MOVE O1 -3 Q)
             (CALL PRIN1 1)
             (MOVE O5 (SPECIAL 9))
             (MOVEM O5 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 11))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 10))
             (CALL LISP::%SP-WRITE-STRING 4)
             (CALL TERPRI 0)
(LABEL 50)
(LABEL 48)
(LABEL 46)   (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -3 Q)
             (JRST 43)
(LABEL 39)   (UNBIND 1)
(LABEL 24)   (MOVE O1 (CONSTANT 12))
             (MOVEI N 1)
             (JRST 4)
(LABEL 5)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE REQUIRE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (MODULE-NAME &OPTIONAL PATHNAME))) 
(%PUT (QUOTE REQUIRE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PROVIDE.CLISP.14") (GET (QUOTE REQUIRE) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_MODIFY-PATHNAME-TYPE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(:HOST :DEVICE :DIRECTORY :NAME :TYPE :VERSION :NEWEST)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (CALL PATHNAME-HOST 1)
             (MOVEM O1 -3 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -2 Q)
             (MOVE O1 -6 Q)
             (CALL PATHNAME-DEVICE 1)
             (MOVEM O1 -1 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 0 Q)
             (MOVE O1 -6 Q)
             (CALL PATHNAME-DIRECTORY 1)
             (PUSH Q O1)
             (PUSH Q (CONSTANT 3))
             (MOVE O1 -8 Q)
             (CALL PATHNAME-NAME 1)
             (PUSH Q O1)
             (PUSH Q (CONSTANT 4))
             (PUSH Q -9 Q)
             (PUSH Q (CONSTANT 5))
             (PUSH Q (CONSTANT 6))
             (MOVE O1 -11 Q)
             (MOVE O2 -10 Q)
             (MOVE O3 -9 Q)
             (MOVE O4 -8 Q)
             (MOVE O5 -7 Q)
             (CALL MAKE-PATHNAME 12)
             (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE MODIFY-PATHNAME-TYPE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PATHNAME TYPE))) 
(%PUT (QUOTE MODIFY-PATHNAME-TYPE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PROVIDE.CLISP.14") (GET (QUOTE MODIFY-PATHNAME-TYPE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAKE-CLISP-DEVICE-PATHNAME) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Make a pathname just like the argument, but on logical device CLISP:")) 

#_(LAP #0_MAKE-CLISP-DEVICE-PATHNAME EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(:HOST :DEVICE "Clisp" :DIRECTORY :NAME :TYPE :VERSION :NEWEST)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (CALL PATHNAMEP 1)
             (JUMPE O1 3)
             (MOVE O5 -6 Q)
             (MOVEM O5 -5 Q)
             (JRST 4)
(LABEL 3)    (MOVE O1 -6 Q)
             (CALL PARSE-NAMESTRING 1)
             (MOVEM O1 -5 Q)
(LABEL 4)    (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (CALL PATHNAME-HOST 1)
             (MOVEM O1 -3 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q NIL)
             (PUSH Q (CONSTANT 4))
             (MOVE O1 -7 Q)
             (CALL PATHNAME-NAME 1)
             (PUSH Q O1)
             (PUSH Q (CONSTANT 5))
             (MOVE O1 -9 Q)
             (CALL PATHNAME-TYPE 1)
             (PUSH Q O1)
             (PUSH Q (CONSTANT 6))
             (PUSH Q (CONSTANT 7))
             (MOVE O1 -11 Q)
             (MOVE O2 -10 Q)
             (MOVE O3 -9 Q)
             (MOVE O4 -8 Q)
             (MOVE O5 -7 Q)
             (CALL MAKE-PATHNAME 12)
             (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE MAKE-CLISP-DEVICE-PATHNAME) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PATHNAME))) 
(%PUT (QUOTE MAKE-CLISP-DEVICE-PATHNAME) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PROVIDE.CLISP.14") (GET (QUOTE MAKE-CLISP-DEVICE-PATHNAME) (QUOTE %SOURCE-DOCUMENTATION))))