[Mew-dist 05455] Re: Mew 1.93b44, x-cite, mew-summary-reply-with-citation()

Makoto MATSUSHITA ( まつしたまこと ) matusita at example.com
1998年 7月 9日 (木) 19:06:23 JST


遅い反応ですけれども‥‥

mit> xcite のどんな機能が好きなんですか?

cite した後に hook があるというのは良いかな,と思っています.引用した
後定型的な処理(意味 cite された文字列の編集)をやりたいかなと思うことが
何回もあるので,これ使えば書けるなあ,とか思っていました.

mit> で、個人的な意見としては、mu-cite が一押しです。

Jul/02/1998 頃に作られたと思われる mu-cite を入手してみたのですが,私
と私の用途には全くもって向かない(というか,全然使う気にならない)と思っ
てしまったので,使おうとする前に使うことをあきらめてしまいました ^_^;

# 第一印象は「supercite どころか x-cite よりもはるかに使えない」.

mit> # といいつつ、いまは使ってませんが。f^_^

で,今日夕食を食べてる時に「私がやりたいことはきっと Mew がそもそも実
装している cite な機能をちょっと触るだけでできるんじゃないだろうか」と
思ったので,ごそごそと書いてみました.

要するに私がやりたいことは(現状からの差分):

・空行にまで cite な文字列をぶちこむのはうっとうしいので,やめたい.
・既に cite されてた行(というのはもちろん正確には判定できませんが,
  実用的な範囲では regexp で表現できる)に対しては何もしたくない.

なのでこんな code を書いたのですが,直感的に「ださい」という気もしてい
ます(特に「行単位で matching する」所).どなたか直していただければとて
も嬉しいです _o_

「Mew の範囲で,これくらいできたらもう充分だなあ」と思ったので,私はし
ばらく supercite も x-cite も使わないことにしました.なので(refine さ
れた上で)この patch が merge されると嬉しいです _o_

-- -
Makoto `MAR' MATSUSHITA

変数 mew-cite-prefix-regexp (名前は適当です)を追加します.この変数が 
nil でなければ,cite する時の各行に対して string-match を行い,もし 
match *しなければ*,事前に定められた prefix を挿入します.なお,
mew-cite-prefix-regexp の default は nil です.この場合,既存と等価な
動作をする‥‥と思っています.

--- mew-draft.el.dist	Sun Jul  5 20:32:32 1998
+++ mew-draft.el	Thu Jul  9 18:43:31 1998
@@ -863,9 +863,21 @@
 			   (point))))
       (insert label)
       (push-mark (point) t t) ;; for C-x C-x
-      (and (bolp) (insert prefix))
+      (and (bolp)
+	   (not (and
+		 mew-cite-prefix-regexp
+		 (string-match mew-cite-prefix-regexp
+			       (buffer-substring
+				(save-excursion (beginning-of-line) (point))
+				(save-excursion (end-of-line) (point))))))
+	   (insert prefix))
       (while (equal 0 (forward-line))
 	(or (equal (point) (point-max))
+	    (and mew-cite-prefix-regexp
+		 (string-match mew-cite-prefix-regexp
+			       (buffer-substring 
+				(save-excursion (beginning-of-line) (point))
+				(save-excursion (end-of-line) (point)))))
 	    (insert prefix)))
       ) ;; restriction
     )
--- mew-vars.el.dist	Thu Jul  2 14:23:13 1998
+++ mew-vars.el	Thu Jul  9 14:29:15 1998
@@ -507,6 +507,9 @@
 (defvar mew-before-cite-hook nil
   "Called in mew-summary-reply-with-citation before citation.")
 
+(defvar mew-cite-prefix-regexp nil
+  "*Regexp to match citation prefix already exists.
+Mew do not insert citation prefix if matched.")
 (defvar mew-cite-prefix-function nil
   "*Function called on citations. A good candidate is 
 'mew-cite-prefix-username")



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