[Mew-dist 1115] non-analysis patch when too large mail
SAKAI Kiyotaka
ksakai at example.com
1997年 6月 24日 (火) 17:34:15 JST
巨大なメールを受け取ったときに、"This mail size is 200000. Truncate
it?" などと聞かれてきますが、これは欝陶しいですし、途中で切られるのも
何か嫌ですよね。
もともと、この機能がインプリメントされたのは、巨大なメールを表示させる
ときに MIME の解析させると時間がかかりすぎるためという理由ですが、巨大
なメールに対しては無条件に analysis を行わないようにすればいいのではな
いでしょうか。("." で表示させたときは解析を行う。)
以下にこれを実現するためのパッチを付けておきます。(mew-1.82 用ですが、
mew-1.70 でも少しの変更で対応できると思います。)
# この truncate の問題が対応できれば、SPACE 連打だけでは y or n を聞か
# れてくることはなくなりますので、s/mew-y-or-n-p/y-or-n-p/ しちゃって
# もいいかと思います。
--
酒井 清隆 (E-mail: ksakai at example.com)
-------------- next part --------------
===================================================================
RCS file: RCS/mew-summary.el,v
retrieving revision 1.2
diff -u -r1.2 mew-summary.el
--- mew-summary.el 1997/06/24 06:59:25 1.2
+++ mew-summary.el 1997/06/24 08:21:43
@@ -711,7 +711,7 @@
(if (or (null notforce)
(null ofld-msg)
(null (equal (cons fld msg) ofld-msg)))
- (if (or (interactive-p) mew-analysis)
+ (if (or (interactive-p))
(setq cache
(mew-summary-display-message
fld msg buf 'analysis))
@@ -749,7 +749,8 @@
(defun mew-summary-display-message (fld msg buf &optional analysis)
;; message buffer
- (let ((hit nil) (zmacs-regions nil) (buffer-read-only nil))
+ (let ((hit nil) (zmacs-regions nil) (buffer-read-only nil)
+ (file (mew-expand-folder fld msg)))
(erase-buffer) ;; for PGP pass phrase input
(mew-decode-syntax-delete)
(mew-summary-mode-line buf)
@@ -762,9 +763,12 @@
(setq mew-decode-syntax nil)
(cond
((equal fld mew-draft-folder)
- (insert-file-contents (mew-expand-folder fld msg)))
- ((not (or mew-analysis analysis))
- (insert-file-contents (mew-expand-folder fld msg))
+ (insert-file-contents file))
+ ((and (not analysis)
+ (or (not mew-analysis)
+ (and (> (mew-file-size file) mew-file-max-size)
+ (message "Analysis skipped because this mail is too large"))))
+ (insert-file-contents file)
(mew-header-arrange))
(t
(setq hit (mew-cache-message (cons fld msg)))
-------------- next part --------------
===================================================================
RCS file: RCS/mew-decode.el,v
retrieving revision 1.1
diff -u -r1.1 mew-decode.el
--- mew-decode.el 1997/06/24 07:18:15 1.1
+++ mew-decode.el 1997/06/24 07:47:50
@@ -287,12 +287,7 @@
(if (and mew-emacs-p mew-mule-p) (setq mc-flag nil))
(mew-erase-buffer)
(mew-frwlet mew-cs-noconv-eof mew-cs-noconv
- (let ((size (mew-file-size file)))
- (if (and (> size mew-file-max-size)
- (mew-y-or-n-p "This mail size is %s. Truncate it? " size))
- (setq size mew-file-max-size))
- (insert-file-contents file nil 0 size)
- ))
+ (insert-file-contents file nil))
(goto-char (point-min))
;; Illegal messages may not have end-of-header.
;; Truncated messages may not have end-of-header.
-------------- next part --------------
===================================================================
RCS file: RCS/mew-ext.el,v
retrieving revision 1.1
diff -u -r1.1 mew-ext.el
--- mew-ext.el 1997/06/24 08:06:12 1.1
+++ mew-ext.el 1997/06/24 08:06:33
@@ -497,11 +497,7 @@
(let* ((file (mew-syntax-get-member params "name"))
(size (mew-file-size file)))
(if (file-exists-p file)
- (if (> size mew-file-max-size)
- (if (mew-y-or-n-p "This mail size is %s. Truncate it? " size)
- (insert-file-contents file nil 0 mew-file-max-size)
- (insert-file-contents file))
- (insert-file-contents file)))
+ (insert-file-contents file))
))
)
Mew-dist メーリングリストの案内