New patch:
- limit memory footprint: use a static buffer to store the frames,
with a maximum of MAXDEPTH frames (default: MAXDEPTH=100)
- if there are more than MAXDEPTH frames, jump to the frame MAXDEPTH
on error (it's like a truncated traceback)
- don't call segfault_exit() in PyEval_EvalFrameEx() if
segfault_enter() was not called
On Ubuntu Gutsy, for MAXDEPTH=100 the memory footprint is 19996 bytes.
I think that it's small, but it's possible to reduce the footprint by
using less frames or disable the alternative stack (needed for stack
overflow errors).