[Mew-dist 15731] Re: Isn't HUGE useless?
Tatsuya Kinoshita
tatsuyak at example.com
2001年 1月 5日 (金) 20:30:55 JST
In message "[Mew-dist 15727] Re: Isn't HUGE useless?"
Tak Ota <Takaaki.Ota at example.com> wrote:
> 御送りしたパッチは「オプションにして選択できるように」したつもりだった
> んですけど…逆に現在の方が HUGE を強制しているように思えます。
現在の方は、scan-formの桁がずれないように、size欄の数値を3桁以内に
収める、という方針があるように見えます。
しかし、ごくまれではありますが、メールのサイズが大きい場合に、浮動
小数点として計算され、size欄の数値が3桁を超えてしまう場合があるよう
です。
その対策用パッチを作りました。また、HUGEの表示を変数で切り替えでき
るようにもしてみました。
--
木下達也 (Tatsuya Kinoshita)
-------------- next part --------------
This patch is written by Tatsuya Kinoshita.
Permission is granted to use, copy, distribute, and/or modify it
without restriction. There is NO WARRANTY.
diff -ur mew-1.95b94/mew-scan.el mew-1.95b94-tats20010105b/mew-scan.el
--- mew-1.95b94/mew-scan.el Thu Dec 28 16:54:12 2000
+++ mew-1.95b94-tats20010105b/mew-scan.el Fri Jan 5 19:59:17 2001
@@ -101,22 +101,26 @@
(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))
+with -4. See also 'mew-scan-form-size-0k' and 'mew-scan-form-size-huge'."
+ (let ((len-1 (1- (length mew-scan-form-size-unit)))
(SIZE (mew-scan-usc-size (mew-scan-split-usc (MEW-UIDL))))
(i 0) size unit)
(if (string= 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)
+ (if (and mew-scan-form-size-huge (>= size 1000))
"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)))))
+ (concat
+ (if (integerp size)
+ (int-to-string size)
+ (format "%.0f" size))
+ unit)))))
(defun mew-scan-form-extract-addr (addr)
"Extract addr according to 'mew-scan-form-extract-rule'."
diff -ur mew-1.95b94/mew-vars.el mew-1.95b94-tats20010105b/mew-vars.el
--- mew-1.95b94/mew-vars.el Thu Dec 28 16:52:43 2000
+++ mew-1.95b94-tats20010105b/mew-vars.el Fri Jan 5 19:05:58 2001
@@ -554,6 +554,10 @@
"*If non-nil, the size of message is displayed as '0k'
if the size is less than 1k byte.")
+(defvar mew-scan-form-size-huge t
+ "*If non-nil, the size of message is displayed as 'HUGE'
+if the size is greater than or equal to 1000.")
+
(defvar mew-scan-fields
'("Folder:" "Filename:" "Subject:" "Date:" "From:" "To:"
"Content-Type:" "Message-Id:" "X-Mew-UIDL:"
Mew-dist メーリングリストの案内