help-gnu-emacs
[Top][All Lists]
Advanced

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

RE: extension for image view to go to next or previous image


From: Drew Adams
Subject: RE: extension for image view to go to next or previous image
Date: Sat, 9 Apr 2011 08:06:33 -0700

> > http://www.emacswiki.org/emacs/Icicles_-_Ido_and_IswitchB
> 
> Of late Ive been having clashes between icicles and org-mode (C-c =
> and other things related to tables spreadsheets etc).  I generally
> shut off icicles and proceed.  But this reminds me is there a page
> like the above for org vs icicles keybinding clashes?

1. The page cited above is not about keybinding clashes.

2. Keys such as `C-c =' are reserved for minor modes.  From `(elisp) Key Binding
Conventions': "Sequences consisting of `C-c' followed by any other punctuation
character [other than { } < > : and ;] are allocated for minor modes."

`icicle-mode' is a minor mode.  There is nothing abnormal about two minor modes
defining a key such as `C-c =' differently.

3. If Org defines `C-c =' as a major- (not just a minor-) mode key binding
(which it seems to: `org-table-eval-formula') then that is perhaps a bit
ill-advised, but it is not verboten.

Again, from the same Elisp manual page, same paragraph: "Using them [keys such
as `C-c ='] in a _major_ mode is not absolutely prohibited, but if you do that,
the major mode binding may be shadowed from time to time by minor modes."

IOW, a major mode that goes ahead and does this should expect that the key will
be shadowed by minor modes.

4. What is important is that any library you use provide you (a) a
straightforward way to change or remove such key bindings and (b) good doc about
them.

4a. Icicles gives you a user option that lets you easily change or remove such
key bindings: `icicle-top-level-key-bindings'.  You do not even need to know any
Lisp to do this.

For example, it is trivial to either remove this entry from
`icicle-top-level-key-bindings' or assign a different key to the same command:

[INS] [DEL]  <== Click DEL to remove the key binding
 Key: C-c =  <== Or type a different key name, to change key
 Command: icicle-imenu

4b. This is all clearly documented.  There is even a screenshot of the Customize
interface for `icicle-top-level-key-bindings' (second URL) - `C-c =' is the 3rd
binding shown in the screenshot.
http://www.emacswiki.org/emacs/Icicles_-_Customizing_Key_Bindings
http://www.emacswiki.org/emacs/Icicles_-_Key_Bindings

If you are toggling Icicle mode off and on just because of such a key binding,
then you owe it to yourself, I suggest, to look at the doc to learn about
Icicles keys and how to change them.

5. If you think you see a bug, doc or code, then send a _specific recipe_,
starting with emacs -Q: `M-x icicle-send-bug-report'.




reply via email to

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