In article <[EMAIL PROTECTED]>, Juri Linkov <[EMAIL PROTECTED]> writes:
>>> Maybe, quail should try to restart the whole input loop to interpret >>> remaining latin "c"? >> >> Right! I've just installed a fix for quail.el. > Thinks to your efforts, but it doesn't work. Nothing changes for the > case I described, because the condition in `quail-translate-key': > ;; No translation for the longer key. > (null (cdr map)) > returns nil (i.e. there is a translation for the longer key), so your > added code doesn't run. Ah, it seems that the fix you want and the fix I've done are different. You wrote: >> When the input sequence "shc" is completed, the result >> should be "шц", ... Quail knows that "shc" is completed only when it accepts more characters (e.g. " ", "."). So, I fixed that case. Please try to type "shc shc.". "шц шц." should be inserted. But, it seems that what you want is to show "шц" as soon as you type "shc". I'm not sure it's a good user interface. When "ц" is shown, doesn't a user expect it to be changed to "ч" when he types another "h" (because "ch" sequence is mapped to "ч")? > I looked a bit at quail.el and managed to change it to work with the > described case using the fix below. Please review this fix very > carefully, since I am not familiar with the quail code at all, and > it may break something else. It seems that the change is incomplete. At least it should handle the case that `str1' is nil, perhaps by trying to lookup shorter keys. By the way, having this kind of a problem means that the input method is not well designed. --- Kenichi Handa [EMAIL PROTECTED] _______________________________________________ Emacs-pretest-bug mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
