[slime-devel] indentation customization in .emacs file in Lispbox 0.7 overriding a SLIME setting?
Harald Hanche-Olsen
hanche at math.ntnu.no
Tue Apr 18 20:26:15 UTC 2006
+ "Taylor R. Campbell" <campbell at mumble.net>:
| Date: Tue, 18 Apr 2006 20:00:50 +0200 (CEST)
| From: Harald Hanche-Olsen <hanche at math.ntnu.no>
|
| I must disagree. Users aren't supposed to know the name of modes'
| keymaps: The recommended method of making your own bindings for a
| given mode is precisely to use local-set-key in a mode hook.
|
| Indeed? I've always just used the modes' key maps. Is this explained
| in any part of the Emacs or elisp manuals?
Er, no. I am not sure where I have picked this up from, but evidently
not from the info files, I can see that now. I must have been told
this in some newsgroup or other. And repeatedly, for I am sure have
heard it more than once. But at least, I think it's safe to say this
is not uncommon practice, so it pays to make sure you don't break
stuff for people who do this.
| Hmmm. Actually, I can't reproduce the behaviour observed by Kelvin
| Wu, though I'm using GNU Emacs, not XEmacs. I wonder what C-h c RET
| says when in the SLIME REPL.
I could repeat it. But guess what: RET is bound to slime-repl-return
initially, after you start slime. But when you start typing some
input, THAT is when lisp-mode-hook gets called, and afterwards, RET is
bound to newline-and-indent. More precisely, type M-( + space, then
slime displays the arglist for +, and the key gets rebound.
I tried adding a function to lisp-mode-hook that calls (error), and it
didn't trigger until I started typing. It seems to be
slime-fontify-string that is the culprit here. But that makes no
sense either: It creates a temporary buffer for the purpose of
fontifying some lisp, but that is running pure lisp-mode, so should be
the hook will twiddle the wrong keymap.
I just can't figure out what is going on, and it's not for lack of
trying: I added a function to lisp-mode-hook that checks whether
(current-local-map) is equal to lisp-mode-map and records the answer,
and it is always yes. But still, Kelvin Wu's hook rebinds return in
lisp-mode-map. Argh.
- Harald
More information about the slime-devel
mailing list