From: 行に含まれる「, 」の処理

Hideyuki SHIRAI (白井秀行) shira****@meado*****
2003年 1月 24日 (金) 16:40:53 JST


From:  Kenji Fujimoto <dutch****@mcn*****> さん曰く
Subject: From: 行に含まれる「, 」の処理
Message-ID: <7uel737vrk.wl%dutch****@mcn*****>
Date: Fri, 24 Jan 2003 00:04:15 +0900

> もしかすると既出のことかも知れませんが、ときどき From: 行が

>  "Fujimoto, Kenji" <usern****@hostn*****>
> 
> のようなメイルを受けとるのですが、このアドレスを lsdb で補間すると、
> 
>  Fujimoto, Kenji <usern****@hostn*****>
> 
> のようになってしまい、ちょっとまずいことになります。

おなじことを、以前、問題提起したことはあります。

> From: 行に「,」がある場合に、自動的に「"」を補ったりすることは
> 可能でしょうか?

言い出しっぺなので対処しようと思ったのですが、力不足で解決に至り
ませんでした。(_ _)

で、結局、ぼくは (Mew を使っているからか) To: や Cc: は address
部分のみが好きなので、こんなことをやっています。

  (defvar lsdb-complete-point nil)
  
  (defadvice lsdb-complete-name-highlight (before keep-point activate)
    (if (and start end)
	(setq lsdb-complete-point
	      (cons (or (and (markerp start)
			     (marker-position start))
			start)
		    end))
      (setq lsdb-complete-point nil)))

  (defadvice lsdb-complete-name-highlight-update (after remove-key activate)
    (unless (eq this-command 'lsdb-complete-name)
      (when lsdb-complete-point
	(let* ((start (car lsdb-complete-point))
	       (end (cdr lsdb-complete-point))
	       (str (buffer-substring start end)))
	  (when (string-match "^[^<]+<\\([^>]+\\)>$" str)
	    (setq str (match-string 1 str))
	    (delete-region start end)
	    (insert str))))))

lsdb で補完をかけると

To: Hoge, FUGA <usern****@hostn*****>

のようになりますが、補完以外の処理をしようとすると、

To: usern****@hostn*****

というふうに address 部分だけに置き換えます。後ろ向きな解決策で
すがいかがでしょうか。

-- 
白井秀行 (mailto:shira****@meado*****)



Lsdb-info メーリングリストの案内
Back to archive index