[mew-dist 25663] mew-in-decode-syntax-p

SAITO Takuya tabmore at example.com
2004年 11月 14日 (日) 18:37:18 JST


U マークを使うようになってから、スレッドでメールを読んでいると
エラーになることがあります。

backtrace:
  string-to-int(nil)
  mew-mark-hist-set(nil 32)
  mew-summary-unmark-in-physical("gmane:-gmane.emacs.multi-tty" "39" nil)
  mew-summary-undo-one(no-msg)
  mew-mark-put-mark(32 no-msg)
  mew-summary-cursor-postscript()
  byte-code(省略)
  mew-summary-display(nil)
  mew-summary-display-down(nil)
  call-interactively(mew-summary-display-down)

エラーの原因となっている mew-mark-remove の
(mew-mark-hist-set (mew-summary-message-number) mark)
で (mew-summary-message-number) が nil になったのは
ここで (mew-in-decode-syntax-p) が t になっていたからのようです。

このとき mew-in-decode-syntax-p は physical フォルダで呼ばれていて、
mew-marker-decode-syntax-{begin, end} は スレッド にあるので、
nil を返すべきだと思います。
以下のパッチでどうでしょうか。


Index: mew-syntax.el
===================================================================
RCS file: /cvsmew/mew/mew-syntax.el,v
retrieving revision 1.76
diff -u -r1.76 mew-syntax.el
--- mew-syntax.el       4 Oct 2004 10:46:31 -0000       1.76
+++ mew-syntax.el       14 Nov 2004 08:07:49 -0000
@@ -939,6 +939,8 @@
 (defsubst mew-in-decode-syntax-p ()
   (and (marker-position mew-marker-decode-syntax-begin)
        (marker-position mew-marker-decode-syntax-end)
+       (eq (current-buffer) (marker-buffer mew-marker-decode-syntax-begin))
+       (eq (current-buffer) (marker-buffer mew-marker-decode-syntax-end))
        (>= (point) (marker-position mew-marker-decode-syntax-begin))
        (<  (point) (marker-position mew-marker-decode-syntax-end))))

-- 
斉藤 卓弥 <tabmore at example.com>



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