anchor.diff:        (insert-string point (format nil "~%Backtrace:~%") :attribute 'section-attribute)
         (setf (buffer-value buffer 'backtrace-start-point)
               (copy-point point :right-inserting))
  -      (with-point ((save-point point))
  -        ;(setf frames (prune-initial-frames frames))
  -        (loop :for (n form) :in frames
  -              :do
  -              (with-point ((s point))
  -                (insert-string point " ")
  -                (insert-string point (format nil "~2d:" n) :attribute 'frame-label-attribute)
  -                (insert-string point " ")
  -                (insert-string point form)
  -                (put-text-property s point 'frame t)
  -                (insert-character point #\newline)))
  -        (move-point point save-point)))
  -    (setf (buffer-read-only-p buffer) t)
  -    (setf (current-window) (display-buffer buffer))))
  +      (sldb-insert-frames point frames))
  +    (setf (buffer-read-only-p buffer) t)))
  +
  +(defun sldb-insert-frames (point frames)
  +  (declare (ignore frames))
  +  (let ((p (copy-point point)))
  +    (start-timer 0 nil
  +                 (lambda ()
  +                   (save-excursion
  +                     (setf (current-buffer) (point-buffer p))
  +                     (let ((*inhibit-read-only* t))
  +                       (let ((frames (lisp-eval '(swank:backtrace 0 nil))))
  +                         (dolist (frame frames)
  +                           (sldb-insert-frame p frame))))
  +                     (delete-point p))))))
  +
  +(defun sldb-insert-frame (point frame)
  +  (let ((number (sldb-frame.number frame))
  +        (string (sldb-frame.string frame)))
  +    (with-point ((s point))
  +      (insert-string point " ")
  +      (insert-string point (format nil "~2d:" number) :attribute 'frame-label-attribute)
  +      (insert-string point " ")
  +      (insert-string point string)
  +      (put-text-property s point 'frame frame)
  +      (put-text-property s point 'action 'sldb-toggle-details)
  +      (insert-character point #\newline))))
  +
  +(defun sldb-toggle-details ())
   
   (defun sldb-active (thread level select)
     (let ((buffer (get-sldb-buffer thread)))
  
positive.code:   (or (get-sldb-buffer thread)
        (get-buffer-create (format nil "*sldb ~D*" thread))))
  
  (defun prune-initial-frames (frames)
    (or (loop :for frame :in frames
              :for (n form) := frame
  
negative.code:                                   (editor-error "Synchronous Lisp Evaluation aborted"))))
                 :package package
                 :thread (current-swank-thread))
        (loop (sit-for 10 nil)))))
  
  (defun lisp-eval-from-string (string &optional (package (current-package)))
    (lisp-eval-internal 'swank-protocol:emacs-rex-string string package))
  