]> code.delx.au - gnu-emacs/commitdiff
* xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 9 May 2013 14:49:56 +0000 (07:49 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 9 May 2013 14:49:56 +0000 (07:49 -0700)
(GTK_CHECK_VERSION): New macro, if not already defined.
All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
replaced by GTK_CHECK_VERSION.

src/ChangeLog
src/gtkutil.c
src/xfns.c
src/xterm.c
src/xterm.h

index b05ee5efd9de7bd85a66c8ac6a2620efe5674f1e..e152d8de951bc5e91540c254ea7a130b77bc26ef 100644 (file)
@@ -1,3 +1,10 @@
+2013-05-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
+       (GTK_CHECK_VERSION): New macro, if not already defined.
+       All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
+       replaced by GTK_CHECK_VERSION.
+
 2013-05-08  Paul Eggert  <eggert@cs.ucla.edu>
 
        * xterm.h (GTK_PREREQ): New macro.
index d4f72fd6b7fcd737eb5d7d3a70945352547c2914..8ac58f181588dff949ed3d30dc8fba2d31392e69 100644 (file)
@@ -70,13 +70,13 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #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_PREREQ (2, 12)
+#if GTK_CHECK_VERSION (2, 12, 0)
 #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_PREREQ (3, 2)
+#if GTK_CHECK_VERSION (3, 2, 0)
 #define USE_NEW_GTK_FONT_CHOOSER 1
 #else
 #define USE_NEW_GTK_FONT_CHOOSER 0
@@ -202,7 +202,7 @@ xg_display_close (Display *dpy)
       gdpy_def = gdpy_new;
     }
 
-#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 10
+#if GTK_CHECK_VERSION (2, 0, 0) && ! GTK_CHECK_VERSION (2, 10, 0)
   /* GTK 2.2-2.8 has a bug that makes gdk_display_close crash (bug
      http://bugzilla.gnome.org/show_bug.cgi?id=85715).  This way we
      can continue running, but there will be memory leaks.  */
@@ -1155,7 +1155,8 @@ xg_create_frame_widgets (FRAME_PTR f)
      has backported it to Gtk+ 2.0 and they add the resize grip for
      Gtk+ 2.0 applications also.  But it has a bug that makes Emacs loop
      forever, so disable the grip.  */
-#if GTK_MAJOR_VERSION < 3 && defined (HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
+#if (! GTK_CHECK_VERSION (3, 0, 0) \
+     && defined HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP)
   gtk_window_set_has_resize_grip (GTK_WINDOW (wtop), FALSE);
 #endif
 
index 6d1d68dcada3ed933ac76c5272a3da56167702b2..46cd10e5f2f901455b02f2ba87e7a3907f04f03c 100644 (file)
@@ -3804,7 +3804,7 @@ If omitted or nil, that stands for the selected frame's display.  */)
    Return false if and only if the workarea information cannot be
    obtained via the _NET_WORKAREA root window property.  */
 
-#if ! (defined USE_GTK && GTK_PREREQ (3, 4))
+#if ! GTK_CHECK_VERSION (3, 4, 0)
 static bool
 x_get_net_workarea (struct x_display_info *dpyinfo, XRectangle *rect)
 {
@@ -4265,7 +4265,7 @@ Internal use only, use `display-monitor-attributes-list' instead.  */)
                         / x_display_pixel_height (dpyinfo));
   gdpy = gdk_x11_lookup_xdisplay (dpyinfo->display);
   gscreen = gdk_display_get_default_screen (gdpy);
-#if GTK_PREREQ (2, 20)
+#if GTK_CHECK_VERSION (2, 20, 0)
   primary_monitor = gdk_screen_get_primary_monitor (gscreen);
 #endif
   n_monitors = gdk_screen_get_n_monitors (gscreen);
@@ -4300,7 +4300,7 @@ Internal use only, use `display-monitor-attributes-list' instead.  */)
       gdk_screen_get_monitor_geometry (gscreen, i, &rec);
       geometry = list4i (rec.x, rec.y, rec.width, rec.height);
 
-#if GTK_PREREQ (2, 14)
+#if GTK_CHECK_VERSION (2, 14, 0)
       width_mm = gdk_screen_get_monitor_width_mm (gscreen, i);
       height_mm = gdk_screen_get_monitor_height_mm (gscreen, i);
 #endif
@@ -4312,7 +4312,7 @@ Internal use only, use `display-monitor-attributes-list' instead.  */)
                                 list2i (width_mm, height_mm)),
                          attributes);
 
-#if GTK_PREREQ (3, 4)
+#if GTK_CHECK_VERSION (3, 4, 0)
       gdk_screen_get_monitor_workarea (gscreen, i, &rec);
       workarea = list4i (rec.x, rec.y, rec.width, rec.height);
 #else
@@ -4339,7 +4339,7 @@ Internal use only, use `display-monitor-attributes-list' instead.  */)
       attributes = Fcons (Fcons (Qworkarea, workarea), attributes);
 
       attributes = Fcons (Fcons (Qgeometry, geometry), attributes);
-#if GTK_PREREQ (2, 14)
+#if GTK_CHECK_VERSION (2, 14, 0)
       {
         char *name = gdk_screen_get_monitor_plug_name (gscreen, i);
         if (name)
index 5545807775093c0cf67973a9f05cbb7a2ffb12d2..7505aa3936b71e1bbe362b457cf1585ea85371ab 100644 (file)
@@ -9921,7 +9921,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
 
         dpy = DEFAULT_GDK_DISPLAY ();
 
-#if ! GTK_PREREQ (2, 90)
+#if ! GTK_CHECK_VERSION (2, 90, 0)
         /* Load our own gtkrc if it exists.  */
         {
           const char *file = "~/.emacs.d/gtkrc";
index 7722372ce6b1e112cf89bd3c3d8a65984e87bc9d..4a5ebc663703b4f1dfa2bce61ed6d675a80ed0a1 100644 (file)
@@ -43,10 +43,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 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>
@@ -57,14 +53,26 @@ typedef GtkWidget *xt_or_gtk_widget;
 #undef XSync
 #define XSync(d, b) do { gdk_window_process_all_updates (); \
                          XSync (d, b);  } while (0)
+#endif /* USE_GTK */
+
+/* True iff GTK's version is at least I.J.K.  */
+#ifndef GTK_CHECK_VERSION
+# ifdef USE_GTK
+#  define GTK_CHECK_VERSION(i, j, k) \
+     ((i) \
+      < GTK_MAJOR_VERSION + ((j) \
+                            < GTK_MINOR_VERSION + ((k) \
+                                                   <= GTK_MICRO_VERSION)))
+# else
+#  define GTK_CHECK_VERSION(i, j, k) 0
+# endif
+#endif
 
 /* The GtkTooltip API came in 2.12, but gtk-enable-tooltips in 2.14. */
-#if GTK_PREREQ (2, 14)
+#if GTK_CHECK_VERSION (2, 14, 0)
 #define USE_GTK_TOOLTIP
 #endif
 
-#endif /* USE_GTK */
-
 \f
 /* Bookkeeping to distinguish X versions.  */