anchor.diff:  (defclass debugger-pane (application-pane)
     ((condition-info :reader condition-info :initarg :condition-info)))
   
  -;; FIXME - These two variables should be removed!
  -;; Used to return the chosen restart in the debugger.
  -(defparameter *returned-restart* nil)
  -
  -;; Used to provide the clim frame with the condition info that
  -;; triggered the debugger.
  -(defparameter *condition* nil)
  -
   (defun make-debugger-pane ()
     (with-look-and-feel-realization ((frame-manager *application-frame*)
   				   *application-frame*) 
       (make-pane 'debugger-pane 
  -	       :condition-info *condition*
  +	       :condition-info (the-condition *application-frame*)
   	       :display-function #'display-debugger
   	       :end-of-line-action :allow
   	       :end-of-page-action :scroll)))
   
   (define-application-frame clim-debugger ()
  -  ()
  +  ((condition        :initform nil :accessor the-condition)
  +   (returned-restart :initform nil :accessor returned-restart))
     (:panes
      (debugger-pane (make-debugger-pane)))
     (:layouts
      (default (vertically () (scrolling () debugger-pane))))
     (:geometry :height 480 :width #.(* 480 slim:+golden-ratio+)))
   
  -(defun run-debugger-frame ()
  -  (run-frame-top-level
  -   (make-application-frame 'clim-debugger)))
  -
  -
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;   Presentation types   ;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code: ;;;   Starting the debugger   ;;;;;;;;;;;;;;;;;;;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  (defun debugger (condition me-or-my-encapsulation)
    (swank-backend::call-with-debugging-environment 
     (lambda ()
       (unwind-protect
  	  (progn 
  	    (setf 
  	     *condition* 
  	     (make-instance 
  	      'debugger-info
  	      :the-condition        condition
  	      :type-of-condition    (type-of condition)
  	      :condition-message    (swank::safe-condition-message condition)
  	      :condition-extra      (swank::condition-extras       condition)
  	      :restarts             (compute-restarts)
  	      :backtrace            (compute-backtrace
  				     0 +initial-backtrace-length+)))
  	    (run-debugger-frame))
         (let ((restart *returned-restart*))
  	 (setf *returned-restart* nil)
  	 (setf *condition* nil)
  	 (if restart
  	     (let ((*debugger-hook* me-or-my-encapsulation))
  	       (invoke-restart-interactively restart))
  	     (abort)))))))
  
  (defmacro with-debugger (&body body)
    `(let ((*debugger-hook* #'debugger)
  
negative.code: ;;;
  ;;; - Goto source location is not supported, but I think this could be
  ;;;   done through slime.
  ;;;
  ;;; - There need to added keyboard shortcuts. 'q' should exit the
  ;;;   debugger with an abort. '0', '1' and so forth should activate
  