Google
 

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

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (ENCAPSULATE UNENCAPSULATE ENCAPSULATED-P TRACE UNTRACE *TRACE-PRINT-LEVEL* *TRACE-PRINT-LENGTH*))) 
(%PUT (QUOTE ENCAPSULATE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Saves symbol's old definition, & inserts a new function which evals body
   See *no-documentation* for details.")) 

#_(LAP #0_ENCAPSULATE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(ENCAPSULATED-DEFINITION ENCAPSULATION-TYPE "~S is not a valid function." LAMBDA (&REST ARGUMENT-LIST) LET BASIC-DEFINITION SYMBOL-FUNCTION QUOTE)
       (CODE-START)
(LABEL 1)    (ADDI Q 11)
             (MOVEM O1 -10 Q)
             (MOVEM O2 -9 Q)
             (MOVEM O3 -8 Q)
             (CALL SYMBOL-FUNCTION 1)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -10 Q)
             (CALL GET 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL GET 2)
             (MOVEM O1 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (CALL MAKE-SYMBOL 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -7 Q)
             (CALL FUNCTIONP 1)
             (JUMPN O1 3)
             (MOVE O2 -10 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 2)
(LABEL 3)    (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 7))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 6))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVEM O1 0 Q)
             (MOVE O3 -8 Q)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 4))
             (CALL LIST 3)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -3 Q)
             (CALL LISP::FSET 2)
             (SKIPN NIL -6 Q)
             (JRST 5)
             (MOVE O5 -3 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -1 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 0 Q)
             (MOVE O3 O5)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL %PUT 3)
(LABEL 5)    (SKIPN NIL -5 Q)
             (JRST 7)
             (MOVE O5 -3 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -1 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 0 Q)
             (MOVE O3 O5)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL %PUT 3)
(LABEL 7)    (MOVE O2 -4 Q)
             (MOVE O1 -10 Q)
             (CALL LISP::FSET 2)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -1 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 0 Q)
             (MOVE O3 O5)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL %PUT 3)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -1 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 0 Q)
             (MOVE O3 O5)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL %PUT 3)
             (MOVE O1 -10 Q)
             (MOVEI N 1)
             (SUBI Q 11)
             (POPJ P)
)

(%PUT (QUOTE ENCAPSULATE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SYMBOL TYPE BODY))) 
(%PUT (QUOTE ENCAPSULATE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE ENCAPSULATE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE UNENCAPSULATE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Removes symbol's most recent encapsulation of the specified type.")) 

#_(LAP #0_UNENCAPSULATE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(ENCAPSULATION-TYPE ENCAPSULATED-DEFINITION T)
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVE O5 O1)
             (MOVEM O5 -7 Q)
(LABEL 7)    (MOVE O2 (CONSTANT 0))
             (MOVE O1 -7 Q)
             (CALL GET 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -8 Q)
             (CAME O2 -6 Q)
             (JRST 8)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -7 Q)
             (CALL GET 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL GET 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -5 Q)
             (CALL GET 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -5 Q)
             (CALL SYMBOL-FUNCTION 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (CALL LISP::FSET 2)
             (SKIPN NIL -4 Q)
             (JRST 10)
             (MOVE O5 -7 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -1 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 0 Q)
             (MOVE O3 O5)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL %PUT 3)
             (JRST 11)
(LABEL 10)   (MOVE O2 (CONSTANT 1))
             (MOVE O1 -7 Q)
             (CALL REMPROP 2)
(LABEL 11)   (SKIPN NIL -3 Q)
             (JRST 12)
             (MOVE O5 -7 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -1 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 0 Q)
             (MOVE O3 O5)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL %PUT 3)
             (JRST 13)
(LABEL 12)   (MOVE O2 (CONSTANT 0))
             (MOVE O1 -7 Q)
             (CALL REMPROP 2)
(LABEL 13)   (MOVE O1 (CONSTANT 2))
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (SKIPE NIL -7 Q)
             (JRST 14)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 14)   (MOVE O2 (CONSTANT 1))
             (MOVE O1 -7 Q)
             (CALL GET 2)
             (MOVEM O1 -7 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE UNENCAPSULATE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SYMBOL TYPE))) 
(%PUT (QUOTE UNENCAPSULATE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE UNENCAPSULATE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ENCAPSULATED-P) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns T if symbol has an encapsulation of the given type.  () otherwise.")) 

#_(LAP #0_ENCAPSULATED-P EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(ENCAPSULATION-TYPE T ENCAPSULATED-DEFINITION)
       (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 O2 (CONSTANT 0))
             (MOVE O1 -1 Q)
             (CALL GET 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -2 Q)
             (CAME O2 0 Q)
             (JRST 10)
             (MOVE O1 (CONSTANT 1))
             (MOVEI N 1)
             (JRST 3)
(LABEL 10)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -1 Q)
             (CALL GET 2)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE ENCAPSULATED-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SYMBOL TYPE))) 
(%PUT (QUOTE ENCAPSULATED-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE ENCAPSULATED-P) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE *TRACE-OUTPUT*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE TRACE-IN-TROUBLE-P) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE TRACE-WENT-DEEPER) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *PRINT-LEVEL*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *PRINT-LENGTH*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE PP-HASH-TABLE) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *PPRINT-RECURSIVE-CALL*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *PRINT-CIRCLE*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *PRINT-PRETTY*) (QUOTE GLOBALLY-SPECIAL) T) 
(DEFVAR TRACE-LEVEL NIL "How many levels deep are the traced calls.") 
(DEFVAR *TRACED-FUNCTION-LIST* NIL "A list of the names of all functions which are being traced.") 
(DEFVAR *MAX-TRACE-INDENTATION* 40 "The maximum number of spaces for trace to indent.") 
(DEFVAR *TRACE-PRINT-LENGTH* NIL "*Print-length* will be bound to this value when trace is printing.") 
(DEFVAR *TRACE-PRINT-LEVEL* NIL "*Print-level* will be bound to this value when trace is printing.") 

#_(LAP #0_MARKED-FUNCTION-CALLER EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O1 O2)
             (CALL SYMBOL-VALUE 1)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL SET 2)
             (ICALL CUNWIND)
             (JRST 3)
             (JRST 4)
             (MOVE O2 0 Q)
             (MOVE O1 -2 Q)
             (CALL APPLY 2)
             (POPJ P)
(LABEL 3)    (MOVE O1 -1 Q)
             (CALL SYMBOL-VALUE 1)
             (CALL 1- 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL SET 2)
             (POPJ P)
(LABEL 4)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE MARKED-FUNCTION-CALLER) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION VARIABLE ARGS))) 
(%PUT (QUOTE MARKED-FUNCTION-CALLER) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE MARKED-FUNCTION-CALLER) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TRACE-FUNCTION-MARK) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a symbol which the function will 1+ on entry and 1- on exit.")) 

#_(LAP #0_TRACE-FUNCTION-MARK EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(TRACE-RECURSION-COUNTER MARKED-FUNCTION-CALLER BASIC-DEFINITION QUOTE (ARGUMENT-LIST) 1 0)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL ENCAPSULATED-P 2)
             (JUMPE O1 4)
             (MOVE O5 -6 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -6 Q)
             (CALL GET 2)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -6 Q)
             (CALL GET 2)
             (MOVE O1 1 O1)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 -3 Q)
             (MOVE O3 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (CALL %PUT 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -6 Q)
             (CALL GET 2)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -6 Q)
             (CALL SYMBOL-NAME 1)
             (CALL MAKE-SYMBOL 1)
             (MOVEM O1 -5 Q)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 3))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O4 (CONSTANT 4))
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (MOVE O3 0 Q)
             (CALL LIST* 4)
             (MOVE O3 O1)
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL ENCAPSULATE 3)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -5 Q)
             (CALL CONS 2)
             (MOVEM O1 -1 Q)
             (MOVE O3 O1)
             (MOVE O1 -3 Q)
             (MOVE O2 -2 Q)
             (CALL %PUT 3)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -5 Q)
             (CALL SET 2)
             (MOVE O1 -5 Q)
             (MOVEI N 1)
(LABEL 5)
(LABEL 3)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE TRACE-FUNCTION-MARK) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION-NAME))) 
(%PUT (QUOTE TRACE-FUNCTION-MARK) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE TRACE-FUNCTION-MARK) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TRACE-FUNCTION-UNMARK) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Informs function that caller is no longer using trace-function-mark
  feature.")) 

#_(LAP #0_TRACE-FUNCTION-UNMARK EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(TRACE-RECURSION-COUNTER 2)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL GET 2)
             (MOVEM O1 -5 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -6 Q)
             (CALL UNENCAPSULATE 2)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -6 Q)
             (CALL REMPROP 2)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O1 -5 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O1 1 O1)
             (CALL 1- 1)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL CONS 2)
             (MOVEM O1 -1 Q)
             (MOVE O3 O1)
             (MOVE O1 -3 Q)
             (MOVE O2 -2 Q)
             (CALL %PUT 3)
(LABEL 5)
(LABEL 3)    (MOVE O1 NIL)
             (MOVEI N 1)
             (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE TRACE-FUNCTION-UNMARK) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION-NAME))) 
(%PUT (QUOTE TRACE-FUNCTION-UNMARK) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE TRACE-FUNCTION-UNMARK) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_TRACE-INDENT EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("
                                                                                " *TRACE-OUTPUT* 0 2 *MAX-TRACE-INDENTATION*)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 3))
             (CALL * 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 4))
             (CALL < 2)
             (JUMPE O1 3)
             (MOVE O2 0 Q)
             (JRST 4)
(LABEL 3)    (MOVE O2 (SPECIAL 4))
(LABEL 4)    (MOVE O1 (CONSTANT 3))
             (CALL + 2)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 -1 Q)
             (MOVE O3 (CONSTANT 2))
             (CALL LISP::%SP-WRITE-STRING 4)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -2 Q)
             (CALL PRINC 2)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE TRACE-INDENT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LEVEL))) 
(%PUT (QUOTE TRACE-INDENT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE TRACE-INDENT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_TRACE-AUX-PRINT EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("* " *TRACE-OUTPUT*)
       (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 -2 Q)
             (CALL LISP::TRACE-INDENT 1)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 (CONSTANT 0))
             (CALL PRINC 2)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (CALL EVAL 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL PRIN1 2)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE TRACE-AUX-PRINT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORMS LEVEL))) 
(%PUT (QUOTE TRACE-AUX-PRINT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE TRACE-AUX-PRINT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_TRACE-CALL EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(:TEST EQ PP-HASH-TABLE *PPRINT-RECURSIVE-CALL* TRACE-IN-TROUBLE-P "Could not trace ~s." T TRACE-WENT-DEEPER TRACE-LEVEL 0 *TRACE-PRINT-LEVEL* *TRACE-PRINT-LENGTH* *PRINT-CIRCLE* *PRINT-PRETTY* *PRINT-LEVEL* *PRINT-LENGTH* ": " *TRACE-OUTPUT* "Trace entry" "Trace exit" ": returned" " ")
       (CODE-START)
(LABEL 1)    (ADDI Q 18)
             (MOVEM O1 -17 Q)
             (MOVEM O2 -16 Q)
             (MOVEM O3 -15 Q)
             (MOVEM O4 -14 Q)
             (MOVEM O5 -13 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 (CONSTANT 0))
             (CALL MAKE-HASH-TABLE 2)
             (MOVEM O1 -12 Q)
             (MOVEM NIL -11 Q)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 -11 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 (CONSTANT 4))
             (CALL BOUNDP 1)
             (JUMPE O1 5)
             (SKIPN NIL (SPECIAL 4))
(LABEL 5)    (JRST 4)
             (MOVE O1 -16 Q)
             (CALL LISP::UNTRACE-1 1)
             (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 5))
             (CALL ERROR 2)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 7)
(LABEL 7)
(LABEL 3)    (MOVE O1 (CONSTANT 6))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O1 (CONSTANT 6))
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (SPEC-BIND (SPECIAL 7))
             (MOVEM NIL (SPECIAL 7))
             (SKIPN NIL -15 Q)
             (JRST 9)
             (MOVE O1 -15 Q)
             (CALL EVAL 1)
             (MOVEM O1 -10 Q)
             (JRST 10)
(LABEL 9)    (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -10 Q)
(LABEL 10)   (SKIPN NIL -10 Q)
             (JRST 11)
             (MOVE O1 (CONSTANT 8))
             (CALL BOUNDP 1)
             (JUMPE O1 15)
             (MOVE O1 (SPECIAL 8))
             (CALL NUMBERP 1)
             (SKIPN NIL O1)
(LABEL 15)   (JRST 13)
             (MOVE O1 (SPECIAL 8))
             (CALL 1+ 1)
             (JRST 14)
(LABEL 13)   (MOVE O1 (CONSTANT 9))
(LABEL 14)   (JRST 12)
(LABEL 11)   (MOVE O1 (SPECIAL 8))
(LABEL 12)   (SPEC-BIND (SPECIAL 8))
             (MOVEM O1 (SPECIAL 8))
             (SKIPN NIL -10 Q)
             (JRST 17)
             (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -9 Q)
             (MOVE O5 (SPECIAL 11))
             (MOVEM O5 -8 Q)
             (MOVE O5 (SPECIAL 12))
             (MOVEM O5 -7 Q)
             (MOVEM NIL -6 Q)
             (MOVE O5 (SPECIAL 13))
             (MOVEM O5 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 -9 Q)
             (SPEC-BIND (SPECIAL 14))
             (MOVEM O1 (SPECIAL 14))
             (MOVE O1 -8 Q)
             (SPEC-BIND (SPECIAL 15))
             (MOVEM O1 (SPECIAL 15))
             (MOVE O1 -6 Q)
             (SPEC-BIND (SPECIAL 12))
             (MOVEM O1 (SPECIAL 12))
             (MOVE O1 -4 Q)
             (SPEC-BIND (SPECIAL 13))
             (MOVEM O1 (SPECIAL 13))
             (MOVE O1 (SPECIAL 8))
             (CALL LISP::TRACE-INDENT 1)
             (MOVE O2 (SPECIAL 17))
             (MOVE O1 (CONSTANT 16))
             (CALL PRINC 2)
             (MOVE O5 -7 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 12))
             (MOVEM O1 (SPECIAL 12))
             (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 13))
             (MOVEM O1 (SPECIAL 13))
             (MOVE O2 -18 Q)
             (MOVE O1 -16 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 17))
             (CALL PRIN1 2)
             (UNBIND 2)
             (SKIPN NIL -20 Q)
             (JRST 19)
             (MOVE O2 (SPECIAL 8))
             (MOVE O1 -20 Q)
             (CALL LISP::TRACE-AUX-PRINT 2)
(LABEL 19)   (UNBIND 4)
(LABEL 17)   (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 4))
             (MOVE O1 -14 Q)
             (CALL EVAL 1)
             (JUMPE O1 21)
             (MOVE O1 (CONSTANT 18))
             (CALL BREAK 1)
(LABEL 21)   (MOVE O2 -18 Q)
             (MOVE O1 -17 Q)
             (CALL APPLY 2)
             (ICALL VALUES-TO-LIST)
             (MOVEM O1 -9 Q)
             (MOVE O1 -13 Q)
             (CALL EVAL 1)
             (JUMPE O1 23)
             (MOVE O1 (CONSTANT 19))
             (CALL BREAK 1)
(LABEL 23)   (MOVE O1 (CONSTANT 6))
             (MOVEM O1 (SPECIAL 4))
             (SKIPN NIL -10 Q)
             (JRST 25)
             (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -7 Q)
             (MOVE O5 (SPECIAL 11))
             (MOVEM O5 -6 Q)
             (MOVE O1 -7 Q)
             (SPEC-BIND (SPECIAL 14))
             (MOVEM O1 (SPECIAL 14))
             (MOVE O1 -6 Q)
             (SPEC-BIND (SPECIAL 15))
             (MOVEM O1 (SPECIAL 15))
             (MOVE O1 (SPECIAL 8))
             (CALL LISP::TRACE-INDENT 1)
             (MOVEM NIL -4 Q)
             (MOVEM NIL -3 Q)
             (MOVE O1 NIL)
             (SPEC-BIND (SPECIAL 13))
             (MOVEM O1 (SPECIAL 13))
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 12))
             (MOVEM O1 (SPECIAL 12))
             (MOVE O2 (SPECIAL 17))
             (MOVE O1 (CONSTANT 20))
             (CALL PRINC 2)
             (UNBIND 2)
             (MOVE O5 -9 Q)
             (MOVEM O5 -4 Q)
(LABEL 31)   (SKIPE NIL -4 Q)
             (JRST 32)
             (JRST 27)
(LABEL 32)   (MOVEM NIL -2 Q)
             (MOVEM NIL -1 Q)
             (MOVE O1 NIL)
             (SPEC-BIND (SPECIAL 13))
             (MOVEM O1 (SPECIAL 13))
             (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 12))
             (MOVEM O1 (SPECIAL 12))
             (MOVE O2 (SPECIAL 17))
             (MOVE O1 (CONSTANT 21))
             (CALL PRINC 2)
             (UNBIND 2)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 (SPECIAL 17))
             (MOVE O1 O5)
             (CALL PRIN1 2)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (JRST 31)
(LABEL 27)   (SKIPN NIL -19 Q)
             (JRST 34)
             (MOVE O2 (SPECIAL 8))
             (MOVE O1 -19 Q)
             (CALL LISP::TRACE-AUX-PRINT 2)
(LABEL 34)   (UNBIND 2)
(LABEL 25)   (MOVE O1 -9 Q)
             (SKIPN NIL 1 O1)
             (JRST 36)
             (MOVE O1 -9 Q)
             (CALL VALUES-LIST 1)
             (JRST 37)
(LABEL 36)   (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
(LABEL 37)   (UNBIND 3)
             (UNBIND 2)
             (SUBI Q 21)
             (POPJ P)
)

(%PUT (QUOTE TRACE-CALL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION NAME CONDITION BREAK BREAK-AFTER PRINT PRINT-AFTER ARGS))) 
(%PUT (QUOTE TRACE-CALL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE TRACE-CALL) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TRACE-1) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Called by TRACE to put a trace encapsulation around a function.")) 

#_(LAP #0_TRACE-1 EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(:TEST EQ PP-HASH-TABLE *PPRINT-RECURSIVE-CALL* (0) EQL (1) PLUSP OR TRACE-ONLY-WITHIN AND TRACE TRACE-CALL BASIC-DEFINITION QUOTE (ARGUMENT-LIST) *TRACED-FUNCTION-LIST*)
       (CODE-START)
(LABEL 1)    (ADDI Q 15)
             (MOVEM O1 -14 Q)
             (MOVEM O2 -13 Q)
             (MOVEM O3 -12 Q)
             (MOVEM O4 -11 Q)
             (MOVEM O5 -10 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 (CONSTANT 0))
             (CALL MAKE-HASH-TABLE 2)
             (MOVEM O1 -9 Q)
             (MOVEM NIL -8 Q)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 -8 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -14 Q)
             (CALL LISP::UNTRACE-1 1)
             (MOVE O1 -10 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -6 Q)
             (MOVE O4 (CONSTANT 5))
             (MOVE O2 (CONSTANT 4))
             (MOVE O3 (CONSTANT 0))
             (CALL MEMBER 4)
             (JUMPE O1 4)
             (MOVEM NIL -7 Q)
             (JRST 3)
(LABEL 4)    (MOVE O4 (CONSTANT 5))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O3 (CONSTANT 0))
             (CALL MEMBER 4)
             (JUMPE O1 5)
             (MOVE O1 -10 Q)
             (MOVE O1 0 O1)
             (CALL LISP::TRACE-FUNCTION-MARK 1)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 7))
             (CALL LIST 2)
             (MOVEM O1 -7 Q)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 6)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
(LABEL 11)   (SKIPE NIL -3 Q)
             (JRST 12)
             (MOVE O2 -2 Q)
             (JRST 7)
(LABEL 12)   (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 0 O1)
             (CALL LISP::TRACE-FUNCTION-MARK 1)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 7))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 11)
(LABEL 7)    (MOVE O1 (CONSTANT 8))
             (CALL CONS 2)
             (MOVEM O1 -7 Q)
(LABEL 6)
(LABEL 3)    (SKIPN NIL -10 Q)
             (JRST 16)
             (MOVE O5 -14 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (CONSTANT 9))
             (MOVEM O5 -5 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -4 Q)
             (MOVE O3 O5)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (CALL %PUT 3)
             (SKIPN NIL -13 Q)
             (JRST 17)
             (MOVE O3 -7 Q)
             (MOVE O1 (CONSTANT 10))
             (MOVE O2 -13 Q)
             (CALL LIST 3)
             (JRST 18)
(LABEL 17)   (MOVE O1 -7 Q)
(LABEL 18)   (MOVEM O1 -13 Q)
             (JRST 15)
(LABEL 16)   (SKIPA)
             (JRST 19)
(LABEL 19)
(LABEL 15)   (MOVE O5 (CONSTANT 12))
             (MOVEM O5 -5 Q)
             (MOVE O5 (CONSTANT 13))
             (MOVEM O5 -4 Q)
             (MOVE O2 -14 Q)
             (MOVE O1 (CONSTANT 14))
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 (CONSTANT 14))
             (CALL LIST 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 14))
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 14))
             (CALL LIST 2)
             (PUSH Q O1)
             (MOVE O2 -17 Q)
             (MOVE O1 (CONSTANT 14))
             (CALL LIST 2)
             (PUSH Q O1)
             (MOVE O2 -17 Q)
             (MOVE O1 (CONSTANT 14))
             (CALL LIST 2)
             (PUSH Q O1)
             (PUSH Q (CONSTANT 15))
             (MOVE O1 -9 Q)
             (MOVE O2 -8 Q)
             (MOVE O3 -7 Q)
             (MOVE O4 -6 Q)
             (MOVE O5 -5 Q)
             (CALL LIST* 9)
             (MOVE O3 O1)
             (MOVE O1 -14 Q)
             (MOVE O2 (CONSTANT 11))
             (CALL ENCAPSULATE 3)
             (MOVE O2 (SPECIAL 16))
             (MOVE O1 -14 Q)
             (CALL CONS 2)
             (MOVEM O1 (SPECIAL 16))
             (MOVE O1 -14 Q)
             (MOVEI N 1)
             (UNBIND 2)
             (SUBI Q 17)
             (POPJ P)
)

(%PUT (QUOTE TRACE-1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION-NAME CONDITION BREAK BREAK-AFTER WHEREIN PRINT PRINT-AFTER))) 
(%PUT (QUOTE TRACE-1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE TRACE-1) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE UNTRACE-1) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Turns off tracing for the specified function.")) 

#_(LAP #0_UNTRACE-1 EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(:TEST EQ PP-HASH-TABLE *PPRINT-RECURSIVE-CALL* TRACE TRACE-ONLY-WITHIN *TRACED-FUNCTION-LIST*)
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 (CONSTANT 0))
             (CALL MAKE-HASH-TABLE 2)
             (MOVEM O1 -3 Q)
             (MOVEM NIL -2 Q)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -4 Q)
             (CALL UNENCAPSULATE 2)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -4 Q)
             (CALL GET 2)
             (MOVEM O1 -1 Q)
             (SKIPN NIL -1 Q)
             (JRST 4)
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
(LABEL 9)    (SKIPE NIL 0 Q)
             (JRST 10)
             (JRST 5)
(LABEL 10)   (MOVE O1 0 Q)
             (MOVE O1 0 O1)
             (CALL LISP::TRACE-FUNCTION-UNMARK 1)
             (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 0 Q)
             (JRST 9)
(LABEL 5)    (MOVE O2 (CONSTANT 5))
             (MOVE O1 -4 Q)
             (CALL REMPROP 2)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 12)
(LABEL 12)
(LABEL 3)    (MOVE O2 (SPECIAL 6))
             (MOVE O1 -4 Q)
             (CALL REMOVE 2)
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (UNBIND 2)
             (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE UNTRACE-1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION-NAME))) 
(%PUT (QUOTE UNTRACE-1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE UNTRACE-1) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TRACE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "For simple use, specs are function names.  Undo with Untrace.")) 

#_(LAP #0_TRACE MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(DO NAMES QUOTE ((CDR NAMES)) (NULL NAMES) ((IF (NOT (FBOUNDP (CAR NAMES))) (ERROR "No such function:  ~s." (CAR NAMES)))) SYMBOL LIST "Illegal function name:  ~s." "I bet you don't want to trace QUOTE." "Illegal trace spec:  ~s." :CONDITION :BREAK :BREAK-AFTER :BREAK-ALL :WHEREIN :PRINT :PRINT-AFTER :PRINT-ALL NULL "Illegal function name, ~s, in :wherein." "Illegal :wherein option:  ~s." "Illegal form list, ~s, for :print." "Illegal form list, ~s, for :print-after." TRACE-1 *TRACED-FUNCTION-LIST*)
       (CODE-START)
(LABEL 1)    (ADDI Q 20)
             (MOVEM O1 -19 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -18 Q)
             (SKIPN NIL -18 Q)
             (JRST 3)
             (MOVEM NIL -17 Q)
             (MOVEM NIL -16 Q)
             (MOVEM NIL -15 Q)
             (MOVEM NIL -14 Q)
             (MOVE O5 -18 Q)
             (MOVEM O5 -13 Q)
(LABEL 9)    (SKIPE NIL -13 Q)
             (JRST 10)
             (MOVE O2 -14 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (MOVEM O1 -11 Q)
             (MOVE O3 (CONSTANT 3))
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -11 Q)
             (CALL LIST* 3)
             (CALL LIST 1)
             (MOVEM O1 -12 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL CONS 2)
             (MOVEM O1 -11 Q)
             (MOVE O4 (CONSTANT 5))
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 -12 Q)
             (MOVE O3 -11 Q)
             (CALL LIST* 4)
             (JRST 5)
(LABEL 10)   (MOVE O1 -13 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -12 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL TYPEP 2)
             (JUMPE O1 13)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -17 Q)
             (MOVE O1 NIL)
             (MOVEM O1 -16 Q)
             (JRST 12)
(LABEL 13)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -12 Q)
             (CALL TYPEP 2)
             (JUMPE O1 14)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPN O1 15)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 8))
             (CALL ERROR 2)
(LABEL 15)   (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -11 Q)
             (MOVE O2 (CONSTANT 2))
             (CAME O2 -11 Q)
             (JRST 17)
             (MOVE O1 (CONSTANT 9))
             (CALL ERROR 1)
(LABEL 17)   (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEM O1 -16 Q)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEM O1 -17 Q)
             (JRST 12)
(LABEL 14)   (SKIPA)
             (JRST 19)
             (MOVE O1 -13 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 10))
             (CALL ERROR 2)
(LABEL 19)
(LABEL 12)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 11))
             (CALL MEMQ 2)
             (MOVEM O1 -10 Q)
             (SKIPN NIL -10 Q)
             (JRST 21)
             (MOVE O1 -10 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -12 Q)
             (JRST 22)
(LABEL 21)   (MOVEM NIL -12 Q)
(LABEL 22)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 12))
             (CALL MEMQ 2)
             (MOVEM O1 -9 Q)
             (SKIPN NIL -9 Q)
             (JRST 23)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -11 Q)
             (JRST 24)
(LABEL 23)   (MOVEM NIL -11 Q)
(LABEL 24)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 13))
             (CALL MEMQ 2)
             (MOVEM O1 -8 Q)
             (SKIPN NIL -8 Q)
             (JRST 25)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -10 Q)
             (JRST 26)
(LABEL 25)   (MOVEM NIL -10 Q)
(LABEL 26)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 14))
             (CALL MEMQ 2)
             (MOVEM O1 -7 Q)
             (SKIPN NIL -7 Q)
             (JRST 27)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -9 Q)
             (JRST 28)
(LABEL 27)   (MOVEM NIL -9 Q)
(LABEL 28)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 15))
             (CALL MEMQ 2)
             (MOVEM O1 -6 Q)
             (SKIPN NIL -6 Q)
             (JRST 29)
             (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -8 Q)
             (JRST 30)
(LABEL 29)   (MOVEM NIL -8 Q)
(LABEL 30)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 16))
             (CALL MEMQ 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -5 Q)
             (JRST 31)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (JRST 32)
(LABEL 31)   (MOVEM NIL -7 Q)
(LABEL 32)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 17))
             (CALL MEMQ 2)
             (MOVEM O1 -4 Q)
             (SKIPN NIL -4 Q)
             (JRST 33)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -6 Q)
             (JRST 34)
(LABEL 33)   (MOVEM NIL -6 Q)
(LABEL 34)   (MOVE O2 -16 Q)
             (MOVE O1 (CONSTANT 18))
             (CALL MEMQ 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -3 Q)
             (JRST 35)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (JRST 36)
(LABEL 35)   (MOVEM NIL -5 Q)
(LABEL 36)   (SKIPN NIL -9 Q)
             (JRST 38)
             (MOVE O1 -9 Q)
             (MOVEM O1 -10 Q)
             (MOVEM O1 -11 Q)
(LABEL 38)   (SKIPN NIL -5 Q)
             (JRST 41)
             (MOVE O1 -5 Q)
             (MOVEM O1 -6 Q)
             (MOVEM O1 -7 Q)
(LABEL 41)   (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 19))
             (MOVE O1 O5)
             (CALL TYPEP 2)
             (JUMPE O1 44)
             (MOVE O1 NIL)
             (JRST 43)
(LABEL 44)   (MOVE O2 (CONSTANT 6))
             (MOVE O1 -3 Q)
             (CALL TYPEP 2)
             (JUMPE O1 45)
             (MOVE O1 -8 Q)
             (CALL LIST 1)
             (JRST 43)
(LABEL 45)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -3 Q)
             (CALL TYPEP 2)
             (JUMPE O1 46)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
(LABEL 51)   (SKIPE NIL -1 Q)
             (JRST 52)
             (MOVE O1 -8 Q)
             (JRST 47)
(LABEL 52)   (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPN O1 54)
             (MOVE O1 -1 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 20))
             (CALL ERROR 2)
(LABEL 54)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 51)
(LABEL 47)   (JRST 43)
(LABEL 46)   (SKIPA)
             (JRST 56)
             (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 21))
             (CALL ERROR 2)
(LABEL 56)
(LABEL 43)   (MOVEM O1 -8 Q)
             (MOVE O1 -7 Q)
             (CALL LISTP 1)
             (JUMPN O1 58)
             (MOVE O2 -7 Q)
             (MOVE O1 (CONSTANT 22))
             (CALL ERROR 2)
(LABEL 58)   (MOVE O1 -6 Q)
             (CALL LISTP 1)
             (JUMPN O1 60)
             (MOVE O2 -6 Q)
             (MOVE O1 (CONSTANT 23))
             (CALL ERROR 2)
(LABEL 60)   (MOVE O5 (CONSTANT 24))
             (MOVEM O5 -4 Q)
             (MOVE O2 -17 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -10 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (PUSH Q O1)
             (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (PUSH Q O1)
             (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (PUSH Q O1)
             (MOVE O1 -7 Q)
             (MOVE O2 -6 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 -4 Q)
             (MOVE O5 -3 Q)
             (CALL LIST 8)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (CALL CONS 2)
             (MOVEM O1 -15 Q)
             (MOVE O2 -14 Q)
             (MOVE O1 -17 Q)
             (CALL CONS 2)
             (MOVEM O1 -14 Q)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -13 Q)
             (JRST 9)
(LABEL 5)    (JRST 4)
(LABEL 3)    (MOVE O1 (CONSTANT 25))
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 20)
             (POPJ P)
)

(%PUT (QUOTE TRACE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&REST SPECS))) 
(%PUT (QUOTE TRACE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE TRACE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE UNTRACE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Removes tracing from the functions named.  With no args, untraces all
  functions.")) 

#_(LAP #0_UNTRACE MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*TRACED-FUNCTION-LIST* PROGN UNTRACE-1 QUOTE "Illegal function name:  ~s.")
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -3 Q)
             (SKIPE NIL -3 Q)
             (JRST 3)
             (MOVE O1 (SPECIAL 0))
             (MOVEM O1 -3 Q)
(LABEL 3)    (MOVEM NIL -2 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
(LABEL 9)    (SKIPE NIL -1 Q)
             (JRST 10)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL CONS 2)
             (JRST 5)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 12)
             (MOVE O1 -1 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 3))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 2))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 -2 Q)
             (JRST 13)
(LABEL 12)   (MOVE O1 -1 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 2)
(LABEL 13)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 9)
(LABEL 5)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE UNTRACE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&REST NAMES))) 
(%PUT (QUOTE UNTRACE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>TRACE.CLISP.23") (GET (QUOTE UNTRACE) (QUOTE %SOURCE-DOCUMENTATION))))