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

Re: Quail: FORGET-LAST-SELECTION



Thanks.

	

======= 2004-04-20 16:19:38 You Wrote=======

>In article <200404180102.i3I122803103@xxxxxxxxxxxxxxxx>, "Zhang Zhongyu" <BlueD@xxxxxxxxxxxx> 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
>handa@xxxxxxxx
>
>2004-04-20  Kenichi Handa  <handa@xxxxxxxx>
>
>	* 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
        BlueD@xxxxxxxxxxxx
          2004-04-21