[Mew-dist 14174] Re: (祝) 予選突破バージョン
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2000年 9月 22日 (金) 22:20:39 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [Mew-dist 14120] (祝) 予選突破バージョン
Message-ID: <20000921.180745.41642155.kazu at example.com>
Date: Thu, 21 Sep 2000 18:09:48 +0900
kazu> これだけでは、足りないでしょうから、適当に作って送ってもらえれば、マー
kazu> ジします。たとえば、GMT にそろえて、HH:MM を表示するという関数も、すぐ
kazu> に書けるでしょう。
あまり、遊んでいられないので、軽いところから。。。
ところで、
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [Mew-dist 14123] Re: (祝) 予選突破バージョン
Message-ID: <20000921.194015.85400781.kazu at example.com>
Date: Thu, 21 Sep 2000 19:42:17 +0900
kazu> 「もし mew-scan-from-from-me-prefix が (not (stringp )) なら」という仕
↓
この変数って、mew-scan-form-from-me-prefix っていうのが本来の意
図した変数名なのでは無いでしょうか?
● 既存のものの修正
1. mew-scan-form-from() でFrom: の name(?) の部分だけ表示したい。
(defvar mew-scan-form-from-use-name nil)
(defvar mew-scan-form-from-me-prefix "To:")
(defun mew-scan-form-from ()
(let ((func (if mew-addrbook-for-summary
(mew-addrbook-func mew-addrbook-for-summary)))
from to nickname)
(if (string= FROM "")
""
(setq from (mew-addrstr-parse-address FROM))
(cond
((and (not (string= TO ""))
(stringp mew-scan-form-from-me-prefix)
(mew-is-my-address mew-regex-my-address-list from))
(setq to (mew-addrstr-parse-address TO))
(if (and to func (setq nickname (funcall func to)))
(concat mew-scan-form-from-me-prefix nickname)
(concat mew-scan-form-from-me-prefix TO)))
((and from func (setq nickname (funcall func from)))
nickname)
((and mew-scan-form-from-use-name
(string-match "\\(.*\\)<.*>" FROM))
(mew-chop (mew-match 1 FROM)))
((and mew-scan-form-from-use-name
(string-match "^[^(]+(\\(.*\\))" FROM))
(mew-match 1 FROM))
(t FROM)))))
2. size はちょっと細かすぎるような気がする。
(defvar mew-scan-form-size-unit '("k" "M" "G" "T"))
(defun mew-scan-form-size ()
"A function to return the size of the message. Should be used
with -4."
(let ((size (mew-file-get-size (mew-expand-folder FOLDER NUM)))
(len (length mew-scan-form-size-unit))
(i 0))
(if (or (null size) (zerop size))
(concat "0" (car mew-scan-form-size-unit))
(setq size (/ size 1000))
(while (and (< i len) (>= size 1000))
(setq size (/ size 1000))
(setq i (1+ i)))
(if (= i len)
"HUGE"
(concat (int-to-string (max size 1))
(nth i mew-scan-form-size-unit))))))
# k, m, g, t って、小文字だったから、最初、キロ、メートル、グラム、
# トン だと思ってしまったぞ。^^;;;
# しかし、GByte, TByte ましてや HUGE のメールって来る日がやって
# くるのかしら。
3. time
timezone でそろえようと思ったのだけど、日付も変えないといけない
ため面倒くさいので 5秒で考えるのをやめました。
(defun mew-scan-form-time ()
"A function to return a message time, HH:MM"
(let ((s DATE))
(if (or (string= s "")
(not (string-match mew-time-rfc-regex s)))
"00:00"
(format "%02d:%2s"
(or (mew-time-rfc-hour) 0)
(or (mew-time-rfc-min) "00")))))
4. 年も表示したいぞ。
(defun mew-scan-form-year ()
"A function to return a message year, YYYY"
(let ((s DATE) year)
(if (or (string= s "")
(not (string-match mew-time-rfc-regex s)))
"0000"
(setq year (mew-time-rfc-year))
(cond
((> year 1900) (int-to-string year))
((< year 69) (int-to-string (+ year 2000)))
(t (int-to-string (+ year 1900)))))))
だけど、普通 MM/DD と一緒に使うと思うから、こっちの方が良いかも。
(defun mew-scan-form-date2 ()
"A function to return a message year, MM/DD/YYYY"
(let ((s DATE) year)
(if (or (string= s "")
(not (string-match mew-time-rfc-regex s)))
(setq s (mew-time-ctz-to-rfc
(mew-file-get-time (mew-expand-folder FOLDER NUM)))))
(if (string-match mew-time-rfc-regex s)
(progn
(setq year (mew-time-rfc-year))
(format "%02d/%02d/%04d"
(mew-time-mon-str-to-int (mew-time-rfc-mon))
(mew-time-rfc-day)
(cond
((> year 1900) year)
((< year 69) (+ year 2000))
(t (+ year 1900)))))
"")))
>> # 日曜日の尚子ちゃんはなんとかしたい
> # きゅーちゃんは別格なので、僕は山口さんを応援する予定
関東地方の TV中継がテレビ朝日で良かった。子供と無益なチャンネル
争いをしないですみます。:-)
## なんのことかわからない人は普段の日曜の朝、テレ朝で何をやって
## いるかしらべませう。
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内