#164: Cannot quit SLIME REPL ----------------------+----------------------------------------------------- Reporter: mevenson | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: unscheduled Component: other | Version: 0.27 Keywords: slime | ----------------------+----------------------------------------------------- One cannot direct SLIME repl to quit as the EXT:QUIT and EXT:EXIT functions throw a ProcessingTerminated exception that has no corresponding handler under SLIME as the SLIME REPL doesn't actually use the ABCL repl code.
#164: Cannot quit SLIME REPL ----------------------+----------------------------------------------------- Reporter: mevenson | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: unscheduled Component: other | Version: 0.27 Keywords: slime | ----------------------+-----------------------------------------------------
Comment(by mevenson):
The following patch to SLIME probably works.
{{{ --- a/swank-abcl.lisp Wed Jul 27 18:45:37 2011 +0200 +++ b/swank-abcl.lisp Mon Aug 22 10:36:34 2011 +0200 @@ -716,4 +716,4 @@ (threads:object-wait mbox 0.3))))))
(defimplementation quit-lisp () - (ext:exit)) + (jstatic "exit" "java.lang.System" 0)) }}}
But the correct fix would be to figure out where to establish a proper handler so the EXT:QUIT routine would still be invoked from SLIME. This would allow code that depends on this condition being signaled to work, plus any future additional hooks.
#164: Cannot quit SLIME REPL ----------------------+----------------------------------------------------- Reporter: mevenson | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: unscheduled Component: other | Version: 0.27 Keywords: slime | ----------------------+-----------------------------------------------------
Comment(by mevenson):
Replying to [comment:1 mevenson]:
But the correct fix would be to figure out where to establish a proper
handler so the EXT:QUIT routine would still be invoked from SLIME. This would allow code that depends on this condition being signaled to work, plus any future additional hooks.
Further analysis reveals that ProcessingTerminated is a pure Java-side construct so there is currently no way to hook in from Lisp, so that part of the concern is unfounded.
Still, calling System.exit() seems really wrong. Need to reconsider the reason under which ProcessingTerminated exception was introduced.
#164: Cannot quit SLIME REPL -----------------------+---------------------------------------------------- Reporter: mevenson | Owner: somebody Type: defect | Status: closed Priority: minor | Milestone: unscheduled Component: other | Version: 0.27 Resolution: fixed | Keywords: slime -----------------------+---------------------------------------------------- Changes (by mevenson):
* status: new => closed * resolution: => fixed
Comment:
Addressed in r13530 so that the SLIME patch isn't necessary.
Centralizing such JVM exits in one place with perhaps a "Lisp process exiting" hook would perhaps be a reasonable feature.
armedbear-ticket@common-lisp.net