Revision: 7367
Author: deton.kih
Date: Sat Nov 12 04:53:02 2011
Log: * scm/tutcode.scm
- (tutcode-begin-postfix-katakana-conversion): Simplify.
- (tutcode-kanji-list->sequence):
Fix error when tutcode-postfix-kanji2seq-3-start-sequence
is typed on top of text field.
- (tutcode-begin-postfix-kanji2seq-conversion): Simplify.
- (tutcode-proc-state-postfix-kanji2seq): Simplify.
http://code.google.com/p/uim/source/detail?r=7367
Modified:
/trunk/scm/tutcode.scm
=======================================
--- /trunk/scm/tutcode.scm Fri Nov 11 15:35:20 2011
+++ /trunk/scm/tutcode.scm Sat Nov 12 04:53:02 2011
@@ -3441,19 +3441,13 @@
(take-while
(lambda (elem)
(not (kanji? elem))) ; ´Á»ú¤¬¤¢¤Ã¤¿¤é¡¢¤½¤³¤ÇÃæÃÇ
- former-all)))
- (former-len (length former-seq)))
+ former-all))))
(if yomi-len
- (let*
- ((yomi (if (> former-len yomi-len)
- (take former-seq yomi-len)
- former-seq))
- (katakana
- (tutcode-katakana-convert yomi
- (not (tutcode-context-katakana-mode? pc)))))
- (tutcode-postfix-katakana-commit pc yomi katakana #t))
+ (let ((katakana (tutcode-katakana-convert former-seq
+ (not (tutcode-context-katakana-mode? pc)))))
+ (tutcode-postfix-katakana-commit pc former-seq katakana #t))
;; ÆÉ¤ß¤Îʸ»ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤
- (if (> former-len 0)
+ (if (pair? former-seq)
(begin
(tutcode-context-set-mazegaki-yomi-all! pc former-all)
(tutcode-context-set-head! pc
@@ -3514,7 +3508,8 @@
;; ºÇ¸å¤Îverbose-stroke-key(Îã:":")¤Ï´Á»úÆþÎϤò½ªÃ¼¤¹¤ë¤¿¤á
;; ;ʬ¤ËÆþÎϤµ¤ì¤¿²ÄǽÀ¤¬¤¢¤ë¤Î¤Çºï¤ë
;; Îã: "undo:"¢ª"¼ño"¢ª("o" "¼ñ")¡¢"code:"¢ª"±é³Æ:"¢ª(":" "³Æ" "±é")
- (if (tutcode-verbose-stroke-key? (string->ichar (safe-car allseq)) 0)
+ (if (and (pair? allseq)
+ (tutcode-verbose-stroke-key? (string->ichar (car allseq)) 0))
(cdr allseq)
allseq)))
@@ -3545,20 +3540,15 @@
rest)))
(if first-verbose-key?
(cons first seq) ;
delete-text¤¹¤ëŤµ¤ò¹ç¤ï¤»¤ë¤¿¤áfirst¤ÏÆþ¤ì¤ë
- seq))))
- (former-len (length former-seq)))
+ seq)))))
(if yomi-len
- (let*
- ((yomi (if (> former-len yomi-len)
- (take former-seq yomi-len)
- former-seq))
- (seq (tutcode-kanji-list->sequence pc yomi)))
- (tutcode-postfix-commit pc (string-list-concat seq) yomi))
+ (let ((seq (tutcode-kanji-list->sequence pc former-seq)))
+ (tutcode-postfix-commit pc (string-list-concat seq) former-seq))
;; ÆÉ¤ß¤Îʸ»ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤
- (if (> former-len 0)
+ (if (pair? former-seq)
(begin
(tutcode-context-set-mazegaki-yomi-all! pc former-all)
- (tutcode-context-set-postfix-yomi-len! pc former-len)
+ (tutcode-context-set-postfix-yomi-len! pc (length former-seq))
(tutcode-context-set-head! pc
(tutcode-kanji-list->sequence pc former-seq))
(tutcode-context-set-state!
pc 'tutcode-state-postfix-kanji2seq))))))
@@ -3587,14 +3577,14 @@
(+ yomi-len 1)
yomi-len))
(yomi (take yomi-all len)))
- (tutcode-postfix-commit pc (string-list-concat head) yomi)))))
+ (tutcode-postfix-commit pc (string-list-concat head) yomi)
+ (tutcode-flush pc)))))
(cond
((tutcode-cancel-key? key key-state)
(tutcode-flush pc))
((or (tutcode-commit-key? key key-state)
(tutcode-return-key? key key-state))
- (commit)
- (tutcode-flush pc))
+ (commit))
((tutcode-mazegaki-relimit-right-key? key key-state)
(if (> yomi-len 1)
(update-context! (- yomi-len 1))))
@@ -3603,7 +3593,6 @@
(update-context! (+ yomi-len 1))))
(else
(commit)
- (tutcode-flush pc)
(tutcode-proc-state-on pc key key-state)))))
;;; ľÀÜÆþÎϾõÂ֤ΤȤ¤Î¥¡¼ÆþÎϤò½èÍý¤¹¤ë¡£