anchor.diff:  ;;; File: debugger.lisp
   ;;; Description: The LISA debugger.
   
  -;;; $Id: lisa-debugger.lisp,v 1.9 2003/05/20 19:19:32 youngde Exp $
  +;;; $Id: lisa-debugger.lisp,v 1.10 2003/05/28 14:32:19 youngde Exp $
   
   (in-package "LISA")
   
  
positive.code:     (cond ((null rule)
             (format t "There's no rule by this name (~A)~%" rule-name))
            (t
             (funcall op rule-name)
             (when (and (composite-rule-p rule)
                        *break-on-subrules*)
               (dolist (subrule (rule-subrules rule))
  
negative.code:                (binding-slot-name binding)))))
    (values))
  
  (defun debugger-repl ()
    (with-debugger-streams
     (do ((*read-eval-print* t)
          (count 0 (incf count)))
         ((not *read-eval-print*) count)
       (handler-case
           (progn
             (format t "LISA-DEBUG[~D]: " count)
             (force-output)
             (print (eval (read-from-string (read-line))))
             (terpri))
         (error (e)
                (cerror "Remain in the LISA debugger." e)
                (unless (yes-or-no-p "Remain in the debugger? ")
                  (leave-debugger)
                  (setf *read-eval-print* nil)))))))
  
  (defmethod fire-rule :around ((self rule) tokens)
    (when (or *stepping*
  