slime on github
João Távora
joaotavora at gmail.com
Sun Jan 26 23:19:05 UTC 2014
Paul Bowyer <pbowyer at olynet.com> writes:
> Do I have some configuration issues, or is there some reason I can no
> longer use the *inferior-lisp* buffer for direct entry of lisp
> commands?
Hi Paul,
I still can't reproduce. To be sure, let's agree on the test case
(setq inferior-lisp-program "sbcl")
(add-to-list 'load-path "/path/to/slime")
(require 'slime-autoloads)
(setq slime-contribs '(slime-fancy)) ;; or do you have slime-repl?
M-x slime
switch to *inferior lisp* buffer
type (sb-ext:describe-compiler-policy) and RET
I'm doing this with emacs 23 and everything works as expected. Are you
using the very latest slime? Some days ago I fixed some failing repl
tests.
That said, my best bet is that some strange interaction might be trying
to overwrite the REPL prompt in slime-repl.el, which has been recently
marked as read-only.
Maybe this fix is in order, It simply binds inhibit-read-only to nil
around slime-repl-emit's activities.
But I would like to reproduce before I push it.
diff --git a/contrib/slime-repl.el b/contrib/slime-repl.el
index 2d74e94..77bc0eb 100644
--- a/contrib/slime-repl.el
+++ b/contrib/slime-repl.el
@@ -262,22 +262,23 @@ This is set to nil after displaying the buffer.")
(defun slime-repl-emit (string)
;; insert the string STRING in the output buffer
- (with-current-buffer (slime-output-buffer)
- (save-excursion
- (goto-char slime-output-end)
- (slime-save-marker slime-output-start
- (slime-propertize-region '(face slime-repl-output-face
- slime-repl-output t
- rear-nonsticky (face))
- (insert-before-markers string)
- (when (and (= (point) slime-repl-prompt-start-mark)
- (not (bolp)))
- (insert-before-markers "\n")
- (set-marker slime-output-end (1- (point)))))))
- (when slime-repl-popup-on-output
- (setq slime-repl-popup-on-output nil)
- (display-buffer (current-buffer)))
- (slime-repl-show-maximum-output)))
+ (let ((inhibit-read-only t))
+ (with-current-buffer (slime-output-buffer)
+ (save-excursion
+ (goto-char slime-output-end)
+ (slime-save-marker slime-output-start
+ (slime-propertize-region '(face slime-repl-output-face
+ slime-repl-output t
+ rear-nonsticky (face))
+ (insert-before-markers string)
+ (when (and (= (point) slime-repl-prompt-start-mark)
+ (not (bolp)))
+ (insert-before-markers "\n")
+ (set-marker slime-output-end (1- (point)))))))
+ (when slime-repl-popup-on-output
+ (setq slime-repl-popup-on-output nil)
+ (display-buffer (current-buffer)))
+ (slime-repl-show-maximum-output))))
(defun slime-repl-emit-result (string &optional bol)
;; insert STRING and mark it as evaluation result
More information about the slime-devel
mailing list