From: "Lennart Borgman (gmail)" <lennart.borgman@gmail.com>
To: Mirko <mvukovic@nycap.rr.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: trouble binding to <next> & <prior>
Date: Tue, 08 Jul 2008 19:26:07 +0200 [thread overview]
Message-ID: <4873A32F.8050603@gmail.com> (raw)
In-Reply-To: <b9afc8db-e460-499c-8ec1-080897c67575@y38g2000hsy.googlegroups.com>
Mirko wrote:
> On Jul 7, 4:04 pm, "Lennart Borgman (gmail)"
> <lennart.borg...@gmail.com> wrote:
>> Mirko wrote:
>>> On Jul 7, 2:09 pm, "Lennart Borgman (gmail)"
>>> <lennart.borg...@gmail.com> wrote:
>>>> Mirko wrote:
>>>>> On Jul 7, 12:59 pm, p...@informatimago.com (Pascal J. Bourguignon)
>>>>> wrote:
>>>>>> Mirko <mvuko...@nycap.rr.com> writes:
>>>>>>> Hello,
>>>>>>> I have a following keybinding, parts of which do not work. In
>>>>>>> particular I am trying to bind view-previous-entry to the page-up key
>>>>>>> on the standard PC keyboard (using Emacs 22.1). I used both h-k and h-
>>>>>>> l to determine that this key is identified with "<prior>" & <next>".
>>>>>>> (defvar iop-alert-mode-map nil
>>>>>>> "Keymap for IOP-alert mode")
>>>>>>> (unless iop-alert-mode-map
>>>>>>> (setq iop-alert-mode-map (copy-keymap text-mode-map))
>>>>>>> (define-key iop-alert-mode-map (kbd "<prior>") 'view-previous-entry)
>>>>>>> (define-key iop-alert-mode-map (kbd "<next>") 'view-next-entry)
>>>>>>> (define-key iop-alert-mode-map (kbd "d") 'mark-entry-for-deletion)
>>>>>>> (define-key iop-alert-mode-map "m" 'mark-entry-for-save))
>>>>>>> When in a buffer with iop-alert mode, doing h-m gives me the following
>>>>>>> output on keybindings:
>>>>>>> ... stuff skipped
>>>>>>> < n e Prefix Command
>>>>>>> < p r Prefix Command
>>>>>>> < n e x Prefix Command
>>>>>>> < p r i Prefix Command
>>>>>>> < n e x t Prefix Command
>>>>>>> < p r i o Prefix Command
>>>>>>> < n e x t > view-next-entry
>>>>>>> < p r i o r Prefix Command
>>>>>>> < p r i o r > view-previous-entry
>>>>>>> It seems <prior> and <next> are bound to the character sequence
>>>>>>> "<prior>" and "<next>". Pressing those characters will invoke the
>>>>>>> commands. But pressing the Page-up/down keys will not.
>>>>>>> Indeed, doing a h-k shows that page-up/down are still bound to scroll
>>>>>>> up/down.
>>>>>>> What am I doing wrong?
>>>>>> emacs-version --> "22.2.1"
>>>>>> (kbd "<prior>") --> [prior]
>>>>>> if you don't get this vector with one symbol for (kbd "<prior>"),
>>>>>> indeed you have a problem.
>>>>>> --
>>>>>> __Pascal Bourguignon__ http://www.informatimago.com/
>>>>>> WARNING: This product warps space and time in its vicinity.
>>>>> I tried that, and I get exactly as you suggested.
>>>>> (kbd "<prior>") --> [prior]
>>>>> Mirko
>>>> It looks like you have been doing
>>>> (define-key iop-alert-mode-map "<prior>" 'view-previous-entry)
>>>> instead of
>>>> (define-key iop-alert-mode-map (kbd "<prior>") 'view-previous-entry)
>>> Nope. This is what I have
>>> (define-key iop-alert-mode-map (kbd "<prior>") 'view-previous-entry)
>>> Thanks,
>>> Mirko
>> Could you try to re-evaluate the code. Place point inside the defvar and
>> do C-M-x (this will just set iop-alert-mode-map to nil again). Then
>> place point inside the unless form and do C-M-x again.
>>
>> Does this correct the keymap?
>
> Yes and no.
>
> Following your instructions to the keystroke, I first set the map to
> nil, and then re-assigned it. And now h-m gives a much saner
> response:
> <next> view-next-entry
> <prior> view-previous-entry
That is good.
Just a short note to avoid confusing other readers: I think you mean
`C-h m' here when you write `h-m'. And below you probably mean `C-h k'.
> (In my defense, I did try restarting emacs and reloading the file,
> before starting this topic).
Did you happen to compile the file? The compiled file takes precedence
over the uncompiled. This is confusing and I have fallen in that trap
myself. (There is a warning in the *Message* buffer but that is a bit to
shy in my opinion.)
> However, h-k on page up and page down still gives:
> <next> runs the command scroll-up
> which is an interactive built-in function in `C source code'.
> It is bound to C-v, <next>.
> (scroll-up &optional arg)
>
> ??
There are many keymaps involved. You can use `C-h b' to see all the key
bindings.
There is rather much in the manual describing this, for example
(info "(elisp) Searching the Active Keymaps")
> Thanks,
>
> Mirko
>
prev parent reply other threads:[~2008-07-08 17:26 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-07 15:37 trouble binding to <next> & <prior> Mirko
2008-07-07 16:59 ` Pascal J. Bourguignon
2008-07-07 17:32 ` Mirko
2008-07-07 18:09 ` Lennart Borgman (gmail)
[not found] ` <mailman.14341.1215454191.18990.help-gnu-emacs@gnu.org>
2008-07-07 18:59 ` Mirko
2008-07-07 20:04 ` Lennart Borgman (gmail)
2008-07-08 2:00 ` Kevin Rodgers
2008-07-08 3:34 ` Xah
2008-07-09 16:32 ` Mirko
[not found] ` <mailman.14345.1215461048.18990.help-gnu-emacs@gnu.org>
2008-07-08 12:49 ` Mirko
2008-07-08 17:26 ` Lennart Borgman (gmail) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4873A32F.8050603@gmail.com \
--to=lennart.borgman@gmail.com \
--cc=help-gnu-emacs@gnu.org \
--cc=mvukovic@nycap.rr.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.