branch: elpa/sly commit 613f597ecf72eb5719d4e13a4bfdbeb91373bf09 Author: João Távora <joaotav...@gmail.com> Commit: João Távora <joaotav...@gmail.com>
Fix #394: Revert "Don't force mREPL to use channel thread for everything" This reverts commit ae4bbcaadc2b65d4f64c99b956c739372eeba1cc, which was a total thinko. Although what was written in that commit message is true for most requests -- that :emacs-rex requests issued from the REPL can normally be spawned in a new worker thread -- it (1) isn't true of some slynk-mrepl SLYFUNs which check if the worker thread really is the thread of the object representing the REPL, and (2) it most certainly isn't true of the :emacs-interupt message. The restriction of (1) is probably artificial, since these SLYFUNs (which modify REPL history, for example) are "seeing" local REPL bindings anyway via WITH-LISTENER-BINDINGS, and it probably wouldn't hurt a ton to lift it. But the restriction of (2) is imperative: the purpose of that message is to interrupt a specific thread. In the end, that commit was done to get a better experience in Clasp, who seems to have a hard problem hanging on to thread IDs because of a garbage collecting issue. Let's rather have that fixed in Clasp. --- contrib/sly-mrepl.el | 1 + sly.el | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/sly-mrepl.el b/contrib/sly-mrepl.el index 9c412bf..90c1397 100644 --- a/contrib/sly-mrepl.el +++ b/contrib/sly-mrepl.el @@ -1013,6 +1013,7 @@ handle to distinguish the new buffer from the existing." (with-current-buffer buffer (sly-mrepl--read-input-ring) (setq header-line-format nil) + (setq sly-current-thread thread-id) (set (make-local-variable 'sly-mrepl--remote-channel) remote) (unwind-protect (run-hooks 'sly-mrepl-hook 'sly-mrepl-runonce-hook) diff --git a/sly.el b/sly.el index 4135f36..1b96528 100644 --- a/sly.el +++ b/sly.el @@ -1,6 +1,6 @@ ;;; sly.el --- Sylvester the Cat's Common Lisp IDE -*- lexical-binding: t; -*- -;; Version: 1.0.42 +;; Version: 1.0.43 ;; URL: https://github.com/joaotavora/sly ;; Package-Requires: ((emacs "24.3")) ;; Keywords: languages, lisp, sly