[slime-cvs] CVS slime

CVS User nsiivola nsiivola at common-lisp.net
Fri Mar 30 09:45:01 UTC 2012


Update of /project/slime/cvsroot/slime
In directory tiger.common-lisp.net:/tmp/cvs-serv24629

Modified Files:
	ChangeLog swank-sbcl.lisp 
Log Message:
sbcl: make STEP friendlier when SBCL gives the source form for the initial form

  ...right now it doesn't but next week it will -- and then the initial
  form shown would be useless.


--- /project/slime/cvsroot/slime/ChangeLog	2012/03/26 15:36:50	1.2307
+++ /project/slime/cvsroot/slime/ChangeLog	2012/03/30 09:45:00	1.2308
@@ -1,3 +1,9 @@
+2012-03-30  Nikodemus Siivola  <nikodemus at random-state.net>
+
+	* swank-sbcl.lisp (lisp-source-location): When processing a STEP-FORM-CONDITION,
+	don't show the initial form from expansion of STEP. (Currently SBCL doesn't
+	give the form at all, but when it does seeing it is distinctly useless.)
+
 2012-03-26  Helmut Eller  <heller at common-lisp.net>
 
 	* slime.el (utf-8-source): XEmacs has no set-buffer-multibyte.
--- /project/slime/cvsroot/slime/swank-sbcl.lisp	2012/03/26 15:10:19	1.303
+++ /project/slime/cvsroot/slime/swank-sbcl.lisp	2012/03/30 09:45:00	1.304
@@ -1130,7 +1130,13 @@
 (defun lisp-source-location (code-location)
   (let ((source (prin1-to-string
                  (sb-debug::code-location-source-form code-location 100))))
-    (make-location `(:source-form ,source) '(:position 1))))
+    (if (and (typep swank::*swank-debugger-condition* 'sb-impl::step-form-condition)
+             (and (search "SB-IMPL::WITH-STEPPING-ENABLED" source :test #'char-equal)
+                  (search "SB-IMPL::STEP-FINISHED" source :test #'char-equal)))
+        ;; The initial form is utterly uninteresting -- and almost certainly right there
+        ;; in the REPL.
+        (make-error-location "Stepping...")
+        (make-location `(:source-form ,source) '(:position 1)))))
 
 (defun emacs-buffer-source-location (code-location plist)
   (if (code-location-has-debug-block-info-p code-location)





More information about the slime-cvs mailing list