bug#2919: 23.0.91; diff-mode redefines M-q to some harmfull command

Matthieu Moy <[email protected]>
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
Hi,

Emacs's diff-mode redefines M-q, which I normally use for
fill-paragraph (the standard binding), since:

  revision 1.54
  date: 2004-02-02 22:08:37 +0100;  author: uid69204;  state: Exp;  lines: +2 -1;
  Bind q to `quit-window'.

I often use diff-mode to edit patches, (created by Git with git
send-email --anotate) and add comments to them before I send them by
email, and therefore fill my paragraphs (like in any other emails).
Having M-q rebound to quit-window there is harmfull. It should
definitely not be the default.

This is especially frustrating since the code says:

(easy-mmode-defmap diff-mode-shared-map
    [...]
    ;; Standard M-a is useful, so don't change M-A.
    ;;("A" . diff-ediff-patch)
    ;; Standard M-r is useful, so don't change M-r or M-R.
    ;;("r" . diff-restrict-view)
    ;;("R" . diff-reverse-direction)
    ("q" . quit-window))

so, some care has been taken not to override M-A, M-r and M-R, but M-q
still is.

Thanks,

In GNU Emacs 23.0.91.2 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
 of 2009-03-17 on bauges
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure  '--prefix=/home/moy/local/usr/''

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: Emacs-Lisp

Minor modes in effect:
  auto-fill-function: do-auto-fill
  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-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  recentf-mode: t
  global-whitespace-mode: t
  global-hl-line-mode: t
  icomplete-mode: t
  auto-image-file-mode: t
  which-function-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-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

Recent input:
a t c h <return> C-x k <return> C-x b . p a t c h <return> 
M-x f o M-p <backspace> <backspace> f i l l C-k - r 
e <backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> f i l l <tab> r e <tab> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
p a r <tab> <return> C-_ C-n C-e C-a C-p <return> M-x 
<up> <return> <backspace> C-n C-n C-e <left> : : C-e 
SPC <backspace> <backspace> SPC a n d SPC b e f o r 
e SPC + . C-x C-s C-x # <f11> <return> C-l <backspace> 
<C-tab> C-x b s c r a <return> M-> <S-insert> M-y M-y 
M-y C-a C-k C-_ <C-tab> C-y <backspace> <backspace> 
<S-insert> <C-tab> C-x b A r <return> C-x o <return> 
y <return> <C-f7> g s n n n <return> <return> q g s 
<f11> <C-f7> g <return> <return> <return> <return> 
<return> <return> <return> <return> <return> <return> 
<return> <return> <return> <return> <return> <return> 
<return> <return> q g s p <return> c s <f11> C-x C-f 
/ t m p / f o o . t <backspace> p a t c h <return> 
M-q C-x b . p a t c h C-s <return> C-h k M-q C-x o 
C-n <C-tab> C-h m <C-tab> C-s m - q <prior> C-h v d 
i f f - m o <tab> m a <tab> <return> <C-tab> <C-tab> 
C-n C-p C-e <left> <left> <left> <left> <return> C-s 
M - q C-s C-s C-p M-< C-s q u i t - w i n d o w C-x 
1 M-x v c - m o <tab> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> a n n <tab> <return> C-s C-s C-s C-s C-s 
C-p M-x r e p o r <tab> b u <tab> <return>

Recent messages:
Saving file /home/moy/.newsrc.eld...
Wrote /home/moy/.newsrc.eld
Saving /home/moy/.newsrc.eld...done
(New file)
Type C-x 4 C-o RET to restore the other window.
Mark saved where search started
uncompressing diff-mode.el.gz...done
Mark saved where search started
Mark set
Mark saved where search started
vc-ensure-vc-buffer: File /net/bauges/local/moy/usr/share/emacs/23.0.91/lisp/diff-mode.el.gz is not under version control
-- 
Matthieu
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.