all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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
> 




      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.