[mew-dist 26213] Re: AOL の引用
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2005年 4月 18日 (月) 20:59:39 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: Re: [mew-dist 26211] Re: AOL の引用
Message-ID: <20050418.180041.15741730.kazu at example.com>
Date: Mon, 18 Apr 2005 18:00:41 +0900 (JST)
> > なにか差障りの無い内容で、たくさん引用しているもの(深さが違うものが混
> > じっているとか)を送っていただけませんか?
>
> 差障りがあるメールしかなかったので、伏せ字にしてお送りします。
かずさんに送って貰ったメールぐらいだと、末尾のパッチぐらいで OK
なのだけど、blockquote が入れ子になっていたらどうする、とか、
<pre> とか <p> はどうする、と考えていくと結構大変そうです。こん
な力づくじゃなくてスマートに考えなければだめそう。
しかし、本日の逃避はここまで ^^;;
# なので、まだ、emacs-w3m の CVS には反映しません。
--
白井秀行 (mailto:shirai at example.com)
Index: mew-w3m.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/mew-w3m.el,v
retrieving revision 1.55
diff -u -u -r1.55 mew-w3m.el
--- mew-w3m.el 22 Mar 2005 08:32:54 -0000 1.55
+++ mew-w3m.el 18 Apr 2005 11:55:05 -0000
@@ -151,6 +151,42 @@
'w3m-images (not image))
(set-buffer-modified-p nil)))))))
+(defvar mew-w3m-region-cite-mark ">> ")
+
+(defun mew-w3m-region (start end &optional url charset)
+ "w3m-region with inserting CITE."
+ (save-restriction
+ (narrow-to-region start end)
+ (let ((case-fold-search t)
+ pos lines tagbeg0 tagend0 tagbeg1 tabend1)
+ (goto-char (point-min))
+ (while (w3m-search-tag "blockquote")
+ (setq tagbeg0 (match-beginning 0))
+ (setq tagend0 (match-end 0))
+ (when (w3m-search-tag "/blockquote")
+ (setq tagbeg1 (match-beginning 0))
+ (setq tagend1 (match-end 0))
+ (setq lines (buffer-substring tagend0 tagbeg1))
+ (delete-region tagbeg0 tagend1)
+ (insert "<br>\n")
+ (setq pos (point))
+ (insert "\n<br>\n")
+ (goto-char pos)
+ (insert (with-temp-buffer
+ (insert lines)
+ (goto-char (point-max))
+ (skip-chars-backward " \t\n\f\r")
+ (delete-region (point) (point-max))
+ (goto-char (point-min))
+ (skip-chars-forward " \t\n\f\r")
+ (insert mew-w3m-region-cite-mark)
+ (while (and (w3m-search-tag "br")
+ (not (eobp)))
+ (skip-chars-forward " \t\n\f\r")
+ (insert mew-w3m-region-cite-mark))
+ (buffer-substring (point-min) (point-max))))))
+ (w3m-region (point-min) (point-max) url charset))))
+
;; processing Text/Html contents with w3m.
(defun mew-mime-text/html-w3m (&rest args)
"View Text/Html contents with w3m rendering output."
@@ -208,9 +244,9 @@
"-o" "ext_halfdump=1"
"-o" "pre_conv=1"
"-o" "strict_iso2022=0")))
- (w3m-region begin end xref)))
+ (mew-w3m-region begin end xref)))
((null cache) ;; Mew-2 + w3m, w3mmee
- (w3m-region begin end xref (mew-charset-guess-region begin end)))
+ (mew-w3m-region begin end xref (mew-charset-guess-region begin end)))
(t ;; Old Mew
(setq charset (or (mew-syntax-get-param params "charset")
(save-excursion
@@ -221,10 +257,10 @@
(setq wcs mew-cs-text-for-write))
(mew-frwlet
mew-cs-dummy wcs
- (w3m-region (point)
- (progn (insert-buffer-substring cache begin end)
- (point))
- xref))))
+ (mew-w3m-region (point)
+ (progn (insert-buffer-substring cache begin end)
+ (point))
+ xref))))
(put-text-property (point-min) (1+ (point-min)) 'w3m t)
(put-text-property (point-min) (1+ (point-min))
'w3m-images mew-w3m-auto-insert-image)))))
Mew-dist メーリングリストの案内