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

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

Re: redefine C-h


From: YSK
Subject: Re: redefine C-h
Date: Sun, 10 Aug 2008 18:00:35 -0700 (PDT)
User-agent: G2/1.0

On Aug 10, 8:41 pm, "Drew Adams" <drew.ad...@oracle.com> wrote:

>
> Icicles does not bind `C-h'. `C-h' with Icicle mode is the same as it is 
> without
> it. (*)

Drew,

I must have turned on an icicles setting to override these keys, since
commenting out these lines in icicles-mode.el gave me the C-h behavior
I was looking for:

;    (icicle-remap 'where-is                               'icicle-
where-is
;                  icicle-mode-map (current-global-map)) ; `C-h w'

and

;    (define-key icicle-mode-map "\C-h\C-o"  'icicle-describe-option-
of-type) ; `C-h C-o'

I'm not exactly sure why, actually. Possibly I made another change at
around the same time that I can't recall right now that actually
"fixed" my C-h issue.

> If `C-h' remains a prefix key after your customizations, I am sure that has
> nothing to do with Icicles. And, as others have pointed out, [C-h] is not what
> you want anyway - use [(control ?h)] or "\C-h" or (kbd "C-h") or [?\C-h] or...
> And you should also customize `help-char', as Kevin pointed out.
>
> Similarly, for `C-M-h': Icicles should not affect it. Your binding of `C-M-h' 
> to
> `help-command' should work OK everywhere. Is that not what you see?

Yes, C-M-h worked correctly right away. It's the 'C-h' rebinding that
was not taking.

>
> Icicle mode does, however make some changes in the minibuffer keymaps. One 
> that
> is pertinent here is that it remaps command `delete-backward-char' to
> `icicle-delete-backward-char' in the minibuffer completion keymaps. This is so
> that whenever you delete a character in the minibuffer the set of candidate
> completions is updated to reflect your edited input.
>
> This is as it should be. This does not, however, affect the binding of
> `delete-backward-char' outside of the minibuffer. And it does not even affect
> its binding in the minibuffer, except during completion.

Yes..I would prefer to keep the iciciles minibuffer features intact
since I do use icicles entirely for its minibuffer enhancements.

>
> If you successfully change the binding of `delete-backward-char' to `C-h', 
> then,
> because Icicle mode remaps this to `icicle-delete-backward-char' in the
> minibuffer during completion, `C-h' during completion will delete a minibuffer
> character and update the set of completion candidates.
>
> IIUC, that should be just what you're after: `C-h' will always delete the
> character before point. In the minibuffer, it will also update the completion
> candidates - but that's the only difference.

In my current setup, C-h does do the right thing in the minibuffer -
delete the char before point, and update the completion list.

> You can easily see all of this for yourself if you load library `help-fns+.el'
> (**) and then use `C-h M-k' (`describe-keymap'). You can use `C-h C-k' to show
> `icicle-mode-map' and each of the minibuffer maps: `minibuffer-local-map',
> `minibuffer-local-completion-map', and so on. Quit Icicle mode and check the
> minibuffer maps again, to see the difference. Check `global-map' too, to see
> whether your customizations have really taken effect as you expect.
> `describe-keymap' is your friend.

Thanks for the tip..I will give help-fns+.el a spin; it looks handy.

>
> You should be able to get what you want and still use Icicles, without any
> difficulty. If you have questions, feel free to ask. If you see a problem,
> please file a bug report: `M-x icicle-send-bug-report'.
>
> ----
> (*) In Icicle mode, these two `C-h' bindings are changed, but only if you so
> choose - see option `icicle-top-level-key-bindings':
>
> `C-h C-o' - `icicle-describe-option-of-type'
> `C-h w'   - `icicle-where-is' (multi-command version of `where-is')
>
> (**) `help-fns+.el' is available 
> here:http://www.emacswiki.org/cgi-bin/wiki/help-fns%2b.el



reply via email to

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