|
From: | Lennart Borgman |
Subject: | Re: Function for deleting a key binding in a sparse keymap |
Date: | Mon, 12 Dec 2005 02:41:16 +0100 |
User-agent: | Mozilla Thunderbird 1.0.7 (Windows/20050923) |
Richard M. Stallman wrote:
I a little bit doubt it is readable outside a buffer in Emacs-Lisp mode. Here is a version I have made to see how it looks:But even better, don't use labels! Gotos are not a clear way to express a program. It would be clearer to try to express this as (if overriding-terminal-local-map (look-in overriding-terminal-local-map) (if overriding-local-map (look-in overriding-local-map) (look-in (get-char-property (point) 'keymap)) etc.)) which involves no labels or gotos.
(unless (FIND-IN special-event-map) (if overriding-terminal-local-map (FIND-IN overriding-terminal-local-map) (if overriding-local-map (FIND-IN overriding-local-map) (unless (FIND-IN (KEYMAP-PROPERTY-AT-POINT)) (unless (FIND-IN-ANY EMULATION-MODE-MAP-ALISTS) (unless (FIND-IN-ANY minor-mode-overriding-map-alist) (unless (FIND-IN-ANY minor-mode-map-alist) (unless (FIND-IN (LOCAL-MAP-PROPERTY-AT-POINT)) (FIND-IN (current-local-map)))))))))) (unless FOUND (FIND-IN (current-global-map)))
I think it would need some explanation too.
[Prev in Thread] | Current Thread | [Next in Thread] |