Subject: Re: bug#2648: 23.0.60; remove C-c ` from rcirc track minor mode

From: Leo <[email-masked]>
Date: Thu, 12 Mar 2009 17:36:52 +0000

On 2009-03-12 13:45 +0000, Stefan Monnier wrote:
>> rcirc track mode defines the following keys.
>
>> (define-key rcirc-track-minor-mode-map (kbd "C-c `") 'rcirc-next-active-buffer)
>> (define-key rcirc-track-minor-mode-map (kbd "C-c C-@") 'rcirc-next-active-buffer)
>> (define-key rcirc-track-minor-mode-map (kbd "C-c C-SPC") 'rcirc-next-active-buffer)
>
>> When this mode is enabled, those keys become GLOBAL and therefore can
>> easily step on bindings from other packages. One of them is AUCTeX.
>
>> I think it is entirely redundant to bind 'C-c `'. I'd propose this key
>> be removed when emacs is released. Otherwise it will confuse AUCTeX
>> users. Whenever there's an error, AUCTeX will ask users to type C-c ` to
>> get to the error, but instead this key will run
>> rcirc-next-active-buffer.
>
> The Elisp manual says:
>
>       The key sequences bound in a minor mode should consist of `C-c'
>    followed by one of `.,/?`'"[]\|~!#$%^&*()-_+='.  (The other punctuation
>    characters are reserved for major modes.)

It seems not many packages are consciously following this guideline.

> So, I think only the C-c ` binding should stay and the others should
> be removed.

Then ERC will also have to be changed.

> As for the conflict with AUCTeX, I'm not sure what we should do.
> Maybe use some other key.  Arguably, buffer-local minor modes should
> take precedence over global minor modes, in which case AUCTeX's C-c `
> binding would take precedence, but this is a "TODO" feature, so it
> doesn't help us here.

One way or another. Given that AUCTeX is one of the major editing
environments for LaTeX/TeX, it seems entirely unnecessary for a released
emacs to cause any pain to those users, particularly when this can be
fixed with minimal changes.

>         Stefan

-- 
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system