[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Wed Feb 13 07:27:14 UTC 2013


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

Modified Files:
	ChangeLog slime.el swank-allegro.lisp 
Log Message:
* swank-allegro.lisp (eval-in-frame): debugger:frame-var-name can
return nil; ignore those vars.

* slime.el (sldb-setup): Allegro somehow managed to enter sldb at
the same level twice.  Add an assertion that checks that the
condition is the same if sldb-level is the same as last time.

--- /project/slime/cvsroot/slime/ChangeLog	2013/02/08 14:11:34	1.2392
+++ /project/slime/cvsroot/slime/ChangeLog	2013/02/13 07:27:14	1.2393
@@ -1,3 +1,12 @@
+2013-02-13  Helmut Eller  <heller at common-lisp.net>
+
+	* swank-allegro.lisp (eval-in-frame): debugger:frame-var-name can
+	return nil; ignore those vars.
+
+	* slime.el (sldb-setup): Allegro somehow managed to enter sldb at
+	the same level twice.  Add an assertion that checks that the
+	condition is the same if sldb-level is the same as last time.
+
 2013-02-08  Helmut Eller  <heller at common-lisp.net>
 
 	* swank-lispworks.lisp (frame-package): Implemented.
--- /project/slime/cvsroot/slime/slime.el	2013/01/07 10:12:08	1.1426
+++ /project/slime/cvsroot/slime/slime.el	2013/02/13 07:27:14	1.1427
@@ -5456,6 +5456,11 @@
 portion of the backtrace. Frames are numbered from 0.
 CONTS is a list of pending Emacs continuations."
   (with-current-buffer (sldb-get-buffer thread)
+    (assert (if (equal sldb-level level)
+                (equal sldb-condition condition)
+              t)
+            () "Bug: sldb-level is equal but condition differs\n%s\n%s"
+            sldb-condition condition)
     (unless (equal sldb-level level)
       (setq buffer-read-only nil)
       (slime-save-local-variables (slime-popup-restore-data)
--- /project/slime/cvsroot/slime/swank-allegro.lisp	2013/02/08 14:11:23	1.159
+++ /project/slime/cvsroot/slime/swank-allegro.lisp	2013/02/13 07:27:14	1.160
@@ -300,9 +300,9 @@
     ;; let-bind lexical variables
     (let ((vars (loop for i below (debugger:frame-number-vars frame)
                       for name = (debugger:frame-var-name frame i)
-                      if (symbolp name)
+                      if (typep name '(and symbol (not null) (not keyword)))
                       collect `(,name ',(debugger:frame-var-value frame i)))))
-      (debugger:eval-form-in-context 
+      (debugger:eval-form-in-context
        `(let* ,vars ,form)
        (debugger:environment-of-frame frame)))))
 





More information about the slime-cvs mailing list