Re: Quail: FORGET-LAST-SELECTION
"Zhang Zhongyu" <[email protected]> Wed, 21 Apr 2004 07:53:40 +0800
| Newsgroups | gmane.emacs.mule |
|---|---|
| Message-ID | <[email protected]> |
Thanks. ======= 2004-04-20 16:19:38 You Wrote======= >In article <[email protected]>, "Zhang Zhongyu" <[email protected]> writes: >> Last week I made a input method by quail-define-package. But I found if I set FORGET-LAST-SELECTION to "t", the quail-next-translation key is useless, only the first translation-block was shown. >> Is it a bug? > >Yes, it's a bug. I've just installed the attached fix in >CVS HEAD of emacs. > >--- >Ken'ichi HANDA >[email protected] > >2004-04-20 Kenichi Handa <[email protected]> > > * international/quail.el (quail-lookup-key): New optional arg > NOT-RESET-INDICES. > (quail-get-translations): Call quail-lookup-key with > NOT-RESET-INDICES t. > (quail-completion): Likewise. > (quail-lookup-map-and-concat): Likewise. > >Index: quail.el >=================================================================== >RCS file: /cvsroot/emacs/emacs/lisp/international/quail.el,v >retrieving revision 1.134 >retrieving revision 1.135 >diff -u -c -r1.134 -r1.135 >cvs server: conflicting specifications of output style >*** quail.el 20 Apr 2004 07:06:58 -0000 1.134 >--- quail.el 20 Apr 2004 08:18:02 -0000 1.135 >*************** >*** 1218,1224 **** > (t > (error "Invalid object in Quail map: %s" def)))) > >! (defun quail-lookup-key (key &optional len) > "Lookup KEY of length LEN in the current Quail map and return the definition. > The returned value is a Quail map specific to KEY." > (or len >--- 1218,1224 ---- > (t > (error "Invalid object in Quail map: %s" def)))) > >! (defun quail-lookup-key (key &optional len not-reset-indices) > "Lookup KEY of length LEN in the current Quail map and return the definition. > The returned value is a Quail map specific to KEY." > (or len >*************** >*** 1256,1262 **** > (if (and (consp translation) (vectorp (cdr translation))) > (progn > (setq quail-current-translations translation) >! (if (quail-forget-last-selection) > (setcar (car quail-current-translations) 0)))))) > ;; We may have to reform cdr part of MAP. > (if (and (cdr map) (functionp (cdr map))) >--- 1256,1262 ---- > (if (and (consp translation) (vectorp (cdr translation))) > (progn > (setq quail-current-translations translation) >! (if (and (not not-reset-indices) (quail-forget-last-selection)) > (setcar (car quail-current-translations) 0)))))) > ;; We may have to reform cdr part of MAP. > (if (and (cdr map) (functionp (cdr map))) >*************** >*** 2043,2049 **** > > (defun quail-get-translations () > "Return a string containing the current possible translations." >! (let ((map (quail-lookup-key quail-current-key)) > (str (copy-sequence quail-current-key))) > (if quail-current-translations > (quail-update-current-translations)) >--- 2043,2049 ---- > > (defun quail-get-translations () > "Return a string containing the current possible translations." >! (let ((map (quail-lookup-key quail-current-key nil t)) > (str (copy-sequence quail-current-key))) > (if quail-current-translations > (quail-update-current-translations)) >*************** >*** 2114,2120 **** > (quail-setup-completion-buf) > (let ((win (get-buffer-window quail-completion-buf 'visible)) > (key quail-current-key) >! (map (quail-lookup-key quail-current-key)) > (require-update nil)) > (with-current-buffer quail-completion-buf > (if (and win >--- 2114,2120 ---- > (quail-setup-completion-buf) > (let ((win (get-buffer-window quail-completion-buf 'visible)) > (key quail-current-key) >! (map (quail-lookup-key quail-current-key nil t)) > (require-update nil)) > (with-current-buffer quail-completion-buf > (if (and win >*************** >*** 2695,2701 **** > (translation-list nil) > map) > (while (> len 0) >! (setq map (quail-lookup-key key len) > len (1- len)) > (if map > (let* ((def (quail-map-definition map)) >--- 2695,2701 ---- > (translation-list nil) > map) > (while (> len 0) >! (setq map (quail-lookup-key key len t) > len (1- len)) > (if map > (let* ((def (quail-map-definition map)) > > >. = = = = = = = = = = = = = = = = = = = = 致 礼! Zhang Zhongyu [email protected] 2004-04-21