Google
 

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

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (DEFMACRO DEFTYPE))) 
(%PUT (QUOTE %ARG-COUNT) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE %MIN-ARGS) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE %RESTP) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE %LET-LIST) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE %KEYWORD-TESTS) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *KEYWORD-PACKAGE*) (QUOTE GLOBALLY-SPECIAL) T) 
(DEFVAR *DEFAULT-DEFAULT* NIL) 
(DEFVAR *KEY-FINDER* (QUOTE FIND-KEYWORD)) 
(%PUT (QUOTE ANALYZE-ARGLIST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "For use by macros and macro-like forms that must parse some form
  according to a lambda-like argument list, ARGLIST.  The result is
  a list of variable-value pairs suitable for inclusion in a LET* form.
  PATH is an access expression for getting to the object to be parsed.
  ERRLOC is the name of the function being worked on, for use in error
  messages.  WHOLE is the form to supply if there is an &whole in the
  arglist, or NIL if &whole is illegal.")) 

#_(LAP #0_ANALYZE-ARGLIST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(0 %ARG-COUNT %MIN-ARGS %RESTP %LET-LIST %KEYWORD-TESTS)
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVEM O3 -6 Q)
             (MOVEM O4 -5 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
             (MOVEM NIL -1 Q)
             (MOVEM NIL 0 Q)
             (MOVE O1 -4 Q)
             (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (MOVE O1 0 Q)
             (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O4 -5 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 -6 Q)
             (CALL LISP::ANALYZE1 4)
             (MOVE O1 (SPECIAL 4))
             (CALL NREVERSE 1)
             (UNBIND 5)
             (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE ANALYZE-ARGLIST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARGLIST PATH ERRLOC WHOLE))) 
(%PUT (QUOTE ANALYZE-ARGLIST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE ANALYZE-ARGLIST) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_ANALYZE1 EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(%LET-LIST T %RESTP &WHOLE "Illegal or ill-formed &whole arg in ~S." &OPTIONAL "Ignore it." "Redundant &optional flag in varlist of ~S." &REST &BODY &KEY &ALLOW-OTHER-KEYS "Stray &ALLOW-OTHER-KEYS in arglist of ~S." &AUX %MIN-ARGS %ARG-COUNT CAR "Ignore this item." "Non-symbol variable name in ~S." 0 CDR COND *DEFAULT-DEFAULT* 1 2 NOT NULL)
       (CODE-START)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -13 Q)
             (MOVEM O2 -12 Q)
             (MOVEM O3 -11 Q)
             (MOVEM O4 -10 Q)
             (MOVE O5 O1)
             (MOVEM O5 -9 Q)
             (MOVEM NIL -8 Q)
             (MOVEM NIL -7 Q)
             (MOVEM NIL -6 Q)
(LABEL 7)    (MOVE O1 -9 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (SKIPE NIL -9 Q)
             (JRST 11)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 10)
(LABEL 11)   (SKIPA)
             (JRST 12)
             (MOVE O2 -12 Q)
             (MOVE O1 -9 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O1 (CONSTANT 1))
             (MOVEM O1 (SPECIAL 2))
             (MOVEI N 1)
(LABEL 12)
(LABEL 10)   (JRST 3)
(LABEL 8)    (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 3))
             (CAME O2 -7 Q)
             (JRST 15)
             (SKIPN NIL -10 Q)
             (JRST 18)
             (MOVE O1 -9 Q)
             (SKIPN NIL 1 O1)
             (JRST 18)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (SKIPN NIL O1)
(LABEL 18)   (JRST 17)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 -10 Q)
             (MOVE O1 O5)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O1 (CONSTANT 1))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
             (JRST 16)
(LABEL 17)   (SKIPA)
             (JRST 20)
             (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 2)
(LABEL 20)
(LABEL 16)   (JRST 14)
(LABEL 15)   (MOVE O2 (CONSTANT 5))
             (CAME O2 -7 Q)
             (JRST 22)
             (SKIPN NIL -8 Q)
             (JRST 23)
             (MOVE O3 -11 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 7))
             (CALL CERROR 3)
(LABEL 23)   (MOVE O1 (CONSTANT 1))
             (MOVEM O1 -8 Q)
             (JRST 14)
(LABEL 22)   (MOVE O2 (CONSTANT 8))
             (CAMN O2 -7 Q)
             (JRST1 26)
             (MOVE O2 (CONSTANT 9))
             (CAME O2 -7 Q)
(LABEL 26)   (JRST 25)
             (MOVE O1 -9 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O4 -10 Q)
             (MOVE O1 O5)
             (MOVE O2 -12 Q)
             (MOVE O3 -11 Q)
             (CALL LISP::ANALYZE-REST 4)
             (JRST 3)
(LABEL 25)   (MOVE O2 (CONSTANT 10))
             (CAME O2 -7 Q)
             (JRST 27)
             (CALL GENSYM 0)
             (MOVEM O1 -6 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O2 -12 Q)
             (MOVE O1 -6 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O1 -9 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O3 -11 Q)
             (MOVE O1 O5)
             (MOVE O2 -6 Q)
             (CALL LISP::ANALYZE-KEY 3)
             (JRST 3)
(LABEL 27)   (MOVE O2 (CONSTANT 11))
             (CAME O2 -7 Q)
             (JRST 28)
             (MOVE O3 -11 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 12))
             (CALL CERROR 3)
             (JRST 14)
(LABEL 28)   (MOVE O2 (CONSTANT 13))
             (CAME O2 -7 Q)
             (JRST 29)
             (MOVE O1 -9 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 -11 Q)
             (MOVE O1 O5)
             (CALL LISP::ANALYZE-AUX 2)
             (JRST 3)
(LABEL 29)   (SKIPE NIL -8 Q)
             (JRST 30)
             (MOVE O1 (SPECIAL 14))
             (CALL 1+ 1)
             (MOVEM O1 (SPECIAL 14))
             (MOVE O1 (SPECIAL 15))
             (CALL 1+ 1)
             (MOVEM O1 (SPECIAL 15))
             (MOVE O1 -7 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 32)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 16))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
             (JRST 31)
(LABEL 32)   (MOVE O1 -7 Q)
             (CALL ATOM 1)
             (JUMPE O1 33)
             (MOVE O3 -11 Q)
             (MOVE O1 (CONSTANT 17))
             (MOVE O2 (CONSTANT 18))
             (CALL CERROR 3)
             (JRST 31)
(LABEL 33)   (SKIPA)
             (JRST 34)
             (MOVE O5 (CONSTANT 19))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 19))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
             (MOVE O1 -4 Q)
             (SPEC-BIND (SPECIAL 14))
             (MOVEM O1 (SPECIAL 14))
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 15))
             (MOVEM O1 (SPECIAL 15))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 16))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 -7 Q)
             (MOVE O2 0 Q)
             (MOVE O3 -11 Q)
             (CALL LISP::ANALYZE1 4)
             (UNBIND 3)
(LABEL 34)
(LABEL 31)   (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 20))
             (CALL LIST 2)
             (MOVEM O1 -12 Q)
             (JRST 14)
(LABEL 30)   (SKIPA)
             (JRST 36)
             (MOVE O1 (SPECIAL 15))
             (CALL 1+ 1)
             (MOVEM O1 (SPECIAL 15))
             (MOVE O1 -7 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 38)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 16))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (SPECIAL 22))
             (MOVE O1 (CONSTANT 1))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 21))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
             (JRST 37)
(LABEL 38)   (MOVE O1 -7 Q)
             (CALL ATOM 1)
             (JUMPE O1 39)
             (MOVE O3 -11 Q)
             (MOVE O1 (CONSTANT 17))
             (MOVE O2 (CONSTANT 18))
             (CALL CERROR 3)
             (JRST 37)
(LABEL 39)   (MOVE O1 -7 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 40)
             (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 16))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -7 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 23))
             (CALL > 2)
             (JUMPE O1 42)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (JRST 41)
(LABEL 42)   (SKIPA)
             (JRST 43)
             (MOVE O2 (SPECIAL 22))
(LABEL 43)
(LABEL 41)   (MOVE O1 (CONSTANT 1))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 21))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O1 -7 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 24))
             (CALL > 2)
             (JUMPE O1 45)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 25))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
(LABEL 45)   (JRST 37)
(LABEL 40)   (SKIPA)
             (JRST 47)
             (CALL GENSYM 0)
             (MOVEM O1 -6 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 16))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (SKIPN NIL 1 O1)
             (JRST 49)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (JRST 48)
(LABEL 49)   (SKIPA)
             (JRST 50)
             (MOVE O2 (SPECIAL 22))
(LABEL 50)
(LABEL 48)   (MOVE O1 (CONSTANT 1))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 21))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 -6 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O5 (CONSTANT 19))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 19))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
             (MOVE O1 -4 Q)
             (SPEC-BIND (SPECIAL 14))
             (MOVEM O1 (SPECIAL 14))
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 15))
             (MOVEM O1 (SPECIAL 15))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O4 NIL)
             (MOVE O1 O5)
             (MOVE O2 -6 Q)
             (MOVE O3 -11 Q)
             (CALL LISP::ANALYZE1 4)
             (UNBIND 3)
             (MOVE O1 -7 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 24))
             (CALL > 2)
             (JUMPE O1 52)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 25))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 0))
(LABEL 52)
(LABEL 47)
(LABEL 37)   (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 20))
             (CALL LIST 2)
             (MOVEM O1 -12 Q)
(LABEL 36)
(LABEL 14)   (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE ANALYZE1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARGLIST PATH ERRLOC WHOLE))) 
(%PUT (QUOTE ANALYZE1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE ANALYZE1) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_ANALYZE-REST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_("Bad &rest or &body arg in ~S." %LET-LIST T %RESTP "Ignore the illegal terminator." "Dotted arglist terminator after &rest arg in ~S." &KEY &AUX &ALLOW-OTHER-KEYS "Ignore it." "Stray &ALLOW-OTHER-KEYS in arglist of ~S." &WHOLE "Ill-formed or illegal &whole arg in ~S.")
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVEM O4 -4 Q)
             (CALL ATOM 1)
             (JUMPN1 O1 5)
             (MOVE O1 -7 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (SKIPE NIL O1)
(LABEL 5)    (JRST 4)
             (MOVE O2 -5 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 2)
(LABEL 4)    (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 -6 Q)
             (MOVE O1 O5)
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 (CONSTANT 2))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
(LABEL 11)   (SKIPE NIL -1 Q)
             (JRST 13)
             (JRST 12)
(LABEL 13)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 14)
             (MOVE O3 -5 Q)
             (MOVE O1 (CONSTANT 4))
             (MOVE O2 (CONSTANT 5))
             (CALL CERROR 3)
             (JRST 12)
(LABEL 14)   (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 6))
             (CAME O2 0 Q)
             (JRST 15)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -5 Q)
             (MOVE O1 O5)
             (MOVE O2 -2 Q)
             (CALL LISP::ANALYZE-KEY 3)
             (JRST 12)
(LABEL 15)   (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 7))
             (CAME O2 0 Q)
             (JRST 16)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 O5)
             (CALL LISP::ANALYZE-AUX 2)
             (JRST 12)
(LABEL 16)   (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 8))
             (CAME O2 0 Q)
             (JRST 17)
             (MOVE O3 -5 Q)
             (MOVE O1 (CONSTANT 9))
             (MOVE O2 (CONSTANT 10))
             (CALL CERROR 3)
             (JRST 12)
(LABEL 17)   (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 11))
             (CAME O2 0 Q)
             (JRST 18)
             (SKIPN NIL -4 Q)
             (JRST 21)
             (MOVE O1 -1 Q)
             (SKIPN NIL 1 O1)
             (JRST 21)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (SKIPN NIL O1)
(LABEL 21)   (JRST 20)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -4 Q)
             (MOVE O1 O5)
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 11)
(LABEL 20)   (SKIPA)
             (JRST 23)
             (MOVE O2 -5 Q)
             (MOVE O1 (CONSTANT 12))
             (CALL ERROR 2)
(LABEL 23)
(LABEL 18)
(LABEL 12)   (MOVE O1 NIL)
             (MOVEI N 1)
             (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE ANALYZE-REST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARGLIST PATH ERRLOC WHOLE))) 
(%PUT (QUOTE ANALYZE-REST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE ANALYZE-REST) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_ANALYZE-AUX EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("Ignore the illegal terminator." "Dotted arglist after &AUX in ~S." %LET-LIST)
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVE O5 O1)
             (MOVEM O5 -1 Q)
(LABEL 7)    (SKIPE NIL -1 Q)
             (JRST 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 11)
             (MOVE O3 -2 Q)
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 (CONSTANT 1))
             (CALL CERROR 3)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 11)   (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 NIL)
             (MOVE O1 O5)
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 2))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 2))
             (JRST 10)
(LABEL 12)   (SKIPA)
             (JRST 13)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (MOVE O1 O5)
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 2))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 2))
(LABEL 13)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE ANALYZE-AUX) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARGLIST ERRLOC))) 
(%PUT (QUOTE ANALYZE-AUX) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE ANALYZE-AUX) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_ANALYZE-KEY EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(T %LET-LIST "Ignore the illegal terminator." "Dotted arglist after &key in ~S." &ALLOW-OTHER-KEYS &AUX COND SETQ *KEY-FINDER* QUOTE CAR ((T NIL)) "Ignore this item." "~S -- non-symbol variable name in arglist of ~S." (T) "~S -- ill-formed keyword arg in ~S." 0 %MIN-ARGS %ARG-COUNT %RESTP KEYWORD-TEST %KEYWORD-TESTS)
       (CODE-START)
(LABEL 1)    (ADDI Q 18)
             (MOVEM O1 -17 Q)
             (MOVEM O2 -16 Q)
             (MOVEM O3 -15 Q)
             (CALL GENSYM 0)
             (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -13 Q)
             (MOVEM NIL -12 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (MOVE O5 -17 Q)
             (MOVEM O5 -10 Q)
             (MOVEM NIL -9 Q)
             (MOVEM NIL -8 Q)
             (MOVEM NIL -7 Q)
             (MOVEM NIL -6 Q)
(LABEL 7)    (MOVE O1 -10 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (SKIPE NIL -10 Q)
             (JRST 11)
             (JRST 10)
(LABEL 11)   (SKIPA)
             (JRST 12)
             (MOVE O3 -15 Q)
             (MOVE O1 (CONSTANT 2))
             (MOVE O2 (CONSTANT 3))
             (CALL CERROR 3)
(LABEL 12)
(LABEL 10)   (JRST 3)
(LABEL 8)    (MOVE O1 -10 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -9 Q)
             (MOVE O2 (CONSTANT 4))
             (CAME O2 -9 Q)
             (JRST 15)
             (MOVE O1 NIL)
             (MOVEM O1 -13 Q)
             (JRST 14)
(LABEL 15)   (MOVE O2 (CONSTANT 5))
             (CAME O2 -9 Q)
             (JRST 16)
             (MOVE O1 -10 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 O5)
             (CALL LISP::ANALYZE-AUX 2)
             (JRST 3)
(LABEL 16)   (MOVE O1 -9 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 17)
             (MOVE O1 -9 Q)
             (CALL LISP::MAKE-KEYWORD 1)
             (MOVEM O1 -8 Q)
             (MOVE O5 (SPECIAL 8))
             (MOVEM O5 -1 Q)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O3 -16 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -14 Q)
             (CALL LIST 3)
             (MOVEM O1 -3 Q)
             (MOVE O2 -14 Q)
             (MOVE O1 (CONSTANT 10))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O3 (CONSTANT 11))
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 -3 Q)
             (CALL LIST* 3)
             (MOVE O2 O1)
             (MOVE O1 -9 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (MOVE O2 -12 Q)
             (MOVE O1 -8 Q)
             (CALL CONS 2)
             (MOVEM O1 -12 Q)
             (JRST 14)
(LABEL 17)   (MOVE O1 -9 Q)
             (CALL ATOM 1)
             (JUMPE O1 18)
             (MOVE O4 -15 Q)
             (MOVE O1 (CONSTANT 12))
             (MOVE O2 (CONSTANT 13))
             (MOVE O3 -9 Q)
             (CALL CERROR 4)
             (JRST 14)
(LABEL 18)   (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 19)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (CALL LISP::MAKE-KEYWORD 1)
             (MOVEM O1 -8 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (SKIPN NIL 1 O1)
             (JRST 22)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (SKIPN NIL O1)
(LABEL 22)   (JRST 21)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEM O1 -7 Q)
             (MOVE O2 NIL)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (JRST 20)
(LABEL 21)   (SKIPA)
             (JRST 24)
             (MOVE O1 NIL)
             (MOVEM O1 -7 Q)
(LABEL 24)
(LABEL 20)   (MOVE O1 -9 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O5 (SPECIAL 8))
             (MOVEM O5 -1 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O3 -16 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -14 Q)
             (CALL LIST 3)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -7 Q)
             (JRST 26)
             (MOVE O3 (CONSTANT 14))
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -7 Q)
             (CALL LIST* 3)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (JRST 27)
(LABEL 26)   (MOVEM NIL -2 Q)
(LABEL 27)   (MOVE O2 -14 Q)
             (MOVE O1 (CONSTANT 10))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL APPEND 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL CONS 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (MOVE O2 -12 Q)
             (MOVE O1 -8 Q)
             (CALL CONS 2)
             (MOVEM O1 -12 Q)
             (JRST 14)
(LABEL 19)   (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPN1 O1 29)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (CALL KEYWORDP 1)
             (JUMPE1 O1 29)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (SKIPN NIL O1)
(LABEL 29)   (JRST 28)
             (MOVE O1 -9 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O4 -15 Q)
             (MOVE O1 (CONSTANT 12))
             (MOVE O2 (CONSTANT 15))
             (MOVE O3 O5)
             (CALL CERROR 4)
             (JRST 14)
(LABEL 28)   (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 30)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEM O1 -8 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (SKIPN NIL 1 O1)
             (JRST 33)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (SKIPN NIL O1)
(LABEL 33)   (JRST 32)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEM O1 -7 Q)
             (MOVE O2 NIL)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (JRST 31)
(LABEL 32)   (SKIPA)
             (JRST 35)
             (MOVE O1 NIL)
             (MOVEM O1 -7 Q)
(LABEL 35)
(LABEL 31)   (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O5 (SPECIAL 8))
             (MOVEM O5 -1 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O3 -16 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -14 Q)
             (CALL LIST 3)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -7 Q)
             (JRST 37)
             (MOVE O3 (CONSTANT 14))
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -7 Q)
             (CALL LIST* 3)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (JRST 38)
(LABEL 37)   (MOVEM NIL -2 Q)
(LABEL 38)   (MOVE O2 -14 Q)
             (MOVE O1 (CONSTANT 10))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL APPEND 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL CONS 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (MOVE O2 -12 Q)
             (MOVE O1 -8 Q)
             (CALL CONS 2)
             (MOVEM O1 -12 Q)
             (JRST 14)
(LABEL 30)   (SKIPA)
             (JRST 39)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEM O1 -8 Q)
             (CALL GENSYM 0)
             (MOVEM O1 -6 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (SKIPN NIL 1 O1)
             (JRST 42)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (SKIPN NIL O1)
(LABEL 42)   (JRST 41)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEM O1 -7 Q)
             (MOVE O2 NIL)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (JRST 40)
(LABEL 41)   (SKIPA)
             (JRST 44)
             (MOVE O1 NIL)
             (MOVEM O1 -7 Q)
(LABEL 44)
(LABEL 40)   (MOVE O5 (SPECIAL 8))
             (MOVEM O5 -1 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O3 -16 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -14 Q)
             (CALL LIST 3)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -7 Q)
             (JRST 46)
             (MOVE O3 (CONSTANT 14))
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -7 Q)
             (CALL LIST* 3)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (JRST 47)
(LABEL 46)   (MOVEM NIL -2 Q)
(LABEL 47)   (MOVE O2 -14 Q)
             (MOVE O1 (CONSTANT 10))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL APPEND 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL CONS 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 -6 Q)
             (CALL LIST 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 1))
             (MOVE O2 -12 Q)
             (MOVE O1 -8 Q)
             (CALL CONS 2)
             (MOVEM O1 -12 Q)
             (MOVE O5 (CONSTANT 16))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 16))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
             (MOVE O1 -4 Q)
             (SPEC-BIND (SPECIAL 17))
             (MOVEM O1 (SPECIAL 17))
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 18))
             (MOVEM O1 (SPECIAL 18))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 19))
             (MOVEM O1 (SPECIAL 19))
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O4 NIL)
             (MOVE O1 O5)
             (MOVE O2 -6 Q)
             (MOVE O3 -15 Q)
             (CALL LISP::ANALYZE1 4)
             (UNBIND 3)
(LABEL 39)
(LABEL 14)   (MOVE O1 -10 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -10 Q)
             (JRST 7)
(LABEL 3)    (SKIPN NIL -13 Q)
             (JRST 49)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 20))
             (MOVE O2 -16 Q)
             (CALL LIST 3)
             (MOVEM O1 -11 Q)
             (MOVE O2 (SPECIAL 21))
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 21))
             (MOVEI N 1)
             (JRST 50)
(LABEL 49)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 50)   (SUBI Q 18)
             (POPJ P)
)

(%PUT (QUOTE ANALYZE-KEY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARGLIST RESTVAR ERRLOC))) 
(%PUT (QUOTE ANALYZE-KEY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE ANALYZE-KEY) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAKE-KEYWORD) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Takes a non-keyword symbol S and returns the corresponding keyword.")) 

#_(LAP #0_MAKE-KEYWORD EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*KEYWORD-PACKAGE*)
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL INTERN 2)
             (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE MAKE-KEYWORD) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (S))) 
(%PUT (QUOTE MAKE-KEYWORD) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE MAKE-KEYWORD) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE FIND-KEYWORD) (QUOTE %FUN-DOCUMENTATION) (QUOTE "If keyword is present in the keylist, return a list of its argument.
  Else, return NIL.")) 

#_(LAP #0_FIND-KEYWORD EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("Stick a NIL on the end and go on." "Unpaired item in keyword portion of macro call.")
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 -1 Q)
(LABEL 7)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (JUMPE O1 11)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 (CONSTANT 0))
             (CALL CERROR 2)
             (MOVE O1 NIL)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL RPLACD 2)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 11)   (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -3 Q)
             (CAME O2 0 Q)
             (JRST 12)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL LIST 1)
             (JRST 3)
(LABEL 12)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE FIND-KEYWORD) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (KEYWORD KEYLIST))) 
(%PUT (QUOTE FIND-KEYWORD) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE FIND-KEYWORD) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE KEYWORD-TEST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Check whether all keywords in a form are legal.  KEYLIST is the portion
  of the calling form containing keywords.  LEGAL is the list of legal
  keywords.  If the keyword :allow-other-keyws is present in KEYLIST,
  just return without complaining about anything.")) 

#_(LAP #0_KEYWORD-TEST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(:ALLOW-OTHER-KEYS "Ignore it." "~S illegal or unknown keyword.")
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL MEMQ 2)
             (JUMPE O1 4)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
(LABEL 10)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 11)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 6)
(LABEL 11)   (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 O5)
             (CALL MEMQ 2)
             (JUMPN O1 13)
             (MOVE O1 -1 Q)
             (MOVE O3 0 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL CERROR 3)
(LABEL 13)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 10)
(LABEL 6)
(LABEL 5)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE KEYWORD-TEST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (KEYLIST LEGAL))) 
(%PUT (QUOTE KEYWORD-TEST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE KEYWORD-TEST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE DEFMACRO) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Syntax like a DEFUN, but creates a macro.  See manual for details.")) 

#_(LAP #0_DEFMACRO MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(4 "~S -- Macro too short to be legal." 0 %ARG-COUNT %MIN-ARGS %RESTP %LET-LIST %KEYWORD-TESTS "~S -- Macro-name not a symbol." (NIL) DECLARE (CDR **MACROARG**) **MACROARG** > (LENGTH **MACROARG**) < NOT = OR (IGNORE **MACROARG**) LET* COND ERROR "Macro ~S cannot be called with ~S args." QUOTE ((1- (LENGTH **MACROARG**))) T MACRO (**MACROARG**))
       (CODE-START)
(LABEL 1)    (ADDI Q 18)
             (MOVEM O1 -17 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -16 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O2 -17 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
(LABEL 4)    (MOVE O1 -17 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -15 Q)
             (MOVE O1 -17 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -14 Q)
             (MOVE O1 -17 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 1 O1)
             (MOVEM O5 -13 Q)
             (MOVEM NIL -12 Q)
             (MOVEM NIL -11 Q)
             (MOVEM NIL -10 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -9 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -8 Q)
             (MOVEM NIL -7 Q)
             (MOVEM NIL -6 Q)
             (MOVEM NIL -5 Q)
             (MOVE O1 -9 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -8 Q)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (MOVE O1 -7 Q)
             (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O1 -6 Q)
             (SPEC-BIND (SPECIAL 6))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 -5 Q)
             (SPEC-BIND (SPECIAL 7))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O1 -15 Q)
             (CALL SYMBOLP 1)
             (JUMPN O1 12)
             (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL ERROR 2)
(LABEL 12)
(LABEL 10)   (MOVE O1 -13 Q)
             (CALL ATOM 1)
             (JUMPE O1 15)
             (MOVE O1 (CONSTANT 9))
             (MOVEM O1 -13 Q)
             (JRST 14)
(LABEL 15)   (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPN O1 17)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 10))
             (CAME O2 -4 Q)
(LABEL 17)   (JRST 16)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -12 Q)
             (CALL APPEND 2)
             (MOVEM O1 -12 Q)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -13 Q)
             (JRST 10)
(LABEL 16)   (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL STRINGP 1)
             (JUMPE O1 20)
             (MOVE O1 -13 Q)
             (SKIPN NIL 1 O1)
(LABEL 20)   (JRST 19)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL LIST 1)
             (MOVEM O1 -11 Q)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -13 Q)
             (JRST 10)
(LABEL 19)
(LABEL 14)   (MOVE O4 (CONSTANT 12))
             (MOVE O1 -14 Q)
             (MOVE O2 (CONSTANT 11))
             (MOVE O3 -15 Q)
             (CALL LISP::ANALYZE1 4)
             (MOVE O1 (SPECIAL 4))
             (CALL ZEROP 1)
             (JUMPE O1 25)
             (SKIPN NIL (SPECIAL 5))
(LABEL 25)   (JRST 24)
             (MOVE O1 NIL)
             (JRST 23)
(LABEL 24)   (MOVE O1 (SPECIAL 4))
             (CALL ZEROP 1)
             (JUMPE O1 27)
             (MOVE O1 (SPECIAL 3))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 13))
             (MOVE O2 (CONSTANT 14))
             (CALL LIST 3)
             (JRST 23)
(LABEL 27)   (SKIPN NIL (SPECIAL 5))
             (JRST 28)
             (MOVE O1 (SPECIAL 4))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 15))
             (MOVE O2 (CONSTANT 14))
             (CALL LIST 3)
             (JRST 23)
(LABEL 28)   (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -4 Q)
             (MOVE O2 (SPECIAL 3))
             (MOVE O1 O5)
             (CALL = 2)
             (JUMPE O1 29)
             (MOVE O1 (SPECIAL 4))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 17))
             (MOVE O2 (CONSTANT 14))
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 16))
             (CALL LIST 2)
             (JRST 23)
(LABEL 29)   (SKIPA)
             (JRST 30)
             (MOVE O1 (SPECIAL 3))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 13))
             (MOVE O2 (CONSTANT 14))
             (CALL LIST 3)
             (MOVEM O1 -3 Q)
             (MOVE O1 (SPECIAL 4))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 15))
             (MOVE O2 (CONSTANT 14))
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 18))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
(LABEL 30)
(LABEL 23)   (MOVEM O1 -10 Q)
             (SKIPE NIL -14 Q)
             (JRST 33)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 19))
             (CALL CONS 2)
             (MOVEM O1 -12 Q)
(LABEL 33)   (MOVE O1 (SPECIAL 6))
             (CALL NREVERSE 1)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 35)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 10))
             (CALL CONS 2)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (JRST 36)
(LABEL 35)   (MOVEM NIL -2 Q)
(LABEL 36)   (MOVE O5 (SPECIAL 7))
             (MOVEM O5 -1 Q)
             (MOVE O3 -13 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 O5)
             (CALL APPEND 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 20))
             (MOVE O2 -3 Q)
             (CALL LIST* 3)
             (MOVEM O1 -13 Q)
             (SKIPN NIL -10 Q)
             (JRST 37)
             (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 24))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O4 (CONSTANT 25))
             (MOVE O1 (CONSTANT 22))
             (MOVE O2 (CONSTANT 23))
             (MOVE O3 0 Q)
             (CALL LIST* 4)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 21))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVEM O1 -13 Q)
(LABEL 37)   (MOVE O1 -13 Q)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -11 Q)
             (CALL APPEND 2)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 27))
             (MOVE O2 -15 Q)
             (MOVE O3 (CONSTANT 28))
             (CALL LIST* 4)
             (UNBIND 5)
             (SUBI Q 18)
             (POPJ P)
)

(%PUT (QUOTE DEFMACRO) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORM))) 
(%PUT (QUOTE DEFMACRO) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE DEFMACRO) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE DEFTYPE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Syntax like DEFMACRO, but defines a new type.")) 

#_(LAP #0_DEFTYPE MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(4 "~S -- Deftype form too short to be legal." 0 %ARG-COUNT %MIN-ARGS %RESTP %LET-LIST %KEYWORD-TESTS "~S -- Type-name not a symbol." (NIL) DECLARE (QUOTE *) *DEFAULT-DEFAULT* (CDR **MACROARG**) **MACROARG** > (LENGTH **MACROARG**) < NOT = OR (IGNORE **MACROARG**) LET* COND ERROR "Deftype ~S cannot be called with ~S args." QUOTE ((1- (LENGTH **MACROARG**))) T PROGN %PUT (QUOTE DEFTYPE-EXPANDER) LAMBDA (**MACROARG**) (QUOTE %TYPE-DOCUMENTATION))
       (CODE-START)
(LABEL 1)    (ADDI Q 18)
             (MOVEM O1 -17 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -16 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O2 -17 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
(LABEL 4)    (MOVE O1 -17 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -15 Q)
             (MOVE O1 -17 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -14 Q)
             (MOVE O1 -17 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 1 O1)
             (MOVEM O5 -13 Q)
             (MOVEM NIL -12 Q)
             (MOVEM NIL -11 Q)
             (MOVEM NIL -10 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -9 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -8 Q)
             (MOVEM NIL -7 Q)
             (MOVEM NIL -6 Q)
             (MOVEM NIL -5 Q)
             (MOVE O1 -9 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -8 Q)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (MOVE O1 -7 Q)
             (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O1 -6 Q)
             (SPEC-BIND (SPECIAL 6))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 -5 Q)
             (SPEC-BIND (SPECIAL 7))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O1 -15 Q)
             (CALL SYMBOLP 1)
             (JUMPN O1 12)
             (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL ERROR 2)
(LABEL 12)
(LABEL 10)   (MOVE O1 -13 Q)
             (CALL ATOM 1)
             (JUMPE O1 15)
             (MOVE O1 (CONSTANT 9))
             (MOVEM O1 -13 Q)
             (JRST 14)
(LABEL 15)   (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPN O1 17)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 10))
             (CAME O2 -4 Q)
(LABEL 17)   (JRST 16)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -12 Q)
             (CALL APPEND 2)
             (MOVEM O1 -12 Q)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -13 Q)
             (JRST 10)
(LABEL 16)   (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL STRINGP 1)
             (JUMPE O1 20)
             (MOVE O1 -13 Q)
             (SKIPN NIL 1 O1)
(LABEL 20)   (JRST 19)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL LIST 1)
             (MOVEM O1 -11 Q)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -13 Q)
             (JRST 10)
(LABEL 19)
(LABEL 14)   (MOVE O5 (CONSTANT 11))
             (MOVEM O5 -3 Q)
             (MOVE O1 O5)
             (SPEC-BIND (SPECIAL 12))
             (MOVEM O1 (SPECIAL 12))
             (MOVE O4 (CONSTANT 14))
             (MOVE O1 -14 Q)
             (MOVE O2 (CONSTANT 13))
             (MOVE O3 -15 Q)
             (CALL LISP::ANALYZE1 4)
             (UNBIND 1)
             (MOVE O1 (SPECIAL 4))
             (CALL ZEROP 1)
             (JUMPE O1 25)
             (SKIPN NIL (SPECIAL 5))
(LABEL 25)   (JRST 24)
             (MOVE O1 NIL)
             (JRST 23)
(LABEL 24)   (MOVE O1 (SPECIAL 4))
             (CALL ZEROP 1)
             (JUMPE O1 27)
             (MOVE O1 (SPECIAL 3))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 15))
             (MOVE O2 (CONSTANT 16))
             (CALL LIST 3)
             (JRST 23)
(LABEL 27)   (SKIPN NIL (SPECIAL 5))
             (JRST 28)
             (MOVE O1 (SPECIAL 4))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 17))
             (MOVE O2 (CONSTANT 16))
             (CALL LIST 3)
             (JRST 23)
(LABEL 28)   (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -4 Q)
             (MOVE O2 (SPECIAL 3))
             (MOVE O1 O5)
             (CALL = 2)
             (JUMPE O1 29)
             (MOVE O1 (SPECIAL 4))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 19))
             (MOVE O2 (CONSTANT 16))
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 18))
             (CALL LIST 2)
             (JRST 23)
(LABEL 29)   (SKIPA)
             (JRST 30)
             (MOVE O1 (SPECIAL 3))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 15))
             (MOVE O2 (CONSTANT 16))
             (CALL LIST 3)
             (MOVEM O1 -3 Q)
             (MOVE O1 (SPECIAL 4))
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 17))
             (MOVE O2 (CONSTANT 16))
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 20))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
(LABEL 30)
(LABEL 23)   (MOVEM O1 -10 Q)
             (SKIPE NIL -14 Q)
             (JRST 33)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 21))
             (CALL CONS 2)
             (MOVEM O1 -12 Q)
(LABEL 33)   (MOVE O1 (SPECIAL 6))
             (CALL NREVERSE 1)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 35)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 10))
             (CALL CONS 2)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (JRST 36)
(LABEL 35)   (MOVEM NIL -2 Q)
(LABEL 36)   (MOVE O5 (SPECIAL 7))
             (MOVEM O5 -1 Q)
             (MOVE O3 -13 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 O5)
             (CALL APPEND 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 22))
             (MOVE O2 -3 Q)
             (CALL LIST* 3)
             (MOVEM O1 -13 Q)
             (SKIPN NIL -10 Q)
             (JRST 37)
             (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O4 (CONSTANT 27))
             (MOVE O1 (CONSTANT 24))
             (MOVE O2 (CONSTANT 25))
             (MOVE O3 0 Q)
             (CALL LIST* 4)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 (CONSTANT 28))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 23))
             (MOVE O2 -3 Q)
             (CALL LIST 3)
             (MOVEM O1 -13 Q)
(LABEL 37)   (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVEM O1 -2 Q)
             (MOVE O3 -13 Q)
             (MOVE O1 (CONSTANT 32))
             (MOVE O2 (CONSTANT 33))
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 30))
             (MOVE O2 -2 Q)
             (MOVE O3 (CONSTANT 31))
             (CALL LIST 4)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -11 Q)
             (JRST 39)
             (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 30))
             (MOVE O2 -1 Q)
             (MOVE O3 (CONSTANT 34))
             (CALL LIST 4)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (JRST 40)
(LABEL 39)   (MOVEM NIL -2 Q)
(LABEL 40)   (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 26))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL APPEND 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 29))
             (MOVE O2 -3 Q)
             (CALL LIST* 3)
             (UNBIND 5)
             (SUBI Q 18)
             (POPJ P)
)

(%PUT (QUOTE DEFTYPE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORM))) 
(%PUT (QUOTE DEFTYPE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>DEFMACRO.CLISP.16") (GET (QUOTE DEFTYPE) (QUOTE %SOURCE-DOCUMENTATION))))