(est-eval-value-default): Support `omitted' tag.
authorMORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
Fri, 3 Jun 2011 00:50:41 +0000 (09:50 +0900)
committerMORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
Fri, 3 Jun 2011 00:50:41 +0000 (09:50 +0900)
(est-eval-feature-value): Use `omitted' tag when length of value is
more than 128.
(est-eval-unit): Support `omitted' tag.

est-eval.el

index 91b91f2..7bf4482 100644 (file)
@@ -9,12 +9,14 @@
 
 (defun est-eval-value-default (value)
   (if (listp value)
-      (list* 'list
-            '(:separator " ")
-            (mapcar
-             (lambda (unit)
-               (format "%S" unit))
-             value))
+      (if (eq (car value) 'omitted)
+         value
+       (list* 'list
+              '(:separator " ")
+              (mapcar
+               (lambda (unit)
+                 (format "%S" unit))
+               value)))
     (est-eval-value-as-S-exp value)))
 
 (defun est-eval-value-as-object (value)
     (setq value (www-get-feature-value object feature-name)))
   (unless format
     (setq format (www-feature-value-format feature-name)))
+  (if (consp value)
+      (let ((ret (condition-case nil
+                    (nthcdr 127 value)
+                  (error nil nil))))
+       (when ret
+         (setcdr ret
+                 (list (list 'omitted
+                             (list :object object :feature feature-name)
+                             "..."))))))
   (cond
    ((symbolp format)
     (est-eval-apply-value object feature-name
            (format "@%s" domain)
          ""))
       )
+     ((eq (car exp) 'omitted)
+      (list 'omitted
+           (list :object object :feature feature-name)
+           "...")
+      )
      ((eq (car exp) 'prev-char)
       (list 'prev-char
            (list :object object :feature feature-name)