]> git.eshelyaron.com Git - emacs.git/commitdiff
Do not require libXt-devel when building with gtk.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 3 Jun 2014 19:59:55 +0000 (12:59 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 3 Jun 2014 19:59:55 +0000 (12:59 -0700)
* lwlib/lwlib-widget.h: New file, with contents taken from lwlib.h.
(widget_value) [HAVE_NTGUI]: New member 'title'.
* lwlib/lwlib.h: Include lwlib-widget.h.
(change_type, enum button_type, widget_value):
Move to lwlib-widget.h.
* src/gtkutil.h, src/menu.h: Include lwlib-widget.h, not lwlib-h, to avoid
dependency on libXt-devel.
* src/menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too.
(enum button_type, widget_value) [HAVE_NTGUI]: Remove, as
lwlib-widget.h now does this.
* src/nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.

lwlib/ChangeLog
lwlib/lwlib-widget.h [new file with mode: 0644]
lwlib/lwlib.h
src/ChangeLog
src/gtkutil.h
src/menu.h
src/nsmenu.m

index 5457b91d645a410b31ee6113a014a0fe2bac794c..daf47ce4720f87efc9d8a96af583549c7628b9a2 100644 (file)
@@ -1,3 +1,12 @@
+2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Do not require libXt-devel when building with gtk.
+       * lwlib-widget.h: New file, with contents taken from lwlib.h.
+       (widget_value) [HAVE_NTGUI]: New member 'title'.
+       * lwlib.h: Include lwlib-widget.h.
+       (change_type, enum button_type, widget_value):
+       Move to lwlib-widget.h.
+
 2014-06-03  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * xlwmenu.c (openXftFont): Do not load regular X font here.
diff --git a/lwlib/lwlib-widget.h b/lwlib/lwlib-widget.h
new file mode 100644 (file)
index 0000000..b5abb1a
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+Copyright (C) 1992, 1993 Lucid, Inc.
+Copyright (C) 1994, 1999-2014 Free Software Foundation, Inc.
+
+This file is part of the Lucid Widget Library.
+
+The Lucid Widget Library 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 1, or (at your option)
+any later version.
+
+The Lucid Widget Library 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This part is separate from lwlib.h because it does not need X,
+   and thus can be used by non-X code in Emacs proper.  */
+
+#ifndef LWLIB_WIDGET_H
+#define LWLIB_WIDGET_H
+
+typedef enum
+{
+  NO_CHANGE = 0,
+  INVISIBLE_CHANGE = 1,
+  VISIBLE_CHANGE = 2,
+  STRUCTURAL_CHANGE = 3
+} change_type;
+
+enum button_type
+{
+  BUTTON_TYPE_NONE,
+  BUTTON_TYPE_TOGGLE,
+  BUTTON_TYPE_RADIO
+};
+
+typedef struct _widget_value
+{
+  /* Name of widget.  */
+  Lisp_Object lname;
+  char *name;
+
+  /* Value (meaning depend on widget type).  */
+  char *value;
+
+  /* Keyboard equivalent. no implications for XtTranslations.  */
+  Lisp_Object lkey;
+  char *key;
+
+  /* Help string or nil if none.
+     GC finds this string through the frame's menu_bar_vector
+     or through menu_items.  */
+  Lisp_Object help;
+
+  /* True if enabled.  */
+  bool enabled;
+
+  /* True if selected.  */
+  bool selected;
+
+  /* True if was edited (maintained by get_value).  */
+  bool edited;
+
+#ifdef HAVE_NTGUI
+  /* True if menu title.  */
+  bool title;
+#endif
+
+  /* The type of a button.  */
+  enum button_type button_type;
+
+  /* Type of change (maintained by lw library).  */
+  change_type change;
+
+  /* Type of this widget's change, but not counting the other widgets
+     found in the `next' field.  */
+  change_type this_one_change;
+
+  /* Contents of the sub-widgets, also selected slot for checkbox.  */
+  struct _widget_value *contents;
+
+  /* Data passed to callback.  */
+  void *call_data;
+
+  /* Next one in the list.  */
+  struct _widget_value *next;
+
+  /* Slot for the toolkit dependent part.  Always initialize to NULL.  */
+  void *toolkit_data;
+
+  /* Whether we should free the toolkit data slot when freeing the
+     widget_value itself.  */
+  bool free_toolkit_data;
+} widget_value;
+
+#endif
index 563ade8b34dcecf63a16d860993b9ec9c495f58c..46e2d7a4891cbb10c0486d4cd0a4263ac41d2604 100644 (file)
@@ -42,22 +42,9 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 ** main:     ("name")
 */
 
-typedef unsigned long LWLIB_ID;
-
-typedef enum _change_type
-{
-  NO_CHANGE = 0,
-  INVISIBLE_CHANGE = 1,
-  VISIBLE_CHANGE = 2,
-  STRUCTURAL_CHANGE = 3
-} change_type;
+#include "lwlib-widget.h"
 
-enum button_type
-{
-  BUTTON_TYPE_NONE,
-  BUTTON_TYPE_TOGGLE,
-  BUTTON_TYPE_RADIO
-};
+typedef unsigned long LWLIB_ID;
 
 /* Menu separator types.  */
 
@@ -81,46 +68,6 @@ enum menu_separator
   SEPARATOR_SHADOW_DOUBLE_ETCHED_OUT_DASH
 };
 
-typedef struct _widget_value
-{
-  /* name of widget */
-  Lisp_Object   lname;
-  char*                name;
-  /* value (meaning depend on widget type) */
-  char*                value;
-  /* keyboard equivalent. no implications for XtTranslations */
-  Lisp_Object   lkey;
-  char*                key;
-  /* Help string or nil if none.
-     GC finds this string through the frame's menu_bar_vector
-     or through menu_items.  */
-  Lisp_Object  help;
-  /* true if enabled */
-  Boolean      enabled;
-  /* true if selected */
-  Boolean      selected;
-  /* true if was edited (maintained by get_value) */
-  Boolean      edited;
-  /* The type of a button.  */
-  enum button_type button_type;
-  /* true if has changed (maintained by lw library) */
-  change_type  change;
-  /* true if this widget itself has changed,
-     but not counting the other widgets found in the `next' field.  */
-  change_type   this_one_change;
-  /* Contents of the sub-widgets, also selected slot for checkbox */
-  struct _widget_value*        contents;
-  /* data passed to callback */
-  XtPointer    call_data;
-  /* next one in the list */
-  struct _widget_value*        next;
-  /* slot for the toolkit dependent part.  Always initialize to NULL. */
-  void* toolkit_data;
-  /* tell us if we should free the toolkit data slot when freeing the
-     widget_value itself. */
-  Boolean free_toolkit_data;
-} widget_value;
-
 
 typedef void (*lw_callback) (Widget w, LWLIB_ID id, void* data);
 
index 39dde84f645ba07f785278e6a294eef5ee6c1695..a6cbac808c2ec3854a9f216ae8f964e781d18a14 100644 (file)
@@ -1,3 +1,13 @@
+2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Do not require libXt-devel when building with gtk.
+       * gtkutil.h, menu.h: Include lwlib-widget.h, not lwlib-h, to avoid
+       dependency on libXt-devel.
+       * menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too.
+       (enum button_type, widget_value) [HAVE_NTGUI]: Remove, as
+       lwlib-widget.h now does this.
+       * nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.
+
 2014-06-03  Paul Eggert  <eggert@penguin.cs.ucla.edu>
 
        If ENABLE_CHECKING, range-check args of FD_CLR, FD_ISSET, FD_SET.
index 345b3283e6d4f29d88352116dbde34b4a88999cf..a69932cc25c56bacc84e8d27791bcd9ad6662891 100644 (file)
@@ -24,7 +24,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #ifdef USE_GTK
 
 #include <gtk/gtk.h>
-#include "../lwlib/lwlib.h"
+#include "../lwlib/lwlib-widget.h"
 #include "frame.h"
 #include "xterm.h"
 
index d71989ea1ef07cf89db6c0f948aa661800465d93..266a471bc3800e53fa59e9e3fd49c031bec70d39 100644 (file)
@@ -20,52 +20,9 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define MENU_H
 
 #include "systime.h" /* for Time */
-#if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (HAVE_NS)
-#include "../lwlib/lwlib.h" /* for widget_value */
-#endif
+#include "../lwlib/lwlib-widget.h"
 
 #ifdef HAVE_NTGUI
-/* This is based on the one in ../lwlib/lwlib.h, with unused portions
-   removed.  HAVE_NTGUI cannot include lwlib.h, as that pulls in X11
-   headers.  */
-
-enum button_type
-{
-  BUTTON_TYPE_NONE,
-  BUTTON_TYPE_TOGGLE,
-  BUTTON_TYPE_RADIO
-};
-
-typedef struct _widget_value
-{
-  /* name of widget */
-  Lisp_Object   lname;
-  const char*   name;
-  /* value (meaning depend on widget type) */
-  const char*   value;
-  /* keyboard equivalent. no implications for XtTranslations */
-  Lisp_Object   lkey;
-  const char*   key;
-  /* Help string or nil if none.
-     GC finds this string through the frame's menu_bar_vector
-     or through menu_items.  */
-  Lisp_Object   help;
-  /* true if enabled */
-  unsigned char enabled;
-  /* true if selected */
-  unsigned char selected;
-  /* The type of a button.  */
-  enum button_type button_type;
-  /* true if menu title */
-  unsigned char title;
-  /* Contents of the sub-widgets, also selected slot for checkbox */
-  struct _widget_value* contents;
-  /* data passed to callback */
-  void  *call_data;
-  /* next one in the list */
-  struct _widget_value* next;
-} widget_value;
-
 extern Lisp_Object Qunsupported__w32_dialog;
 #endif
 
index e5f0b7668bc6c54b3e3c739936bd5ffe4b272767..46b7400b2e41290588a1075006b59e7848510e0f 100644 (file)
@@ -943,7 +943,7 @@ ns_menu_show (struct frame *f, int x, int y, bool for_click, bool keymaps,
            }
 #endif /* not HAVE_MULTILINGUAL_MENU */
 
-         wv = make_widget_value (SSDATA (item_name), NULL, !NILP (enabled),
+         wv = make_widget_value (SSDATA (item_name), NULL, !NILP (enable),
                                  STRINGP (help) ? help : Qnil);
          if (prev_wv)
            prev_wv->next = wv;