Hi,
is there a good way to prevent slime (or rather swank) from dropping into the slime debugger depending on the value of a variable? Specifically I want to limit the number of open debugger windows to 1 and simply log all further simultaneous errors. Any help appreciated,
Chris
You could change the *debugger-hook* variable to handle the conditions as what you want, e.g.
(defvar *use-slime-debugger* t) (setq *debugger-hook* (let* ((slime-debugger-hook *debugger-hook*) (new-debugger-hook (lambda (&rest args) (if *use-slime-debugger* (apply slime-debugger-hook args) ; do what you want )))) new-debugger-hook))
But be aware, there might be additional problems you could meet.
Best regards, Xiaofeng Yang
2014-03-06 7:19 GMT+08:00 Christopher Laux ctlaux@gmail.com:
Hi,
is there a good way to prevent slime (or rather swank) from dropping into the slime debugger depending on the value of a variable? Specifically I want to limit the number of open debugger windows to 1 and simply log all further simultaneous errors. Any help appreciated,
Chris
Thanks for the input, I've got it working now, albeit in a hackish way. But I think this is an idea for a feature in slime, other people must have this problem too: you have a lot of threads running and suddenly they all pop up the same error you can't sensibly interact with emacs any more...
Chris
On Thu, Mar 6, 2014 at 2:21 AM, Xiaofeng Yang n.akr.akiiya@gmail.comwrote:
You could change the *debugger-hook* variable to handle the conditions as what you want, e.g.
(defvar *use-slime-debugger* t) (setq *debugger-hook* (let* ((slime-debugger-hook *debugger-hook*) (new-debugger-hook (lambda (&rest args) (if *use-slime-debugger* (apply slime-debugger-hook args) ; do what you want )))) new-debugger-hook))
But be aware, there might be additional problems you could meet.
Best regards,
Xiaofeng Yang
2014-03-06 7:19 GMT+08:00 Christopher Laux ctlaux@gmail.com:
Hi,
is there a good way to prevent slime (or rather swank) from dropping into the slime debugger depending on the value of a variable? Specifically I want to limit the number of open debugger windows to 1 and simply log all further simultaneous errors. Any help appreciated,
Chris
On Thu, Mar 6, 2014 at 10:06 AM, Christopher Laux ctlaux@gmail.com wrote:
Thanks for the input, I've got it working now, albeit in a hackish way. But I think this is an idea for a feature in slime, other people must have this problem too: you have a lot of threads running and suddenly they all pop up the same error you can't sensibly interact with emacs any more...
Agreed. Registered the feature request at https://github.com/slime/slime/issues/129.
Cheers,
On Wed, Mar 5, 2014 at 11:19 PM, Christopher Laux ctlaux@gmail.com wrote:
is there a good way to prevent slime (or rather swank) from dropping into the slime debugger depending on the value of a variable? Specifically I want to limit the number of open debugger windows to 1 and simply log all further simultaneous errors. Any help appreciated,
You could setup a handler-bind in your code that decides whether to let a error go through or catch it and log it. Have you tried that?