Revision: 6649
Author: deton.kih
Date: Sat Jul 31 18:03:09 2010
Log: * Change to be able to purge mazegaki entry which is only one
candidate.
* scm/tutcode.scm
- (tutcode-begin-conversion): Add arguments.
- (tutcode-proc-state-yomi): Add check of tutcode-purge-candidate-key?
Follow the argument change of tutcode-begin-conversion.
http://code.google.com/p/uim/source/detail?r=6649
Modified:
/trunk/scm/tutcode.scm
=======================================
--- /trunk/scm/tutcode.scm Fri Jul 30 16:32:08 2010
+++ /trunk/scm/tutcode.scm Sat Jul 31 18:03:09 2010
@@ -709,7 +709,9 @@
;;; ¸ò¤¼½ñ¤¼½ñ¤Î¸¡º÷¤ò¹Ô¤¦¡£
;;; @param pc ¥³¥ó¥Æ¥¥¹¥È¥ê¥¹¥È
-(define (tutcode-begin-conversion pc)
+;;; @param autocommit? ¸õÊ䤬1¸Ä¤Î¾ì¹ç¤Ë¼«Æ°Åª¤Ë³ÎÄꤹ¤ë¤«¤É¤¦¤«
+;;; @param recursive-learning? ¸õÊ䤬̵¤¤¾ì¹ç¤ËºÆµ¢ÅÐÏ¿¥â¡¼¥É¤ËÆþ¤ë¤«¤É¤¦¤«
+(define (tutcode-begin-conversion pc autocommit? recursive-learning?)
(let* ((yomi (tutcode-make-string (tutcode-context-head pc)))
(res (and (symbol-bound? 'skk-lib-get-entry)
(skk-lib-get-entry yomi "" "" #f))))
@@ -719,7 +721,7 @@
(tutcode-context-set-nr-candidates! pc
(skk-lib-get-nr-candidates yomi "" "" #f))
(tutcode-context-set-state! pc 'tutcode-state-converting)
- (if (= (tutcode-context-nr-candidates pc) 1)
+ (if (and autocommit? (= (tutcode-context-nr-candidates pc) 1))
;; ¸õÊ䤬1¸Ä¤·¤«¤Ê¤¤¾ì¹ç¤Ï¼«Æ°Åª¤Ë³ÎÄꤹ¤ë¡£
;;
(¼½ñÅÐÏ¿¤Ïtutcode-register-candidate-key¤ò²¡¤·¤ÆÌÀ¼¨Åª¤Ë³«»Ï¤¹¤ë)
(tutcode-commit-with-auto-help pc)
@@ -729,12 +731,12 @@
'tutcode-candidate-window-converting)
(im-select-candidate pc 0)))))
;; ¸õÊä̵¤·
- (if tutcode-use-recursive-learning?
+ (if recursive-learning?
(begin
(tutcode-context-set-state! pc 'tutcode-state-converting)
- (tutcode-setup-child-context pc 'tutcode-child-type-editor)
- ;(tutcode-flush pc) ; flush¤¹¤ë¤ÈÆþÎϤ·¤¿Ê¸»úÎ󤬾䨤Ƥ¬¤Ã¤«¤ê
- )))))
+ (tutcode-setup-child-context pc 'tutcode-child-type-editor)))
+ ;(tutcode-flush pc) ; flush¤¹¤ë¤ÈÆþÎϤ·¤¿Ê¸»úÎ󤬾䨤Ƥ¬¤Ã¤«¤ê
+ )))
;;; »Ò¥³¥ó¥Æ¥¥¹¥È¤òºîÀ®¤¹¤ë¡£
;;; @param type 'tutcode-child-type-editor¤«'tutcode-child-type-dialog
@@ -1246,6 +1248,14 @@
(tutcode-flush pc))
((tutcode-stroke-help-toggle-key? key key-state)
(tutcode-toggle-stroke-help pc))
+ ;;
¸õÊä¿ô¤¬1¸Ä¤Î¾ì¹ç¡¢ÊÑ´¹¸å¼«Æ°³ÎÄꤵ¤ì¤Æconverting¥â¡¼¥É¤ËÆþ¤é¤Ê¤¤¤Î¤Ç
+ ;; ¤½¤Î¾ì¹ç¤Ç¤âpurge¤Ç¤¤ë¤è¤¦¤Ë¡¢¤³¤³¤Ç¥Á¥§¥Ã¥¯
+ ((and (tutcode-purge-candidate-key? key key-state)
+ (not (null? (tutcode-context-head pc))))
+ ;; converting¥â¡¼¥É¤Ë°Ü¹Ô¤·¤Æ¤«¤épurge
+ (tutcode-begin-conversion pc #f #f)
+ (if (eq? (tutcode-context-state pc) 'tutcode-state-converting)
+ (tutcode-proc-state-converting pc key key-state)))
((and (tutcode-register-candidate-key? key key-state)
tutcode-use-recursive-learning?)
(tutcode-context-set-state! pc 'tutcode-state-converting)
@@ -1259,7 +1269,7 @@
;; <Control>nÅù¤Ç¤ÎÊÑ´¹³«»Ï?
(if (tutcode-begin-conv-key? key key-state)
(if (not (null? (tutcode-context-head pc)))
- (tutcode-begin-conversion pc)
+ (tutcode-begin-conversion pc #t tutcode-use-recursive-learning?)
(tutcode-flush pc))
(begin
(tutcode-flush pc)
@@ -1274,7 +1284,7 @@
;; space¤ÇÊÑ´¹³«»Ï¤Ï¤Ç¤¤Ê¤¤¤Î¤Ç¡¢<Control>nÅù¤ò»È¤¦É¬Íפ¢¤ê)
(if (tutcode-begin-conv-key? key key-state)
(if (not (null? (tutcode-context-head pc)))
- (tutcode-begin-conversion pc)
+ (tutcode-begin-conversion pc #t
tutcode-use-recursive-learning?)
(tutcode-flush pc))
(set! res (charcode->string key)))))
((tutcode-context-latin-conv pc)