Re: [fwd: Bug#340125: octave-mode rebinds M-BS]
* Aaron M. Ucko <ucko@debian.org> [2005-11-21 14:29]:
> Rafael Laboissiere <rafael@debian.org> writes:
>
> > I am forwarding below a bug report filed against the octave2.9-emacsen
> > package. The submitter claims that the meta-backspace should not be
> > bound by octave-mode.
>
> There is a subtle but important distinction between M-DEL (bound to
> backward-kill-word and not overriden in octave-mode AFAICT) and M-C-h
> (bound to mark-defun by default, and overriden to octave-mark-defun in
> octave-mode). If backspace is generating C-h rather than DEL, then
> that's a misconfiguration on the user's part that will generally play
> badly with Emacs.
I think I found the source of the problem. The bug submitter is using
XEmacs which, according to the Lispref documentation (Section 26.5 "Key
Sequences"), treats control-h and backspace likewise:
For backward compatibility, a key sequence may also be represented by
a string. In this case, it represents the key sequence(s) that would
produce that sequence of ASCII characters in a purely ASCII world.
For example, a string containing the ASCII backspace character,
`"\^H"', would represent two key sequences: `(control h)' and
`backspace'. Binding a command to this will actually bind both of
those key sequences.
According to the above, I think that the command:
(define-key map "\M-\C-h" 'octave-mark-defun)
in octave-mod.el also forces the implicit binding:
(define-key map [(meta backspace)] 'octave-mark-defun)
Could people in the debian-emacsen mailing list who are users of
XEmacs confirm this please?
--
Rafael
Reply to: