In article <[EMAIL PROTECTED]>, Juri Linkov <[EMAIL PROTECTED]> writes:

> > In toplevel form:
> > quail/czech.el:42:1:Error: Invalid Quail key `[kp-1]'
> > make[1]: *** [/var/local/cc/news/emacs/leim/quail/czech.elc] Fehler 1
> > make[1]: Leaving directory `/var/local/cc/news/emacs/leim'
> > make: *** [leim] Fehler 2

> Earlier I installed an obvious fix for the error-checking rule in
> quail-defrule-internal, and now it started revealing errors in
> quail files.

> It issues this error if a key is not a string, but perhaps should also
> take into account if the key is a vector.

> Handa-san, could you confirm this is the right fix?

Yes.  KEY is valid if it is valid for define-key, at least
for quail.  However, AFAIK, such a key as kp-1 is never
given to an input method function, so I think these lines in
czech.el are just useless.
  ([kp-1] ?1)
  ([kp-2] ?2)

See this code of read_char in keyboard.c.

[...]
  /* Pass this to the input method, if appropriate.  */
  if (INTEGERP (c)
      && ! NILP (Vinput_method_function)
      /* Don't run the input method within a key sequence,
         after the first event of the key sequence.  */
      && NILP (prev_event)
      && (unsigned) XINT (c) >= ' '
      && (unsigned) XINT (c) != 127
      && (unsigned) XINT (c) < 256)
    {
[...]

I don't remember why we limit it only to a character event,
but allowing such a symbolic event as kp-1 now is dangerous.

So, I agree with the current fix.

---
Kenichi Handa
[EMAIL PROTECTED]


_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to