Subject: 23.1; global-(un)set-key has no effect for global key set by ERC

From: Robin Green <[email-masked]>
Date: Thu, 17 Sep 2009 16:41:16 +0100

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

ERC, when started with M-x erc, defines an apparently global key binding for C-c C-SPC, which takes precedence over the default binding for the same key in the 3rd-party "agda" major mode. I wanted to make C-c C-SPC do what it used to do, in the agda major mode at least, so I tried

M-x global-set-key RET C-c C-SPC agda2-give RET

and

M-x global-unset-key RET C-c C-SPC

but neither of these had any effect. After both of them, C-c C-SPC switches to an ERC buffer, which is exactly the same behaviour as before.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.1/etc/DEBUG for instructions.

In GNU Emacs 23.1.1 (i386-redhat-linux-gnu, GTK+ Version 2.17.9)
 of 2009-08-31 on x86-4.fedora.phx.redhat.com
Windowing system distributor `The X.Org Foundation', version 11.0.10699901
configured using `configure  '--build=i386-redhat-linux-gnu' '--host=i386-redhat-linux-gnu' '--target=i686-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=i386-redhat-linux-gnu' 'host_alias=i386-redhat-linux-gnu' 'target_alias=i686-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: ERC

Minor modes in effect:
  shell-dirtrack-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <tab> 2 - g i <tab> <return> <help-echo> 
<down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> <help-echo> 
<help-echo> <help-echo> <help-echo> <menu-bar> <buffer> 
C-c <help-echo> <down-mouse-1> <mouse-1> C-c C-SPC 
<help-echo> <help-echo> <help-echo> <menu-bar> <buffer> 
C-a C-c SPC <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <menu-bar> <help-menu> 
<describe> <describe-key-1> C-c C-SPC <help-echo> <help-echo> 
<help-echo> M-x g l o b a l - <tab> y b s <tab> <backspace> 
<backspace> <backspace> u n <tab> <return> C-c C-SPC 
<up> <down> <left> <left> <right> C-c C-SPC <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <menu-bar> <buffer> 
<list-all-buffers> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <down-mouse-1> <mouse-2> <down-mouse-5> 
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> 
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> 
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> 
<triple-mouse-5> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <menu-bar> <buffer> C-d <help-echo> <down-mouse-5> 
<mouse-5> <double-down-mouse-5> <double-mouse-5> <down-mouse-4> 
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4> 
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> 
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> 
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> 
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> 
<triple-mouse-4> <help-echo> <help-echo> <menu-bar> 
<buffer> TAB <return> > <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <return> <down> <down> <down> 
<return> SPC <up> <return> <down> <down> <down> <return> 
<down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> 
<mouse-4> <down-mouse-1> <mouse-1> <return> <down-mouse-2> 
<mouse-2> <down-mouse-4> <mouse-4> <down-mouse-1> <mouse-1> 
<return> <down> <return> <help-echo> <help-echo> <help-echo> 
<down-mouse-1> <drag-mouse-1> <help-echo> <help-echo> 
<help-echo> C-x b * <backspace> # e r c <return> <help-echo> 
<help-echo> <help-echo> <down-mouse-4> <mouse-4> <down-mouse-2> 
<mouse-2> <down-mouse-4> <mouse-4> <double-down-mouse-4> 
<double-mouse-4> <down-mouse-2> <mouse-2> <down-mouse-4> 
<mouse-4> <double-down-mouse-4> <double-mouse-4> <help-echo> 
<down-mouse-2> <mouse-2> <return> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <menu-bar> <help-menu> <send-emacs-bug
-report>

Recent messages:
Scoring...done
Updated (-0/+12) message(s).
Updated (-0/+12) message(s)
Mark set
byte-code: Beginning of buffer
Mark set
byte-code: Beginning of buffer [2 times]
Mark set
byte-code: Beginning of buffer [2 times]
Mark set