Mercurial > hg > xemacs-beta
diff src/console-x-impl.h @ 1346:01c57eb70ae9
[xemacs-hg @ 2003-03-09 02:27:27 by ben]
To: xemacs-patches@xemacs.org
i.c: Sleep between calls to check for I/O, since these calls are non-blocking.
behavior.el: Allow other keywords for forward compatibility.
cl-macs.el: Rewrite to eliminate byte-compiler warning when `return' is used
without `finally'.
cmdloop.el: Avoid truncated error messages for `end-of-file' and the like.
cmdloop.el: Avoid char-int error after syncing.
files.el: Eliminate byte-compile warnings.
printer.el: Fix line-width calculations.
#### This used to work. Someone's changes (perhaps by
Michael Sperber?) seem to have messed something up.
simple.el: Use new clear-left-side functions to avoid messages ending up on
the same line as other output.
xemacs.mak: Add override for info/ as well when separate source/build dirs.
xemacs.mak: Order sections in main build process and add comments. Add
additional dependencies to try and prevent later steps from
happening when failures in earlier steps have occurred.
Makefile.in.in: Order sections in main build process and add comments. Add
additional dependencies to try and prevent later steps from
happening when failures in earlier steps have occurred.
alloc.c: Don't arbitrarily clear Vconfigure_info_directory since it
messes up separate build/source dirs.
console.c, console.h, device-msw.c, device.c: Add accidentally omitted msprinter console and data descriptions.
print.c, console-msw.c: Add clear-left-side functionality to help keep stdio/stderr
output from separate sources on separate lines. Generalize
the different kinds of debugging output. Add dpa().
profile.c: Add better docs on Unix/Windows differences.
regex.c: Fix problems with rel-alloc compilation caused by previous patch.
emacs.c: Seg fault rather than abort on Cygwin, since gdb doesn't trap
aborts properly.
console-gtk-impl.h, console-gtk.h, console-msw.h, console-x-impl.h, console-x.h, dialog-gtk.c, dialog-x.c, event-msw.c, frame-gtk.c, frame-x.c, frameslots.h, glyphs-gtk.c, glyphs-x.c, gui-gtk.c, gui-x.c, inline.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, scrollbar-gtk.c, scrollbar-x.c, ui-gtk.c: Delete popup-data object. Delete menubar_data field from frames,
since its usage is frame-specific. Delete menubar-msw.h,
gui-x.h, gui-gtk.h. Clean up handling of lwlib callback data
GCPRO'ing and add missing GCPRO recomputation in widget code.
author | ben |
---|---|
date | Sun, 09 Mar 2003 02:27:46 +0000 |
parents | 79c6ff3eef26 |
children | ecf1ebac70d8 |
line wrap: on
line diff
--- a/src/console-x-impl.h Sat Mar 08 22:52:26 2003 +0000 +++ b/src/console-x-impl.h Sun Mar 09 02:27:46 2003 +0000 @@ -1,7 +1,7 @@ /* Define X specific console, device, and frame object for XEmacs. Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. - Copyright (C) 1996, 2002 Ben Wing. + Copyright (C) 1996, 2002, 2003 Ben Wing. This file is part of XEmacs. @@ -245,7 +245,22 @@ Widget top_widgets[MAX_CONCURRENT_TOP_WIDGETS]; int num_top_widgets; - /*************************** Miscellaneous **************************/ + /* lwlib ID of the tree of widgets corresponding to this popup. We pass + this to lw_map_widget_values() to retrieve all of our Lispy call-data + and accel values that need to be GCPRO'd, and store them in the + following list. (We used to call lw_map_widget_values() during GC + mark, but that isn't compatible with KKCC.) */ + LWLIB_ID menubar_id; + + /* For the frame popup data, this is the last buffer for which the + menubar was displayed. If the buffer has changed, we may have to + update things. */ + Lisp_Object last_menubar_buffer; + + /* This flag tells us if the menubar contents are up-to-date with respect + to the current menubar structure. If we want to actually pull down a + menu and this is false, then we need to update things. */ + char menubar_contents_up_to_date; /* The icon pixmaps; these are Lisp_Image_Instance objects, or Qnil. */ Lisp_Object icon_pixmap; @@ -305,6 +320,11 @@ #define FRAME_X_TOP_WIDGETS(f) (FRAME_X_DATA (f)->top_widgets) #define FRAME_X_NUM_TOP_WIDGETS(f) (FRAME_X_DATA (f)->num_top_widgets) +#define FRAME_X_MENUBAR_ID(f) (FRAME_X_DATA (f)->menubar_id) +#define FRAME_X_LAST_MENUBAR_BUFFER(f) (FRAME_X_DATA (f)->last_menubar_buffer) +#define FRAME_X_MENUBAR_CONTENTS_UP_TO_DATE(f) \ + (FRAME_X_DATA (f)->menubar_contents_up_to_date) + #define FRAME_X_ICON_PIXMAP(f) (FRAME_X_DATA (f)->icon_pixmap) #define FRAME_X_ICON_PIXMAP_MASK(f) (FRAME_X_DATA (f)->icon_pixmap_mask)