Revision: cb9a149e11a8
Author:   KIHARA Hideto <[email protected]>
Date:     Thu May 17 03:42:55 2012
Log:      Fix error on showing last page of kigou mode.

* scm/tutcode.scm
  - (tutcode-pseudo-table-style-make-page):
    Not to omit empty block to avoid mismatch with nr candidates.
  - (tutcode-table-in-vertical-candwin):
    Add argument whether to omit empty lower half block.
  - (tutcode-auto-help-dump):
    Follow the argument change of tutcode-table-in-vertical-candwin.

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

Modified:
 /scm/tutcode.scm

=======================================
--- /scm/tutcode.scm    Sat May 12 16:49:54 2012
+++ /scm/tutcode.scm    Thu May 17 03:42:55 2012
@@ -1908,7 +1908,11 @@
                 (+ idx 1)
                 (cons (tutcode-get-candidate-handler-internal pc idx 0)
                       cands))))))
-    (tutcode-table-in-vertical-candwin cands)))
+    ;; ºÇ½é¤Î¥Ú¡¼¥¸°Ê³°¤Ï¡¢²¼È¾Ê¬¥Ö¥í¥Ã¥¯¤¬¶õ¤Ç¤â¾Êά¤·¤Ê¤¤
+    ;; (Á´¸õÊä¿ô¤ÏºÇ½é¤Î¥Ú¡¼¥¸¤Î¸õÊä¿ô¤ò¤â¤È¤Ë·×»»¤¹¤ë¤Î¤Ç¡¢
+    ;; ºÇ½é¤Î¥Ú¡¼¥¸¤Ç²¼È¾Ê¬¥Ö¥í¥Ã¥¯Í­¤ê¤Ê¤Î¤Ë¡¢ºÇ¸å¤Î¥Ú¡¼¥¸¤Ç¾Êά¤µ¤ì¤ë¤È¡¢
+    ;; ¸õÊ䤬­¤ê¤Ê¤¯¤Ê¤Ã¤Æget-candidate»þ¤Ë¥¨¥é¡¼¤Ë¤Ê¤ë)
+    (tutcode-table-in-vertical-candwin cands (= start-index 0))))

 ;;; ¸õÊä¥ê¥¹¥È¾å¤Î¸õÊäÈÖ¹æ¤ò¡¢µ¼»÷ɽ·Á¼°¾å¤Î¸õÊäÈÖ¹æ¤ËÊÑ´¹
 (define (tutcode-pseudo-table-style-candwin-index pc idx)
@@ -2039,9 +2043,10 @@
 ;;; (ɽ·Á¼°¸õÊ䥦¥£¥ó¥É¥¦Ì¤Âбþ¤Ç¡¢½Ä¤Ë¸õÊä¤òʤ٤ëcandwinÍÑ¡£
 ;;;  uim-el¤Ç(setq uim-candidate-display-inline t)¤Î¾ì¹çÅù)
 ;;; @param cands ("ɽ¼¨Ê¸»úÎó" "¥é¥Ù¥ëʸ»úÎó" "Ãí¼á")¤Î¥ê¥¹¥È
+;;; @param omit-empty-block? ɽ¤Î²¼È¾Ê¬(¥·¥Õ¥È¥­¡¼Îΰè)¤¬¶õ¤Î¾ì¹ç¤Ë¾Êά¤¹¤ë¤«
 ;;; @return ÊÑ´¹¸å¤Î¥ê¥¹¥È¡£
 ;;;  Îã:(("*¤ä|*¤Þ|*¤«|*¤¢|*¤Ï||*¡×|*¡Û|*¡Ä|*¡¦|*¡É||" "q" "") ...)
-(define (tutcode-table-in-vertical-candwin cands)
+(define (tutcode-table-in-vertical-candwin cands omit-empty-block?)
   (let*
     ((layout (if (null? uim-candwin-prog-layout)
                 uim-candwin-prog-layout-qwerty-jis
@@ -2058,12 +2063,14 @@
     (let*
       ;; ɽ¤Î²¼È¾Ê¬(¥·¥Õ¥È¥­¡¼Îΰè)¤¬¶õ¤Î¾ì¹ç¤Ï¾åȾʬ¤À¤±»È¤¦
       ((vecmax
-        (let loop ((k (* 13 4)))
-          (if (>= k vecsize)
-            (* 13 4)
-            (if (string? (vector-ref vec k))
-              vecsize
-              (loop (+ k 1))))))
+        (if (not omit-empty-block?)
+          vecsize
+          (let loop ((k (* 13 4)))
+            (if (>= k vecsize)
+              (* 13 4)
+              (if (string? (vector-ref vec k))
+                vecsize
+                (loop (+ k 1)))))))
        ;; ³ÆÎó¤ÎºÇÂçÉý¤òÄ´¤Ù¤ë
        (width-list0
         (let colloop
@@ -2711,7 +2718,7 @@
                 (append-map
                   (lambda (elem)
                     (list (car elem) "\n"))
-                  (tutcode-table-in-vertical-candwin help))))
+                  (tutcode-table-in-vertical-candwin help #t))))
           (tutcode-commit pc (apply string-append linecands) #t #t))))))

 ;;; preeditɽ¼¨¤ò¹¹¿·¤¹¤ë¡£

Reply via email to