commit: various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing
ben at xemacs.org
Mon Feb 1 03:21:31 EST 2010
changeset: 4908:b3ce27ca7647
tag: tip
user: Ben Wing <ben at xemacs.org>
date: Mon Feb 01 02:15:28 2010 -0600
files: src/ChangeLog src/compiler.h src/console-gtk.h src/console-x.h src/console-xlike-inc.h src/depend src/device-gtk.c src/event-gtk.c src/event-gtk.h src/event-xlike-inc.c src/frame-gtk.c src/gccache-gtk.c src/gccache-gtk.h src/glyphs-gtk.c src/glyphs-gtk.h src/glyphs.c src/gtk-glue.c src/gtk-xemacs.c src/gtk-xemacs.h src/objects-gtk.c src/objects-xlike-inc.c src/redisplay-gtk.c src/redisplay-x.c src/redisplay-xlike-inc.c src/symsinit.h src/sysgdkx.h src/sysgtk.h src/ui-gtk.c src/ui-gtk.h src/xgccache.c src/xgccache.h
description:
various fixes related to gtk, redisplay-xlike-inc.c
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-01 Ben Wing <ben at xemacs.org>
* compiler.h:
Create a USED() macro to force unused-var warnings to go away,
in certain cases where it's inconvenient to do otherwise (e.g.
when THIS_IS_GTK in redisplay-xlike-inc.c).
* console-x.h:
Remove unneeded decls, make some static.
* redisplay-xlike-inc.c:
* console-xlike-inc.h: New file. Include defns from
redisplay-xlike-inc.c that may be useful in other XLIKE files.
Correct the handling of colors and font-style setting functions
in the xlike defns. Lots of fixes in the GTK-specific defns.
* depend: Regenerate.
* event-xlike-inc.c:
* event-xlike-inc.c (USE_UNICODE_MAP):
* event-xlike-inc.c (endif):
* gccache-gtk.c:
* gtk-glue.c (xemacs_list_to_gtklist):
* gtk-glue.c (xemacs_gtklist_to_list):
* gtk-glue.c (FROB):
* gtk-glue.c (face_to_gc):
* gtk-glue.c (face_to_style):
* gtk-glue.c (gdk_event_to_emacs_event):
* gtk-xemacs.h (struct _GtkXEmacs):
* gtk-xemacs.h (struct _GtkXEmacsClass):
* objects-xlike-inc.c:
Cosmetic, comment fixes.
* glyphs.c (pixmap_to_lisp_data):
Unused var fixes.
* gtk-glue.c:
* gccache-gtk.c:
* gtk-xemacs.c:
* gtk-xemacs.h:
* objects-xlike-inc.c:
* ui-gtk.c:
* ui-gtk.h:
* xgccache.c:
* xgccache.c (GC_CACHE_SIZE):
* xgccache.h:
Misc include-file fixes.
* objects-xlike-inc.c (XFUN):
* objects-xlike-inc.c (xlistfonts_checking_charset):
Combine some ifdeffed stuff using defs in console-xlike-inc.h.
* redisplay-gtk.c:
* redisplay-gtk.c (THIS_IS_GTK):
* redisplay-gtk.c (XLIKE_bevel_area):
* redisplay-gtk.c (XLIKE_ring_bell):
* redisplay-gtk.c (gdk_draw_text_image):
Fix numerous compile problems. Delete gtk_output_shadows(),
which mostly duplicates generic bevel_modeline(). Fix up
gtk_bevel_modeline() into XLIKE_bevel_area() and make use of
the style var properly to set the appropriate GTK constant.
* redisplay-x.c:
* redisplay-x.c (XLIKE_window_output_begin):
* redisplay-x.c (XLIKE_window_output_end):
* redisplay-x.c (XLIKE_bevel_area):
* redisplay-x.c (x_output_shadows):
* redisplay-x.c (XLIKE_ring_bell):
Make x_output_shadows be static. Change the defn of various
functions to look like XLIKE_foo() so it matches the calling
convention elsewhere.
* redisplay-xlike-inc.c:
* redisplay-xlike-inc.c (NEED_GCCACHE_H):
* redisplay-xlike-inc.c (XLIKE_text_width):
* redisplay-xlike-inc.c (XLIKE_get_gc):
* redisplay-xlike-inc.c (XLIKE_text_width_single_run):
* redisplay-xlike-inc.c (XFT_FROB_LISP_COLOR):
* redisplay-xlike-inc.c (XLIKE_output_xlike_pixmap):
* redisplay-xlike-inc.c (XLIKE_output_pixmap):
* redisplay-xlike-inc.c (XLIKE_output_vertical_divider):
* redisplay-xlike-inc.c (XLIKE_flash):
Lots of header fixes. Lots of stuff moved to console-xlike-inc.h.
Use XFUN() to generate function names instead of directly
calling XLIKE_PASTE(). Remove unnecessary prototypes.
Unify calls to text_width funs. Make XLIKE_get_gc non-static
since it's called from gtk. Change the color-function calls
and fill-style-setting calls to match the changes in
console-xlike-inc.h. Use USED() to avoid some warnings.
* symsinit.h:
Sort the prototypes, and add a fun `sort-symsinit' in a comment
that does the sorting (using sort-regexp-fields).
* symsinit.h (init_number):
* sysgtk.h: New file, wraps the various GTK headers.
* sysgdkx.h: New file, wraps <gtk/gdkx.h>. Keep this separate to
* event-gtk.h: Delete. Combine stuff into console-gtk.h.
help isolate X-specific code from GTK.
* device-gtk.c:
* event-gtk.c:
* console-gtk.h:
* frame-gtk.c:
* gccache-gtk.c:
* gccache-gtk.h:
* glyphs-gtk.c (gtk_colorize_image_instance):
* glyphs-gtk.h:
* gtk-xemacs.h:
* objects-gtk.c:
* objects-gtk.c (MAX_FONT_COUNT):
* ui-gtk.h:
Use sysgtk.h or sysgdkx.h instead of directly including GTK
headers. Don't include event-gtk.h.
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/ChangeLog
--- a/src/ChangeLog Mon Feb 01 01:05:28 2010 -0600
+++ b/src/ChangeLog Mon Feb 01 02:15:28 2010 -0600
@@ -1,3 +1,121 @@
+2010-02-01 Ben Wing <ben at xemacs.org>
+
+ * compiler.h:
+ Create a USED() macro to force unused-var warnings to go away,
+ in certain cases where it's inconvenient to do otherwise (e.g.
+ when THIS_IS_GTK in redisplay-xlike-inc.c).
+
+ * console-x.h:
+ Remove unneeded decls, make some static.
+
+ * redisplay-xlike-inc.c:
+ * console-xlike-inc.h: New file. Include defns from
+ redisplay-xlike-inc.c that may be useful in other XLIKE files.
+ Correct the handling of colors and font-style setting functions
+ in the xlike defns. Lots of fixes in the GTK-specific defns.
+
+ * depend: Regenerate.
+
+ * event-xlike-inc.c:
+ * event-xlike-inc.c (USE_UNICODE_MAP):
+ * event-xlike-inc.c (endif):
+ * gccache-gtk.c:
+ * gtk-glue.c (xemacs_list_to_gtklist):
+ * gtk-glue.c (xemacs_gtklist_to_list):
+ * gtk-glue.c (FROB):
+ * gtk-glue.c (face_to_gc):
+ * gtk-glue.c (face_to_style):
+ * gtk-glue.c (gdk_event_to_emacs_event):
+ * gtk-xemacs.h (struct _GtkXEmacs):
+ * gtk-xemacs.h (struct _GtkXEmacsClass):
+ * objects-xlike-inc.c:
+ Cosmetic, comment fixes.
+
+ * glyphs.c (pixmap_to_lisp_data):
+ Unused var fixes.
+
+
+ * gtk-glue.c:
+ * gccache-gtk.c:
+ * gtk-xemacs.c:
+ * gtk-xemacs.h:
+ * objects-xlike-inc.c:
+ * ui-gtk.c:
+ * ui-gtk.h:
+ * xgccache.c:
+ * xgccache.c (GC_CACHE_SIZE):
+ * xgccache.h:
+ Misc include-file fixes.
+
+ * objects-xlike-inc.c (XFUN):
+ * objects-xlike-inc.c (xlistfonts_checking_charset):
+ Combine some ifdeffed stuff using defs in console-xlike-inc.h.
+
+ * redisplay-gtk.c:
+ * redisplay-gtk.c (THIS_IS_GTK):
+ * redisplay-gtk.c (XLIKE_bevel_area):
+ * redisplay-gtk.c (XLIKE_ring_bell):
+ * redisplay-gtk.c (gdk_draw_text_image):
+ Fix numerous compile problems. Delete gtk_output_shadows(),
+ which mostly duplicates generic bevel_modeline(). Fix up
+ gtk_bevel_modeline() into XLIKE_bevel_area() and make use of
+ the style var properly to set the appropriate GTK constant.
+
+ * redisplay-x.c:
+ * redisplay-x.c (XLIKE_window_output_begin):
+ * redisplay-x.c (XLIKE_window_output_end):
+ * redisplay-x.c (XLIKE_bevel_area):
+ * redisplay-x.c (x_output_shadows):
+ * redisplay-x.c (XLIKE_ring_bell):
+ Make x_output_shadows be static. Change the defn of various
+ functions to look like XLIKE_foo() so it matches the calling
+ convention elsewhere.
+
+ * redisplay-xlike-inc.c:
+ * redisplay-xlike-inc.c (NEED_GCCACHE_H):
+ * redisplay-xlike-inc.c (XLIKE_text_width):
+ * redisplay-xlike-inc.c (XLIKE_get_gc):
+ * redisplay-xlike-inc.c (XLIKE_text_width_single_run):
+ * redisplay-xlike-inc.c (XFT_FROB_LISP_COLOR):
+ * redisplay-xlike-inc.c (XLIKE_output_xlike_pixmap):
+ * redisplay-xlike-inc.c (XLIKE_output_pixmap):
+ * redisplay-xlike-inc.c (XLIKE_output_vertical_divider):
+ * redisplay-xlike-inc.c (XLIKE_flash):
+ Lots of header fixes. Lots of stuff moved to console-xlike-inc.h.
+ Use XFUN() to generate function names instead of directly
+ calling XLIKE_PASTE(). Remove unnecessary prototypes.
+ Unify calls to text_width funs. Make XLIKE_get_gc non-static
+ since it's called from gtk. Change the color-function calls
+ and fill-style-setting calls to match the changes in
+ console-xlike-inc.h. Use USED() to avoid some warnings.
+
+ * symsinit.h:
+ Sort the prototypes, and add a fun `sort-symsinit' in a comment
+ that does the sorting (using sort-regexp-fields).
+
+ * symsinit.h (init_number):
+
+
+ * sysgtk.h: New file, wraps the various GTK headers.
+ * sysgdkx.h: New file, wraps <gtk/gdkx.h>. Keep this separate to
+ * event-gtk.h: Delete. Combine stuff into console-gtk.h.
+ help isolate X-specific code from GTK.
+
+ * device-gtk.c:
+ * event-gtk.c:
+ * console-gtk.h:
+ * frame-gtk.c:
+ * gccache-gtk.c:
+ * gccache-gtk.h:
+ * glyphs-gtk.c (gtk_colorize_image_instance):
+ * glyphs-gtk.h:
+ * gtk-xemacs.h:
+ * objects-gtk.c:
+ * objects-gtk.c (MAX_FONT_COUNT):
+ * ui-gtk.h:
+ Use sysgtk.h or sysgdkx.h instead of directly including GTK
+ headers. Don't include event-gtk.h.
+
2010-02-01 Ben Wing <ben at xemacs.org>
* abbrev.c (abbrev_match_mapper):
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/compiler.h
--- a/src/compiler.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/compiler.h Mon Feb 01 02:15:28 2010 -0600
@@ -245,6 +245,13 @@
# endif
#endif /* UNUSED */
+/* Declaration that variable or expression X is "used" to defeat
+ "unused variable" warnings. DON'T DO THIS FOR PARAMETERS IF IT ALL
+ POSSIBLE. Use an UNUSED() or USED_IF_*() declaration on the parameter
+ instead. Don't do this for unused local variables that should really
+ just be deleted. */
+#define USED(x) ((void) (x))
+
#ifdef DEBUG_XEMACS
# define REGISTER
# define register
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/console-gtk.h
--- a/src/console-gtk.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/console-gtk.h Mon Feb 01 02:15:28 2010 -0600
@@ -36,7 +36,7 @@
#ifdef HAVE_GTK
#include "console.h"
-#include <gtk/gtk.h>
+#include "sysgtk.h"
/* Variables associated with the X display frame this emacs is using. */
@@ -64,8 +64,6 @@
int start_pixpos, int width, face_index findex,
int cursor, int cursor_start, int cursor_width,
int cursor_height);
-void gtk_output_shadows (struct frame *f, int x, int y, int width,
- int height, int shadow_thickness);
GdkGC *gtk_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg, Lisp_Object bg,
Lisp_Object bg_pmap, Lisp_Object lwidth);
@@ -99,5 +97,17 @@
extern void ungcpro_popup_callbacks (GUI_ID id);
extern Lisp_Object get_gcpro_popup_callbacks (GUI_ID id);
+int gtk_event_to_emacs_event (struct frame *frame,
+ GdkEvent *gdk_event,
+ struct Lisp_Event *emacs_event);
+
+gint emacs_gtk_key_event_handler(GtkWidget *widget, GdkEventKey *event);
+gint emacs_gtk_button_event_handler(GtkWidget *widget, GdkEventButton *event);
+gint emacs_gtk_motion_event_handler (GtkWidget *widget, GdkEventMotion *event);
+
+gboolean emacs_shell_event_handler (GtkWidget *wid /* unused */,
+ GdkEvent *event,
+ gpointer closure);
+
#endif /* HAVE_GTK */
#endif /* _XEMACS_DEVICE_X_H_ */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/console-x.h
--- a/src/console-x.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/console-x.h Mon Feb 01 02:15:28 2010 -0600
@@ -137,15 +137,6 @@
int start_pixpos, int width, face_index findex,
int cursor, int cursor_start, int cursor_width,
int cursor_height);
-void x_output_x_pixmap (struct frame *f, Lisp_Image_Instance *p,
- int x, int y, int xoffset, int yoffset,
- int width, int height,
- unsigned long fg, unsigned long bg,
- GC override_gc);
-void x_output_shadows (struct frame *f, int x, int y, int width,
- int height, GC top_shadow_gc,
- GC bottom_shadow_gc, GC background_gc,
- int shadow_thickness, int edges);
void x_generate_shadow_pixels (struct frame *f,
unsigned long *top_shadow,
unsigned long *bottom_shadow,
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/console-xlike-inc.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/console-xlike-inc.h Mon Feb 01 02:15:28 2010 -0600
@@ -0,0 +1,307 @@
+/* Definitions for use in *-xlike-inc.c files.
+ Copyright (C) 2010 Ben Wing.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Synched up with: Not in FSF. */
+
+#ifndef INCLUDED_console_xlike_inc_h_
+#define INCLUDED_console_xlike_inc_h_
+
+/* X and GTK are quite similar, since GTK based its structure on Xlib.
+ However, there are many small differences. Creating two separate
+ versions of the code, as Bill Perry did originally, is easier to code
+ but hard to maintain and leads to bit rot. On the other hand, trying to
+ abstract out into device methods, as is done generally for different
+ window systems, gets very hairy very quickly because the differences are
+ on the level of individual library functions, constants and types, of
+ which there are large number. Abstracting them into device methods
+ would lead to a large number of very small functions and very
+ hard-to-read code.
+
+ Instead, we handle the situation by having only one copy, placed in a
+ file called *-xlike-inc.c (e.g. redisplay-xlike-inc.c) and
+ conditionalizing using ifdefs. Because we can compile with both X and
+ GTK at once, we include this file inside of the appropriate
+ device-specific file (e.g. redisplay-gtk.c or redisplay-x.c). The `inc'
+ in *-xlike-inc.c indicates that this is a file meant to be included in
+ another file, despite the fact that it is a .c file.
+
+ To signal which variety of "xlike" we are compiling for, either
+ THIS_IS_X or THIS_IS_GTK needs to be defined, prior to including the
+ *-xlike-inc.c file. */
+
+
+/* About the representation of color below:
+
+ X has two ways of representing a color: (a) as an unsigned long
+ representing a color pixel value, i.e. the actual value stored in memory
+ or a file at a particular pixel location to indicate that the pixel
+ takes on a specific color; and (b) an XColor structure, which
+ encapsulates both the RGB components of a color and the associated color
+ pixel value.
+
+ We call the former type XLIKE_PIXEL and the latter XLIKE_COLOR, along
+ with routines to convert from one to the other. Differences between the
+ two in specific functions and structures should be abstracted using the
+ XLIKE_FOO() routines, e.g. XLIKE_SET_GC_COLOR(). */
+
+#if defined (THIS_IS_X) && defined (THIS_IS_GTK)
+#error "Exactly one of THIS_IS_X and THIS_IS_GTK may be defined."
+#endif
+
+#if !defined (THIS_IS_X) && !defined (THIS_IS_GTK)
+#error "Either THIS_IS_X or THIS_IS_GTK must be defined."
+#endif
+
+#ifdef THIS_IS_X
+# include "console-x-impl.h"
+# ifdef NEED_GCCACHE_H
+# include "xgccache.h"
+# endif
+# ifdef NEED_GLYPHS_H
+# include "glyphs-x.h"
+# endif
+# ifdef NEED_OBJECTS_IMPL_H
+# include "objects-x-impl.h"
+# endif
+#else /* THIS_IS_GTK */
+# include "console-gtk-impl.h"
+# ifdef NEED_GCCACHE_H
+# include "gccache-gtk.h"
+# endif
+# ifdef NEED_GLYPHS_H
+# include "glyphs-gtk.h"
+# endif
+# ifdef NEED_OBJECTS_IMPL_H
+# include "objects-gtk-impl.h"
+# endif
+#endif /* THIS_IS_GTK */
+
+/***************************************************************************/
+/* Common definitions */
+/***************************************************************************/
+
+#define XLIKE_PASTE_1(a,b) a##_##b
+#define XLIKE_PASTE(a,b) XLIKE_PASTE_1(a,b)
+#define XFUN(name) XLIKE_PASTE (XLIKE_NAME, name)
+
+#define XLIKE_CONSOLE_HAS_METHOD_1(xlike, name) CONSOLE_HAS_METHOD (xlike, name)
+#define XLIKE_CONSOLE_HAS_METHOD(name) \
+ XLIKE_CONSOLE_HAS_METHOD_1 (XLIKE_NAME, name)
+
+#define XCOLOR_INSTANCE_XLIKE_COLOR(x) \
+ COLOR_INSTANCE_XLIKE_COLOR (XCOLOR_INSTANCE (x))
+
+#ifdef THIS_IS_X
+
+/***************************************************************************/
+/* Definitions implementing X flavor of XLIKE */
+/***************************************************************************/
+
+#define XLIKE_NAME x
+#define USED_IF_X(var) var
+#define USED_IF_GTK(var) UNUSED (var)
+
+/* types */
+typedef Display * XLIKE_DISPLAY;
+typedef Window XLIKE_WINDOW;
+typedef GC XLIKE_GC;
+typedef XRectangle XLIKE_RECTANGLE;
+typedef XGCValues XLIKE_GCVALUES;
+typedef XColor XLIKE_COLOR;
+typedef unsigned long XLIKE_PIXEL;
+
+/* constants */
+#define XLIKE_NONE None
+#define XLIKE_FALSE False
+
+#define XLIKE_GC_BACKGROUND GCBackground
+#define XLIKE_GC_CLIP_MASK GCClipMask
+#define XLIKE_GC_CLIP_X_ORIGIN GCClipXOrigin
+#define XLIKE_GC_CLIP_Y_ORIGIN GCClipYOrigin
+#define XLIKE_GC_EXPOSURES GCGraphicsExposures
+#define XLIKE_GC_FILL GCFillStyle
+#define XLIKE_GC_FONT GCFont
+#define XLIKE_GC_FOREGROUND GCForeground
+#define XLIKE_GC_FUNCTION GCFunction
+#define XLIKE_GC_LINE_WIDTH GCLineWidth
+#define XLIKE_GC_STIPPLE GCStipple
+#define XLIKE_GC_TILE GCTile
+
+#define XLIKE_GX_COPY GXcopy
+#define XLIKE_GX_XOR GXxor
+
+#define XLIKE_FILL_STIPPLED FillStippled
+#define XLIKE_FILL_OPAQUE_STIPPLED FillOpaqueStippled
+#define XLIKE_FILL_TILED FillTiled
+#define XLIKE_FILL_SOLID FillSolid
+
+/* functions */
+#define GET_XLIKE_DISPLAY(d) DEVICE_X_DISPLAY (d)
+#define GET_XLIKE_X_DISPLAY(d) DEVICE_X_DISPLAY (d)
+#define GET_XLIKE_WINDOW(w) XtWindow (FRAME_X_TEXT_WIDGET (f))
+#define XLIKE_FILL_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
+ XFillRectangle (dpy, x_win, gc, x, y, width, height)
+#define XLIKE_DRAW_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
+ XDrawRectangle (dpy, x_win, gc, x, y, width, height)
+#define XLIKE_DRAW_LINE(dpy, x_win, gc, x1, y1, x2, y2) \
+ XDrawLine (dpy, x_win, gc, x1, y1, x2, y2)
+#define XLIKE_TEXT_WIDTH(fi, ptr, len) XTextWidth (fi, (char *) ptr, len)
+#define XLIKE_TEXT_WIDTH_WIDE(fi, ptr, len) XTextWidth16 (fi, (XChar2b *) ptr, len)
+
+#define XLIKE_DISPLAY_LINE_HEIGHT(dl) DISPLAY_LINE_HEIGHT (dl)
+#define XLIKE_DISPLAY_LINE_YPOS(dl) DISPLAY_LINE_YPOS (dl)
+#define XLIKE_DISPLAY_LINE_TOP_CLIP(dl) ((dl)->top_clip)
+#define XLIKE_SET_CLIP_RECTANGLE(dpy, gc, xorig, yorig, prect) \
+ /* #### why not Unsorted? */ \
+ XSetClipRectangles (dpy, gc, xorig, yorig, prect, 1, YXBanded)
+#define XLIKE_CLEAR_CLIP_MASK(dpy, gc) \
+do \
+ { \
+ XSetClipMask (dpy, gc, None); \
+ XSetClipOrigin (dpy, gc, 0, 0); \
+ } \
+while (0)
+#define XLIKE_FLUSH(dpy) XSync (dpy, False)
+#define XLIKE_CLEAR_AREA(dpy, win, x, y, width, height) \
+ XClearArea (dpy, win, x, y, width, height, False)
+
+#define IMAGE_INSTANCE_XLIKE_MASK IMAGE_INSTANCE_X_MASK
+#define XIMAGE_INSTANCE_XLIKE_PIXMAP XIMAGE_INSTANCE_X_PIXMAP
+#define COLOR_INSTANCE_XLIKE_COLOR COLOR_INSTANCE_X_COLOR
+#define FONT_INSTANCE_XLIKE_FONT FONT_INSTANCE_X_FONT
+#define DEVICE_XLIKE_GC_CACHE DEVICE_X_GC_CACHE
+#define DEVICE_XLIKE_GRAY_PIXMAP DEVICE_X_GRAY_PIXMAP
+#define XLIKE_SET_GC_FILL(gc, style) ((gc).fill_style = (style))
+#define XLIKE_COLOR_TO_PIXEL(c) ((c).pixel)
+#define XLIKE_SET_GC_COLOR(lval, rval) ((lval) = (rval).pixel)
+#define XLIKE_SET_GC_PIXEL(lval, rval) ((lval) = (rval))
+#define XLIKE_FONT_NUM(val) ((val)->fid)
+
+/************ End X flavor of XLIKE **********/
+
+
+#else /* THIS_IS_GTK */
+
+/***************************************************************************/
+/* Definitions implementing GTK flavor of XLIKE */
+/***************************************************************************/
+
+#define XLIKE_NAME gtk
+#define USED_IF_X(var) UNUSED (var)
+#define USED_IF_GTK(var) var
+
+/*types */
+typedef void * XLIKE_DISPLAY;
+typedef GdkWindow * XLIKE_WINDOW;
+typedef GdkGC * XLIKE_GC;
+typedef GdkRectangle XLIKE_RECTANGLE;
+typedef GdkGCValues XLIKE_GCVALUES;
+typedef GdkColor XLIKE_COLOR;
+typedef gulong XLIKE_PIXEL;
+
+/* constants */
+#define XLIKE_NONE 0
+#define XLIKE_FALSE FALSE
+
+#define XLIKE_GC_BACKGROUND GDK_GC_BACKGROUND
+#define XLIKE_GC_CLIP_MASK GDK_GC_CLIP_MASK
+#define XLIKE_GC_CLIP_X_ORIGIN GDK_GC_CLIP_X_ORIGIN
+#define XLIKE_GC_CLIP_Y_ORIGIN GDK_GC_CLIP_Y_ORIGIN
+#define XLIKE_GC_EXPOSURES GDK_GC_EXPOSURES
+#define XLIKE_GC_FILL GDK_GC_FILL
+#define XLIKE_GC_FONT GDK_GC_FONT
+#define XLIKE_GC_FOREGROUND GDK_GC_FOREGROUND
+#define XLIKE_GC_FUNCTION GDK_GC_FUNCTION
+#define XLIKE_GC_LINE_WIDTH GDK_GC_LINE_WIDTH
+#define XLIKE_GC_STIPPLE GDK_GC_STIPPLE
+#define XLIKE_GC_TILE GDK_GC_TILE
+
+#define XLIKE_GX_COPY GDK_COPY
+#define XLIKE_GX_XOR GDK_XOR
+
+#define XLIKE_FILL_STIPPLED GDK_STIPPLED
+#define XLIKE_FILL_OPAQUE_STIPPLED GDK_OPAQUE_STIPPLED
+#define XLIKE_FILL_TILED GDK_TILED
+#define XLIKE_FILL_SOLID GDK_SOLID
+
+/* functions */
+
+/* Avoid unused-variable warning involving D */
+#define GET_XLIKE_DISPLAY(d) (USED (d), NULL)
+#define GET_XLIKE_X_DISPLAY(d) (USED (d), GDK_DISPLAY ())
+#define GET_XLIKE_WINDOW(w) GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (w))
+#define XLIKE_FILL_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
+ (USED (dpy), gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, \
+ x, y, width, height))
+#define XLIKE_DRAW_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
+ (USED (dpy), gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, FALSE, \
+ x, y, width, height))
+#define XLIKE_DRAW_LINE(dpy, x_win, gc, x1, y1, x2, y2) \
+ (USED (dpy), gdk_draw_line (GDK_DRAWABLE (x_win), gc, x1, y1, x2, y2))
+#define XLIKE_TEXT_WIDTH(fi, ptr, len) \
+ gdk_text_width (fi, (char *) ptr, len)
+#define XLIKE_TEXT_WIDTH_WIDE(fi, ptr, len) \
+ gdk_text_width_wc (fi, (GdkWChar *) ptr, len)
+
+/* FIXME: This is totally bogus. It removes dl->top_clip from the
+ equations. If there is a bug involving this, fix it properly!
+ Or just ensure that top_clip is 0. */
+#define XLIKE_DISPLAY_LINE_HEIGHT(dl) \
+ ((dl)->ascent + (dl)->descent - (dl)->clip)
+#define XLIKE_DISPLAY_LINE_YPOS(dl) ((dl)->ypos - (dl)->ascent)
+#define XLIKE_DISPLAY_LINE_TOP_CLIP(dl) (0)
+#define XLIKE_SET_CLIP_RECTANGLE(dpy, gc, xorig, yorig, prect) \
+do \
+ { \
+ USED (dpy); \
+ gdk_gc_set_clip_rectangle (gc, prect); \
+ gdk_gc_set_clip_origin (gc, xorig, yorig); \
+ } \
+while (0)
+#define XLIKE_CLEAR_CLIP_MASK(dpy, gc) \
+do \
+ { \
+ USED (dpy); \
+ gdk_gc_set_clip_rectangle (gc, NULL); \
+ gdk_gc_set_clip_origin (gc, 0, 0); \
+ } \
+while (0)
+#define XLIKE_FLUSH(dpy) gdk_flush ()
+#define XLIKE_CLEAR_AREA(dpy, win, x, y, width, height) \
+ (USED (dpy), gdk_window_clear_area (win, x, y, width, height))
+
+#define IMAGE_INSTANCE_XLIKE_MASK IMAGE_INSTANCE_GTK_MASK
+#define XIMAGE_INSTANCE_XLIKE_PIXMAP XIMAGE_INSTANCE_GTK_PIXMAP
+#define COLOR_INSTANCE_XLIKE_COLOR(ci) (*COLOR_INSTANCE_GTK_COLOR (ci))
+#define FONT_INSTANCE_XLIKE_FONT FONT_INSTANCE_GTK_FONT
+#define DEVICE_XLIKE_GRAY_PIXMAP DEVICE_GTK_GRAY_PIXMAP
+#define DEVICE_XLIKE_GC_CACHE DEVICE_GTK_GC_CACHE
+#define XLIKE_SET_GC_FILL(gc, style) ((gc).fill = (style))
+#define XLIKE_COLOR_TO_PIXEL(c) ((c).pixel)
+#define XLIKE_SET_GC_COLOR(lval, rval) ((lval) = (rval))
+#define XLIKE_SET_GC_PIXEL(lval, rval) ((lval).pixel = (rval))
+#define XLIKE_FONT_NUM(val) (val)
+
+/************ End GTK flavor of XLIKE **********/
+
+#endif /* (not) THIS_IS_X */
+
+
+#endif /* INCLUDED_console_xlike_inc_h_ */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/depend
--- a/src/depend Mon Feb 01 01:05:28 2010 -0600
+++ b/src/depend Mon Feb 01 02:15:28 2010 -0600
@@ -32,8 +32,8 @@
#endif
#if defined(HAVE_XLIKE)
event-xlike-inc.o:
-objects-xlike-inc.o:
-redisplay-xlike-inc.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
+objects-xlike-inc.o: $(LWLIB_SRCDIR)/lwlib.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h gccache-gtk.h glyphs-gtk.h glyphs-x.h glyphs.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h sysgtk.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h
+redisplay-xlike-inc.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysgtk.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
#endif
#if defined(HAVE_X_WINDOWS)
EmacsFrame.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
@@ -50,8 +50,8 @@
gui-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h glyphs.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xmotif.h
intl-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h compiler.h console-x.h console.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h xintrinsic.h
menubar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h
-objects-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h font-mgr.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects-xlike-inc.c objects.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h
-redisplay-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
+objects-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h device-impl.h device.h devslots.h dumper.h elhash.h font-mgr.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects-xlike-inc.c objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h
+redisplay-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysgtk.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
scrollbar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar-x.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h
select-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h opaque.h redisplay.h select-common.h select.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h xintrinsic.h xmotif.h
toolbar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar-common.h toolbar.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
@@ -66,28 +66,28 @@
redisplay-tty.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-tty-impl.h objects-tty.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h syssignal.h systime.h systty.h text.h vdb.h window-impl.h window.h winslots.h
#endif
#if defined(HAVE_GTK)
-console-gtk.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h
-device-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h
-dialog-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h events.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h
+console-gtk.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h
+device-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysgdkx.h sysgtk.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h
+dialog-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h events.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h systime.h text.h vdb.h window.h
emacs-marshals.o: hash.h
emacs-widget-accessors.o:
-event-gtk.o: $(CONFIG_H) $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-tty.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h event-gtk.h event-xlike-inc.c events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gtk-xemacs.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h window.h
-frame-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h
-gccache-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h gccache-gtk.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h
+event-gtk.o: $(CONFIG_H) $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-tty.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h event-xlike-inc.c events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gtk-xemacs.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgdkx.h sysgtk.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h window.h
+frame-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgdkx.h sysgtk.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h
+gccache-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h gccache-gtk.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysgtk.h text.h vdb.h
glade.o: bytecode.h
-glyphs-gtk.o: $(CONFIG_H) $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysfile.h systime.h syswindows.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h
-gtk-glue.o: objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h specifier.h
-gtk-xemacs.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h event-gtk.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h
-gui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h
-menubar-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h
-native-gtk-toolbar.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h console-gtk.h console.h dumper.h faces.h frame.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h
-objects-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-xlike-inc.c objects.h specifier.h symeval.h symsinit.h text.h vdb.h
-redisplay-gtk.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
-scrollbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h
-select-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h select-common.h select.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h
-toolbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h text.h toolbar-common.h vdb.h
+glyphs-gtk.o: $(CONFIG_H) $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysfile.h sysgdkx.h sysgtk.h systime.h syswindows.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h
+gtk-glue.o: console-gtk.h console.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h specifier.h sysgtk.h
+gtk-xemacs.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h
+gui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h
+menubar-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgtk.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h
+native-gtk-toolbar.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h console-gtk.h console.h dumper.h faces.h frame.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h
+objects-gtk.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h device-impl.h device.h devslots.h dumper.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects-xlike-inc.c objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgdkx.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h
+redisplay-gtk.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console-xlike-inc.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysgtk.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h
+scrollbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h vdb.h window-impl.h window.h winslots.h
+select-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h select-common.h select.h specifier.h symeval.h symsinit.h sysgtk.h systime.h text.h vdb.h
+toolbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h sysgtk.h text.h toolbar-common.h vdb.h
ui-byhand.o: gui.h
-ui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device.h dumper.h elhash.h emacs-marshals.c emacs-widget-accessors.c event-gtk.h events.h faces.h gc.h general-slots.h glade.c glyphs-gtk.h glyphs.h gtk-glue.c gui.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h systime.h text.h ui-byhand.c ui-gtk.h vdb.h window-impl.h window.h winslots.h
+ui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device.h dumper.h elhash.h emacs-marshals.c emacs-widget-accessors.c events.h faces.h gc.h general-slots.h glade.c glyphs-gtk.h glyphs.h gtk-glue.c gui.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysgtk.h systime.h text.h ui-byhand.c ui-gtk.h vdb.h window-impl.h window.h winslots.h
#endif
#if defined(HAVE_DATABASE)
database.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h database.h dumper.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h
@@ -170,7 +170,7 @@
hpplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h text.h vdb.h
imgproc.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h imgproc.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h
indent.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h extents.h faces.h frame.h gc.h general-slots.h glyphs.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h
-inline.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk.h console-impl.h console-msw.h console.h database.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h font-mgr.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gui.h intl-auto-encap-win32.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h syntax.h sysdll.h sysfile.h systime.h syswindows.h text.h toolbar.h tooltalk.h ui-gtk.h vdb.h window-impl.h window.h winslots.h xintrinsic.h
+inline.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk.h console-impl.h console-msw.h console.h database.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h font-mgr.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gui.h intl-auto-encap-win32.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h syntax.h sysdll.h sysfile.h sysgtk.h systime.h syswindows.h text.h toolbar.h tooltalk.h ui-gtk.h vdb.h window-impl.h window.h winslots.h xintrinsic.h
input-method-motif.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h xmotif.h
input-method-xlib.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h
insdel.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h extents.h frame.h gc.h general-slots.h insdel.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h symeval.h symsinit.h text.h vdb.h
@@ -233,7 +233,7 @@
terminfo.o: $(CONFIG_H)
tests.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h elhash.h file-coding.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h symeval.h symsinit.h text.h vdb.h
text.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h file-coding.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h profile.h symeval.h symsinit.h text.h vdb.h
-toolbar-common.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar-common.h toolbar.h vdb.h window-impl.h window.h winslots.h xintrinsic.h
+toolbar-common.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysgtk.h text.h toolbar-common.h toolbar.h vdb.h window-impl.h window.h winslots.h xintrinsic.h
toolbar.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h
tooltalk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h symeval.h symsinit.h syssignal.h text.h tooltalk.h vdb.h
tparam.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/device-gtk.c
--- a/src/device-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/device-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -746,7 +746,8 @@
Qgtk_seen_characters = Qnil;
}
-#include <gdk/gdkx.h>
+#include "sysgdkx.h"
+
static void
gtk_device_init_x_specific_cruft (struct device *d)
{
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/event-gtk.c
--- a/src/event-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/event-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -49,10 +49,10 @@
#include "gtk-xemacs.h"
+#include "sysgdkx.h"
+
#include "systime.h"
#include "sysproc.h" /* for MAXDESC */
-
-#include <gdk/gdkkeysyms.h>
#ifdef HAVE_DRAGNDROP
#include "dragdrop.h"
@@ -61,10 +61,6 @@
#ifdef HAVE_MENUBARS
# include "menubar.h"
#endif
-
-#include <gdk/gdkx.h>
-
-#include "event-gtk.h"
static struct event_stream *gtk_event_stream;
@@ -1582,8 +1578,6 @@
/* input pending / C-g checking */
/************************************************************************/
-#include <gdk/gdkx.h>
-
static void
emacs_gtk_drain_queue (void)
@@ -1692,7 +1686,7 @@
/* This is down at the bottom of the file so I can avoid polluting the
generic code with this X specific CRAP! */
-#include <gdk/gdkx.h>
+#include "sysgdkx.h"
#include <X11/keysym.h>
/* #### BILL!!! Fix this please! */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/event-gtk.h
--- a/src/event-gtk.h Mon Feb 01 01:05:28 2010 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/* Header file for miscellaneous event functions for GTK.
- Copyright (C) 2002 William Perry.
-
-This file is part of XEmacs.
-
-XEmacs is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-XEmacs is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with XEmacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#ifndef __EVENT_GTK_H__
-#define __EVENT_GTK_H__
-
-int gtk_event_to_emacs_event (struct frame *frame,
- GdkEvent *gdk_event,
- struct Lisp_Event *emacs_event);
-
-gint emacs_gtk_key_event_handler(GtkWidget *widget, GdkEventKey *event);
-gint emacs_gtk_button_event_handler(GtkWidget *widget, GdkEventButton *event);
-gint emacs_gtk_motion_event_handler (GtkWidget *widget, GdkEventMotion *event);
-
-gboolean emacs_shell_event_handler (GtkWidget *wid /* unused */,
- GdkEvent *event,
- gpointer closure);
-
-#endif /* __EVENT-GTK_H__ */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/event-xlike-inc.c
--- a/src/event-xlike-inc.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/event-xlike-inc.c Mon Feb 01 02:15:28 2010 -0600
@@ -1,4 +1,4 @@
-/* Shared event code between X and GTK -- include file.
+/* Common code between X and GTK -- event-related.
Copyright (C) 1991-5, 1997 Free Software Foundation, Inc.
Copyright (C) 1995 Sun Microsystems, Inc.
Copyright (C) 1996, 2001, 2002, 2003 Ben Wing.
@@ -22,10 +22,11 @@
/* Synched up with: Not in FSF. */
-/* For some code it's reasonable to have only one copy and conditionalize
- at run-time. For other code it isn't. #### Perhaps all code should be
- included here, not in event-xlike.c. However, event-xlike.c is always
- X-specific, whereas the following code isn't, in the GTK case. */
+/* Before including this file, you need to define either THIS_IS_X or
+ THIS_IS_GTK. */
+
+/* See comment at top of redisplay-xlike-inc.c for an explanation of
+ how this file works. */
static int
#ifdef THIS_IS_GTK
@@ -160,7 +161,7 @@
return 0;
}
-#if defined(THIS_IS_X) || !defined(__GDK_KEYS_H__)
+#if defined (THIS_IS_X) || !defined (__GDK_KEYS_H__)
/* Use an appropriate map to Unicode within x_keysym_to_character. Arguments
are evaluated multiple times.
@@ -169,11 +170,11 @@
#define USE_UNICODE_MAP(keysym, map) \
if (keysym >= FIRST_KNOWN_##map \
- && (keysym < (FIRST_KNOWN_##map + countof(map))) \
+ && (keysym < (FIRST_KNOWN_##map + countof (map))) \
&& map[keysym - FIRST_KNOWN_##map ]) do \
{ \
keysym -= FIRST_KNOWN_##map ; \
- return Funicode_to_char(make_int(map[keysym]), Qnil); \
+ return Funicode_to_char (make_int (map[keysym]), Qnil); \
} while (0)
/* Maps to Unicode for X11 KeySyms, where we don't have a direct internal
@@ -588,10 +589,10 @@
#ifndef THIS_IS_GTK
static Lisp_Object
-x_keysym_to_character(KeySym keysym)
+x_keysym_to_character (KeySym keysym)
#else
Lisp_Object
-gtk_keysym_to_character(guint keysym)
+gtk_keysym_to_character (guint keysym)
#endif
{
Lisp_Object charset = Qzero;
@@ -604,7 +605,7 @@
#x01000000-#x01000100. */
if (keysym >= 0x01000000 && keysym <= 0x0110FFFF)
- return Funicode_to_char (make_int(keysym & 0xffffff), Qnil);
+ return Funicode_to_char (make_int (keysym & 0xffffff), Qnil);
if ((keysym & 0xff) < 0xa0)
return Qnil;
@@ -642,7 +643,7 @@
break;
case 6: /* Cyrillic */
{
- USE_UNICODE_MAP(keysym, CYRILLIC);
+ USE_UNICODE_MAP (keysym, CYRILLIC);
break;
}
case 7: /* Greek */
@@ -665,16 +666,16 @@
break;
}
case 8:
- USE_UNICODE_MAP(keysym, TECHNICAL);
+ USE_UNICODE_MAP (keysym, TECHNICAL);
break;
case 9:
- USE_UNICODE_MAP(keysym, SPECIAL);
+ USE_UNICODE_MAP (keysym, SPECIAL);
break;
case 10:
- USE_UNICODE_MAP(keysym, PUBLISHING);
+ USE_UNICODE_MAP (keysym, PUBLISHING);
break;
case 11:
- USE_UNICODE_MAP(keysym, APL);
+ USE_UNICODE_MAP (keysym, APL);
break;
case 12: /* Hebrew */
USE_CHARSET (charset, HEBREW_ISO8859_8);
@@ -698,7 +699,7 @@
case 32: /* Currency. The lower sixteen bits of these keysyms happily
correspond exactly to the Unicode code points of the
associated characters */
- return Funicode_to_char(make_int(keysym & 0xffff), Qnil);
+ return Funicode_to_char (make_int (keysym & 0xffff), Qnil);
break;
default:
break;
@@ -722,4 +723,4 @@
#endif
}
-#endif /* defined(THIS_IS_X) || !defined(__GDK_KEYS_H__) */
+#endif /* defined (THIS_IS_X) || !defined (__GDK_KEYS_H__) */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/frame-gtk.c
--- a/src/frame-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/frame-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -61,7 +61,7 @@
#define STUPID_X_SPECIFIC_GTK_STUFF
#ifdef STUPID_X_SPECIFIC_GTK_STUFF
-#include <gdk/gdkx.h>
+#include "sysgdkx.h"
#endif
/* Default properties to use when creating frames. */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/gccache-gtk.c
--- a/src/gccache-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/gccache-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -21,7 +21,7 @@
/* Synched up with: Not in FSF. */
-/* Emacs uses a lot of different display attributes; for example, assume
+/* XEmacs uses a lot of different display attributes; for example, assume
that only four fonts are in use (normal, bold, italic, and bold-italic).
Then assume that one stipple or background is used for text selections,
and another is used for highlighting mousable regions. That makes 16
@@ -53,18 +53,14 @@
*/
#include <config.h>
-#include <gtk/gtk.h>
#include "lisp.h"
+#include "hash.h"
+
#include "gccache-gtk.h"
#define GC_CACHE_SIZE 100
#define GCCACHE_HASH
-
-#ifdef GCCACHE_HASH
-#include "lisp.h"
-#include "hash.h"
-#endif
struct gcv_and_mask {
GdkGCValues gcv;
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/gccache-gtk.h
--- a/src/gccache-gtk.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/gccache-gtk.h Mon Feb 01 02:15:28 2010 -0600
@@ -27,6 +27,8 @@
#ifndef _GCCACHE_GTK_H_
#define _GCCACHE_GTK_H_
+#include "sysgtk.h"
+
struct gc_cache;
struct gc_cache *make_gc_cache (GtkWidget *);
void free_gc_cache (struct gc_cache *cache);
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/glyphs-gtk.c
--- a/src/glyphs-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/glyphs-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -2955,7 +2955,7 @@
}
/* X specific crap */
-#include <gdk/gdkx.h>
+#include "sysgdkx.h"
/* #### Should remove all this X specific stuff when GTK/GDK matures a
bit more and provides an abstraction for it. */
static int
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/glyphs-gtk.h
--- a/src/glyphs-gtk.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/glyphs-gtk.h Mon Feb 01 02:15:28 2010 -0600
@@ -28,10 +28,9 @@
#define _XEMACS_GLYPHS_GTK_H_
#include "glyphs.h"
+#include "sysgtk.h"
#ifdef HAVE_GTK
-
-#include <gtk/gtk.h>
/****************************************************************************
* Image-Instance Object *
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/glyphs.c
--- a/src/glyphs.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/glyphs.c Mon Feb 01 02:15:28 2010 -0600
@@ -2936,7 +2936,7 @@
#ifdef HAVE_GTK
/* Gtk has to be gratuitously different, eh? */
Lisp_Object
-pixmap_to_lisp_data (Lisp_Object name, int ok_if_data_invalid)
+pixmap_to_lisp_data (Lisp_Object name, int UNUSED (ok_if_data_invalid))
{
return (make_string_from_file (name));
}
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/gtk-glue.c
--- a/src/gtk-glue.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/gtk-glue.c Mon Feb 01 02:15:28 2010 -0600
@@ -25,6 +25,7 @@
GtkType GTK_TYPE_OBJECT_LIST = 0;
GtkType GTK_TYPE_GDK_GC = 0;
+#include "console-gtk.h"
#include "objects-gtk-impl.h"
static GtkType
@@ -86,7 +87,7 @@
temp = XCDR (temp);
}
- GTK_VALUE_POINTER(*arg) = strings;
+ GTK_VALUE_POINTER (*arg) = strings;
}
else if (arg->type == GTK_TYPE_OBJECT_LIST)
{
@@ -107,11 +108,11 @@
temp = XCDR (temp);
}
- GTK_VALUE_POINTER(*arg) = objects;
+ GTK_VALUE_POINTER (*arg) = objects;
}
else
{
- ABORT();
+ ABORT ();
}
}
@@ -148,7 +149,7 @@
}
else
{
- ABORT();
+ ABORT ();
}
}
return (rval);
@@ -182,30 +183,27 @@
temp = XCDR (temp); \
} \
\
- GTK_VALUE_POINTER(*arg) = array; \
+ GTK_VALUE_POINTER (*arg) = array; \
} while (0);
if (arg->type == GTK_TYPE_STRING_ARRAY)
{
- FROB(gchar *, CHECK_STRING, (gchar*) XSTRING_DATA);
+ FROB (gchar *, CHECK_STRING, (gchar*) XSTRING_DATA);
}
else if (arg->type == GTK_TYPE_FLOAT_ARRAY)
{
- FROB(gfloat, CHECK_FLOAT, extract_float);
+ FROB (gfloat, CHECK_FLOAT, extract_float);
}
else if (arg->type == GTK_TYPE_INT_ARRAY)
{
- FROB(gint, CHECK_INT, XINT);
+ FROB (gint, CHECK_INT, XINT);
}
else
{
- ABORT();
+ ABORT ();
}
#undef FROB
}
-
-extern GdkGC *gtk_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg, Lisp_Object bg,
- Lisp_Object bg_pmap, Lisp_Object lwidth);
static GdkGC *
face_to_gc (Lisp_Object face)
@@ -213,10 +211,14 @@
Lisp_Object device = Fselected_device (Qnil);
return (gtk_get_gc (XDEVICE (device),
- Fspecifier_instance (Fget (face, Qfont, Qnil), device, Qnil, Qnil),
- Fspecifier_instance (Fget (face, Qforeground, Qnil), device, Qnil, Qnil),
- Fspecifier_instance (Fget (face, Qbackground, Qnil), device, Qnil, Qnil),
- Fspecifier_instance (Fget (face, Qbackground_pixmap, Qnil), device, Qnil, Qnil),
+ Fspecifier_instance (Fget (face, Qfont, Qnil),
+ device, Qnil, Qnil),
+ Fspecifier_instance (Fget (face, Qforeground, Qnil),
+ device, Qnil, Qnil),
+ Fspecifier_instance (Fget (face, Qbackground, Qnil),
+ device, Qnil, Qnil),
+ Fspecifier_instance (Fget (face, Qbackground_pixmap,
+ Qnil), device, Qnil, Qnil),
Qnil));
}
@@ -227,17 +229,24 @@
GtkStyle *style = gtk_style_new ();
int i;
- Lisp_Object font = Fspecifier_instance (Fget (face, Qfont, Qnil), device, Qnil, Qnil);
- Lisp_Object fg = Fspecifier_instance (Fget (face, Qforeground, Qnil), device, Qnil, Qnil);
- Lisp_Object bg = Fspecifier_instance (Fget (face, Qbackground, Qnil), device, Qnil, Qnil);
- Lisp_Object pm = Fspecifier_instance (Fget (face, Qbackground_pixmap, Qnil), device, Qnil, Qnil);
+ Lisp_Object font = Fspecifier_instance (Fget (face, Qfont, Qnil),
+ device, Qnil, Qnil);
+ Lisp_Object fg = Fspecifier_instance (Fget (face, Qforeground, Qnil),
+ device, Qnil, Qnil);
+ Lisp_Object bg = Fspecifier_instance (Fget (face, Qbackground, Qnil),
+ device, Qnil, Qnil);
+ Lisp_Object pm = Fspecifier_instance (Fget (face, Qbackground_pixmap,
+ Qnil), device, Qnil, Qnil);
- for (i = 0; i < 5; i++) style->fg[i] = * COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (fg));
- for (i = 0; i < 5; i++) style->bg[i] = * COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (bg));
+ for (i = 0; i < 5; i++)
+ style->fg[i] = *COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (fg));
+ for (i = 0; i < 5; i++)
+ style->bg[i] = *COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (bg));
if (IMAGE_INSTANCEP (pm))
{
- for (i = 0; i < 5; i++) style->bg_pixmap[i] = XIMAGE_INSTANCE_GTK_PIXMAP (pm);
+ for (i = 0; i < 5; i++)
+ style->bg_pixmap[i] = XIMAGE_INSTANCE_GTK_PIXMAP (pm);
}
style->font = FONT_INSTANCE_GTK_FONT (XFONT_INSTANCE (font));
@@ -246,7 +255,7 @@
}
static Lisp_Object
-gdk_event_to_emacs_event(GdkEvent *ev)
+gdk_event_to_emacs_event (GdkEvent *ev)
{
Lisp_Object event = Qnil;
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/gtk-xemacs.c
--- a/src/gtk-xemacs.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/gtk-xemacs.c Mon Feb 01 02:15:28 2010 -0600
@@ -21,22 +21,21 @@
** along with XEmacs; see the file COPYING. If not, write to
** the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
** Boston, MA 02111-1301, USA. */
-*/
#include <config.h>
#include "lisp.h"
-#include "console-gtk.h"
-#include "objects-gtk.h"
-#include "gtk-xemacs.h"
+
#include "device.h"
+#include "faces.h"
#include "glyphs.h"
#include "window.h"
-#include "faces.h"
-#include "event-gtk.h"
+
#include "frame-impl.h"
#include "console-gtk-impl.h"
#include "device-impl.h"
+#include "gtk-xemacs.h"
+#include "objects-gtk.h"
extern Lisp_Object Vmodeline_face;
extern Lisp_Object Vscrollbar_on_left_p;
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/gtk-xemacs.h
--- a/src/gtk-xemacs.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/gtk-xemacs.h Mon Feb 01 02:15:28 2010 -0600
@@ -21,15 +21,9 @@
** along with XEmacs; see the file COPYING. If not, write to
** the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
** Boston, MA 02111-1301, USA. */
-*/
#ifndef __GTK_XEMACS_H__
#define __GTK_XEMACS_H__
-
-#include <config.h>
-#include "frame.h"
-#include <gdk/gdk.h>
-#include <gtk/gtkfixed.h>
BEGIN_C_DECLS
@@ -38,22 +32,22 @@
#define GTK_IS_XEMACS(obj) GTK_CHECK_TYPE (obj, gtk_xemacs_get_type ())
#define GTK_XEMACS_FRAME(obj) GTK_XEMACS (obj)->f
- typedef struct _GtkXEmacs GtkXEmacs;
- typedef struct _GtkXEmacsClass GtkXEmacsClass;
+typedef struct _GtkXEmacs GtkXEmacs;
+typedef struct _GtkXEmacsClass GtkXEmacsClass;
- struct _GtkXEmacs
- {
- GtkFixed fixed;
- struct frame *f;
- };
+struct _GtkXEmacs
+{
+ GtkFixed fixed;
+ struct frame *f;
+};
- struct _GtkXEmacsClass
- {
- GtkFixedClass parent_class;
- };
+struct _GtkXEmacsClass
+{
+ GtkFixedClass parent_class;
+};
- guint gtk_xemacs_get_type (void);
- GtkWidget *gtk_xemacs_new (struct frame *f);
+guint gtk_xemacs_get_type (void);
+GtkWidget *gtk_xemacs_new (struct frame *f);
END_C_DECLS
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/objects-gtk.c
--- a/src/objects-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/objects-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -39,7 +39,7 @@
#include "objects-gtk-impl.h"
/* sigh */
-#include <gdk/gdkx.h>
+#include "sysgdkx.h"
/* XListFonts doesn't allocate memory unconditionally based on this. (For
XFree86 in 2005, at least. */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/objects-xlike-inc.c
--- a/src/objects-xlike-inc.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/objects-xlike-inc.c Mon Feb 01 02:15:28 2010 -0600
@@ -1,4 +1,4 @@
-/* Shared object code between X and GTK -- include file.
+/* Common code between X and GTK -- fonts and colors.
Copyright (C) 1991-5, 1997 Free Software Foundation, Inc.
Copyright (C) 1995 Sun Microsystems, Inc.
Copyright (C) 1996, 2001, 2002, 2003 Ben Wing.
@@ -22,9 +22,17 @@
/* Synched up with: Not in FSF. */
+/* Before including this file, you need to define either THIS_IS_X or
+ THIS_IS_GTK. */
+
+/* See comment at top of console-xlike-inc.h for an explanation of
+ how this file works. */
+
/* Pango is ready for prime-time now, as far as I understand it. The GTK
people should be using that. Oh well. (Aidan Kehoe, Sat Nov 4 12:41:12
CET 2006) */
+
+#include "console-xlike-inc.h"
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
@@ -78,19 +86,11 @@
}
static int
-#ifdef THIS_IS_GTK
-gtk_font_spec_matches_charset (struct device * USED_IF_XFT (d),
- Lisp_Object charset,
- const Ibyte *nonreloc, Lisp_Object reloc,
- Bytecount offset, Bytecount length,
- enum font_specifier_matchspec_stages stage)
-#else
-x_font_spec_matches_charset (struct device * USED_IF_XFT (d),
- Lisp_Object charset,
- const Ibyte *nonreloc, Lisp_Object reloc,
- Bytecount offset, Bytecount length,
- enum font_specifier_matchspec_stages stage)
-#endif
+XFUN (font_spec_matches_charset) (struct device * USED_IF_XFT (d),
+ Lisp_Object charset,
+ const Ibyte *nonreloc, Lisp_Object reloc,
+ Bytecount offset, Bytecount length,
+ enum font_specifier_matchspec_stages stage)
{
Lisp_Object registries = Qnil;
long i, registries_len;
@@ -198,12 +198,7 @@
int count = 0, i;
DECLARE_EISTRING(ei_single_result);
- names = XListFonts (
-#ifdef THIS_IS_GTK
- GDK_DISPLAY (),
-#else
- DEVICE_X_DISPLAY (XDEVICE (device)),
-#endif
+ names = XListFonts (GET_XLIKE_DISPLAY (XDEVICE (device)),
xlfd, MAX_FONT_COUNT, &count);
for (i = 0; i < count; ++i)
@@ -664,14 +659,9 @@
/* find a font spec that matches font spec FONT and also matches
(the registry of) CHARSET. */
static Lisp_Object
-#ifdef THIS_IS_GTK
-gtk_find_charset_font (Lisp_Object device, Lisp_Object font,
- Lisp_Object charset,
- enum font_specifier_matchspec_stages stage)
-#else
-x_find_charset_font (Lisp_Object device, Lisp_Object font, Lisp_Object charset,
- enum font_specifier_matchspec_stages stage)
-#endif
+XFUN (find_charset_font) (Lisp_Object device, Lisp_Object font,
+ Lisp_Object charset,
+ enum font_specifier_matchspec_stages stage)
{
Lisp_Object result = Qnil, registries = Qnil;
int j, hyphen_count, registries_len = 0;
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/redisplay-gtk.c
--- a/src/redisplay-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/redisplay-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -23,75 +23,50 @@
/* Synched up with: Not in FSF. */
+#define THIS_IS_GTK
#include "redisplay-xlike-inc.c"
/*****************************************************************************
- gtk_bevel_modeline
+ Draw a shadow around the given area using the standard theme engine routines.
+ ****************************************************************************/
- Draw a 3d border around the modeline on window W.
- ****************************************************************************/
static void
-gtk_bevel_modeline (struct window *w, struct display_line *dl)
+XLIKE_bevel_area (struct window *w, face_index UNUSED (findex),
+ int x, int y, int width, int height,
+ int shadow_thickness, int UNUSED (edges),
+ enum edge_style style)
{
struct frame *f = XFRAME (w->frame);
- int shadow_thickness = MODELINE_SHADOW_THICKNESS (w);
- int x,y, width, height;
+ GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f));
+ GtkStyle *gstyle = FRAME_GTK_TEXT_WIDGET (f)->style;
+ GtkShadowType stype;
- x = WINDOW_MODELINE_LEFT (w);
- width = WINDOW_MODELINE_RIGHT (w) - x;
- y = dl->ypos - dl->ascent - shadow_thickness;
- height = dl->ascent + dl->descent + 2 * shadow_thickness;
-
- gtk_output_shadows (f, x, y, width, height, shadow_thickness);
-}
-
-/*****************************************************************************
- gtk_output_shadows
-
- Draw a shadow around the given area using the standard theme engine routines.
- ****************************************************************************/
-void
-gtk_output_shadows (struct frame *f, int x, int y, int width, int height,
- int shadow_thickness)
-{
- GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f));
- GtkStyle *style = FRAME_GTK_TEXT_WIDGET (f)->style;
- GtkShadowType stype = GTK_SHADOW_OUT;
-
- if (shadow_thickness < 0)
- {
- stype = GTK_SHADOW_IN;
- }
- else if (shadow_thickness == 0)
- {
- stype = GTK_SHADOW_NONE;
- }
+ if (shadow_thickness == 0)
+ stype = GTK_SHADOW_NONE;
+ else
+ switch (style)
+ {
+ case EDGE_BEVEL_IN: style = GTK_SHADOW_IN; break;
+ case EDGE_BEVEL_OUT: style = GTK_SHADOW_OUT; break;
+ case EDGE_ETCHED_IN: style = GTK_SHADOW_ETCHED_IN; break;
+ case EDGE_ETCHED_OUT: style = GTK_SHADOW_ETCHED_OUT; break;
+ default: ABORT (); style = GTK_SHADOW_OUT;
+ }
/* Do we want to have some magic constants to set
GTK_SHADOW_ETCHED_IN or GTK_SHADOW_ETCHED_OUT? */
- gtk_paint_shadow (style, x_win, GTK_STATE_NORMAL, stype, NULL,
+ gtk_paint_shadow (gstyle, x_win, GTK_STATE_NORMAL, stype, NULL,
FRAME_GTK_TEXT_WIDGET (f), "modeline",
x, y, width, height);
}
-static void
-gtk_bevel_area (struct window *w, face_index UNUSED (findex),
- int x, int y, int width, int height,
- int shadow_thickness, int UNUSED (edges),
- enum edge_style UNUSED (style))
-{
- struct frame *f = XFRAME (w->frame);
-
- gtk_output_shadows (f, x, y, width, height, shadow_thickness);
-}
-
/* Make audible bell. */
static void
-gtk_ring_bell (struct device *UNUSED (d), int volume, int UNUSED (pitch),
- int UNUSED (duration))
+XLIKE_ring_bell (struct device *UNUSED (d), int volume, int UNUSED (pitch),
+ int UNUSED (duration))
{
/* Gdk does not allow us to control the duration / pitch / volume */
if (volume > 0)
@@ -106,16 +81,16 @@
single $#!%@ing piece of text, which I do NOT want to do. */
#define USE_X_SPECIFIC_DRAW_ROUTINES 1
-#include <gdk/gdkx.h>
+#include "sysgdkx.h"
-static
-void gdk_draw_text_image (GdkDrawable *drawable,
- GdkFont *font,
- GdkGC *gc,
- gint x,
- gint y,
- const gchar *text,
- gint text_length)
+static void
+gdk_draw_text_image (GdkDrawable *drawable,
+ GdkFont *font,
+ GdkGC *gc,
+ gint x,
+ gint y,
+ const gchar *text,
+ gint text_length)
{
#if !USE_X_SPECIFIC_DRAW_ROUTINES
int width = gdk_text_measure (font, text, text_length);
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/redisplay-x.c
--- a/src/redisplay-x.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/redisplay-x.c Mon Feb 01 02:15:28 2010 -0600
@@ -32,8 +32,12 @@
int x_interline_space; /* #### this needs to be implemented, but per-font */
#define THIS_IS_X
+#include "redisplay-xlike-inc.c"
-#include "redisplay-xlike-inc.c"
+static void x_output_shadows (struct frame *f, int x, int y, int width,
+ int height, GC top_shadow_gc,
+ GC bottom_shadow_gc, GC background_gc,
+ int shadow_thickness, int edges);
/*****************************************************************************
x_window_output_begin
@@ -41,7 +45,7 @@
Perform any necessary initialization prior to an update.
****************************************************************************/
static void
-x_window_output_begin (struct window *UNUSED (w))
+XLIKE_window_output_begin (struct window *UNUSED (w))
{
}
@@ -51,7 +55,7 @@
Perform any necessary flushing of queues when an update has completed.
****************************************************************************/
static void
-x_window_output_end (struct window *w)
+XLIKE_window_output_end (struct window *w)
{
if (!(check_if_pending_expose_event (WINDOW_XDEVICE (w))))
XFlush (DEVICE_X_DISPLAY (WINDOW_XDEVICE (w)));
@@ -63,9 +67,9 @@
Draw shadows for the given area in the given face.
****************************************************************************/
static void
-x_bevel_area (struct window *w, face_index findex,
- int x, int y, int width, int height,
- int shadow_thickness, int edges, enum edge_style style)
+XLIKE_bevel_area (struct window *w, face_index findex,
+ int x, int y, int width, int height,
+ int shadow_thickness, int edges, enum edge_style style)
{
struct frame *f = XFRAME (w->frame);
struct device *d = XDEVICE (f->device);
@@ -188,7 +192,7 @@
Draw a shadow around the given area using the given GC's. It is the
callers responsibility to set the GC's appropriately.
****************************************************************************/
-void
+static void
x_output_shadows (struct frame *f, int x, int y, int width, int height,
GC top_shadow_gc, GC bottom_shadow_gc,
GC UNUSED (background_gc), int shadow_thickness, int edges)
@@ -338,7 +342,7 @@
/* Make audible bell. */
static void
-x_ring_bell (struct device *d, int volume, int pitch, int duration)
+XLIKE_ring_bell (struct device *d, int volume, int pitch, int duration)
{
Display *display = DEVICE_X_DISPLAY (d);
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/redisplay-xlike-inc.c
--- a/src/redisplay-xlike-inc.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/redisplay-xlike-inc.c Mon Feb 01 02:15:28 2010 -0600
@@ -1,4 +1,4 @@
-/* Common code between X and GTK.
+/* Common code between X and GTK -- redisplay-related.
Copyright (C) 1994, 1995 Board of Trustees, University of Illinois.
Copyright (C) 1994 Lucid, Inc.
Copyright (C) 1995 Sun Microsystems, Inc.
@@ -29,6 +29,9 @@
/* Lots of work done by Ben Wing for Mule */
+/* Before including this file, you need to define either THIS_IS_X or
+ THIS_IS_GTK. See comments in console-xlike-inc.h. */
+
#include <config.h>
#include "lisp.h"
@@ -48,288 +51,46 @@
#endif
#include "charset.h"
-#ifdef THIS_IS_X
-#include "console-x-impl.h"
-#include "glyphs-x.h"
-#include "objects-x-impl.h"
-#include "xgccache.h"
-#else /* THIS_IS_GTK */
-#include "console-gtk-impl.h"
-#include "gccache-gtk.h"
-#include "glyphs-gtk.h"
-#include "objects-gtk-impl.h"
-#endif /* THIS_IS_GTK */
-
-#include "EmacsFrame.h"
-#include "EmacsFrameP.h"
+#define NEED_GCCACHE_H
+#define NEED_GLYPHS_H
+#define NEED_OBJECTS_IMPL_H
+#include "console-xlike-inc.h"
#include "sysproc.h" /* for select() */
#ifdef THIS_IS_X
+#include "EmacsFrame.h"
+#include "EmacsFrameP.h"
+
#include <X11/bitmaps/gray>
#endif /* THIS_IS_X */
#define EOL_CURSOR_WIDTH 5
-/* About some of the types below:
-
- X has two ways of representing a color: (a) as an unsigned long
- representing a color pixel value, i.e. the actual value stored in memory
- or a file at a particular pixel location to indicate that the pixel
- takes on a specific color; and (b) an XColor structure, which
- encapsulates both the RGB components of a color and the associated color
- pixel value.
-
- We call the former type XLIKE_PIXCOLOR and the latter XLIKE_COLOR.
- GTK uses the same GdkColor structure for both, and normally passes in
- a pointer. We provide routines to handle the two logical color types. */
-
-#ifdef THIS_IS_X
-
-/***************************************************************************/
-/* Definitions implementing X flavor of XLIKE */
-/***************************************************************************/
-
-#define XLIKE_NAME x
-#define USED_IF_X(var) var
-
-/* types */
-#define XLIKE_DISPLAY Display *
-#define XLIKE_WINDOW Window
-#define XLIKE_GC GC
-#define XLIKE_RECTANGLE XRectangle
-#define XLIKE_GCVALUES XGCValues
-#define XLIKE_COLOR XColor
-#define XLIKE_PIXCOLOR unsigned long
-
-/* constants */
-#define XLIKE_NONE None
-#define XLIKE_FALSE False
-
-#define XLIKE_GC_BACKGROUND GCBackground
-#define XLIKE_GC_CLIP_MASK GCClipMask
-#define XLIKE_GC_CLIP_X_ORIGIN GCClipXOrigin
-#define XLIKE_GC_CLIP_Y_ORIGIN GCClipYOrigin
-#define XLIKE_GC_EXPOSURES GCGraphicsExposures
-#define XLIKE_GC_FILL GCFillStyle
-#define XLIKE_GC_FONT GCFont
-#define XLIKE_GC_FOREGROUND GCForeground
-#define XLIKE_GC_FUNCTION GCFunction
-#define XLIKE_GC_LINE_WIDTH GCLineWidth
-#define XLIKE_GC_STIPPLE GCStipple
-#define XLIKE_GC_TILE GCTile
-
-#define XLIKE_GX_COPY GXcopy
-#define XLIKE_GX_XOR GXxor
-
-#define XLIKE_FILL_MEMBER fill_style
-#define XLIKE_FILL_STIPPLED FillStippled
-#define XLIKE_FILL_OPAQUE_STIPPLED FillOpaqueStippled
-#define XLIKE_FILL_TILED FillTiled
-#define XLIKE_FILL_SOLID FillSolid
-
-/* functions */
-#define GET_XLIKE_DISPLAY(d) DEVICE_X_DISPLAY (d)
-#define GET_XLIKE_WINDOW(w) XtWindow (FRAME_X_TEXT_WIDGET (f))
-#define XLIKE_FILL_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
- XFillRectangle (dpy, x_win, gc, x, y, width, height)
-#define XLIKE_DRAW_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
- XDrawRectangle (dpy, x_win, gc, x, y, width, height)
-#define XLIKE_DRAW_LINE(dpy, x_win, gc, x1, y1, x2, y2) \
- XDrawLine (dpy, x_win, gc, x1, y1, x2, y2)
-#define XLIKE_OUTPUT_XLIKE_PIXMAP x_output_x_pixmap
-
-#define XLIKE_DISPLAY_LINE_HEIGHT(dl) DISPLAY_LINE_HEIGHT (dl)
-#define XLIKE_DISPLAY_LINE_YPOS(dl) DISPLAY_LINE_YPOS (dl)
-#define XLIKE_DISPLAY_LINE_TOP_CLIP(dl) ((dl)->top_clip)
-#define XLIKE_SET_CLIP_RECTANGLE(dpy, gc, xorig, yorig, prect) \
- /* #### why not Unsorted? */ \
- XSetClipRectangles (dpy, gc, xorig, yorig, prect, 1, YXBanded)
-#define XLIKE_CLEAR_CLIP_MASK(dpy, gc) \
-do \
- { \
- XSetClipMask (dpy, gc, None); \
- XSetClipOrigin (dpy, gc, 0, 0); \
- } \
-while (0)
-#define XLIKE_FLUSH(dpy) XSync (dpy, False)
-#define XLIKE_CLEAR_AREA(dpy, win, x, y, width, height) \
- XClearArea (dpy, win, x, y, width, height, False)
-
-#define IMAGE_INSTANCE_XLIKE_MASK IMAGE_INSTANCE_X_MASK
-#define XIMAGE_INSTANCE_XLIKE_PIXMAP XIMAGE_INSTANCE_X_PIXMAP
-#define COLOR_INSTANCE_XLIKE_COLOR COLOR_INSTANCE_X_COLOR
-#define FONT_INSTANCE_XLIKE_FONT FONT_INSTANCE_X_FONT
-#define DEVICE_XLIKE_GC_CACHE DEVICE_X_GC_CACHE
-#define DEVICE_XLIKE_GRAY_PIXMAP DEVICE_X_GRAY_PIXMAP
-#define XLIKE_COLOR_TO_PIXCOLOR(ci) ((ci).pixel)
-#define XLIKE_SET_PIXCOLOR_COPY(lval, rval) ((lval) = (rval))
-#define XLIKE_SET_PIXCOLOR_NUM(lval, rval) ((lval) = (rval))
-#define XLIKE_FONT_NUM(val) ((val)->fid)
-
-#define XLIKE_OUTPUT_XLIKE_PIXMAP x_output_x_pixmap
-
-/************ End X flavor of XLIKE **********/
-
-
-
-
-#else /* THIS_IS_GTK */
-
-/***************************************************************************/
-/* Definitions implementing GTK flavor of XLIKE */
-/***************************************************************************/
-
-#define XLIKE_NAME gtk
-#define USED_IF_X(var) UNUSED (var)
-
-/*types */
-#define XLIKE_DISPLAY void *
-#define XLIKE_WINDOW GdkWindow *
-#define XLIKE_GC GdkGC *
-#define XLIKE_RECTANGLE GdkRectangle
-#define XLIKE_GCVALUES GdkGCValues
-#define XLIKE_COLOR GdkColor *
-#define XLIKE_PIXCOLOR GdkColor *
-
-/* constants */
-#define XLIKE_NONE 0
-#define XLIKE_FALSE FALSE
-
-#define XLIKE_GC_BACKGROUND GDK_GC_BACKGROUND
-#define XLIKE_GC_CLIP_MASK GDK_GC_CLIP_MASK
-#define XLIKE_GC_CLIP_X_ORIGIN GDK_GC_CLIP_X_ORIGIN
-#define XLIKE_GC_CLIP_Y_ORIGIN GDK_GC_CLIP_Y_ORIGIN
-#define XLIKE_GC_EXPOSURES GDK_GC_EXPOSURES
-#define XLIKE_GC_FILL GDK_GC_FILL
-#define XLIKE_GC_FONT GDK_GC_FONT
-#define XLIKE_GC_FOREGROUND GDK_GC_FOREGROUND
-#define XLIKE_GC_FUNCTION GDK_GC_FUNCTION
-#define XLIKE_GC_LINE_WIDTH GDK_GC_LINE_WIDTH
-#define XLIKE_GC_STIPPLE GDK_GC_STIPPLE
-#define XLIKE_GC_TILE GDK_GC_TILE
-
-#define XLIKE_GX_COPY GDK_COPY
-#define XLIKE_GX_XOR GDK_XOR
-
-#define XLIKE_FILL_MEMBER fill
-#define XLIKE_FILL_STIPPLED GDK_STIPPLED
-#define XLIKE_FILL_OPAQUE_STIPPLED GDK_OPAQUE_STIPPLED
-#define XLIKE_FILL_TILED GDK_TILED
-#define XLIKE_FILL_SOLID GDK_SOLID
-
-/* functions */
-
-#define GET_XLIKE_DISPLAY(d) NULL
-#define GET_XLIKE_WINDOW(w) GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (w))
-#define XLIKE_FILL_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
- gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, x, y, width, height)
-#define XLIKE_DRAW_RECTANGLE(dpy, x_win, gc, x, y, width, height) \
- gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, FALSE, x, y, width, height)
-#define XLIKE_DRAW_LINE(dpy, x_win, gc, x1, y1, x2, y2) \
- gdk_draw_line (GDK_DRAWABLE (x_win), gc, x1, y1, x2, y2)
-#define XLIKE_OUTPUT_XLIKE_PIXMAP gtk_output_gdk_pixmap
-
-/* FIXME: This is totally bogus. It removes dl->top_clip from the
- equations. If there is a bug involving this, fix it properly!
- Or just ensure that top_clip is 0. */
-#define XLIKE_DISPLAY_LINE_HEIGHT(dl) \
- ((dl)->ascent + ((dl)->descent - (dl)->clip)
-#define XLIKE_DISPLAY_LINE_YPOS(dl) ((dl)->ypos - (dl)->ascent)
-#define XLIKE_DISPLAY_LINE_TOP_CLIP(dl) ((0)
-#define XLIKE_SET_CLIP_RECTANGLE(dpy, gc, xorig, yorig, prect) \
-do \
- { \
- gdk_gc_set_clip_rectangle (gc, prect); \
- gdk_gc_set_clip_origin (gc, xorig, yorig); \
- } \
-while (0)
-#define XLIKE_CLEAR_CLIP_MASK(dpy, gc) \
-do \
- { \
- gdk_gc_set_clip_rectangle (gc, NULL); \
- gdk_gc_set_clip_origin (gc, 0, 0); \
- } \
-while (0)
-#define XLIKE_FLUSH(dpy) gdk_flush ()
-#define XLIKE_CLEAR_AREA(dpy, win, x, y, width, height) \
- gdk_window_clear_area (win, x, y, width, height)
-
-#define IMAGE_INSTANCE_XLIKE_MASK IMAGE_INSTANCE_GTK_MASK
-#define XIMAGE_INSTANCE_XLIKE_PIXMAP XIMAGE_INSTANCE_GTK_PIXMAP
-#define COLOR_INSTANCE_XLIKE_COLOR COLOR_INSTANCE_GTK_COLOR
-#define FONT_INSTANCE_XLIKE_FONT FONT_INSTANCE_GTK_FONT
-#define DEVICE_XLIKE_GRAY_PIXMAP DEVICE_GTK_GRAY_PIXMAP
-#define DEVICE_XLIKE_GC_CACHE DEVICE_GTK_GC_CACHE
-#define XLIKE_COLOR_TO_PIXCOLOR(ci) (ci)
-#define XLIKE_SET_PIXCOLOR_COPY(lval, rval) ((lval) = *(rval))
-#define XLIKE_SET_PIXCOLOR_NUM(lval, rval) ((lval).pixel = (rval))
-#define XLIKE_FONT_NUM(val) (val)
-
-#define XLIKE_OUTPUT_XLIKE_PIXMAP gtk_output_gdk_pixmap
-
-static void gtk_output_pixmap (struct window *w,
- Lisp_Object image_instance,
- struct display_box *db,
- struct display_glyph_area *dga,
- face_index findex,
- int cursor_start,
- int cursor_width,
- int cursor_height,
- int bgpixmap);
-static void gtk_clear_region (Lisp_Object locale, struct device* d,
- struct frame* f, face_index findex, int x, int y,
- int width, int height, Lisp_Object fcolor,
- Lisp_Object bcolor,
- Lisp_Object background_pixmap);
-static void gtk_bevel_modeline (struct window *w, struct display_line *dl);
-
-#if 0
-static void __describe_gc (GdkGC *);
-#endif
-
-/************ End GTK flavor of XLIKE **********/
-
-#endif /* (not) THIS_IS_X */
-
-
-
-/***************************************************************************/
-/* Common definitions */
-/***************************************************************************/
-
-#define XCOLOR_INSTANCE_XLIKE_COLOR(x) \
- COLOR_INSTANCE_XLIKE_COLOR (XCOLOR_INSTANCE (x))
-
-#define XLIKE_PASTE_1(a,b) a##_##b
-#define XLIKE_PASTE(a,b) XLIKE_PASTE_1(a,b)
-#define XLIKE_CONSOLE_HAS_METHOD_1(xlike, name) CONSOLE_HAS_METHOD (xlike, name)
-#define XLIKE_CONSOLE_HAS_METHOD(name) \
- XLIKE_CONSOLE_HAS_METHOD_1 (XLIKE_NAME, name)
-
/* Device methods */
-#define XLIKE_text_width XLIKE_PASTE (XLIKE_NAME, text_width)
-#define XLIKE_output_display_block XLIKE_PASTE (XLIKE_NAME, output_display_block)
-#define XLIKE_divider_height XLIKE_PASTE (XLIKE_NAME, divider_height)
-#define XLIKE_eol_cursor_width XLIKE_PASTE (XLIKE_NAME, eol_cursor_width)
-#define XLIKE_output_vertical_divider XLIKE_PASTE (XLIKE_NAME, output_vertical_divider)
-#define XLIKE_clear_region XLIKE_PASTE (XLIKE_NAME, clear_region)
-#define XLIKE_clear_frame XLIKE_PASTE (XLIKE_NAME, clear_frame)
-#define XLIKE_flash XLIKE_PASTE (XLIKE_NAME, flash)
-#define XLIKE_ring_bell XLIKE_PASTE (XLIKE_NAME, ring_bell)
-#define XLIKE_bevel_area XLIKE_PASTE (XLIKE_NAME, bevel_area)
-#define XLIKE_output_string XLIKE_PASTE (XLIKE_NAME, output_string)
-#define XLIKE_output_pixmap XLIKE_PASTE (XLIKE_NAME, output_pixmap)
-#define XLIKE_window_output_begin XLIKE_PASTE (XLIKE_NAME, window_output_begin)
-#define XLIKE_window_output_end XLIKE_PASTE (XLIKE_NAME, window_output_end)
+#define XLIKE_text_width XFUN (text_width)
+#define XLIKE_output_display_block XFUN (output_display_block)
+#define XLIKE_divider_height XFUN (divider_height)
+#define XLIKE_eol_cursor_width XFUN (eol_cursor_width)
+#define XLIKE_output_vertical_divider XFUN (output_vertical_divider)
+#define XLIKE_clear_region XFUN (clear_region)
+#define XLIKE_clear_frame XFUN (clear_frame)
+#define XLIKE_flash XFUN (flash)
+#define XLIKE_ring_bell XFUN (ring_bell)
+#define XLIKE_bevel_area XFUN (bevel_area)
+#define XLIKE_output_string XFUN (output_string)
+#define XLIKE_output_pixmap XFUN (output_pixmap)
+#define XLIKE_output_xlike_pixmap XFUN (output_xlike_pixmap)
+#define XLIKE_window_output_begin XFUN (window_output_begin)
+#define XLIKE_window_output_end XFUN (window_output_end)
/* Miscellaneous split functions */
#define console_type_create_redisplay_XLIKE XLIKE_PASTE (console_type_create_redisplay, XLIKE_NAME)
-#define XLIKE_get_gc XLIKE_PASTE (XLIKE_NAME, get_gc)
-#define XLIKE_output_blank XLIKE_PASTE (XLIKE_NAME, output_blank)
-#define XLIKE_text_width_single_run XLIKE_PASTE (XLIKE_NAME, text_width_single_run)
+#define XLIKE_get_gc XFUN (get_gc)
+#define XLIKE_output_blank XFUN (output_blank)
+#define XLIKE_text_width_single_run XFUN (text_width_single_run)
static void XLIKE_output_blank (struct window *w, struct display_line *dl,
struct rune *rb, int start_pixpos,
@@ -337,22 +98,22 @@
static void XLIKE_output_horizontal_line (struct window *w,
struct display_line *dl,
struct rune *rb);
-
-static void XLIKE_output_vertical_divider (struct window *w, int clear);
-
static void XLIKE_output_eol_cursor (struct window *w,
struct display_line *dl,
int xpos, face_index findex);
-static void XLIKE_clear_frame (struct frame *f);
static void XLIKE_clear_frame_windows (Lisp_Object window);
-static void XLIKE_window_output_begin (struct window *w);
-static void XLIKE_window_output_end (struct window *w);
static void XLIKE_bevel_area (struct window *w, face_index findex,
int x, int y, int width, int height,
int shadow_thickness, int edges,
enum edge_style style);
static void XLIKE_ring_bell (struct device *d, int volume, int pitch,
int duration);
+
+#ifdef THIS_IS_X
+static void XLIKE_window_output_begin (struct window *UNUSED (w));
+static void XLIKE_window_output_end (struct window *w);
+#endif /* THIS_IS_X */
+
/****************************************************************************/
/* */
@@ -735,30 +496,21 @@
{
if (run->dimension == 2)
{
-#ifdef THIS_IS_X
- return XTextWidth16 (FONT_INSTANCE_X_FONT (fi),
- (XChar2b *) run->ptr, run->len);
-#else /* THIS_IS_GTK */
/* stderr_out ("Measuring wide characters\n"); */
- return gdk_text_width_wc (FONT_INSTANCE_GTK_FONT (fi),
- (GdkWChar *) run->ptr, run->len);
-#endif /* THIS_IS_GTK */
+ return XLIKE_TEXT_WIDTH_WIDE (FONT_INSTANCE_XLIKE_FONT (fi),
+ run->ptr, run->len);
}
else
{
-#ifdef THIS_IS_X
- return XTextWidth (FONT_INSTANCE_X_FONT (fi),
- (char *) run->ptr, run->len);
-#else /* THIS_IS_GTK */
- return gdk_text_width (FONT_INSTANCE_GTK_FONT (fi),
- (char *) run->ptr, run->len);
-#endif /* THIS_IS_GTK */
+ return XLIKE_TEXT_WIDTH (FONT_INSTANCE_XLIKE_FONT (fi),
+ run->ptr, run->len);
}
}
else
abort();
return 0; /* shut up GCC */
}
+
/*
XLIKE_text_width
@@ -768,10 +520,10 @@
*/
/* #### Break me out into a separate header */
-int XLIKE_text_width (struct frame *USED_IF_X (f), struct face_cachel *cachel,
+int XLIKE_text_width (struct frame *f, struct face_cachel *cachel,
const Ichar *str, Charcount len);
int
-XLIKE_text_width (struct frame *USED_IF_X (f), struct face_cachel *cachel,
+XLIKE_text_width (struct frame *f, struct face_cachel *cachel,
const Ichar *str, Charcount len)
{
/* !!#### Needs review */
@@ -1060,12 +812,18 @@
Dynarr_free (buf);
}
+/* Called as gtk_get_gc from gtk-glue.c */
+
+XLIKE_GC XLIKE_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg,
+ Lisp_Object bg, Lisp_Object bg_pmap,
+ Lisp_Object lwidth);
+
/*****************************************************************************
XLIKE_get_gc
Given a number of parameters return a GC with those properties.
****************************************************************************/
-static XLIKE_GC
+XLIKE_GC
XLIKE_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg,
Lisp_Object bg, Lisp_Object bg_pmap, Lisp_Object lwidth)
{
@@ -1079,7 +837,7 @@
gcv.clip_mask = XLIKE_NONE;
gcv.clip_x_origin = 0;
gcv.clip_y_origin = 0;
- gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_SOLID;
+ XLIKE_SET_GC_FILL (gcv, XLIKE_FILL_SOLID);
mask = XLIKE_GC_EXPOSURES | XLIKE_GC_CLIP_MASK | XLIKE_GC_CLIP_X_ORIGIN | XLIKE_GC_CLIP_Y_ORIGIN;
mask |= XLIKE_GC_FILL;
@@ -1109,22 +867,18 @@
if (!NILP (fg))
{
if (COLOR_INSTANCEP (fg))
- XLIKE_SET_PIXCOLOR_COPY
- (gcv.foreground,
- XLIKE_COLOR_TO_PIXCOLOR (XCOLOR_INSTANCE_XLIKE_COLOR (fg)));
+ XLIKE_SET_GC_COLOR (gcv.foreground, XCOLOR_INSTANCE_XLIKE_COLOR (fg));
else
- XLIKE_SET_PIXCOLOR_NUM (gcv.foreground, XINT (fg));
+ XLIKE_SET_GC_PIXEL (gcv.foreground, XINT (fg));
mask |= XLIKE_GC_FOREGROUND;
}
if (!NILP (bg))
{
if (COLOR_INSTANCEP (bg))
- XLIKE_SET_PIXCOLOR_COPY
- (gcv.background,
- XLIKE_COLOR_TO_PIXCOLOR (XCOLOR_INSTANCE_XLIKE_COLOR (bg)));
+ XLIKE_SET_GC_COLOR (gcv.background, XCOLOR_INSTANCE_XLIKE_COLOR (bg));
else
- XLIKE_SET_PIXCOLOR_NUM (gcv.background, XINT (bg));
+ XLIKE_SET_GC_PIXEL (gcv.background, XINT (bg));
mask |= XLIKE_GC_BACKGROUND;
}
@@ -1134,7 +888,7 @@
{
assert (DEVICE_XLIKE_GRAY_PIXMAP (d) != XLIKE_NONE);
- gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_STIPPLED;
+ XLIKE_SET_GC_FILL (gcv, XLIKE_FILL_STIPPLED);
gcv.stipple = DEVICE_XLIKE_GRAY_PIXMAP (d);
mask |= (XLIKE_GC_FILL | XLIKE_GC_STIPPLE);
}
@@ -1143,13 +897,13 @@
{
if (XIMAGE_INSTANCE_PIXMAP_DEPTH (bg_pmap) == 0)
{
- gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_OPAQUE_STIPPLED;
+ XLIKE_SET_GC_FILL (gcv, XLIKE_FILL_OPAQUE_STIPPLED);
gcv.stipple = XIMAGE_INSTANCE_XLIKE_PIXMAP (bg_pmap);
mask |= (XLIKE_GC_STIPPLE | XLIKE_GC_FILL);
}
else
{
- gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_TILED;
+ XLIKE_SET_GC_FILL (gcv, XLIKE_FILL_TILED);
gcv.tile = XIMAGE_INSTANCE_XLIKE_PIXMAP (bg_pmap);
mask |= (XLIKE_GC_TILE | XLIKE_GC_FILL);
}
@@ -1264,10 +1018,9 @@
/* #### This will probably cause asserts when passed a Lisp integer for a
color. See ca. line 759 this file.
#### Maybe xft_convert_color should take an XColor, not a pixel. */
-#define XFT_FROB_LISP_COLOR(color, dim) \
- xft_convert_color (dpy, cmap, visual, \
- COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (color)).pixel, \
- (dim))
+#define XFT_FROB_LISP_COLOR(color, dim) \
+ xft_convert_color (dpy, cmap, visual, \
+ XCOLOR_INSTANCE_X_COLOR (color).pixel, (dim))
#endif /* USE_XFT */
if (width < 0)
@@ -1850,11 +1603,11 @@
#endif /* THIS_IS_GTK */
-void
-XLIKE_OUTPUT_XLIKE_PIXMAP (struct frame *f, Lisp_Image_Instance *p, int x,
+static void
+XLIKE_output_xlike_pixmap (struct frame *f, Lisp_Image_Instance *p, int x,
int y, int xoffset, int yoffset,
int width, int height,
- XLIKE_PIXCOLOR fg, XLIKE_PIXCOLOR bg,
+ XLIKE_COLOR fg, XLIKE_COLOR bg,
XLIKE_GC override_gc)
{
struct device *d = XDEVICE (f->device);
@@ -1868,8 +1621,8 @@
{
memset (&gcv, ~0, sizeof (gcv));
gcv.graphics_exposures = XLIKE_FALSE;
- XLIKE_SET_PIXCOLOR_COPY (gcv.foreground, fg);
- XLIKE_SET_PIXCOLOR_COPY (gcv.background, bg);
+ XLIKE_SET_GC_COLOR (gcv.foreground, fg);
+ XLIKE_SET_GC_COLOR (gcv.background, bg);
pixmap_mask = XLIKE_GC_FOREGROUND | XLIKE_GC_BACKGROUND | XLIKE_GC_EXPOSURES;
if (IMAGE_INSTANCE_XLIKE_MASK (p))
@@ -1916,6 +1669,7 @@
yoffset, width,
height, x, y);
#else /* THIS_IS_GTK */
+ USED (dpy);
gdk_draw_pixmap (GDK_DRAWABLE (x_win), gc,
IMAGE_INSTANCE_GTK_PIXMAP (p),
xoffset, yoffset, x, y, width, height);
@@ -1928,6 +1682,7 @@
(p, IMAGE_INSTANCE_PIXMAP_SLICE (p)), x_win, gc,
xoffset, yoffset, width, height, x, y, 1L);
#else /* THIS_IS_GTK */
+ USED (dpy);
our_draw_bitmap (GDK_DRAWABLE (x_win), gc,
IMAGE_INSTANCE_GTK_PIXMAP (p),
xoffset, yoffset, x, y, width, height);
@@ -1957,11 +1712,10 @@
tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, findex);
tmp_bcolor = XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel);
- XLIKE_OUTPUT_XLIKE_PIXMAP (f, p, db->xpos, db->ypos,
+ XLIKE_output_xlike_pixmap (f, p, db->xpos, db->ypos,
dga->xoffset, dga->yoffset,
dga->width, dga->height,
- XLIKE_COLOR_TO_PIXCOLOR (tmp_fcolor),
- XLIKE_COLOR_TO_PIXCOLOR (tmp_bcolor), 0);
+ tmp_fcolor, tmp_bcolor, 0);
}
/* Draw a cursor over top of the pixmap. */
@@ -2008,9 +1762,7 @@
Lisp_Object tmp_pixel;
XLIKE_GCVALUES gcv;
XLIKE_GC background_gc;
-#ifdef THIS_IS_X
enum edge_style style;
-#endif /* THIS_IS_X */
unsigned long mask;
int x, y1, y2, width, shadow_thickness, spacing, line_width;
face_index div_face =
@@ -2029,9 +1781,7 @@
tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, div_face);
/* First, get the GC's. */
- XLIKE_SET_PIXCOLOR_COPY
- (gcv.background,
- XLIKE_COLOR_TO_PIXCOLOR (XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel)));
+ XLIKE_SET_GC_COLOR (gcv.background, XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel));
gcv.foreground = gcv.background;
gcv.graphics_exposures = XLIKE_FALSE;
mask = XLIKE_GC_FOREGROUND | XLIKE_GC_BACKGROUND | XLIKE_GC_EXPOSURES;
@@ -2044,6 +1794,7 @@
if (clear)
XClearArea (dpy, x_win, x, y1, width, y2 - y1, False);
#else /* THIS_IS_GTK */
+ USED (dpy);
/* if (clear) */
gdk_draw_rectangle (GDK_DRAWABLE (x_win), background_gc, TRUE,
x, y1, width, y2 - y1);
@@ -2055,9 +1806,8 @@
XLIKE_FILL_RECTANGLE (dpy, x_win, background_gc,
x + spacing + shadow_thickness, y1,
line_width, y2 - y1);
+#endif /* not THIS_IS_GTK */
- /* This code not formerly present in GTK version, maybe the omittal
- is intentional? */
if (shadow_thickness < 0)
{
shadow_thickness = -shadow_thickness;
@@ -2067,18 +1817,11 @@
{
style = EDGE_BEVEL_OUT;
}
-#endif /* not THIS_IS_GTK */
/* Draw the shadows around the divider line */
-#ifdef THIS_IS_X
- x_bevel_area (w, div_face, x + spacing, y1,
- width - 2 * spacing, y2 - y1,
- shadow_thickness, EDGE_ALL, style);
-#else /* THIS_IS_GTK */
- gtk_output_shadows (f, x + spacing, y1,
- width - 2 * spacing, y2 - y1,
- shadow_thickness);
-#endif /* THIS_IS_GTK */
+ XLIKE_bevel_area (w, div_face, x + spacing, y1,
+ width - 2 * spacing, y2 - y1,
+ shadow_thickness, EDGE_ALL, style);
}
/*****************************************************************************
@@ -2430,7 +2173,7 @@
XLIKE_WINDOW win = GET_XLIKE_WINDOW (f);
XLIKE_GC gc = NULL;
XLIKE_GCVALUES gcv;
- XLIKE_COLOR tmp_fcolor, tmp_bcolor;
+ XLIKE_PIXEL tmp_fcolor, tmp_bcolor;
Lisp_Object tmp_pixel, frame;
struct window *w = XWINDOW (FRAME_ROOT_WINDOW (f));
int flash_height;
@@ -2438,14 +2181,11 @@
frame = wrap_frame (f);
tmp_pixel = FACE_FOREGROUND (Vdefault_face, frame);
- XLIKE_SET_PIXCOLOR_COPY (tmp_fcolor,
- XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel));
+ tmp_fcolor = XLIKE_COLOR_TO_PIXEL (XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel));
tmp_pixel = FACE_BACKGROUND (Vdefault_face, frame);
- XLIKE_SET_PIXCOLOR_COPY (tmp_bcolor,
- XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel));
+ tmp_bcolor = XLIKE_COLOR_TO_PIXEL (XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel));
memset (&gcv, ~0, sizeof (gcv)); /* initialize all slots to ~0 */
- XLIKE_SET_PIXCOLOR_NUM (gcv.foreground,
- (tmp_fcolor.pixel ^ tmp_bcolor.pixel));
+ XLIKE_SET_GC_PIXEL (gcv.foreground, tmp_fcolor ^ tmp_bcolor);
gcv.function = XLIKE_GX_XOR;
gcv.graphics_exposures = XLIKE_FALSE;
gc = gc_cache_lookup (DEVICE_XLIKE_GC_CACHE (XDEVICE (f->device)), &gcv,
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/symsinit.h
--- a/src/symsinit.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/symsinit.h Mon Feb 01 02:15:28 2010 -0600
@@ -1,6 +1,6 @@
/* Various initialization function prototypes.
Copyright (C) 1995 Board of Trustees, University of Illinois.
- Copyright (C) 2001, 2002 Ben Wing.
+ Copyright (C) 2001, 2002, 2010 Ben Wing.
This file is part of XEmacs.
@@ -21,6 +21,9 @@
/* Synched up with: Not in FSF. */
+/* There is no need to put ifdefs around the prototypes here. Extra
+prototypes won't hurt anything. */
+
#ifndef INCLUDED_symsinit_h_
#define INCLUDED_symsinit_h_
@@ -31,10 +34,10 @@
void init_data_very_early (void);
void init_floatfns_very_early (void);
void init_free_hook (void);
+void init_mswindows_dde_very_early (void);
void init_process_times_very_early (void);
void init_ralloc (void);
void init_signals_very_early (void);
-void init_mswindows_dde_very_early (void);
/* Early Lisp-engine initialization -- dump-time only for init, dump-time
and post-pdump-load-time for reinit. We call the reinit() routine
@@ -43,16 +46,16 @@
to call the routine is tricky -- the init routine might need to do some
stuff, call the reinit() routine, and do some more stuff.) */
+void reinit_alloc_early (void);
void init_alloc_once_early (void);
-void reinit_alloc_early (void);
-void init_symbols_once_early (void);
-void reinit_symbols_early (void);
+void reinit_eistring_early (void);
+void init_eistring_once_early (void);
+void init_elhash_once_early (void);
void init_errors_once_early (void);
void reinit_opaque_early (void);
void init_opaque_once_early (void);
-void init_elhash_once_early (void);
-void init_eistring_once_early (void);
-void reinit_eistring_early (void);
+void reinit_symbols_early (void);
+void init_symbols_once_early (void);
/* Reset the Lisp engine. Called both at dump-time, run-time and
run-temacs-time; at dump-time, it's called early, before any of the
@@ -73,6 +76,7 @@
void syms_of_buffer (void);
void syms_of_bytecode (void);
void syms_of_callint (void);
+EXTERN_C void syms_of_canna_api (void);
void syms_of_casefiddle (void);
void syms_of_casetab (void);
void syms_of_chartab (void);
@@ -85,10 +89,12 @@
void syms_of_database (void);
void syms_of_debug (void);
void syms_of_device (void);
+void syms_of_device_gtk (void);
void syms_of_device_mswindows (void);
void syms_of_device_tty (void);
void syms_of_device_x (void);
void syms_of_dialog (void);
+void syms_of_dialog_gtk (void);
void syms_of_dialog_mswindows (void);
void syms_of_dialog_x (void);
void syms_of_dired (void);
@@ -101,6 +107,7 @@
void syms_of_emacs (void);
void syms_of_eval (void);
void syms_of_event_Xt (void);
+void syms_of_event_gtk (void);
void syms_of_event_mswindows (void);
void syms_of_event_stream (void);
void syms_of_events (void);
@@ -111,10 +118,10 @@
void syms_of_filelock (void);
void syms_of_floatfns (void);
void syms_of_fns (void);
-#ifdef USE_C_FONT_LOCK
void syms_of_font_lock (void);
-#endif /* USE_C_FONT_LOCK */
+void syms_of_font_mgr (void);
void syms_of_frame (void);
+void syms_of_frame_gtk (void);
void syms_of_frame_mswindows (void);
void syms_of_frame_tty (void);
void syms_of_frame_x (void);
@@ -122,12 +129,14 @@
void syms_of_general (void);
void syms_of_glyphs (void);
void syms_of_glyphs_eimage (void);
+void syms_of_glyphs_gtk (void);
void syms_of_glyphs_mswindows (void);
void syms_of_glyphs_shared (void);
void syms_of_glyphs_widget (void);
void syms_of_glyphs_x (void);
void syms_of_gpmevent (void);
void syms_of_gui (void);
+void syms_of_gui_gtk (void);
void syms_of_gui_mswindows (void);
void syms_of_gui_x (void);
void syms_of_gutter (void);
@@ -140,16 +149,14 @@
void syms_of_lread (void);
void syms_of_macros (void);
void syms_of_marker (void);
-#ifdef NEW_GC
void syms_of_mc_alloc (void);
-#endif /* NEW_GC */
void syms_of_md5 (void);
void syms_of_menubar (void);
+void syms_of_menubar_gtk (void);
void syms_of_menubar_mswindows (void);
void syms_of_menubar_x (void);
void syms_of_minibuf (void);
void syms_of_module (void);
-EXTERN_C void syms_of_canna_api (void);
void syms_of_mule_ccl (void);
void syms_of_mule_charset (void);
void syms_of_mule_coding (void);
@@ -157,10 +164,10 @@
void syms_of_nt (void);
void syms_of_number (void);
void syms_of_objects (void);
+void syms_of_objects_gtk (void);
void syms_of_objects_mswindows (void);
void syms_of_objects_tty (void);
void syms_of_objects_x (void);
-void syms_of_font_mgr (void);
EXTERN_C void syms_of_postgresql (void);
void syms_of_print (void);
void syms_of_process (void);
@@ -173,6 +180,7 @@
void syms_of_scrollbar_mswindows(void);
void syms_of_search (void);
void syms_of_select (void);
+void syms_of_select_gtk (void);
void syms_of_select_mswindows (void);
void syms_of_select_x (void);
void syms_of_signal (void);
@@ -185,9 +193,12 @@
void syms_of_text (void);
void syms_of_toolbar (void);
void syms_of_tooltalk (void);
+void syms_of_ui_byhand (void);
+void syms_of_ui_gtk (void);
void syms_of_undo (void);
void syms_of_unicode (void);
void syms_of_widget (void);
+void syms_of_widget_accessors (void);
void syms_of_win32 (void);
void syms_of_window (void);
@@ -195,49 +206,61 @@
post-pdump-load-time only for reinit_). */
void console_type_create (void);
+void console_type_create_device_gtk (void);
+void console_type_create_device_mswindows (void);
+void console_type_create_device_tty (void);
+void console_type_create_device_x (void);
+void reinit_console_type_create_device_x (void);
+void console_type_create_dialog_gtk (void);
+void console_type_create_dialog_mswindows (void);
+void console_type_create_dialog_x (void);
+void console_type_create_frame_gtk (void);
+void console_type_create_frame_mswindows (void);
+void console_type_create_frame_tty (void);
+void console_type_create_frame_x (void);
+void console_type_create_glyphs_gtk (void);
+void console_type_create_glyphs_mswindows (void);
+void console_type_create_glyphs_x (void);
+void console_type_create_gtk (void);
+void reinit_console_type_create_gtk (void);
+void console_type_create_menubar_gtk (void);
+void console_type_create_menubar_mswindows (void);
+void console_type_create_menubar_x (void);
+void console_type_create_mswindows (void);
+void reinit_console_type_create_mswindows (void);
+void console_type_create_objects_gtk (void);
+void console_type_create_objects_mswindows (void);
+void console_type_create_objects_tty (void);
+void console_type_create_objects_x (void);
+void console_type_create_redisplay_gtk (void);
+void console_type_create_redisplay_mswindows (void);
+void console_type_create_redisplay_tty (void);
+void console_type_create_redisplay_x (void);
+void console_type_create_scrollbar_gtk (void);
+void console_type_create_scrollbar_mswindows (void);
+void console_type_create_scrollbar_x (void);
+void console_type_create_select_gtk (void);
+void console_type_create_select_mswindows (void);
+void console_type_create_select_x (void);
void console_type_create_stream (void);
void reinit_console_type_create_stream (void);
+void console_type_create_toolbar_gtk (void);
+void console_type_create_toolbar_mswindows (void);
+void console_type_create_toolbar_x (void);
void console_type_create_tty (void);
void reinit_console_type_create_tty (void);
-void console_type_create_device_tty (void);
-void console_type_create_frame_tty (void);
-void console_type_create_objects_tty (void);
-void console_type_create_redisplay_tty (void);
void console_type_create_x (void);
void reinit_console_type_create_x (void);
-void console_type_create_device_x (void);
-void reinit_console_type_create_device_x (void);
-void console_type_create_frame_x (void);
-void console_type_create_glyphs_x (void);
-void console_type_create_menubar_x (void);
-void console_type_create_objects_x (void);
-void console_type_create_redisplay_x (void);
-void console_type_create_scrollbar_x (void);
-void console_type_create_select_x (void);
-void console_type_create_toolbar_x (void);
-void console_type_create_dialog_x (void);
-void console_type_create_mswindows (void);
-void reinit_console_type_create_mswindows (void);
-void console_type_create_device_mswindows (void);
-void console_type_create_frame_mswindows (void);
-void console_type_create_menubar_mswindows (void);
-void console_type_create_objects_mswindows (void);
-void console_type_create_redisplay_mswindows (void);
-void console_type_create_scrollbar_mswindows (void);
-void console_type_create_toolbar_mswindows (void);
-void console_type_create_glyphs_mswindows (void);
-void console_type_create_dialog_mswindows (void);
-void console_type_create_select_mswindows (void);
/* Initialize the specifier types (dump-time only for specifier_type_(),
post-pdump-load-time only for reinit_). */
void specifier_type_create (void);
void reinit_specifier_type_create (void);
+void specifier_type_create_gutter (void);
+void reinit_specifier_type_create_gutter (void);
void specifier_type_create_image (void);
void reinit_specifier_type_create_image (void);
-void specifier_type_create_gutter (void);
-void reinit_specifier_type_create_gutter (void);
void specifier_type_create_objects (void);
void reinit_specifier_type_create_objects (void);
void specifier_type_create_toolbar (void);
@@ -248,36 +271,37 @@
void coding_system_type_create (void);
void reinit_coding_system_type_create (void);
-void coding_system_type_create_unicode (void);
-void reinit_coding_system_type_create_unicode (void);
void coding_system_type_create_intl_win32 (void);
void reinit_coding_system_type_create_intl_win32 (void);
void coding_system_type_create_mule_coding (void);
void reinit_coding_system_type_create_mule_coding (void);
+void coding_system_type_create_unicode (void);
+void reinit_coding_system_type_create_unicode (void);
/* Initialize the structure types (dump-time only). */
void structure_type_create (void);
void structure_type_create_chartab (void);
void structure_type_create_faces (void);
+void structure_type_create_hash_table (void);
void structure_type_create_rangetab (void);
-void structure_type_create_hash_table (void);
/* Initialize the image instantiator types (dump-time only). */
void image_instantiator_format_create (void);
void image_instantiator_format_create_glyphs_eimage (void);
+void image_instantiator_format_create_glyphs_gtk (void);
+void image_instantiator_format_create_glyphs_mswindows (void);
+void image_instantiator_format_create_glyphs_tty (void);
void image_instantiator_format_create_glyphs_widget (void);
void image_instantiator_format_create_glyphs_x (void);
-void image_instantiator_format_create_glyphs_mswindows (void);
-void image_instantiator_format_create_glyphs_tty (void);
/* Initialize the lstream types (dump-time only). */
void lstream_type_create (void);
void lstream_type_create_file_coding (void);
+void lstream_type_create_mswindows_selectable (void);
void lstream_type_create_print (void);
-void lstream_type_create_mswindows_selectable (void);
/* Initialize process types */
@@ -287,6 +311,18 @@
/* Allow for Fprovide() (dump-time only). */
void init_provide_once (void);
+
+/* Lisp interactive function to sort groups of initialization functions by
+ name, ignoring any reinit_ or init_ at the beginning. Put the cursor
+ after the last right paren, type C-x C-e, then select some text and
+ M-x sort-symsinit.
+
+ (defun sort-symsinit (start end)
+ (interactive "r")
+ (sort-regexp-fields nil "^.*?void \\(?:re\\)?\\(init_\\)?\\([A-Za-z0-9_]+\\).*$" "\\2"
+ start end))
+
+*/
/* Initialize most variables (dump-time for vars_, dump-time and
post-pdump-load-time for reinit_vars). */
@@ -298,13 +334,15 @@
void reinit_vars_of_buffer (void);
void vars_of_bytecode (void);
void vars_of_callint (void);
+EXTERN_C void vars_of_canna_api (void);
void vars_of_chartab (void);
void vars_of_cmdloop (void);
void vars_of_cmds (void);
void vars_of_console (void);
void reinit_vars_of_console (void);
+void vars_of_console_gtk (void);
+void vars_of_console_mswindows (void);
void vars_of_console_stream (void);
-void vars_of_console_mswindows (void);
void vars_of_console_tty (void);
void vars_of_console_x (void);
void vars_of_data (void);
@@ -313,28 +351,33 @@
void reinit_vars_of_debug (void);
void vars_of_device (void);
void reinit_vars_of_device (void);
+void vars_of_device_gtk (void);
void vars_of_device_mswindows (void);
void vars_of_device_x (void);
void reinit_vars_of_device_x (void);
void vars_of_dialog (void);
+void vars_of_dialog_gtk (void);
+void vars_of_dialog_mswindows (void);
void vars_of_dialog_x (void);
-void vars_of_dialog_mswindows (void);
void vars_of_dired (void);
void vars_of_dired_mswindows (void);
void vars_of_doc (void);
void vars_of_dragdrop (void);
void vars_of_editfns (void);
+EXTERN_C void vars_of_eldap (void);
void vars_of_emacs (void);
void vars_of_eval (void);
void reinit_vars_of_eval (void);
+void vars_of_event_Xt (void);
+void reinit_vars_of_event_Xt (void);
+void vars_of_event_gtk (void);
+void reinit_vars_of_event_gtk (void);
+void vars_of_event_mswindows (void);
+void reinit_vars_of_event_mswindows (void);
void vars_of_event_stream (void);
void reinit_vars_of_event_stream (void);
void vars_of_event_tty (void);
void reinit_vars_of_event_tty (void);
-void vars_of_event_mswindows (void);
-void reinit_vars_of_event_mswindows (void);
-void vars_of_event_Xt (void);
-void reinit_vars_of_event_Xt (void);
void vars_of_events (void);
void reinit_vars_of_events (void);
void vars_of_extents (void);
@@ -343,33 +386,39 @@
void vars_of_file_coding (void);
void reinit_vars_of_file_coding (void);
void vars_of_fileio (void);
+#ifdef USE_C_FONT_LOCK
void reinit_vars_of_fileio (void);
void vars_of_filelock (void);
+#endif /* USE_C_FONT_LOCK */
void vars_of_floatfns (void);
void vars_of_fns (void);
-#ifdef USE_C_FONT_LOCK
void vars_of_font_lock (void);
void reinit_vars_of_font_lock (void);
-#endif /* USE_C_FONT_LOCK */
-void vars_of_frame_tty (void);
+void vars_of_font_mgr (void);
+void reinit_vars_of_font_mgr (void);
+void vars_of_frame (void);
+void vars_of_frame_gtk (void);
void vars_of_frame_mswindows (void);
void reinit_vars_of_frame_mswindows (void);
+void vars_of_frame_tty (void);
void vars_of_frame_x (void);
-void vars_of_frame (void);
-void vars_of_glyphs_x (void);
+void vars_of_glyphs (void);
+void reinit_vars_of_glyphs (void);
void vars_of_glyphs_eimage (void);
+void vars_of_glyphs_gtk (void);
+void vars_of_glyphs_mswindows (void);
void vars_of_glyphs_widget (void);
void reinit_vars_of_glyphs_widget (void);
-void vars_of_glyphs_mswindows (void);
-void vars_of_glyphs (void);
-void reinit_vars_of_glyphs (void);
+void vars_of_glyphs_x (void);
+void vars_of_gpmevent (void);
+void vars_of_gui (void);
+void vars_of_gui_gtk (void);
void vars_of_gui_x (void);
void reinit_vars_of_gui_x (void);
-void vars_of_gui (void);
void vars_of_gutter (void);
+void vars_of_indent (void);
void vars_of_input_method_motif (void);
void vars_of_input_method_xlib (void);
-void vars_of_indent (void);
void vars_of_insdel (void);
void reinit_vars_of_insdel (void);
void vars_of_intl (void);
@@ -381,15 +430,16 @@
void reinit_vars_of_lstream (void);
void vars_of_macros (void);
void vars_of_md5 (void);
+void vars_of_menubar (void);
+void vars_of_menubar_gtk (void);
+void reinit_vars_of_menubar_gtk (void);
+void vars_of_menubar_mswindows (void);
void vars_of_menubar_x (void);
void reinit_vars_of_menubar_x (void);
-void vars_of_menubar (void);
-void vars_of_menubar_mswindows (void);
void vars_of_minibuf (void);
void reinit_vars_of_minibuf (void);
void vars_of_module (void);
void reinit_vars_of_module (void);
-EXTERN_C void vars_of_canna_api (void);
void vars_of_mule_ccl(void);
void vars_of_mule_charset (void);
void vars_of_mule_coding (void);
@@ -399,14 +449,14 @@
void vars_of_nt (void);
void vars_of_number (void);
void reinit_vars_of_number (void);
+void reinit_vars_of_object_mswindows (void);
void vars_of_objects (void);
-void vars_of_font_mgr (void);
-void reinit_vars_of_font_mgr (void);
void reinit_vars_of_objects (void);
+void vars_of_objects_gtk (void);
+void vars_of_objects_mswindows (void);
void vars_of_objects_tty (void);
-void vars_of_objects_mswindows (void);
-void reinit_vars_of_object_mswindows (void);
void vars_of_objects_x (void);
+EXTERN_C void vars_of_postgresql (void);
void vars_of_print (void);
void reinit_vars_of_print (void);
void vars_of_process (void);
@@ -417,14 +467,18 @@
void vars_of_realpath (void);
void vars_of_redisplay (void);
void vars_of_regex (void);
+void vars_of_scrollbar (void);
+void vars_of_scrollbar_gtk (void);
+void vars_of_scrollbar_mswindows (void);
void vars_of_scrollbar_x (void);
void reinit_vars_of_scrollbar_x (void);
-void vars_of_scrollbar (void);
-void vars_of_scrollbar_mswindows (void);
void vars_of_search (void);
void reinit_vars_of_search (void);
void vars_of_select (void);
+void vars_of_select_gtk (void);
void vars_of_select_mswindows (void);
+void vars_of_select_x (void);
+void reinit_vars_of_select_x (void);
void vars_of_sound (void);
void vars_of_specifier (void);
void vars_of_sunpro (void);
@@ -435,17 +489,13 @@
void reinit_vars_of_text (void);
void vars_of_toolbar (void);
void vars_of_tooltalk (void);
+void vars_of_ui_gtk (void);
void vars_of_undo (void);
void reinit_vars_of_undo (void);
void vars_of_unicode (void);
+void vars_of_win32 (void);
void vars_of_window (void);
void reinit_vars_of_window (void);
-void vars_of_win32 (void);
-void vars_of_select_x (void);
-void reinit_vars_of_select_x (void);
-EXTERN_C void vars_of_eldap (void);
-EXTERN_C void vars_of_postgresql (void);
-void vars_of_gpmevent (void);
/* Initialize specifier variables (dump-time only). */
@@ -466,28 +516,29 @@
void complex_vars_of_alloc (void);
void complex_vars_of_buffer (void);
+void reinit_complex_vars_of_buffer_runtime_only (void);
void complex_vars_of_casetab (void);
void complex_vars_of_chartab (void);
void complex_vars_of_console (void);
+void reinit_complex_vars_of_console_runtime_only (void);
void complex_vars_of_emacs (void);
void complex_vars_of_faces (void);
void complex_vars_of_file_coding (void);
void complex_vars_of_font_mgr (void);
void complex_vars_of_frame (void);
void complex_vars_of_glyphs (void);
+void complex_vars_of_glyphs_gtk (void);
void complex_vars_of_glyphs_mswindows (void);
void complex_vars_of_glyphs_x (void);
void complex_vars_of_intl_win32 (void);
void complex_vars_of_keymap (void);
void complex_vars_of_menubar (void);
void complex_vars_of_minibuf (void);
+void reinit_complex_vars_of_minibuf (void);
void complex_vars_of_mule_charset (void);
void complex_vars_of_scrollbar (void);
void complex_vars_of_syntax (void);
void complex_vars_of_unicode (void);
-void reinit_complex_vars_of_buffer_runtime_only (void);
-void reinit_complex_vars_of_console_runtime_only (void);
-void reinit_complex_vars_of_minibuf (void);
/* Late initialization -- stuff pertaining only to interactive usage,
I/O, or Lisp reading. (Dump-time and run-time, but the code itself
@@ -499,6 +550,7 @@
void init_device_tty (void);
void init_editfns (void);
void init_event_Xt_late (void);
+void init_event_gtk_late (void);
void init_event_mswindows_late (void);
void init_event_stream (void);
void init_event_tty_late (void);
@@ -518,47 +570,6 @@
void init_win32 (void);
void init_xemacs_process (void);
-void syms_of_device_gtk (void);
-void syms_of_dialog_gtk (void);
-void syms_of_event_gtk (void);
-void syms_of_frame_gtk (void);
-void syms_of_glyphs_gtk (void);
-void syms_of_gui_gtk (void);
-void syms_of_menubar_gtk (void);
-void syms_of_objects_gtk (void);
-void syms_of_select_gtk (void);
-void syms_of_ui_gtk (void);
-void syms_of_widget_accessors (void);
-void syms_of_ui_byhand (void);
-void console_type_create_gtk (void);
-void reinit_console_type_create_gtk (void);
-void console_type_create_device_gtk (void);
-void console_type_create_frame_gtk (void);
-void console_type_create_glyphs_gtk (void);
-void console_type_create_menubar_gtk (void);
-void console_type_create_objects_gtk (void);
-void console_type_create_redisplay_gtk (void);
-void console_type_create_scrollbar_gtk (void);
-void console_type_create_toolbar_gtk (void);
-void console_type_create_dialog_gtk (void);
-void image_instantiator_format_create_glyphs_gtk (void);
-void vars_of_device_gtk (void);
-void vars_of_dialog_gtk (void);
-void vars_of_event_gtk (void);
-void reinit_vars_of_event_gtk (void);
-void vars_of_frame_gtk (void);
-void vars_of_glyphs_gtk (void);
-void vars_of_gui_gtk (void);
-void vars_of_menubar_gtk (void);
-void reinit_vars_of_menubar_gtk (void);
-void vars_of_objects_gtk (void);
-void vars_of_scrollbar_gtk (void);
-void vars_of_select_gtk (void);
-void vars_of_ui_gtk (void);
-void complex_vars_of_glyphs_gtk (void);
-void init_event_gtk_late (void);
-void console_type_create_select_gtk (void);
-
/* Enhanced number initialization: must be done only at runtime due to complex
interactions with the supporting libraries. */
void init_number (void);
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/sysgdkx.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sysgdkx.h Mon Feb 01 02:15:28 2010 -0600
@@ -0,0 +1,36 @@
+/* Basic wrapper file around gdk/gdkx.h.
+
+ Copyright (C) 2010 Ben Wing.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Synched up with: Not in FSF. */
+
+/* Authorship:
+
+ Ben Wing, 1-28-10 extracted out of console-gtk.h and various other
+ files. We have a separate file rather than just putting it together
+ with sysgtk.h because Bill wanted to keep the X-specific stuff isolated.
+*/
+
+#ifndef INCLUDED_sysgdkx_h_
+#define INCLUDED_sysgdkx_h_
+
+#include <gdk/gdkx.h>
+
+#endif /* INCLUDED_sysgdkx_h_ */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/sysgtk.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sysgtk.h Mon Feb 01 02:15:28 2010 -0600
@@ -0,0 +1,38 @@
+/* Basic include file for GTK/GDK includes.
+
+ Copyright (C) 2010 Ben Wing.
+
+This file is part of XEmacs.
+
+XEmacs is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Synched up with: Not in FSF. */
+
+/* Authorship:
+
+ Ben Wing, 1-28-10 extracted out of console-gtk.h and various other
+ files.
+*/
+
+#ifndef INCLUDED_sysgtk_h_
+#define INCLUDED_sysgtk_h_
+
+#include <gtk/gtk.h>
+#include <gtk/gtkfixed.h>
+#include <gdk/gdk.h>
+#include <gdk/gdkkeysyms.h>
+
+#endif /* INCLUDED_sysgtk_h_ */
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/ui-gtk.c
--- a/src/ui-gtk.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/ui-gtk.c Mon Feb 01 02:15:28 2010 -0600
@@ -21,24 +21,23 @@
** along with XEmacs; see the file COPYING. If not, write to
** the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
** Boston, MA 02111-1301, USA. */
-*/
#include <config.h>
#include "lisp.h"
#include "buffer.h"
-#include "console-gtk-impl.h"
#include "device.h"
#include "elhash.h"
-#include "event-gtk.h"
#include "events.h"
#include "faces.h"
+#include "hash.h"
+#include "sysdll.h"
+#include "window.h"
+
+#include "console-gtk-impl.h"
#include "glyphs-gtk.h"
-#include "hash.h"
#include "objects-gtk.h"
-#include "sysdll.h"
#include "ui-gtk.h"
-#include "window.h"
/* XEmacs specific GTK types */
#include "gtk-glue.c"
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/ui-gtk.h
--- a/src/ui-gtk.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/ui-gtk.h Mon Feb 01 02:15:28 2010 -0600
@@ -21,15 +21,14 @@
** along with XEmacs; see the file COPYING. If not, write to
** the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
** Boston, MA 02111-1301, USA. */
-*/
#ifndef __UI_GTK_H__
#define __UI_GTK_H__
/* Encapsulate a foreign function call */
-#include <gtk/gtk.h>
+
+#include "sysgtk.h"
#include "sysdll.h"
-#include "lrecord.h"
typedef void (*ffi_actual_function) (void);
typedef void (*ffi_marshalling_function) (ffi_actual_function, GtkArg *);
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/xgccache.c
--- a/src/xgccache.c Mon Feb 01 01:05:28 2010 -0600
+++ b/src/xgccache.c Mon Feb 01 02:15:28 2010 -0600
@@ -52,19 +52,14 @@
*/
#include <config.h>
-#include <X11/Xlib.h>
+#include "lisp.h"
+#include "hash.h"
+
#include "xgccache.h"
-
#define GC_CACHE_SIZE 100
#define GCCACHE_HASH
-
-
-#ifdef GCCACHE_HASH
-#include "lisp.h"
-#include "hash.h"
-#endif
struct gcv_and_mask {
XGCValues gcv;
diff -r 9e7f5a77cc84 -r b3ce27ca7647 src/xgccache.h
--- a/src/xgccache.h Mon Feb 01 01:05:28 2010 -0600
+++ b/src/xgccache.h Mon Feb 01 02:15:28 2010 -0600
@@ -26,6 +26,8 @@
#ifndef INCLUDED_xgccache_h_
#define INCLUDED_xgccache_h_
+#include <X11/Xlib.h>
+
struct gc_cache;
struct gc_cache *make_gc_cache (Display *, Window);
void free_gc_cache (struct gc_cache *cache);
More information about the XEmacs-Patches
mailing list