[mew-dist 26532] Re: 漏洩防止機能

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2005年 8月 25日 (木) 15:11:22 JST


とりあえず、こっちだけ。

From: Kenichi Niioka (新岡賢一) <ken at example.com> さん曰く
Subject: [mew-dist 26530] Re: 漏洩防止機能
Message-ID: <20050824.225314.159662657.ken at example.com>
Date: Wed, 24 Aug 2005 22:53:14 +0900 (JST)

> 例えば、mew-my-domains に `foo.com' を設定したとき、
> `To: foo at example.com' では色が変わりませんが、
> `To: ,foo at example.com' 、`To: foo at example.com,' や `To: foo at example.com ' だと
> 色がかわります。
> アドレスの前後に `,' を置いたり、アドレスのあとにスペースを入力す
> ると色が変わります。

なりますね。すでに overlay で face を指定している領域と完全に同
じ領域に他の overlay で face を重ね書きしても、前の face が『勝
つ』ようです。以下のように priority を付けると大丈夫でした。

また、ぼくが入れ込んだバグを潰したり、元からのバグを潰したり、簡
素化したり、も入っています。

(defun mew-highlight-header-address-region (beg end)
  (let ((domains (mew-my-domains (mew-tinfo-get-case)))
	addr domain overlay begovl endovl)
    (when domains
      (save-excursion
	(goto-char beg)
	(while (re-search-forward "[^\n\t, ]+@\\([^\n\t, ]+\\)" end t)
	  (setq addr (downcase (mew-match-string 0)))
	  (setq domain (downcase (mew-match-string 1)))
	  (setq begovl (match-beginning 0))
	  (setq endovl (match-end 0))
	  (unless (or (member domain (mew-my-domains (mew-tinfo-get-case)))
		      (mew-is-my-address mew-regex-my-address-list addr))
	    (setq overlay (mew-overlay-make begovl endovl))
	    (overlay-put overlay 'face 'mew-face-header-warning)
	    (overlay-put overlay 'priority 2)))))))

;; 2 で良いのかな?

# 最近 elisp 書いてないからすぐ間違えちゃう。。。

--
白井秀行 (mailto:shirai at example.com)



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