Revision: 7241
Author:   deton.kih
Date:     Mon Jul 25 15:11:13 2011
Log:      * scm/tutcode-bushu.scm
  - (tutcode-bushu-compose-explicitly):
    Change to use bushu.help file on interactive bushu conversion
    with one bushu (not only two bushu).

http://code.google.com/p/uim/source/detail?r=7241

Modified:
 /trunk/scm/tutcode-bushu.scm

=======================================
--- /trunk/scm/tutcode-bushu.scm        Fri Jul 22 18:32:26 2011
+++ /trunk/scm/tutcode-bushu.scm        Mon Jul 25 15:11:13 2011
@@ -472,23 +472,23 @@

 ;;; bushu.help¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¯Éô¼ó¹çÀ®¤ò¹Ô¤¦
 (define (tutcode-bushu-compose-explicitly char-list)
-  (if (or (null? char-list)
-          (null? (cdr char-list)) ; 1ʸ»ú
-          (pair? (cddr char-list))) ; 3ʸ»ú°Ê¾å
+  (if (null? tutcode-bushu-help)
+    (set! tutcode-bushu-help (tutcode-bushu-help-load)))
+  (if (not tutcode-bushu-help)
     ()
-    ;; 2ʸ»ú¤Î¹çÀ®¤Î¤ßÂбþ
-    (let*
-      ((c1 (car char-list))
-       (c2 (cadr char-list)))
-      (if (null? tutcode-bushu-help)
-        (set! tutcode-bushu-help (tutcode-bushu-help-load)))
-      (let
-        ((kanji
-          (and tutcode-bushu-help
-               (tutcode-bushu-compose c1 c2 tutcode-bushu-help))))
-        (if kanji
-          (list kanji)
-          ())))))
+    (cond
+      ((null? char-list)
+        ())
+      ((null? (cdr char-list)) ; 1ʸ»ú
+        (map (lambda (elem) (caadr elem))
+          (rk-lib-find-partial-seqs char-list tutcode-bushu-help)))
+      ((pair? (cddr char-list)) ; 3ʸ»ú°Ê¾å
+        ())
+      (else ; 2ʸ»ú
+        (let ((seq (rk-lib-find-seq char-list tutcode-bushu-help)))
+          (if seq
+            (cadr seq)
+            ()))))))

 ;;; ÂÐÏÃŪ¤ÊÉô¼ó¹çÀ®ÊÑ´¹ÍѤˡ¢»ØÄꤵ¤ì¤¿Éô¼ó¤Î¥ê¥¹¥È¤«¤éÉô¼ó¹çÀ®²Äǽ¤Ê
 ;;; ´Á»ú¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£

Reply via email to