mime-preview-follow-current-entity

Akihiro Arisawa ari @ atesoft.advantest.co.jp
1999年 12月 14日 (火) 17:48:17 JST


有沢です。

User-Agentの環境ですが、暗号化されたメールをデコードして
表示している時に、a(mime-preview-follow-current-entity)を
実行するとエラーになってしまいます。

どうやら、 mime-view-following-required-fields-list を
暗号化されたパートから抽出しようとして、抽出できずにいるのが
原因のようです。

とりあえず、以下のように entity に指定フィールドが無ければ
親の entity を見に行くようにすると問題無いことは確認しました。

-------------- next part --------------
1999-12-14  Akihiro Arisawa  <ari @ atesoft.advantest.co.jp>

	* mime-view.el (mime-preview-follow-current-entity): Fetch 
	field of `mime-view-following-required-fields-list' from parent entity
	if it is not exist in current entity.

Index: mime-view.el
===================================================================
RCS file: /hare/cvs/root/semi/mime-view.el,v
retrieving revision 1.149.2.20.2.1
diff -u -r1.149.2.20.2.1 mime-view.el
--- mime-view.el	1999/11/02 17:40:09	1.149.2.20.2.1
+++ mime-view.el	1999/12/14 04:01:12
@@ -1369,13 +1369,14 @@
 		  (progn
 		    (save-excursion
 		      (set-buffer the-buf)
-		      (setq ret
-			    (when mime-mother-buffer
-			      (set-buffer mime-mother-buffer)
-			      (mime-entity-fetch-field
-			       (get-text-property (point)
-						  'mime-view-entity)
-			       field-name))))
+		      (let ((entity (when mime-mother-buffer
+				      (set-buffer mime-mother-buffer)
+				      (get-text-property (point)
+							 'mime-view-entity))))
+			(while (and entity
+				    (null (setq ret (mime-entity-fetch-field
+						     entity field-name))))
+			  (setq entity (mime-entity-parent entity)))))
 		    (if ret
 			(insert (concat field-name ": " ret "\n"))
 		      )))
-------------- next part --------------

また、message/rfc-822なパートで実行した場合にも別のエラーとなりますが、
そっちは調べてません(^^;

最後にbacktraceを一応添付します。

-------------- next part --------------
Signaling: (wrong-type-argument char-or-string-p nil)
  insert(nil " writes:\n\n")
  (progn (insert (mail-header-from message-reply-headers) " writes:\n\n"))
  (if message-reply-headers (progn (insert ... " writes:\n\n")))
  (when message-reply-headers (insert (mail-header-from message-reply-headers) " writes:\n\n"))
  message-insert-citation-line()
  funcall(message-insert-citation-line)
  (progn (unless (bolp) (insert "\n")) (funcall message-citation-line-function))
  (if message-citation-line-function (progn (unless ... ...) (funcall message-citation-line-function)))
  (when message-citation-line-function (unless (bolp) (insert "\n")) (funcall message-citation-line-function))
  (let ((start ...) (end ...) (functions ...)) (goto-char start) (while functions (funcall ...)) (when message-citation-line-function (unless ... ...) (funcall message-citation-line-function)))
  (if (and (boundp ...) mail-citation-hook) (run-hooks (quote mail-citation-hook)) (let (... ... ...) (goto-char start) (while functions ...) (when message-citation-line-function ... ...)))
  message-cite-original()
  funcall(message-cite-original)
  (progn (delete-windows-on buffer t) (insert-buffer buffer) (setq start (point) end (mark t)) (when (and message-yank-add-new-references ...) (save-excursion ...)) (funcall message-cite-function) (message-exchange-point-and-mark) (unless (bolp) (insert 10)) (unless modified (setq message-checksum ...)))
  (if (and buffer message-cite-function) (progn (delete-windows-on buffer t) (insert-buffer buffer) (setq start ... end ...) (when ... ...) (funcall message-cite-function) (message-exchange-point-and-mark) (unless ... ...) (unless modified ...)))
  (when (and buffer message-cite-function) (delete-windows-on buffer t) (insert-buffer buffer) (setq start (point) end (mark t)) (when (and message-yank-add-new-references ...) (save-excursion ...)) (funcall message-cite-function) (message-exchange-point-and-mark) (unless (bolp) (insert 10)) (unless modified (setq message-checksum ...)))
  (let ((modified ...) (buffer ...) start end refs) (when (and buffer message-cite-function) (delete-windows-on buffer t) (insert-buffer buffer) (setq start ... end ...) (when ... ...) (funcall message-cite-function) (message-exchange-point-and-mark) (unless ... ...) (unless modified ...)))
  message-yank-original()
  gnus-following-method(#<buffer *Preview-*Article**-nil>)
  mime-preview-follow-current-entity()
* call-interactively(mime-preview-follow-current-entity)
-------------- next part --------------

-- 
(株)アドバンテスト 有沢 明宏
 Office: ari @ mei9.advantest.co.jp



More information about the Emacs-mime-ja mailing list