[slime-cvs] CVS slime
CVS User sboukarev
sboukarev at common-lisp.net
Tue Apr 2 14:41:08 UTC 2013
Update of /project/slime/cvsroot/slime
In directory tiger.common-lisp.net:/tmp/cvs-serv25204
Modified Files:
ChangeLog swank-allegro.lisp
Log Message:
Hide SWANK debugger frames on Allegro also when the error is
signalled within threads different from the SLIME REPL's.
E.g. (mp:process-run-function nil (lambda () (error "foo"))).
--- /project/slime/cvsroot/slime/ChangeLog 2013/03/12 17:49:47 1.2397
+++ /project/slime/cvsroot/slime/ChangeLog 2013/04/02 14:41:07 1.2398
@@ -1,3 +1,14 @@
+2013-04-02 Luís Oliveira <loliveira at common-lisp.net>
+
+ Hide SWANK debugger frames on Allegro also when the error is
+ signalled within threads different from the SLIME REPL's.
+ E.g. (mp:process-run-function nil (lambda () (error "foo"))).
+
+ * swank-allegro.lisp (find-topframe): look deeper than 11
+ frames. Still looking no deeper than 30 frames in the unlikely
+ event that this function is invoked out of context with a very
+ large stack.
+
2013-03-12 Helmut Eller <heller at common-lisp.net>
* slime.el (slime-read-interactive-args): Use read-shell-command
--- /project/slime/cvsroot/slime/swank-allegro.lisp 2013/02/13 07:27:14 1.160
+++ /project/slime/cvsroot/slime/swank-allegro.lisp 2013/04/02 14:41:08 1.161
@@ -169,11 +169,11 @@
(find-package :swank)))
(top-frame (excl::int-newest-frame (excl::current-thread))))
(loop for frame = top-frame then (next-frame frame)
- for name = (debugger:frame-name frame)
for i from 0
- when (eq name magic-symbol)
+ while (and frame (< i 30))
+ when (eq (debugger:frame-name frame) magic-symbol)
return (next-frame frame)
- until (= i 10) finally (return top-frame))))
+ finally (return top-frame))))
(defun next-frame (frame)
(let ((next (excl::int-next-older-frame frame)))
More information about the slime-cvs
mailing list