# HG changeset patch # User Kenichi Handa # Date 868236782 0 # Node ID 69c91eee7ba18e90d4c366cb1baed0875344e76e # Parent c9b94c6ab8f1f86c818f0985cc1ad1a6d8ca4a81 (kkc-region): Call skkdic-lookup-key with t for arg PREFER-NOUN while looking up key sequences shorter than what a user requested. (kkc-next-phrace): Likewise. diff -r c9b94c6ab8f1 -r 69c91eee7ba1 lisp/international/kkc.el --- a/lisp/international/kkc.el Mon Jul 07 00:53:02 1997 +0000 +++ b/lisp/international/kkc.el Mon Jul 07 00:53:02 1997 +0000 @@ -167,7 +167,7 @@ ;; LEN. If no conversion is found in the dictionary, don't change ;; kkc-current-conversions and return nil. ;; Postfixes are handled only if POSTFIX is non-nil. -(defun kkc-lookup-key (len &optional postfix) +(defun kkc-lookup-key (len &optional postfix prefer-noun) ;; At first, prepare cache data if any. (if (not kkc-init-file-flag) (progn @@ -183,7 +183,7 @@ (setq kkc-length-converted len kkc-current-conversions-width nil kkc-current-conversions (car entry)) - (setq entry (skkdic-lookup-key kkc-current-key len postfix)) + (setq entry (skkdic-lookup-key kkc-current-key len postfix prefer-noun)) (if entry (progn (setq kkc-length-converted len @@ -222,7 +222,7 @@ ;; After updating the conversion region with the first candidate of ;; conversion, jump into a recursive editing environment with KKC - ;; mode . + ;; mode. (let ((overriding-local-map nil) (previous-local-map (current-local-map)) (minor-mode-alist nil) @@ -230,12 +230,14 @@ (current-input-method-title kkc-input-method-title) major-mode mode-name) (unwind-protect - (progn + (let (len) (setq kkc-canceled nil) (setq kkc-current-key (string-to-vector kkc-original-kana)) (setq kkc-length-head (length kkc-current-key)) + (setq len kkc-length-head) (setq kkc-length-converted 0) - (while (not (kkc-lookup-key kkc-length-head)) + (while (not (kkc-lookup-key kkc-length-head nil + (< kkc-length-head len))) (setq kkc-length-head (1- kkc-length-head))) (goto-char to) (kkc-update-conversion 'all) @@ -400,6 +402,7 @@ (kkc-terminate) (let ((newkey (make-vector kkc-length-head 0)) (idx (- (length kkc-current-key) kkc-length-head)) + (len kkc-length-head) (i 0)) ;; For the moment, (setq kkc-original-kana (concat newkey)) ;; doesn't work. @@ -411,7 +414,8 @@ (setq i (1+ i))) (setq kkc-current-key newkey) (setq kkc-length-converted 0) - (while (and (not (kkc-lookup-key kkc-length-head)) + (while (and (not (kkc-lookup-key kkc-length-head nil + (< kkc-length-head len))) (> kkc-length-head 1)) (setq kkc-length-head (1- kkc-length-head))) (let ((pos (point))