[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tue, 26 Apr 2011 13:58:30 +0200
Gnus/5.110016 (No Gnus v0.16) Emacs/24.0.50 (gnu/linux)
Stefan Monnier <address@hidden> writes:
> Actually, IIUC we could move it all to eval.c.
I just tried out what you suggested and it compiles to me with these changes:
(sorry it's not a right bzr patch format I still have to check how to do it)
address@hidden:~/trunk$ bzr diff src/lisp.h
=== modified file 'src/lisp.h'
--- src/lisp.h 2011-04-15 08:22:34 +0000
+++ src/lisp.h 2011-04-26 11:51:36 +0000
@@ -1966,40 +1966,6 @@
struct handler *next;
-/* This structure helps implement the `catch' and `throw' control
- structure. A struct catchtag contains all the information needed
- to restore the state of the interpreter after a non-local jump.
- Handlers for error conditions (represented by `struct handler'
- structures) just point to a catch tag to do the cleanup required
- for their jumps.
- catchtag structures are chained together in the C calling stack;
- the `next' member points to the next outer catchtag.
- A call like (throw TAG VAL) searches for a catchtag whose `tag'
- member is TAG, and then unbinds to it. The `val' member is used to
- hold VAL while the stack is unwound; `val' is returned as the value
- of the catch form.
- All the other members are concerned with restoring the interpreter
- state. */
- Lisp_Object tag;
- Lisp_Object val;
- struct catchtag *next;
- struct gcpro *gcpro;
- jmp_buf jmp;
- struct backtrace *backlist;
- struct handler *handlerlist;
- int lisp_eval_depth;
- int pdlcount;
- int poll_suppress_count;
- int interrupt_input_blocked;
- struct byte_stack *byte_stack;
extern Lisp_Object memory_signal_data;
address@hidden:~/trunk$ bzr diff src/dired.c
=== modified file 'src/dired.c'
--- src/dired.c 2011-04-14 19:34:42 +0000
+++ src/dired.c 2011-04-26 11:51:08 +0000
@@ -22,7 +22,7 @@
+/* #include <setjmp.h> */
GNU Emacs 184.108.40.206 (x86_64-unknown-linux-gnu, GTK+ Version 2.22.0)
of 2011-03-04 on plaetekopp