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

[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/
>



reply via email to

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