[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Quail's indiscriminate rebinding of keys (was Re: Quail and dabbrev-expand)

On Sun, Nov 30 2003 at 01:18:40PM BRST, Rodrigo Bernardo Pimentel <rbp@isnomore.net> wrote:

>         It worked with the following in text-mode-hook (called by quail):
> (define-key quail-mode-map "\M-/" 'dabbrev-expand)

        I think the relevante code from
/usr/share/xemacs21/mule-packages/lisp/leim/quail.el is:

(defvar quail-mode-map 
  (let ((map (make-keymap))
	(i ? ))
    (while (< i 127)
      (define-key map (char-to-string i) 'quail-start-translation)
      (setq i (1+ i)))
    (setq i 128)
    (while (< i 256)
      (define-key map (vector (int-char i)) 'quail-start-translation)
      (setq i (1+ i)))
  "Keymap for Quail mode.")

        Now, I don't know much elisp, but why on earth does Quail remap all
those keys? You'd think it'd want to do some sort of translation (locale or
something) before the appropriate functions, but dabbrev-expand, for one,
stops working correctly, as does yank-pop (M-y), as I'm sure do lots of
other keybindings.

        Is this the correct behaviour? Should this be considered a bug?


 Rodrigo Bernardo Pimentel                         <rbp@isnomore.net>
 http://isnomore.net                          GPG KeyId: <0x0DB14978>

Cabbage crates coming over the briny!

Reply to: