[slime-devel] Re: comma shortcut doesn't work always

Helmut Eller e9626484 at stud3.tuwien.ac.at
Thu Apr 22 20:15:17 UTC 2004


Edi Weitz <edi at agharta.de> writes:

>> I suspect this has something to do with funny property inheritance
>> near the prompt.  Do the symptoms go a away if you try this?
>
> No, unfortunately not.

I think I found the cause of the problem.  Apparently an Emacs
bug/particularity related to timers.  The first command after the
execution of a timer function seems to be looked up in the buffer in
which the timer was started and not in the current buffer, e.g., the
form

(run-at-time 2 nil (lambda ()
		     (with-current-buffer (generate-new-buffer "x.x")
		       (emacs-lisp-mode)
		       (insert "(+ 1 2)")
                       (pop-to-buffer (current-buffer))   
		       (setq unread-command-events
			     (append 
			      (listify-key-sequence "\C-j")
			      unread-command-events)))))

creates a buffer with contents

(+ 1 2)
3

when executed from the Emacs *scratch* buffer.  The binding of C-j in
the *scratch* buffer is used and not the one in the x.x buffer.
Subsequent commands work correctly.  As a workaround, I generate a
synthetic C-l event, which only performs redisplay.

Helmut.







More information about the slime-devel mailing list