       
#(#! 
(lisp::in-package (lisp::quote user::lisp))#! 
(lisp::export (lisp::quote (lisp::trace lisp::untrace)))#! 
(lisp::export (lisp::quote lisp::step))#! 
(lisp::in-package (lisp::quote lisp::system))
#((lisp::mapcar (lisp::function lisp::car) system::*trace-list*) lisp::let ((system::old (lisp::copy-list system::*trace-list*)) system::finish-flg) lisp::unwind-protect lisp::prog1 lisp::mapcan (lisp::function system::trace-one) lisp::quote (lisp::setq system::finish-flg lisp::t) (lisp::when (lisp::null system::finish-flg) (lisp::format lisp::*standard-output* "~%Newly traced functions:  ~S" (lisp::mapcar (lisp::function lisp::car) (lisp::set-difference system::*trace-list* system::old :test (lisp::function lisp::equal))))) (lisp::mapcan (lisp::function system::untrace-one) (lisp::mapcar (lisp::function lisp::car) system::*trace-list*)) (lisp::function system::untrace-one) lisp::cons system::arglist lisp::values lisp::< lisp::if lisp::progn lisp::setq lisp::1+ lisp::1- "Each trace spec must be a symbol or a list terminating in NIL, but ~S is not~&." "Declarations are supposed to be of symbols, but ~S is not a symbol.~&" "Expected a CDDR of NIL in ~S.~&" "The variable ~A is already declared for tracing" "A trace spec must have odd length, but ~S does not.~&" "The keyword ~A occurred twice in the spec ~S~&" "~&Specified depth should be a positive integer, but~&~S is not.~&" :depth :declarations "Expected :entry, :exit, :cond, :depth, or :declarations~&~
                         in ~S where instead there was ~S~&" lisp::*trace-output* "The function ~S is not defined.~%" "~S is a special form.~%" "~S is a macro.~%" system::traced lisp::defun (lisp::&rest system::args) system::trace-call system::args system::*trace-list* system::*trace-level* "~V@T~D> " "~S~%" "~V@T<~D " "~S~%" "The function ~S was traced, but is no longer defined.~%" "The function ~S was traced, but redefined.~%" :count "The function ~S is not traced.~%" lisp::*debug-io* #\Newline #\Return lisp::block lisp::return-from lisp::let* ((system::*old-print-level* lisp::*print-level*) (system::*old-print-length* lisp::*print-length*) (lisp::*print-level* 2) (lisp::*print-length* 2)) (lisp::read-line) (lisp::format lisp::*debug-io* "Type ? and a newline for help.~%") (lisp::setq system::*step-quit* lisp::nil) system::stepper system::*step-level* system::*step-quit* system::*step-function* "~VT~S " #\Space #\Tab #\n #\N #\s #\S #\p #\P :stream :pretty :level :length #\f #\F #\q #\Q #\u #\U #\e #\E system::*old-print-level* system::*old-print-length* #\r #\R #\b #\B system::*ihs-base* system::*ihs-top* system::*current-ihs* "Stepper commands:~%~
		n (or N or Newline):	advances to the next form.~%~
		s (or S):		skips the form.~%~
		p (or P):		pretty-prints the form.~%~
                f (or F) FUNCTION:	skips until the FUNCTION is called.~%~
                q (or Q):		quits.~%~
                u (or U):		goes up to the enclosing form.~%~
                e (or E) FORM:		evaluates the FORM ~
					and prints the value(s).~%~
                r (or R) FORM:		evaluates the FORM ~
					and returns the value(s).~%~
                b (or B):		prints backtrace.~%~
		?:			prints this.~%" "~V@T=~%" "~V@T= ~S~%" "~V@T& ~S~%" :cond :entrycond :entry :exitcond :exit system::check-trace-args system::all-trace-declarations system::check-declarations system::untrace-one system::check-trace-spec system::trace-one-preprocess system::reset-trace-declarations lisp::delete-if system::step-read-line lisp::read-preserving-whitespace system::ihs-top system::simple-backtrace (system::%init . #((system::*make-special (lisp::quote system::*trace-level*)) (lisp::or (lisp::boundp (lisp::quote system::*trace-level*)) (lisp::setq system::*trace-level* 0)) (system::*make-special (lisp::quote system::*trace-list*)) (lisp::or (lisp::boundp (lisp::quote system::*trace-list*)) (lisp::setq system::*trace-list* lisp::nil)) (system::mm (lisp::quote lisp::trace) 0) (system::mm (lisp::quote lisp::untrace) 1) (system::mfsfun (lisp::quote system::trace-one-preprocess) 2 1) (system::mfsfun (lisp::quote system::check-trace-spec) 3 1) (system::mfsfun (lisp::quote system::check-declarations) 4 1) (system::mfsfun (lisp::quote system::check-trace-args) 5 3) (system::mfsfun (lisp::quote system::trace-one) 6 1) (system::mfsfun (lisp::quote system::reset-trace-declarations) 7 1) (system::mfsfun (lisp::quote system::all-trace-declarations) 8 0) (system::mf (lisp::quote system::trace-call) 9) (system::mfsfun (lisp::quote system::untrace-one) 10 1) (system::*make-special (lisp::quote system::*step-level*)) (lisp::or (lisp::boundp (lisp::quote system::*step-level*)) (lisp::setq system::*step-level* 0)) (system::*make-special (lisp::quote system::*step-quit*)) (lisp::or (lisp::boundp (lisp::quote system::*step-quit*)) (lisp::setq system::*step-quit* lisp::nil)) (system::*make-special (lisp::quote system::*step-function*)) (lisp::or (lisp::boundp (lisp::quote system::*step-function*)) (lisp::setq system::*step-function* lisp::nil)) (system::*make-special (lisp::quote system::*old-print-level*)) (lisp::or (lisp::boundp (lisp::quote system::*old-print-level*)) (lisp::setq system::*old-print-level* lisp::nil)) (system::*make-special (lisp::quote system::*old-print-length*)) (lisp::or (lisp::boundp (lisp::quote system::*old-print-length*)) (lisp::setq system::*old-print-length* lisp::nil)) (system::mfsfun (lisp::quote system::step-read-line) 11 0) (system::mm (lisp::quote system::if-error) 12) (system::mm (lisp::quote lisp::step) 13) (system::mf (lisp::quote system::stepper) 14))))
)
