[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 メーリングリストの案内