emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Function for deleting a key binding in a sparse keymap


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:

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.
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:


(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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]