[Mew-dist 15303] Re: thread
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2000年 12月 6日 (水) 15:35:10 JST
From: Shun-ichi TAHARA (田原 俊一) <jado at example.com> さん曰く
Subject: [Mew-dist 15302] Re: thread
Message-ID: <20001206.140450.295421594.z1980163 at example.com>
Date: Wed, 6 Dec 2000 14:04:52 +0900
> > ちょっと前に気付いたのですが、fancy-thread だと
> >
> > mew-summary-fancy-thread-print: Variable binding depth exceeds max-specpdl-size
> >
> > となる folder があるのです。;_;
> >
> > # 深さ 53段の thread で fancy はエラーが発生しました。
>
> なんとまあ…
> ええと、これって、let でスタックフレームに積みすぎると発生するのですか?
# 実は、このエラーは初めてくらったので、良くわかっていません。^^;
# ちらちらと Emacs のソースも読んでみました。
info> -- Variable: max-specpdl-size
info> この変数は、(`"Variable binding depth exceeds max-specpdl-size"'を
info> 伴った)エラーを通知するまでに許される、ローカル変数束縛と
info> `unwind-protect'による後始末(*Note Nonlocal Exits::)の全体の個数
info> の制限を定義する。
今回は unwind-protect は関係ないから "ローカル変数束縛" の方です
よね。ということは、関数内の let や関数の引数も関係すると思います。
> んー、さて、どうしましょうかね…
> cdr って、そんなに遅くもないだろうから、(cdr top) を next に保持しとく
> のはやめたほうがいいかもしれないですね。
とりあえず、できるだけ減らしてみました。
いままで、max-specpdl-size が 1100 ぐらいまで増えないとダメだっ
た folder でも 850 ぐらいで大丈夫になったので、こういうやり方で
効果はあるんだと思います。
# だけど、
# (let ((max-specpdl-size (* max-specpdl-size 4))
# (max-lisp-eval-depth (* max-lisp-eval-depth 4)))
# ...
# とかしちゃったほうが早かったりして ^^;;;
## 根本的な解決にはなりませんけど。
--
白井秀行 (mailto:shirai at example.com)
-------------- next part --------------
H4sIAAAAAAAAA7RSy2rDMBA8J5B/WHKScRVkhTYhoeBD/6FnY60bgWynttI4f9+VLdtJME
0pVAi9mJ2dnRXnHHI8c3uoMFErNKssKdLL7B0VvGEK8AKR3ElBE6QQYjEPw/A24gb7vIu2
O7nx2DgGvt6Kp/UGQr/H8WIONJnC7FS0TPUpz5PqwtvMnpcfK11YbsryCMzSYvALDWSlUV
hBWppTXsCxwkw3AbEBsPNBGwSCLuac7rDfQ9P4MzNogbECG9pSVTlYQHF8BqBBKxu5RQYe
TgE6A4fuIKxG+0lA0Yb0tyi4wqdloSjDq9cpPDkMwS7HcjnxLN3z8M7sVCBLqNIr17kuFJ
I9tSWXPmrQwSTxozAWUhkycGOs5OeOUKVJZ99UR5wIGh3TYOvYpz5HK9F11XncpQ8HG/35
zs3wV/IG3COdPayT1isMxtz9L/m3zK7WNLG9grFXN9x3HROjxD8yyCu76bd9AwAA///MVc
sKwyAQ/BXJySAeQn+nl5CYByQKRtrf7+puolgpQnsoOSS4YR8zs+N/jdd9Pd6tTeV06Swu
vQ+C/8gq//GoFJ2nrG20mWEbT6kHUBWcntLnqz6UdRigSrMCn1u1gl7iHvLJ2GdvR4zILg
Z281DSGUmd4KvNCxBovs8kNjGujfO49HZYJNVgzd02TK8bc+QjPO7qlbGBh0Dwn/kE+zGH
AcoTXMdICUD0lmAA/x5TDHy78GOw3IprIjQeEncCOWsz0jJBBccntfxIDSi8hHVRx7koMy
4+8Z2mJppFPcnnkr0AAAD//9JAlAUkxzOGq6GCkDgGhhW+KNaGODU3ldgSCBrJMIeDjMcV
0dCYhTQ0rCkEECN4uQAAAAD//wMA8z10lioJAAA=
Mew-dist メーリングリストの案内