[Mew-dist 09304] Re: xcite on Mew1.94b33

Shun-ichi GOTO ( 後藤 俊一 ) gotoh at example.com
1999年 6月 11日 (金) 12:00:00 JST


後藤@太陽計測です

>>>>> at Fri, 11 Jun 1999 10:16:02 +0900
>>>>> 白井 <shirai at example.com> said,
kawai> b33 で xcite-yank-cur-msg が出来なくなりました。
kawai> Args out of range: 0, 0

白井> 私もです。

わたしもです(^^;


白井> 抜本的な対策はちょっと置いといて ^^;;; 
白井> 以下のパッチ(b32 用だからラインがずれているかもしれない)で動きま
白井> す。

白井> --- mew-draft.el.orig	Wed Jun  2 20:43:06 1999
白井> +++ mew-draft.el	Fri Jun  4 11:09:03 1999

私の環境 (WinNT4 + Meadow 1.04a1 + Mew-1.94b33)だと、これでは
うまくいかないです。

mew-syntax で、(mew-attach-p) が (1- (point-max))とかしているのが
よろしくないだろう事は分かるのですが、さて、どうするのが正解か?
というのは分からず、xcite (1.27)を 以下のように修正して使うことに
しました。


--- xcite.el.orig	Tue Nov 10 16:42:46 1998
+++ xcite.el	Fri Jun 11 02:36:46 1999
@@ -809,12 +809,20 @@
 	    (set-buffer (get-buffer-create (mew-buffer-message)))
 	    (> (buffer-size) 8))
 	  (let ((mew-cite-hook '(lambda ())))
-	    (set-buffer (get-buffer-create " *xcite tmp*"))
-	    (erase-buffer)
-	    (condition-case err
-		(mew-draft-cite nil t)
-	      (error (mew-draft-cite nil)))
-	    (setq major-mode 'mew-message-mode)
+	    (let ((tail (- (point-max) (point)))
+		  (flag (buffer-modified-p)) ; keep modified flag
+		  str end)
+	      (condition-case err
+		  (mew-draft-cite nil t)
+		(error (mew-draft-cite nil)))
+	      (setq end (- (point-max) tail)
+		    str (buffer-substring (point) end))
+	      (delete-region (point) end)
+	      (set-buffer-modified-p flag) ; restore flag
+	      (set-buffer (get-buffer-create " *xcite tmp*"))
+	      (erase-buffer)
+	      (insert str)
+	      (setq major-mode 'mew-message-mode))
 	    t))
      (catch 'found
        (while (not (eq (select-window (next-window)) curw))



#なんだかすごく無理矢理ですが。。。

こうしないと、複数引用による reference:追加が有効にならないような
気もするし。。。

まだ少々しか使ってませんが、なんとか動いてるようです。


--- Regards,
 Shun-ichi Goto  <gotoh at example.com>
   R&D Group, TAIYO Corp., Tokyo, JAPAN




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