# HG changeset patch # User Gerd Moellmann # Date 970485072 0 # Node ID 4f8ce7eb45a56e6f340484776e4dd694f1a57640 # Parent ac184f93f0f32c29830e76e41978bf18144ab6d6 (wrong_type_argument): Remove NO_RETURN, the function can return with a string converted to an integer or vice versa when Vmocklisp_arguments is t. (Fsignal): Likewise. The function can return for `quit'. (struct gcpro): Declare member `var' to point to a volatile Lisp_Object. diff -r ac184f93f0f3 -r 4f8ce7eb45a5 src/lisp.h --- a/src/lisp.h Mon Oct 02 06:50:45 2000 +0000 +++ b/src/lisp.h Mon Oct 02 11:11:12 2000 +0000 @@ -1630,14 +1630,19 @@ extern struct gcpro *gcprolist; struct gcpro - { - struct gcpro *next; - Lisp_Object *var; /* Address of first protected variable */ - int nvars; /* Number of consecutive protected variables */ +{ + struct gcpro *next; + + /* Address of first protected variable. */ + volatile Lisp_Object *var; + + /* Number of consecutive protected variables. */ + int nvars; + #ifdef DEBUG_GCPRO - int level; + int level; #endif - }; +}; /* Values of GC_MARK_STACK during compilation: @@ -1898,7 +1903,7 @@ extern unsigned long cons_to_long P_ ((Lisp_Object)); extern void args_out_of_range P_ ((Lisp_Object, Lisp_Object)); extern void args_out_of_range_3 P_ ((Lisp_Object, Lisp_Object, Lisp_Object)); -extern Lisp_Object wrong_type_argument P_ ((Lisp_Object, Lisp_Object)) NO_RETURN; +extern Lisp_Object wrong_type_argument P_ ((Lisp_Object, Lisp_Object)); extern void store_symval_forwarding P_ ((Lisp_Object, Lisp_Object, Lisp_Object)); extern Lisp_Object do_symval_forwarding P_ ((Lisp_Object)); extern Lisp_Object set_internal P_ ((Lisp_Object, Lisp_Object, struct buffer *, int)); @@ -2300,7 +2305,7 @@ EXFUN (Fthrow, 2) NO_RETURN; EXFUN (Funwind_protect, UNEVALLED); EXFUN (Fcondition_case, UNEVALLED); -EXFUN (Fsignal, 2) NO_RETURN; +EXFUN (Fsignal, 2); EXFUN (Fautoload, 5); EXFUN (Fcommandp, 1); EXFUN (Feval, 1);