Peter Seibel peter@gigamonkeys.com writes:
"Stefan Kamphausen" skampi@gmx.net writes:
For todays work I will remove the in-comment-p call in self-insert-function and I hope for some help of you guys.
Should be coming soon.
Try this patch. This also provides a kludgy but, I think, real fix to turn off edited-code hilighting in the REPL (the old fix seems to get undone after you load a lisp buffer. See the comment below for my understanding as to why.
-Peter
Index: ChangeLog =================================================================== RCS file: /project/slime/cvsroot/slime/ChangeLog,v retrieving revision 1.823 diff -u -r1.823 ChangeLog --- ChangeLog 20 Dec 2005 00:25:58 -0000 1.823 +++ ChangeLog 20 Dec 2005 17:27:45 -0000 @@ -1,3 +1,8 @@ +2005-12-20 Peter Seibel peter@gigamonkeys.com + + * slime.el (slime-in-comment-p): Renamed from in-comment-p and + made perhaps more portable. + 2005-12-20 Marco Baringer mb@bese.it
When inspecting classes, methods and generic functions show all Index: slime.el =================================================================== RCS file: /project/slime/cvsroot/slime/slime.el,v retrieving revision 1.572 diff -u -r1.572 slime.el --- slime.el 20 Dec 2005 00:13:24 -0000 1.572 +++ slime.el 20 Dec 2005 17:27:55 -0000 @@ -9890,17 +9890,29 @@ (self-insert-command 1) (when (and slime-display-edit-hilights (slime-connected-p) - (not (in-comment-p))) + (not (eq 'slime-repl-mode major-mode)) + (not (slime-in-comment-p))) (let ((overlay (make-overlay (- (point) 1) (point)))) (flet ((putp (name value) (overlay-put overlay name value))) (putp 'face 'slime-display-edit-face) (putp 'slime-edit t)))))
-(defun in-comment-p () - (nth 4 (syntax-ppss (point)))) +(defun slime-in-comment-p () + (let ((lim (or (save-excursion + (beginning-of-defun) + (point)) + (point-min)))) + (nth 4 (parse-partial-sexp lim (point)))))
(add-hook 'slime-mode-hook (lambda () + ;; This is a nice idea but there's apparently some level + ;; of sharing of keymaps between slime-repl-mode and + ;; lisp-mode. Consequently after you load a lisp buffer + ;; these changes show through to the REPL. I've moved the + ;; test for slime-repl-mode to slime-self-insert-command + ;; above for the moment but there's probably a more classy + ;; way to fix this. --Peter Seibel (unless (eq 'slime-repl-mode major-mode) (dotimes (i 127) (when (> i 31)