[Mew-dist 07165] Reedit a part then display another part
根本 篤志 (Atsushi Nemoto)
nemoto at example.com
1998年 12月 25日 (金) 16:12:02 JST
mew-1.94b2 で以下のような問題を見つけました。
mew-summary-reedit でパートを再編集した後で、そのメッセージ内の別のパー
トを表示させようとするとエラーになります。
具体的には、サマリバッファが以下のような状態の時に、part3
(Message/Rfc822)をを E で再編集して、C-c C-c または C-c C-q で抜けた後
(この時点ではメッセージバッファに part3 が表示されている)、p で part2
を表示させようとすると "Wrong type argument: stringp, nil" となります。
# part2 が delivery-status じゃなくて Octet-Stream になってるのは
# 既に報告/解決済みのようですね :-)
--- --- ---
7 M12/25 Mail Delivery Returned mail: User unknown
2 Application/Octet-Stream
3 Message/Rfc822 test
--- --- ---
スタックトレースは以下のようになりました。
Signaling: (wrong-type-argument stringp nil)
mew-summary-display()
mew-summary-display-up(nil)
call-interactively(mew-summary-display-up)
ちなみに、mew-summary-display を byte-compile しない状態だと以下のよう
になりました。ofld-msg が nil になっているというところまで調べましたが、
それ以上はわかりませんでした。
Signaling: (wrong-type-argument stringp nil)
set-buffer(nil)
(save-excursion (set-buffer (mew-cache-hit ofld-msg)) mew-decode-syntax)
(mew-cache-decode-syntax (mew-cache-hit ofld-msg))
(mew-summary-display-part (mew-cache-decode-syntax (mew-cache-hit ofld-msg)) part)
(if (or (null opart) (null ...)) (mew-summary-display-part (mew-cache-decode-syntax ...) part))
(cond (msg (if ... ...)) (part (if ... ...)))
(progn (if (or ... redisplay) (progn ... ...) (mew-window-configure ... ...) (set-buffer ...)) (cond (msg ...) (part ...)))
(unwind-protect (progn (if ... ... ... ...) (cond ... ...)) (mew-pop-to-buffer buf) (if (null notforce) (mew-summary-recenter)) (mew-highlight-cursor-line))
(let* ((fld ...) (msg ...) (ofld-msg ...) (part ...) (opart ...) (buf ...) (cache nil) (redisplay mew-summary-buffer-disp-msg)) (unwind-protect (progn ... ...) (mew-pop-to-buffer buf) (if ... ...) (mew-highlight-cursor-line)) (set-buffer-modified-p nil) (or cache (mew-cache-hit ofld-msg)))
(cond ((eobp) (message "No message")) ((not ...) (message "No message")) (t (let* ... ... ... ...)))
(mew-summary-msg-or-part (let* (... ... ... ... ... ... ... ...) (unwind-protect ... ... ... ...) (set-buffer-modified-p nil) (or cache ...)))
mew-summary-display()
mew-summary-display-up(nil)
call-interactively(mew-summary-display-up)
mew-1.94b2, mew-1.94b1 ともに同じようになります。
mew-1.93 では試してません。
---
根本 篤志 (Atsushi Nemoto)
E-Mail: anemo at example.com (Home)
E-Mail: nemoto at example.com (Office)
nemoto at example.com (1999/1/1-) <= アドレスが変わります
Mew-dist メーリングリストの案内