[Mew-dist 15674] Isn't HUGE useless?

Tak Ota Takaaki.Ota at example.com
2000年 12月 28日 (木) 17:25:59 JST


メッセージが 1000 T byte 以上のサイズの時に HUGE と表示することに意味
があると思えません。そこで以下の様に mew-scan.el を変更してみました。
1000 T byte 以上のメッセージを受け取るまではこれまでと同じ動作をします
が副作用として実用的な恩恵があります。私は unit に M, G, T は必要がな
いので全て k で統一したいと思っていました。以下の変更により自分の init 
ファイルの中で

(setq mew-scan-form-size-unit '("" "k"))

とすることでこれが実現できます。

私事ですが mew-scan-form-size-0k には重宝しています。
実際 361 の隣りに 8M とかあっても全然目立たなくて困ります。個人的には
0k と 8325k であって欲しいです。

# そもそも size は integer のように扱っていますが elisp の integer っ
# て 28bit しかないですよ。(* 1000 1000000) => -73741824 ;-p


--- /pub/mew/mew-1.95b92/mew-scan.el	Fri Dec 22 08:13:32 2000
+++ mew-scan.el	Wed Dec 27 23:25:03 2000
@@ -103,5 +103,5 @@ (defun mew-scan-form-size ()
   "A function to return the size of the message. Should be used
 with -4. See also 'mew-scan-form-size-0k'."
-  (let ((len (length mew-scan-form-size-unit))
+  (let ((len-1 (1- (length mew-scan-form-size-unit)))
 	(SIZE (mew-scan-get-size (MEW-UIDL)))
 	(i 0) size unit)
@@ -109,13 +109,11 @@ (defun mew-scan-form-size ()
 	(setq size (mew-file-get-size (mew-expand-folder (MEW-FLD) (MEW-NUM))))
       (setq size (string-to-int SIZE)))
-    (while (and (< i len) (>= size 1000))
+    (while (and (< i len-1) (>= size 1000))
       (setq size (/ size 1000))
       (setq i (1+ i)))
-    (if (= i len)
-	"HUGE"
-      (setq unit (nth i mew-scan-form-size-unit))
-      (if (and mew-scan-form-size-0k (string= unit ""))
-	  "0k"
-	(concat (int-to-string size) unit)))))
+    (setq unit (nth i mew-scan-form-size-unit))
+    (if (and mew-scan-form-size-0k (string= unit ""))
+	"0k"
+      (concat (int-to-string size) unit))))
 
 (defun mew-scan-form-extract-addr (addr)



Mew-dist メーリングリストの案内