Mercurial > hg > xemacs-beta
diff src/gui-x.c @ 771:943eaba38521
[xemacs-hg @ 2002-03-13 08:51:24 by ben]
The big ben-mule-21-5 check-in!
Various files were added and deleted. See CHANGES-ben-mule.
There are still some test suite failures. No crashes, though.
Many of the failures have to do with problems in the test suite itself
rather than in the actual code. I'll be addressing these in the next
day or so -- none of the test suite failures are at all critical.
Meanwhile I'll be trying to address the biggest issues -- i.e. build
or run failures, which will almost certainly happen on various platforms.
All comments should be sent to ben@xemacs.org -- use a Cc: if necessary
when sending to mailing lists. There will be pre- and post- tags,
something like
pre-ben-mule-21-5-merge-in, and
post-ben-mule-21-5-merge-in.
author | ben |
---|---|
date | Wed, 13 Mar 2002 08:54:06 +0000 |
parents | fdefd0186b75 |
children | e38acbeb1cae |
line wrap: on
line diff
--- a/src/gui-x.c Fri Mar 08 13:33:14 2002 +0000 +++ b/src/gui-x.c Wed Mar 13 08:54:06 2002 +0000 @@ -1,6 +1,6 @@ /* General GUI code -- X-specific. (menubars, scrollbars, toolbars, dialogs) Copyright (C) 1995 Board of Trustees, University of Illinois. - Copyright (C) 1995, 1996, 2000 Ben Wing. + Copyright (C) 1995, 1996, 2000, 2001 Ben Wing. Copyright (C) 1995 Sun Microsystems, Inc. Copyright (C) 1998 Free Software Foundation, Inc. @@ -382,16 +382,16 @@ return retval; } -/* This does the dirty work. gc_currently_forbidden is 1 when this is called. - */ +/* This does the dirty work. begin_gc_forbidden() is active when this is + called. */ int button_item_to_widget_value (Lisp_Object gui_object_instance, Lisp_Object gui_item, widget_value *wv, int allow_text_field_p, int no_keys_p, int menu_entry_p, int accel_p) { - /* This function cannot GC because gc_currently_forbidden is set when - it's called */ + /* This function cannot GC because begin_gc_forbidden() is active when + it's called. */ Lisp_Gui_Item* pgui = 0; /* degenerate case */ @@ -627,7 +627,7 @@ { /* This function can GC */ widget_value *control = 0, *tmp = 0; - int count = specpdl_depth (); + int count; Lisp_Object wv_closure; if (NILP (items)) @@ -636,9 +636,7 @@ /* Inhibit GC during this conversion. The reasons for this are the same as in menu_item_descriptor_to_widget_value(); see the large comment above that function. */ - record_unwind_protect (restore_gc_inhibit, - make_int (gc_currently_forbidden)); - gc_currently_forbidden = 1; + count = begin_gc_forbidden (); /* Also make sure that we free the partially-created widget_value tree on Lisp error. */ @@ -658,7 +656,7 @@ /* No more need to free the half-filled-in structures. */ set_opaque_ptr (wv_closure, 0); - unbind_to (count, Qnil); + unbind_to (count); return control; }