[mew-dist 27986] error in process filter: mew-scan-insert-line: Args out of range:
Yasuhiro Ohta
yohta at example.com
2007年 12月 18日 (火) 15:58:18 JST
太田と申します。
最近、いくつかのスパムでひっかっかって、メールが取り込めないようになり
ました。(数週間前にはじめてこの症状が生じました。)エラーメッセージは、
error in process filter: let: Args out of range: 2139, 2157
error in process filter: Args out of range: 2139, 2157
といったものです。
Googleで検索したかぎりでは、"error in process filter"というエラーメッセー
ジの場合、Unicode Emacsの問題のケースがあるようですので、GNU Emacsと
Mewのバージョンをいろいろ変えてみましたが、状況はあまり変わりません。変
わった点といえば、最新のGNU Emacs 23.0.50だと、うまくメールが取り込める
場合があるという点だけです。ただし、いずれのバージョンでも取り込めない
場合があります。Mewは、4.2と5.2を試しました。
しかし、別のPCのかなり古いEmacs(21.0.50)とMew 4.2だと問題なく取り込める
ようです。あるPCでは取り込めるものの、あるPCではダメということを考えま
すと、~/Mail以下の何かが問題かもしれないと、いろいろなファイルを削除し
たりしてみていますが、今のところ、再現性ある結果は得られていません。
現在の環境は、次のとおりです。Cannaのため、emcwsを入れています。
(version)
"GNU Emacs 22.1.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars, emcws)
of 2007-12-17 on falcon"
(eval mew-version-number)
"5.2"
あまり関係ないかもしれませんが、メールに関して、特別なことといえば、
stunnelを使って、POP3Sでメールを取りに行っていることと、bsfilterをロー
カルで通して、スパムにフラグを立てていることです。bsfilterは外してみま
した(つもりです)が、事情は変わりません。
昨日は、mew/*.elcを削除して、ソースで起動してみたら、うまくいったので
すが、今日受け取ったスパムではダメのようです。
そろそろ私の手に負えなくなりつつあります。
何かヒントでもいただけないかと思いまして、投稿します。よろしくお願いし
ます。
バックトレースを添付します。行が長すぎるようなので、適当に改行をいれま
した。
--太田康広
Debugger entered--Lisp error: (args-out-of-range 2139 2157)
put-text-property(2157 2139 invisible t)
(let ((buffer-read-only nil) (inhibit-read-only t)
(after-change-functions nil) (mark-active nil) (zmacs-regions nil))
(if (null lmsg) (goto-char ...) (when ... ... ... ... ... ... ...))
(setq beg (point)) (insert (car line)) (setq med (point)) (insert
(cdr line)) (goto-char beg) (mew-front-nonsticky beg med) (cond
(... ... ... ... ... ... ...) (... ...) (mark ...) (... ...)) (if
mew-use-highlight-mouse-line (put-text-property beg med
... mew-highlight-mouse-line-face)) (forward-line)
(put-text-property med (1- ...) (quote invisible) t) (when lmsg
(setq nlen ...) (setq beg ...) (forward-line) (when ... ... ...)
(delete-region beg ...)))
(mew-elet (if (null lmsg) (goto-char ...) (when
... ... ... ... ... ... ...)) (setq beg (point)) (insert (car line))
(setq med (point)) (insert (cdr line)) (goto-char beg)
(mew-front-nonsticky beg med) (cond (... ... ... ... ... ... ...)
(... ...) (mark ...) (... ...)) (if mew-use-highlight-mouse-line
(put-text-property beg med ... mew-highlight-mouse-line-face))
(forward-line) (put-text-property med (1- ...) (quote invisible) t)
(when lmsg (setq nlen ...) (setq beg ...) (forward-line) (when
... ... ...) (delete-region beg ...)))
(let* ((line ...) (opos ...) (omax ...) beg med face olen nlen mark
msg) (mew-elet (if ... ... ...) (setq beg ...) (insert ...) (setq
med ...) (insert ...) (goto-char beg) (mew-front-nonsticky beg med)
(cond ... ... ... ...) (if mew-use-highlight-mouse-line ...)
(forward-line) (put-text-property med ... ... t) (when lmsg
... ... ... ... ...)) (if (or ... ...) (goto-char opos)))
(save-excursion (set-buffer folder) (let* (... ... ... beg med face
olen nlen mark msg) (mew-elet
... ... ... ... ... ... ... ... ... ... ... ...) (if ... ...)))
(progn (save-excursion (set-buffer folder) (let* ... ... ...)))
(if (get-buffer folder) (progn (save-excursion ... ...)))
(when (get-buffer folder) (save-excursion (set-buffer folder) (let* ... ... ...)))
mew-scan-insert-line("+inbox" ["+inbox" "1239" "oppmeldi" "Mon, 17
Dec 2007 18:19:19 -0600" "\"denverr Stacey\"
<Staceydkbrz at example.com>" "yohta at example.com" ""
"multipart/alternative;\n
boundary=\"------------040105010305080808070704\"" "" ""
"<96AB8CE8.4EDB6D77 at example.com>" "" "" "" "YES" "<!DOCTYPE html
PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> <html> <head>
</head> <body bgcolor=\"#ffffff\" text=\"#000000\"> Switch from
\"small size\" to \"magnum size\" condoms. Why? Because, with<br>
this medicine, your \"package\" won't fit in your pants! <a
href=\"http://www.yesmedicals.com/\">http://www.yesmedicals.com/</a><br>
</body> </html> "] 124 nil "+spam")
(progn (mew-set-file-modes file) (mew-set-file-type file)
(mew-set-buffer-multibyte t) (setq vec (mew-scan-header))
(mew-scan-set-folder vec fld) (mew-scan-set-message vec msg) (if (or
... ...) (setq mark ...)) (if (and mark ... ...) (setq mark nil))
(mew-scan-body vec) (mew-set-buffer-multibyte nil)
(mew-scan-insert-line fld vec width lmsg mark))
(if (file-exists-p file) (progn (mew-set-file-modes file)
(mew-set-file-type file) (mew-set-buffer-multibyte t) (setq vec ...)
(mew-scan-set-folder vec fld) (mew-scan-set-message vec msg) (if
... ...) (if ... ...) (mew-scan-body vec) (mew-set-buffer-multibyte
nil) (mew-scan-insert-line fld vec width lmsg mark)))
(when (file-exists-p file) (mew-set-file-modes file)
(mew-set-file-type file) (mew-set-buffer-multibyte t) (setq vec
(mew-scan-header)) (mew-scan-set-folder vec fld)
(mew-scan-set-message vec msg) (if (or ... ...) (setq mark ...)) (if
(and mark ... ...) (setq mark nil)) (mew-scan-body vec)
(mew-set-buffer-multibyte nil) (mew-scan-insert-line fld vec width
lmsg mark))
(catch (quote write-error) (condition-case nil (mew-frwlet
mew-cs-dummy mew-cs-text-for-write ...) (error ... ... ...))
(mew-pop-set-rcnt pnm (1+ ...)) (when (file-exists-p file)
(mew-set-file-modes file) (mew-set-file-type file)
(mew-set-buffer-multibyte t) (setq vec ...) (mew-scan-set-folder vec
fld) (mew-scan-set-message vec msg) (if ... ...) (if ... ...)
(mew-scan-body vec) (mew-set-buffer-multibyte nil)
(mew-scan-insert-line fld vec width lmsg mark)) (mew-pop-set-rtrs
pnm (cdr rtrs)) (if (and del ...) (progn ... ...)
(mew-pop-set-status pnm "retr") (mew-pop-command-retr pro pnm)))
(let* ((directive ...) (width ...) (left ...) (rtrs ...) (rtr ...)
(num ...) (uid ...) (siz ...) (del ...) (fld-msg ...) (truncated
...) (case ...) fld msg vec file msg-file lmsg mark folder) (cond
(... ...) (... ...) (... ... ...)) (setq folder
(mew-case:folder-folder fld)) (goto-char (point-min)) (forward-line)
(delete-region (point-min) (point)) (mew-eol-fix-for-read)
(mew-dot-delete) (setq msg-file (mew-net-get-new-message pnm fld msg
... ...)) (setq msg (car msg-file) file (cdr msg-file)) (goto-char
(point-min)) (cond (truncated ...) (... ...) (... ...)) (catch
(quote write-error) (condition-case nil ... ...) (mew-pop-set-rcnt
pnm ...) (when ... ... ... ... ... ... ... ... ... ... ... ...)
(mew-pop-set-rtrs pnm ...) (if ... ... ... ...)))
mew-pop-command-dele(#<process
mew-pop-info-yohta at example.com>
"mew-pop-info-yohta at example.com")
funcall(mew-pop-command-dele #<process
mew-pop-info-yohta at example.com>
"mew-pop-info-yohta at example.com")
(if (fboundp func) (funcall func process pnm) (error "No function
called %s" (symbol-name func)))
(if stay nil (unless next (setq next "quit")) (mew-pop-set-status
pnm next) (setq func (intern-soft ...)) (goto-char (point-min)) (if
(fboundp func) (funcall func process pnm) (error "No function called
%s" ...)) (if (and process ...) (mew-erase-buffer)))
(unless stay (unless next (setq next "quit")) (mew-pop-set-status
pnm next) (setq func (intern-soft ...)) (goto-char (point-min)) (if
(fboundp func) (funcall func process pnm) (error "No function called
%s" ...)) (if (and process ...) (mew-erase-buffer)))
(progn (set-buffer (process-buffer process)) (goto-char (point-max))
(mew-set-buffer-multibyte nil) (insert string) (when (string= status
"retr") (mew-net-status2 ... ... ... ... nil ...)) (cond (... ...)
(... ...) (t ...)) (unless stay (unless next ...)
(mew-pop-set-status pnm next) (setq func ...) (goto-char ...) (if
... ... ...) (if ... ...)))
(unwind-protect (progn (set-buffer ...) (goto-char ...)
(mew-set-buffer-multibyte nil) (insert string) (when ... ...) (cond
... ... ...) (unless stay ... ... ... ... ... ...)) (if (get-buffer
obuf) (set-buffer obuf)))
(if (and (bufferp pbuf) (buffer-name pbuf)) (unwind-protect (progn
... ... ... ... ... ... ...) (if ... ...)))
(let ((pbuf ...) (obuf ...) (inhibit-eol-conversion nil)) (if (and
... ...) (unwind-protect ... ...)))
(mew-filter (goto-char (point-max)) (mew-set-buffer-multibyte nil)
(insert string) (when (string= status "retr") (mew-net-status2
... ... ... ... nil ...)) (cond (... ...) (... ...) (t ...)) (unless
stay (unless next ...) (mew-pop-set-status pnm next) (setq func ...)
(goto-char ...) (if ... ... ...) (if ... ...)))
(let* ((pnm ...) (status ...) (mulrep ...) stay next func)
(mew-pop-debug (upcase status) string) (mew-filter (goto-char ...)
(mew-set-buffer-multibyte nil) (insert string) (when ... ...) (cond
... ... ...) (unless stay ... ... ... ... ... ...)))
mew-pop-filter(#<process mew-pop-info-yohta at example.com>
"eceived: from acer-56fb35423d ([121.173.147.76]
helo=acer-56fb35423d)\n by
71-17-154-142.sktn.hsdb.sasknet.sk.ca ( sendmail 8.13.3/8.13.1) with
esmtpa id 1AkjyG-000DOF-fv\n for yohta at example.com; Mon, 17 Dec
2007 18:19:29 -0600\nMessage-ID:
<96AB8CE8.4EDB6D77 at example.com>\nDate: Mon, 17 Dec 2007 18:19:19
-0600\nFrom: \"denverr Stacey\"
<Staceydkbrz at example.com>\nUser-Agent: Thunderbird 2.0.0.0
(Windows/20070326)\nMIME-Version: 1.0\nTo:
yohta at example.com\nSubject: oppmeldi\nContent-Type:
multipart/alternative;\n
boundary=\"------------040105010305080808070704\"\n\n--------------040105010305080808070704\nContent-Type:
text/plain; charset=ISO-8859-1;
format=flowed\nContent-Transfer-Encoding: 7bit\n\nSwitch from
\"small size\" to \"magnum size\" condoms. Why? Because, with this
medicine, your \"package\" won't fit in your pants!
http://www.yesmedicals.com/\n\n--------------040105010305080808070704\nContent-Type:
text/html; charset=ISO-8859-1\nContent-Transfer-Encoding:
7bit\n\n<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01
Transitional//EN\">\n<html>\n<head>\n</head>\n<body
bgcolor=\"#ffffff\" text=\"#000000\">\nSwitch from \"small size\" to
\"magnum size\" condoms. Why? Because, with<br>\nthis medicine, your
\"package\" won't fit in your pants! <a
href=\"http://www.yesmedicals.com/\">http://www.yesmedicals.com/</a><br>\n</body>\n</html>\n\n--------------040105010305080808070704--\n.\n")
Mew-dist メーリングリストの案内