On Thu, Jan 14, 2010 at 7:57 PM, Helmut Eller heller@common-lisp.net wrote:
- Stas Boukarev [2010-01-14 16:55+0100] writes:
I've achieved that by setting slime-repl-mode-map's parent to (append slime-editing-map lisp-mode-map) and not using slime-editing-mode in slime-repl-mode. This is committed in CVS.
Funny that it works. In XEmacs keymaps aren't lists but some opaque structure, so append doesn't work there. But XEmacs has set-keymap-parents which allows multiple parents. That could be used.
Copying the first argument is also not quite what we want, because (define-key slime-editing-map ...) might no longer update the copy. I haven't tested it, though.
I understood why it works. I've tested it on "\C-c ..." bindings, C-c is a prefix key, so it's stored in the keymap as (3 keymap ... bindings) and therefore it's shared. So, my solution isn't very good.