[mew-dist 22219] Re: URL tag search

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2002年 11月 8日 (金) 13:27:41 JST


From: SUGITA Toshinori <sugita at example.com> さん曰く
Subject: [mew-dist 22218] URL tag search
Message-ID: <20021108.124604.424252205.sugita at example.com>
Date: Fri, 08 Nov 2002 12:46:04 +0900 (JST)

杉田> elispはよくわかってないので、適当にそこらじゅうからコードを拾い集めて
杉田> 書いたので、変な部分があれば、それも直して頂けるとありがたいです。(^^;

message buffer 上でしか有効ではないですが、ぼくが使っているのは
こんなのです。お好みで改造してみてください。ただし、
mew-use-highlight-url => t じゃないとほとんど真っ当には動かない
と思います。

## (if (looking-at mew-regex-url) ってなんでやっているのか思い出
## すのに時間がかかってしまった。そっか、header 部分での対応だ。

(define-key mew-message-mode-map "\C-i" 'mew-message-next-url)
(define-key mew-message-mode-map "\M-\C-i" 'mew-message-prev-url)

(defun mew-message-next-url ()
  (interactive)
  (let ((pos (point)))
    (if (eq (get-text-property (point) 'face) 'mew-face-body-url)
	(goto-char (next-property-change (point)))
      (if (looking-at mew-regex-url)
	  (forward-word 1)))
    (if (re-search-forward mew-regex-url nil t)
	(goto-char (match-beginning 0))
      (goto-char pos))))

(defun mew-message-prev-url ()
  (interactive)
  (let ((pos (point)))
    (if (eq (get-text-property (point) 'face) 'mew-face-body-url)
	(goto-char (previous-property-change (point)))
      (forward-word -1))
    (if (re-search-backward mew-regex-url nil t)
	(goto-char (match-beginning 0))
      (goto-char pos))))

杉田> 以下のようなelisp functionを.mewに書いて、tabキーを押すとtext/plainのときも
杉田> w3mと似たような動作になるようにしようと思ったのですが、本末転倒で、
杉田> w3mでtext/htmlのパートをデコードしたときに通常の<a>タグのところに
杉田> 飛んでくれなくなりました。(^^;

(setq mew-use-w3m-minor-mode t)
(add-hook 'mew-message-hook 'mew-w3m-minor-mode-setter)

をしてあるなら、message buffer の minor-mode-map で、C-i, M-C-i
が w3m-next-anchor, w3m-previous-anchor に割り当てられているので、
そういうことは無いと思うのですが。。。

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



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