Revision: 6530
Author: jhyeon
Date: Sun Jul 18 15:22:40 2010
Log: * scm/elatin.scm
  - (elatin-find-partial-matches): rewritten using C-lib procedures
    rk-lib-find-partial-seqs and rk-lib-find-seq

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

Modified:
 /trunk/scm/elatin.scm

=======================================
--- /trunk/scm/elatin.scm       Sun Apr  4 20:35:54 2010
+++ /trunk/scm/elatin.scm       Sun Jul 18 15:22:40 2010
@@ -194,6 +194,11 @@
     (elatin-context-set-completion-no! lc n)
     (elatin-context-set-jump-to-top-on-tab?! lc #t)))

+(define (elatin-find-partial-matches seq rule)
+  (let ((partials (rk-lib-find-partial-seqs seq rule))
+       (full (rk-lib-find-seq seq rule)))
+    (if full (cons full partials) partials)))
+
 (define (elatin-update-completions lc)
   (if (elatin-context-completions lc)
       (let* ((rkc (elatin-context-rkc lc))
@@ -224,13 +229,6 @@
                   (elatin-open-translations-window lc trans))
            (elatin-reset-and-commit lc (car trans))))))

-(define (elatin-find-partial-matches seq rule)
-  (let ((lseq (length seq)))
-    (filter (lambda (elt)
-             (let ((keys (caar elt)))
-               (and (>= (length keys) lseq) (equal? seq (take keys lseq)))))
-           rule)))
-
 (define (elatin-take-common-head matches)
   (let ((common '())
        (keys-list (map caar matches)))

Reply via email to