+2013-05-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xterm.h (GTK_PREREQ): New macro.
+ All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
+ to use this macro instead, for consistency and clarity.
+
2013-05-08 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (row_for_charpos_p): New function, with code of
#define gtk_adjustment_get_step_increment(w) ((w)->step_increment)
#define gtk_adjustment_set_step_increment(w, s) ((w)->step_increment = (s))
#endif
-#if GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION > 11
+#if GTK_PREREQ (2, 12)
#define remove_submenu(w) gtk_menu_item_set_submenu ((w), NULL)
#else
#define remove_submenu(w) gtk_menu_item_remove_submenu ((w))
#endif
-#if GTK_MAJOR_VERSION > 3 || (GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 2)
+#if GTK_PREREQ (3, 2)
#define USE_NEW_GTK_FONT_CHOOSER 1
#else
#define USE_NEW_GTK_FONT_CHOOSER 0
Return false if and only if the workarea information cannot be
obtained via the _NET_WORKAREA root window property. */
-#if !defined USE_GTK || GTK_MAJOR_VERSION < 3 + (GTK_MINOR_VERSION < 4)
+#if ! (defined USE_GTK && GTK_PREREQ (3, 4))
static bool
x_get_net_workarea (struct x_display_info *dpyinfo, XRectangle *rect)
{
/ x_display_pixel_height (dpyinfo));
gdpy = gdk_x11_lookup_xdisplay (dpyinfo->display);
gscreen = gdk_display_get_default_screen (gdpy);
-#if GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 20
+#if GTK_PREREQ (2, 20)
primary_monitor = gdk_screen_get_primary_monitor (gscreen);
#endif
n_monitors = gdk_screen_get_n_monitors (gscreen);
gdk_screen_get_monitor_geometry (gscreen, i, &rec);
geometry = list4i (rec.x, rec.y, rec.width, rec.height);
-#if GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 14
+#if GTK_PREREQ (2, 14)
width_mm = gdk_screen_get_monitor_width_mm (gscreen, i);
height_mm = gdk_screen_get_monitor_height_mm (gscreen, i);
#endif
list2i (width_mm, height_mm)),
attributes);
-#if GTK_MAJOR_VERSION > 3 || (GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 4)
+#if GTK_PREREQ (3, 4)
gdk_screen_get_monitor_workarea (gscreen, i, &rec);
workarea = list4i (rec.x, rec.y, rec.width, rec.height);
#else
attributes = Fcons (Fcons (Qworkarea, workarea), attributes);
attributes = Fcons (Fcons (Qgeometry, geometry), attributes);
-#if GTK_MAJOR_VERSION > 2 || (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION >= 14)
+#if GTK_PREREQ (2, 14)
{
char *name = gdk_screen_get_monitor_plug_name (gscreen, i);
if (name)
typedef Widget xt_or_gtk_widget;
#endif
+/* True iff GTK's version is at least MAJOR.MINOR. */
+#define GTK_PREREQ(major, minor) \
+ ((major) < GTK_MAJOR_VERSION + ((minor) <= GTK_MINOR_VERSION))
+
#ifdef USE_GTK
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
XSync (d, b); } while (0)
/* The GtkTooltip API came in 2.12, but gtk-enable-tooltips in 2.14. */
-#if GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION > 13
+#if GTK_PREREQ (2, 14)
#define USE_GTK_TOOLTIP
#endif