This patch simplifies the structure of the internal_catch function. If my change to prog_ignore is accepted (shown below), use the diff_with. Otherwise use diff_without. THIS IS NOT THE DIFF FOR THIS PATCH! diff --git a/src/eval.c b/src/eval.c index e50e26a..abd4028 100644 --- a/src/eval.c +++ b/src/eval.c @@ -458,7 +458,11 @@ usage: (progn BODY...) */) void prog_ignore (Lisp_Object body) { - Fprogn (body); + while (CONSP (body)) + { + eval_sub (XCAR (body)); + body = XCDR (body); + } } THE DIFF FOR THIS PATCH is in the attachments. -- Chris Gregory