anchor.diff:                 (binding-slot-name binding)))))
     (values))
   
  -(defun debugger-read-eval-print ()
  -  (let ((*terminal-io* *terminal-io*)
  -        (*standard-input* *terminal-io*)
  -        (*standard-output* *terminal-io*))
  -    (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)))
  -            (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)))))))
  +(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*
  
positive.code:           (*suspended-rule* self)
            (*tokens* tokens))
        (format t "Stopping in rule ~S~%" (rule-name self))
        (debugger-read-eval-print)))
    (call-next-method))
  
  (defmethod run-engine :after ((self rete) &optional step)
  
negative.code: ;;; File: debugger.lisp
  ;;; Description: The LISA debugger.
  
  ;;; $Id: lisa-debugger.lisp,v 1.10 2003/05/28 14:32:19 youngde Exp $
  
  (in-package "LISA")
  
  