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)))