[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: keybinding with shift key syntax. C-S-n vs C-N
From: |
Xah |
Subject: |
Re: keybinding with shift key syntax. C-S-n vs C-N |
Date: |
Wed, 17 Sep 2008 15:51:56 -0700 (PDT) |
User-agent: |
G2/1.0 |
A emacs developer Chong Yidong replied to my bug report.
Chong wrote:
« This is a legacy of ASCII. Taking a look at an
ASCII chart, you'll see that ^A (control-a) through
^Z (control-z) map to ASCII codes 1 through 26, and these control
keys are not case sensitive: control-a is equivalent to
control-A.
Emacs extends ASCII, which allows us to define things like C-]
which are not present in ASCII. However, (kbd "C-N")
and (kbd "C-n") still both evaluate to ^N. »
I think there is still a problem, that is, inconsistency with the meta
notation.
Namely, when defining a key with Ctrl or Meta with a Shift and a
letter, when it is Meta,
(global-set-key (kbd "M-N") 'f) works
but
(global-set-key (kbd "M-S-n") 'f) does not work.
But with Ctrl, it is the the other way around.
Shouldn't emacs make "M-S-n" notation work and not "M-N", so that it
is consistant with the Control?
In summary, the notation for a Meta/Control+Shift+‹letter› keybinding
used in macro is not consistant. For Meta, "-N" is effective but for
Control, "-S-n" is effective.
Xah
∑ http://xahlee.org/
☄
On Sep 16, 12:35 pm, Xah <xah...@gmail.com> wrote:
> On Sep 15, 12:44 pm, Oleksandr Gavenko <gaven...@gmail.com> wrote:
>
> > I try all write. Same behavior
> > (GNU Emacs 22.1.1 (i386-mingw-nt5.1.2600) of 2007-06-02 on RELEASE).
>
> > (global-set-key (kbd "M-S-n") 'f1) do not define key binding, but
> > (global-set-key (kbd "M-n") 'f2) do for both M-n and M-N.
>
> I might have miscommunicated. I try again:
>
> I want to define a keybinding with the Shift down. e.g. Ctrl+Shift+n.
>
> In emacs, it appears there are 2 notations that can be used.
>
> 1. (kbd "C-S-n")
> 2. (kbd "C-N")
>
> however, this does not seems to work property.
>
> Xah
> ∑http://xahlee.org/
>
> ☄
>
> ---------------------
>
> This seems to be a bug.
>
> i'm trying to set keybindings for both Ctrl+n and Ctrl+Shift+n, by:
> (global-set-key (kbd "C-N") 'f1)
> (global-set-key (kbd "C-n") 'f2)
>
> however, that doesn't work.
> Emacs will take both Ctrl+Shift+n and Ctrl+Shift+n to be whichever is
> evaluated last. In this case, f2.
> But the following works:
>
> (global-set-key (kbd "C-S-n") 'f1)
> (global-set-key (kbd "C-n") 'f2)
>
> This seems to contradict with Meta's ways. That is (kbd "M-N") works
> but not (kbd "M-S-n").
>
> I filed a bug but no response. Can anyone reproduce this?
>
> Xah
> ∑http://xahlee.org/
> ☄