diff -r d6eb2bfe75bc swank.lisp
--- a/swank.lisp	Thu Sep 17 08:23:03 2009 +0200
+++ b/swank.lisp	Thu Sep 17 15:20:19 2009 +0200
@@ -2522,27 +2522,37 @@
        (sldb-loop *sldb-level*)))))
 
 (defun sldb-loop (level)
+  (format t "SLDB-LOOP-1~%")
   (unwind-protect
        (loop
-        (with-simple-restart (abort "Return to sldb level ~D." level)
-          (send-to-emacs 
-           (list* :debug (current-thread-id) level
-                  (with-bindings *sldb-printer-bindings*
-                    (debugger-info-for-emacs 0 *sldb-initial-frames*))))
-          (send-to-emacs 
-           (list :debug-activate (current-thread-id) level nil))
-          (loop 
-           (handler-case 
-               (destructure-case (wait-for-event 
-                                  `(or (:emacs-rex . _)
-                                       (:sldb-return ,(1+ level))))
-                 ((:emacs-rex &rest args) (apply #'eval-for-emacs args))
-                 ((:sldb-return _) (declare (ignore _)) (return nil)))
-             (sldb-condition (c) 
-               (handle-sldb-condition c))))))
+          (progn 
+            (format t "SLDB-LOOP-2~%")
+            (with-simple-restart (abort "Return to sldb level ~D." level)
+              (format t "SLDB-LOOP-3~%")
+              (send-to-emacs 
+               (list* :debug (current-thread-id) level
+                      (with-bindings *sldb-printer-bindings*
+                        (debugger-info-for-emacs 0 *sldb-initial-frames*))))
+              (format t "SLDB-LOOP-4~%")
+              (send-to-emacs 
+               (list :debug-activate (current-thread-id) level nil))
+              (loop 
+                 (format t "SLDB-LOOP-5~%")
+                 (handler-case 
+                     (destructure-case (wait-for-event 
+                                        `(or (:emacs-rex . _)
+                                             (:sldb-return ,(1+ level))))
+                       ((:emacs-rex &rest args) (apply #'eval-for-emacs args))
+                       ((:sldb-return _) (declare (ignore _)) (return nil)))
+                   (sldb-condition (c) 
+                     (handle-sldb-condition c)))))))
+    (format t "SLDB-LOOP-6~%")
     (send-to-emacs `(:debug-return
                      ,(current-thread-id) ,level ,*sldb-stepping-p*))
+    (format t "SLDB-LOOP-7~%")
+
     (wait-for-event `(:sldb-return ,(1+ level)) t) ; clean event-queue
+    (format t "SLDB-LOOP-8~%")
     (when (> level 1)
       (send-event (current-thread) `(:sldb-return ,level)))))
 
