bug#11838: 24.1.50; binding clutter with [(control c) t]

From:

Michael Heerdegen

Subject:

bug#11838: 24.1.50; binding clutter with [(control c) t]

Date:

Mon, 02 Jul 2012 04:44:47 +0200

Hello,
Recently I tried to do something like this:
(global-set-key [(control c) t] 'make-frame) ;; (1)
I guess it should better be
(global-set-key [(control c) ?t] 'make-frame) ;; (2)
which works as intended.
But: Using the syntax (1) is not deprecated in the manual, and it may
seem very natural to the user. At least, you may happen to eval
something like (1) by accident.
If you evaluate (1) in emacs -Q, you get an inconsistent state: If you
then hit e.g. C-c C-h, Emacs creates a new frame. If you type C-h k
C-c C-h, you get
C-c C-h runs the command make-frame, which is an interactive compiled
Lisp function in `frame.el'.
It is bound to C-c <t>.
This doesn't make much sense. You get similar results for any other
binding starting with C-c.
You can't even revert this kind of "binding": if you eval
(global-set-key [(control c) t] nil)
that doesn't have an effect.
Thanks,
Michael.
In GNU Emacs 24.1.50.1 (i486-pc-linux-gnu, GTK+ Version 3.4.2)
of 2012-07-01 on keller, modified by Debian
(emacs-snapshot package, version 2:20120701-1)
Windowing system distributor `The X.Org Foundation', version 11.0.11201902
Configured using:
`configure '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu'
'--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
'--localstatedir=/var' '--infodir=/usr/share/info'
'--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.1.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.1.50/site-lisp:/usr/share/emacs/site-lisp'
'--without-compress-info' '--with-crt-dir=/usr/lib/i386-linux-gnu/'
'--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu'
'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g
-Wl,--as-needed -znocombreloc' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''