]> git.eshelyaron.com Git - emacs.git/commitdiff
Modernize to C89, for better static checking.
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 16 Apr 2011 08:25:42 +0000 (01:25 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 16 Apr 2011 08:25:42 +0000 (01:25 -0700)
* Activate.c (XMenuActivate): Callback's first arg is readonly.
* AddPane.c (XMenuAddPane): Label is readonly.  Rename local
to avoid shadowing.
* AddSel.c (XMenuAddSelection): Help arg is readonly.  Rename local.
* Create.c (atoi, atof): Remove decls; include <stdlib.h>.
(MAX_INACT_PNUM, TILE_BUF_SIZE): Remove; unused.
(x_get_resource_string): Args are readonly.
(XAllocDisplayColor): colorName is readonly.
(XMenuCreate): def_env is readonly.  Remove unused locals.  Avoid
"else;".
* Destroy.c (XMenuDestroy): Return void.
* Error.c (XMenuError): Remove const pointer.
* EvHand.c (XMenuEventHandler): Return void.
* FindPane.c, FindSel.c: Include <string.h>.
* InsPane.c (XMenuInsertPane): Rename local to avoid shadowing.
* InsSel.c (XMenuInsertSelection): Likewise.
* Internal.c (toggle_color, BUFFER_SIZE): Remove; unused.
(_XMErrorList): Now const.
(_XMWinQueInit, _XMRecomputeGlobals, _XMTransToOrigin, _XMRefreshPane):
(_XMRefreshSelection): Return void.
(_XMWinQueFlush, _XMRefreshSelection): Rename locals to avoid
shadowing.
(_XMWinQueFlush): Use stack, not heap.  Don't use uninitialized var.
* SetAEQ.c (XMenuSetAEQ): Now returns void.
* SetFrz.c (XMenuSetFreeze): Likewise.
* X10.h (XAssoc): Use void * for generic pointer.
* XDelAssoc.c: Include XMenuInt.h rather than duplicating part of it.
* XDestAssoc.c, XMakeAssoc.c: Likewise.
* XDestAssoc.c (XDestroyAssocTable): Return void.
* XMakeAssoc.c (XMakeAssoc): Use void * for generic pointer.
* XMenu.h, XMenuInt.h: Adjust to signature changes.  Use const
for pointers to readonly storage.
* insque.c: Include XMenuInt.h, to check our own signature.
(emacs_insque, emacs_remque): Use void * for generic pointers.

22 files changed:
oldXMenu/Activate.c
oldXMenu/AddPane.c
oldXMenu/AddSel.c
oldXMenu/ChangeLog
oldXMenu/Create.c
oldXMenu/Destroy.c
oldXMenu/Error.c
oldXMenu/EvHand.c
oldXMenu/FindPane.c
oldXMenu/FindSel.c
oldXMenu/InsPane.c
oldXMenu/InsSel.c
oldXMenu/Internal.c
oldXMenu/SetAEQ.c
oldXMenu/SetFrz.c
oldXMenu/X10.h
oldXMenu/XDelAssoc.c
oldXMenu/XDestAssoc.c
oldXMenu/XMakeAssoc.c
oldXMenu/XMenu.h
oldXMenu/XMenuInt.h
oldXMenu/insque.c

index 42eb33d208a7c511bc436eb982fdde986a2386e4..fef8a3b6b2592b587b8758bada62169e29844b9f 100644 (file)
@@ -122,7 +122,7 @@ XMenuActivate(
     int y_pos,                         /* Y coordinate of menu position. */
     unsigned int event_mask,           /* Mouse button event mask. */
     char **data,                       /* Pointer to return data value. */
-    void (* help_callback) (char *, int, int)) /* Help callback.  */
+    void (*help_callback) (char const *, int, int)) /* Help callback.  */
 {
     int status;                                /* X routine call status. */
     int orig_x;                                /* Upper left menu origin X coord. */
index 67900a6bc76658ed12586360961853f8f6345c3a..36b57fe8da6585d06de311af205588f57c537074 100644 (file)
 #include "XMenuInt.h"
 
 int
-XMenuAddPane(Display *display, register XMenu *menu, register char *label, int active)
-                     
+XMenuAddPane(Display *display, register XMenu *menu, register char const *label, int active)
+
                                /* Menu object to be modified. */
                                /* Selection label. */
                                        /* Make selection active? */
 {
     register XMPane *pane;     /* Newly created pane. */
-    register XMSelect *select; /* Initial selection for the new pane. */
+    register XMSelect *sel;    /* Initial selection for the new pane. */
 
     int label_length;          /* Label length in characters. */
     int label_width;           /* Label width in pixels. */
@@ -44,8 +44,8 @@ XMenuAddPane(Display *display, register XMenu *menu, register char *label, int a
        _XMErrorCode = XME_CALLOC;
        return(XM_FAILURE);
     }
-    select = (XMSelect *)calloc(1, sizeof(XMSelect));
-    if (select == NULL) {
+    sel = (XMSelect *)calloc(1, sizeof(XMSelect));
+    if (sel == NULL) {
        _XMErrorCode = XME_CALLOC;
        return(XM_FAILURE);
     }
@@ -62,11 +62,11 @@ XMenuAddPane(Display *display, register XMenu *menu, register char *label, int a
      * Set up the initial selection.
      * Values not explicitly set are zeroed by calloc.
      */
-    select->next = select;
-    select->prev = select;
-    select->type = SL_HEADER;
-    select->serial = -1;
-    select->parent_p = pane;
+    sel->next = sel;
+    sel->prev = sel;
+    sel->type = SL_HEADER;
+    sel->serial = -1;
+    sel->parent_p = pane;
 
     /*
      * Fill the XMPane structure.
@@ -78,7 +78,7 @@ XMenuAddPane(Display *display, register XMenu *menu, register char *label, int a
     pane->label = label;
     pane->label_width = label_width;
     pane->label_length = label_length;
-    pane->s_list = select;
+    pane->s_list = sel;
 
     /*
      * Insert the pane at the end of the pane list.
@@ -101,4 +101,3 @@ XMenuAddPane(Display *display, register XMenu *menu, register char *label, int a
     _XMErrorCode = XME_NO_ERROR;
     return((menu->p_count - 1));
 }
-
index 9183aba7e8e456a87e5b99e0904f74c5cae6a5a8..9bbcf71cd3c7656f5e9cdcc0c7e9999848af6517 100644 (file)
@@ -17,8 +17,8 @@
 #include "XMenuInt.h"
 
 int
-XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, char *data, char *label, int active, char *help)
-                     
+XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, char *data, char *label, int active, char const *help)
+
                                /* Menu object to be modified. */
                                        /* Pane number to be modified. */
                                        /* Data value. */
@@ -27,7 +27,7 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
                                        /* Help string */
 {
     register XMPane *pane;     /* Pane containing the new selection. */
-    register XMSelect *select; /* Newly created selection. */
+    register XMSelect *sel;    /* Newly created selection. */
 
 
     int label_length;          /* Label lenght in characters. */
@@ -49,8 +49,8 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
     /*
      * Calloc the XMSelect structure.
      */
-    select = (XMSelect *)calloc(1, sizeof(XMSelect));
-    if (select == NULL) {
+    sel = (XMSelect *)calloc(1, sizeof(XMSelect));
+    if (sel == NULL) {
        _XMErrorCode = XME_CALLOC;
        return(XM_FAILURE);
     }
@@ -65,27 +65,27 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
      */
     if (!strcmp (label, "--") || !strcmp (label, "---"))
       {
-       select->type = SEPARATOR;
-       select->active = 0;
+       sel->type = SEPARATOR;
+       sel->active = 0;
       }
     else
       {
-       select->type = SELECTION;
-       select->active = active;
+       sel->type = SELECTION;
+       sel->active = active;
       }
 
-    select->serial = -1;
-    select->label = label;
-    select->label_width = label_width;
-    select->label_length = label_length;
-    select->data = data;
-    select->parent_p = pane;
-    select->help_string = help;
+    sel->serial = -1;
+    sel->label = label;
+    sel->label_width = label_width;
+    sel->label_length = label_length;
+    sel->data = data;
+    sel->parent_p = pane;
+    sel->help_string = help;
 
     /*
      * Insert the selection at the end of the selection list.
      */
-    emacs_insque(select, pane->s_list->prev);
+    emacs_insque(sel, pane->s_list->prev);
 
     /*
      * Update the selection count.
@@ -103,4 +103,3 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
     _XMErrorCode = XME_NO_ERROR;
     return((pane->s_count - 1));
 }
-
index f0e650ab4b3ca40925753f2ef0e9ed93acc8a799..9dd6cc954d57dc5dd8e73223999d95e86ac2b366 100644 (file)
@@ -1,3 +1,41 @@
+2011-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Modernize to C89, for better static checking.
+       * Activate.c (XMenuActivate): Callback's first arg is readonly.
+       * AddPane.c (XMenuAddPane): Label is readonly.  Rename local
+       to avoid shadowing.
+       * AddSel.c (XMenuAddSelection): Help arg is readonly.  Rename local.
+       * Create.c (atoi, atof): Remove decls; include <stdlib.h>.
+       (MAX_INACT_PNUM, TILE_BUF_SIZE): Remove; unused.
+       (x_get_resource_string): Args are readonly.
+       (XAllocDisplayColor): colorName is readonly.
+       (XMenuCreate): def_env is readonly.  Remove unused locals.  Avoid
+       "else;".
+       * Destroy.c (XMenuDestroy): Return void.
+       * Error.c (XMenuError): Remove const pointer.
+       * EvHand.c (XMenuEventHandler): Return void.
+       * FindPane.c, FindSel.c: Include <string.h>.
+       * InsPane.c (XMenuInsertPane): Rename local to avoid shadowing.
+       * InsSel.c (XMenuInsertSelection): Likewise.
+       * Internal.c (toggle_color, BUFFER_SIZE): Remove; unused.
+       (_XMErrorList): Now const.
+       (_XMWinQueInit, _XMRecomputeGlobals, _XMTransToOrigin, _XMRefreshPane):
+       (_XMRefreshSelection): Return void.
+       (_XMWinQueFlush, _XMRefreshSelection): Rename locals to avoid
+       shadowing.
+       (_XMWinQueFlush): Use stack, not heap.  Don't use uninitialized var.
+       * SetAEQ.c (XMenuSetAEQ): Now returns void.
+       * SetFrz.c (XMenuSetFreeze): Likewise.
+       * X10.h (XAssoc): Use void * for generic pointer.
+       * XDelAssoc.c: Include XMenuInt.h rather than duplicating part of it.
+       * XDestAssoc.c, XMakeAssoc.c: Likewise.
+       * XDestAssoc.c (XDestroyAssocTable): Return void.
+       * XMakeAssoc.c (XMakeAssoc): Use void * for generic pointer.
+       * XMenu.h, XMenuInt.h: Adjust to signature changes.  Use const
+       for pointers to readonly storage.
+       * insque.c: Include XMenuInt.h, to check our own signature.
+       (emacs_insque, emacs_remque): Use void * for generic pointers.
+
 2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 
        * Version 23.3 released.
index 8354208773f391767b3bfa408bbab714ba5e863a..25f1f1c3381f6ae47a9c7ac043b7c33874ba54ab 100644 (file)
@@ -31,7 +31,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 #include "XMenuInt.h"
-
+#include <stdlib.h>
 
 #ifdef EMACS_BITMAP_FILES
 #include "../src/bitmaps/dimple1.xbm"
@@ -71,7 +71,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #define DEF_MENU_STYLE         LEFT
 #define DEF_MENU_MODE          BOX
 #define DEF_INACT_PNUM         3
-#define MAX_INACT_PNUM         4
 
 #define DEF_P_STYLE            CENTER
 
@@ -88,16 +87,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define XASSOC_TABLE_SIZE      64
 
-#define TILE_BUF_SIZE          5
-
-int atoi(const char *);
-double atof(const char *);
-char *x_get_resource_string (char *attribute, char *class);
+char *x_get_resource_string (char const *, char const *);
 
 
 
 static Status
-XAllocDisplayColor(Display *display, Colormap map, char *colorName, XColor *color, XColor *junk)
+XAllocDisplayColor(Display *display, Colormap map, char const *colorName,
+                  XColor *color, XColor *junk)
 {
   return (colorName!=0 &&
          XParseColor(display, map, colorName, color) &&
@@ -106,13 +102,11 @@ XAllocDisplayColor(Display *display, Colormap map, char *colorName, XColor *colo
 
 
 XMenu *
-XMenuCreate(Display *display, Window parent, register char *def_env)
+XMenuCreate(Display *display, Window parent, register char const *def_env)
                                 /* ID of previously opened display */
                                /* Window ID of the menu's parent window. */
                                /* X Defaults program environment name. */
 {
-  register int i;              /* Loop counter. */
-  register int j;              /* Loop counter. */
   register char *def_val;      /* X Default value temp variable. */
 
   register XMenu *menu;                /* Pointer to the new menu. */
@@ -125,7 +119,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
   int reverse;                 /* Reverse video mode. */
 
   XMStyle p_style;             /* Pane display style. */
-  char *p_fnt_name;            /* Flag font name. */
+  char const *p_fnt_name;      /* Flag font name. */
   XFontStruct *p_fnt_info;     /* Flag font structure */
   int p_fnt_pad;               /* Flag font padding in pixels. */
   double p_spread;             /* Pane spread in flag height fractions. */
@@ -138,7 +132,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
   GC pane_GC;                  /* Pane graphics context. */
 
   XMStyle s_style;             /* Selection display style. */
-  char *s_fnt_name;            /* Selection font name. */
+  char const *s_fnt_name;      /* Selection font name. */
   XFontStruct *s_fnt_info;     /* Selection font structure. */
   int s_fnt_pad;               /* Selection font padding in pixels. */
   int s_fnt_height;            /* Selection font character height */
@@ -151,10 +145,8 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
   GC inverse_select_GC;                /* GC used for inverse video selection. */
   GC inact_GC;                 /* GC for inactive pane header and */
   /* selections. */
-  GC inact_GC_noexpose;
 
   XColor color_def;            /* Temp color definition holder. */
-  XColor screen_def;           /* Temp screen color definition holder */
   XColor p_bdr_color;          /* Color of border. */
   XColor s_bdr_color;          /* Color of highlight. */
   XColor p_frg_color;          /* Color of pane foreground color. */
@@ -166,17 +158,6 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
 
   int inact_pnum;              /* Inactive background pattern number. */
 
-  Pixel p_bdr_pixel;           /* Pane border pixel. */
-  Pixel s_bdr_pixel;           /* Selection border pixel. */
-  Pixel p_frg_pixel;           /* Pane foreground pixel. */
-  Pixel s_frg_pixel;           /* Selection foreground pixel. */
-  Pixel bkgnd_pixel;           /* Menu background pixel. */
-
-  int *width, *height;
-  Pixmap *bitmap;
-  int *x_hot, *y_hot;
-  int status;                  /* Return code from XReadBitmapFile. */
-
   Pixmap cursor;               /* Cursor pixmap holder. */
   Pixmap cursor_mask;          /* Cursor mask pixmap holder. */
   Pixmap stipple_pixmap;       /* Stipple mask for half-tone text. */
@@ -282,7 +263,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
                              &mouse_color, &color_def)
           );
 
-  else ;
+  else {}
 
   def_val = x_get_resource_string ("menuBackground", "MenuBackground");
   if (
@@ -304,7 +285,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
                              "white",
                              &bkgnd_color, &color_def)
           );
-  else;
+  else {}
 
   def_val = x_get_resource_string ("menuInactivePattern", "MenuInactivePattern");
   if (def_val != NULL) {
@@ -401,7 +382,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
                              "black",
                              &s_frg_color, &color_def)
           ) ;
-  else ;
+  else {}
 
 
   def_val = x_get_resource_string ("selectionBorder", "SelectionBorder");
@@ -424,7 +405,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
                              "black",
                              &s_bdr_color, &color_def)
           ) ;
-  else ;
+  else {}
 
   def_val = x_get_resource_string ("selectionBorderWidth", "SelectionBorderWidth");
   if (def_val != NULL) s_bdr_width = atoi(def_val);
@@ -681,9 +662,6 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
 
   valuemask |= (GCGraphicsExposures);
   values->graphics_exposures = False;
-  inact_GC_noexpose = XCreateGC (display,
-                                root,
-                                valuemask, values);
 
 
   /*
@@ -752,4 +730,3 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
   _XMErrorCode = XME_NO_ERROR;
   return(menu);
 }
-
index 6a379609ad07efcec9e7266609b57f2134b9a96f..7f0f6146316510cece08094abf4c92c6aefd95ff 100644 (file)
@@ -15,8 +15,9 @@
 
 #include "XMenuInt.h"
 
+void
 XMenuDestroy(Display *display, register XMenu *menu)
-                     
+
                                /* Menu object to destroy. */
 {
     register XMPane *p_ptr;    /* Pointer to the current pane. */
@@ -114,4 +115,3 @@ XMenuDestroy(Display *display, register XMenu *menu)
      */
     free(menu);
 }
-
index 99f5eb6500d0a98bee420ad88237eb77a4a60dd5..01738458b6acd671a5268d2f06cf5334313d6eb5 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "XMenuInt.h"
 
-char *
+char const *
 XMenuError(void)
 {
     static char message[128];          /* Error message buffer. */
@@ -27,4 +27,3 @@ XMenuError(void)
     sprintf(message, "Unknown _XMErrorCode: %d", _XMErrorCode);
     return(message);
 }
-
index 5ee6877374bcd65a6086a0e745a975d02d4f4d0f..bd15359d9199ea58e7776f8a8896699576390b8d 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "XMenuInt.h"
 
+void
 XMenuEventHandler(int (*handler) (XEvent*))
 {
     /*
@@ -22,4 +23,3 @@ XMenuEventHandler(int (*handler) (XEvent*))
      */
     _XMEventHandler = handler;
 }
-
index 022e7619034572f20728bea01cd6e61a067b3250..8101d009a2fb8b83e7ef9216a9ba56d7060ab7c7 100644 (file)
@@ -15,6 +15,7 @@
  */
 
 #include "XMenuInt.h"
+#include <string.h>
 
 int
 XMenuFindPane(register XMenu *menu, register char *label)
@@ -60,4 +61,3 @@ XMenuFindPane(register XMenu *menu, register char *label)
     _XMErrorCode = XME_P_NOT_FOUND;
     return (XM_FAILURE);
 }
-
index 72ee142dc80a07ff10d30be8407e2ac31b626cd6..fbf235c463d5d46035619dc27cb1ac911844b3f5 100644 (file)
@@ -31,6 +31,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "XMenuInt.h"
+#include <string.h>
 
 int
 XMenuFindSelection(register XMenu *menu, int p_num, register char *label)
@@ -83,4 +84,3 @@ XMenuFindSelection(register XMenu *menu, int p_num, register char *label)
     _XMErrorCode = XME_S_NOT_FOUND;
     return (XM_FAILURE);
 }
-
index c1993f5bfdaf6fbd7e363b6578569411fca5091b..bdbadbf1226e88db9226cb41fb45ad1da1e09647 100644 (file)
@@ -26,7 +26,7 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
 {
     register XMPane *p_ptr;    /* XMPane pointer. */
     register XMPane *pane;     /* Newly created pane. */
-    register XMSelect *select; /* Initial selection for the new pane. */
+    register XMSelect *sel;    /* Initial selection for the new pane. */
 
     int label_length;          /* Label length in characters. */
     int label_width;           /* Label width in pixels. */
@@ -54,8 +54,8 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
        _XMErrorCode = XME_CALLOC;
        return(XM_FAILURE);
     }
-    select = (XMSelect *)calloc(1, sizeof(XMSelect));
-    if (select == NULL) {
+    sel = (XMSelect *)calloc(1, sizeof(XMSelect));
+    if (sel == NULL) {
        _XMErrorCode = XME_CALLOC;
        return(XM_FAILURE);
     }
@@ -70,11 +70,11 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
      * Set up the initial selection.
      * Values not explicitly set are zeroed by calloc.
      */
-    select->next = select;
-    select->prev = select;
-    select->type = SL_HEADER;
-    select->serial = -1;
-    select->parent_p = pane;
+    sel->next = sel;
+    sel->prev = sel;
+    sel->type = SL_HEADER;
+    sel->serial = -1;
+    sel->parent_p = pane;
 
     /*
      * Fill the XMPane structure.
@@ -85,7 +85,7 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
     pane->label = label;
     pane->label_width = label_width;
     pane->label_length = label_length;
-    pane->s_list = select;
+    pane->s_list = sel;
 
     /*
      * Insert the pane after the pane with the pane
@@ -110,4 +110,3 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
     _XMErrorCode = XME_NO_ERROR;
     return(p_num);
 }
-
index be0e43e0cb91f348e71c6d913c6b33548f282b1b..5db285f64084ebbe167bbff8b0b1aba7b4f0ab16 100644 (file)
@@ -28,7 +28,7 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
     register XMPane *p_ptr;    /* XMPane pointer. */
     register XMSelect *s_ptr;  /* XMSelect pointer. */
 
-    XMSelect *select;          /* Newly created selection. */
+    XMSelect *sel;             /* Newly created selection. */
 
     int label_length;          /* Label length in characters. */
     int label_width;           /* Label width in pixels. */
@@ -57,8 +57,8 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
     /*
      * Calloc the XMSelect structure.
      */
-    select = (XMSelect *)calloc(1, sizeof(XMSelect));
-    if (select == NULL) {
+    sel = (XMSelect *)calloc(1, sizeof(XMSelect));
+    if (sel == NULL) {
        _XMErrorCode = XME_CALLOC;
        return(XM_FAILURE);
     }
@@ -75,28 +75,28 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
      */
     if (!strcmp (label, "--") || !strcmp (label, "---"))
       {
-       select->type = SEPARATOR;
-       select->active = 0;
+       sel->type = SEPARATOR;
+       sel->active = 0;
       }
     else
       {
-       select->type = SELECTION;
-       select->active = active;
+       sel->type = SELECTION;
+       sel->active = active;
       }
 
-    select->active = active;
-    select->serial = -1;
-    select->label = label;
-    select->label_width = label_width;
-    select->label_length = label_length;
-    select->data = data;
-    select->parent_p = p_ptr;
+    sel->active = active;
+    sel->serial = -1;
+    sel->label = label;
+    sel->label_width = label_width;
+    sel->label_length = label_length;
+    sel->data = data;
+    sel->parent_p = p_ptr;
 
     /*
      * Insert the selection after the selection with the selection
      * number one less than the desired number for the new selection.
      */
-    emacs_insque(select, s_ptr);
+    emacs_insque(sel, s_ptr);
 
     /*
      * Update the selection count.
@@ -114,4 +114,3 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
     _XMErrorCode = XME_NO_ERROR;
     return(s_num);
 }
-
index 23b54493e23d86799f5794a74c3b402ecd45da26..102de9d7a564a20f25e991ab24baa0ad8eb7329c 100644 (file)
@@ -32,18 +32,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #include <config.h>
 #include "XMenuInt.h"
 
-/*
- * Toggle color macro.
- */
-#define toggle_color(x) \
-       ((x) == menu->bkgnd_color ? menu->s_frg_color : menu->bkgnd_color)
-
 /*
  * Internal Window creation queue sizes.
  */
 #define S_QUE_SIZE     300
 #define P_QUE_SIZE     20
-#define BUFFER_SIZE    (S_QUE_SIZE >= P_QUE_SIZE ? S_QUE_SIZE : P_QUE_SIZE)
 
 
 /*
@@ -71,7 +64,7 @@ int _XMErrorCode = XME_NO_ERROR;
 /*
  * _XMErrorList - Global XMenu error code description strings.
  */
-char *
+char const *const
 _XMErrorList[XME_CODE_COUNT] = {
     "No error",                                /* XME_NO_ERROR */
     "Menu not initialized",            /* XME_NOT_INIT */
@@ -103,6 +96,7 @@ int (*_XMEventHandler)(XEvent*) = NULL;
  * _XMWinQueInit - Internal routine to initialize the window
  *                queue.
  */
+void
 _XMWinQueInit(void)
 {
     /*
@@ -138,7 +132,7 @@ _XMWinQueInit(void)
  */
 int
 _XMWinQueAddPane(register Display *display, register XMenu *menu, register XMPane *p_ptr)
-                              
+
                                /* Menu being manipulated. */
                                /* XMPane being queued. */
 {
@@ -172,7 +166,7 @@ _XMWinQueAddPane(register Display *display, register XMenu *menu, register XMPan
  */
 int
 _XMWinQueAddSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr)
-                              
+
                                /* Menu being manipulated. */
                                /* XMSelection being queued. */
 {
@@ -205,8 +199,8 @@ _XMWinQueAddSelection(register Display *display, register XMenu *menu, register
  *                 selection window queues.
  */
 int
-_XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane *pane, XMSelect *select)
-                              
+_XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane *pane, XMSelect *sel)
+
                                        /* Menu being manipulated. */
                                        /* Current pane. */
 {
@@ -215,7 +209,8 @@ _XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane
     register XMPane *p_ptr;            /* XMPane pointer. */
     register XMSelect *s_ptr;          /* XMSelect pointer. */
     unsigned long valuemask;           /* Which attributes to set. */
-    XSetWindowAttributes *attributes;  /* Attributes to be set. */
+    XSetWindowAttributes attributes_buf; /* Attributes to be set. */
+    XSetWindowAttributes *attributes = &attributes_buf;
 
     /*
      * If the pane window queue is not empty...
@@ -226,7 +221,6 @@ _XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane
         * set up attributes for pane window to be created.
         */
        valuemask = (CWBackPixmap | CWBorderPixel | CWOverrideRedirect);
-       attributes = (XSetWindowAttributes *)malloc(sizeof(XSetWindowAttributes));
        attributes->border_pixel = menu->p_bdr_color;
        attributes->background_pixmap = menu->inact_pixmap;
        attributes->override_redirect = True;
@@ -415,6 +409,7 @@ _XMGetSelectionPtr(register XMPane *p_ptr, register int s_num)
  * _XMRecomputeGlobals - Internal subroutine to recompute menu wide
  *                      global values.
  */
+void
 _XMRecomputeGlobals(register Display *display, register XMenu *menu)
                                /*X11 display variable. */
                                /* Menu object to compute from. */
@@ -681,7 +676,7 @@ _XMRecomputePane(register Display *display, register XMenu *menu, register XMPan
  */
 int
 _XMRecomputeSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr, register int s_num)
-                              
+
                                /* Menu object being recomputed. */
                                /* Selection pointer. */
                                        /* Selection sequence number. */
@@ -810,6 +805,7 @@ _XMRecomputeSelection(register Display *display, register XMenu *menu, register
  *                     recomputed before calling this routine or
  *                     unpredictable results will follow.
  */
+void
 _XMTransToOrigin(Display *display, register XMenu *menu, register XMPane *p_ptr, register XMSelect *s_ptr, int x_pos, int y_pos, int *orig_x, int *orig_y)
                                /* Not used. Included for consistency. */
                                /* Menu being computed against. */
@@ -870,6 +866,7 @@ _XMTransToOrigin(Display *display, register XMenu *menu, register XMPane *p_ptr,
  * _XMRefreshPane - Internal subroutine to completely refresh
  *                 the contents of a pane.
  */
+void
 _XMRefreshPane(register Display *display, register XMenu *menu, register XMPane *pane)
 {
     register XMSelect *s_list = pane->s_list;
@@ -937,34 +934,35 @@ _XMRefreshPane(register Display *display, register XMenu *menu, register XMPane
  * _XMRefreshSelection - Internal subroutine that refreshes
  *                      a single selection window.
  */
-_XMRefreshSelection(register Display *display, register XMenu *menu, register XMSelect *select)
+void
+_XMRefreshSelection(register Display *display, register XMenu *menu, register XMSelect *sel)
 {
-    register int width = select->window_w;
-    register int height = select->window_h;
+    register int width = sel->window_w;
+    register int height = sel->window_h;
     register int bdr_width = menu->s_bdr_width;
 
-    if (select->type == SEPARATOR) {
+    if (sel->type == SEPARATOR) {
         XDrawLine(display,
-                  select->parent_p->window,
+                  sel->parent_p->window,
                   menu->normal_select_GC,
-                  select->window_x,
-                  select->window_y + height / 2,
-                  select->window_x + width,
-                  select->window_y + height / 2);
+                  sel->window_x,
+                  sel->window_y + height / 2,
+                  sel->window_x + width,
+                  sel->window_y + height / 2);
     }
-    else if (select->activated) {
+    else if (sel->activated) {
        if (menu->menu_mode == INVERT) {
            XFillRectangle(display,
-                          select->parent_p->window,
+                          sel->parent_p->window,
                           menu->normal_select_GC,
-                          select->window_x, select->window_y,
+                          sel->window_x, sel->window_y,
                           width, height);
            XDrawString(display,
-                       select->parent_p->window,
+                       sel->parent_p->window,
                        menu->inverse_select_GC,
-                       select->label_x,
-                       select->label_y,
-                       select->label, select->label_length);
+                       sel->label_x,
+                       sel->label_y,
+                       sel->label, sel->label_length);
        }
         else {
             /*
@@ -975,42 +973,41 @@ _XMRefreshSelection(register Display *display, register XMenu *menu, register XM
              */
 
            XDrawRectangle(display,
-                          select->parent_p->window,
+                          sel->parent_p->window,
                           menu->normal_select_GC,
-                          select->window_x + (bdr_width >> 1),
-                          select->window_y + (bdr_width >> 1 ),
+                          sel->window_x + (bdr_width >> 1),
+                          sel->window_y + (bdr_width >> 1 ),
                           width - bdr_width,
                           height - bdr_width);
            XDrawString(display,
-                       select->parent_p->window,
+                       sel->parent_p->window,
                        menu->normal_select_GC,
-                       select->label_x,
-                       select->label_y,
-                       select->label, select->label_length);
+                       sel->label_x,
+                       sel->label_y,
+                       sel->label, sel->label_length);
         }
     }
     else {
        XClearArea(display,
-                  select->parent_p->window,
-                  select->window_x, select->window_y,
+                  sel->parent_p->window,
+                  sel->window_x, sel->window_y,
                   width, height,
                   False);
-       if (select->active) {
+       if (sel->active) {
            XDrawString(display,
-                       select->parent_p->window,
+                       sel->parent_p->window,
                        menu->normal_select_GC,
-                       select->label_x,
-                       select->label_y,
-                       select->label, select->label_length);
+                       sel->label_x,
+                       sel->label_y,
+                       sel->label, sel->label_length);
        }
        else {
            XDrawString(display,
-                       select->parent_p->window,
+                       sel->parent_p->window,
                        menu->inact_GC,
-                       select->label_x,
-                       select->label_y,
-                       select->label, select->label_length);
+                       sel->label_x,
+                       sel->label_y,
+                       sel->label, sel->label_length);
        }
     }
 }
-
index f4d51d24bec17b28149a3c2bcf3b92d67a1de124..ee2d64b8806b20b311fdbb8a96de8181fd2dcb4d 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "XMenuInt.h"
 
+void
 XMenuSetAEQ(register XMenu *menu, register int aeq)
                                /* Menu object to be modified. */
                                /* AEQ mode? */
@@ -27,4 +28,3 @@ XMenuSetAEQ(register XMenu *menu, register int aeq)
      */
     menu->aeq = aeq;
 }
-
index b16c659ed572cccd9d9b01a9b15d1facd4db605a..c8998eeb66bdb37a2842a42e227d4256f3190b4c 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "XMenuInt.h"
 
+void
 XMenuSetFreeze(register XMenu *menu, register int freeze)
                                /* Menu object to be modified. */
                                /* Freeze mode? */
@@ -26,4 +27,3 @@ XMenuSetFreeze(register XMenu *menu, register int freeze)
      */
     menu->freeze = freeze;
 }
-
index 6b0626f212c3a39f66f309c31025abfcb94b0935..c30632b9d68c0031f1785571a9da2ffbb5019a19 100644 (file)
@@ -54,7 +54,7 @@ typedef struct _XAssoc {
        struct _XAssoc *prev;   /* Previous obejct in this bucket. */
        Display *display;       /* Display which owns the id. */
        XID x_id;               /* X Window System id. */
-       char *data;             /* Pointer to untyped memory. */
+       void *data;             /* Pointer to untyped memory. */
 } XAssoc;
 
 /*
@@ -75,4 +75,3 @@ XAssocTable *XCreateAssocTable(int size);
 char *XLookUpAssoc(Display *dpy, XAssocTable *table, XID x_id);
 
 #endif /* _X10_H_ */
-
index 018c71c3a3e269139f0c6b582e01c9b87e2b484a..ec1d09d46ec09b43c89a32e9bbba101fcff76b6a 100644 (file)
@@ -2,15 +2,7 @@
 
 #include "copyright.h"
 
-
-#include <X11/Xlib.h>
-#include "X10.h"
-struct qelem {
-       struct    qelem *q_forw;
-       struct    qelem *q_back;
-       char q_data[1];
-};
-void emacs_remque(struct qelem*);
+#include "XMenuInt.h"
 
 /*
  * XDeleteAssoc - Delete an association in an XAssocTable keyed on
@@ -56,4 +48,3 @@ XDeleteAssoc(register Display *dpy, register XAssocTable *table, register XID x_
        /* It is apparently not in the table. */
        return;
 }
-
index 135b0c2cdaff645032bdaf2708e3472b9bbb883b..94c0454756ad47a10116258620f882ba88f5bd21 100644 (file)
@@ -2,14 +2,13 @@
 
 #include "copyright.h"
 
-
-#include <X11/Xlib.h>
-#include "X10.h"
+#include "XMenuInt.h"
 
 /*
  * XDestroyAssocTable - Destroy (free the memory associated with)
  * an XAssocTable.
  */
+void
 XDestroyAssocTable(register XAssocTable *table)
 {
        register int i;
@@ -35,4 +34,3 @@ XDestroyAssocTable(register XAssocTable *table)
        /* Free the table. */
        free((char *)table);
 }
-
index 3626eb01f5245c0332454b1549df6d69e13b57a2..143b2641112e243b0c4551009e2ed21d376855c0 100644 (file)
@@ -4,22 +4,14 @@
 
 
 #include <config.h>
-#include <X11/Xlib.h>
+#include "XMenuInt.h"
 #include <X11/Xresource.h>
-#include "X10.h"
 #include <errno.h>
 
 #ifndef NULL
 #define NULL 0
 #endif
 
-struct qelem {
-       struct    qelem *q_forw;
-       struct    qelem *q_back;
-       char q_data[1];
-};
-void emacs_insque (struct qelem *elem, struct qelem *prev);
-
 /*
  * XMakeAssoc - Insert data into an XAssocTable keyed on an XId.
  * Data is inserted into the table only once.  Redundant inserts are
@@ -27,7 +19,7 @@ void emacs_insque (struct qelem *elem, struct qelem *prev);
  * bucket is sorted (lowest XId to highest XId).
  */
 void
-XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id, register caddr_t data)
+XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id, register void *data)
 {
        int hash;
        register XAssoc *bucket;
@@ -85,4 +77,3 @@ XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id
        /* Insert the new entry. */
        emacs_insque((struct qelem *)new_entry, (struct qelem *)Entry->prev);
 }
-
index b94c6c3cede8cb5d04cf9bba5172daeaf86583e4..bf1e77b5ff794cac18302e647dc3c24f4c79cd6d 100644 (file)
@@ -54,7 +54,7 @@
  * XMenu error code and error list definitions.
  */
 extern int _XMErrorCode;
-extern char *_XMErrorList[];
+extern char const *const _XMErrorList[];
 
 /*
  * Define the XMWindow datatypes.
@@ -106,7 +106,7 @@ typedef struct _xmpane {
     int active;                        /* Window active? */
     int activated;             /* Window activated? */
     int serial;                        /* -- Pane serial number. */
-    char *label;               /* -- Pane label. */
+    char const *label;         /* -- Pane label. */
     int label_width;           /* -- Pane label width in pixels. */
     int label_length;          /* -- Pane label length in chars. */
     int label_x;               /* -- Pane label X offset. */
@@ -141,7 +141,7 @@ typedef struct _xmselect {
     struct _xmwindow *pad_l9;  /* ---- */
     char *data;                        /* -- Selection data pointer. */
     struct _xmpane *parent_p;  /* -- Selection parent pane structure. */
-    char *help_string;         /* Help string or null.  */
+    char const *help_string;   /* Help string or null.  */
 } XMSelect;
 
 
@@ -240,29 +240,29 @@ typedef void (*Wait_func)(void*);
 /*
  * XMenu library routine declarations.
  */
-XMenu *XMenuCreate(Display *display, Window parent, register char *def_env);
-int XMenuAddPane(Display *display, register XMenu *menu, register char *label, int active);
-int XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, char *data, char *label, int active, char *help);
-int XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int active);
-int XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_num, char *data, char *label, int active);
-int XMenuFindPane(register XMenu *menu, register char *label);
-int XMenuFindSelection(register XMenu *menu, int p_num, register char *label);
-int XMenuChangePane(register XMenu *menu, register int p_num, char *label);
-int XMenuChangeSelection(Display *display, register XMenu *menu, register int p_num, register int s_num, char *data, int data_sw, char *label, int label_sw);
-int XMenuSetPane(register XMenu *menu, register int p_num, register int active);
-int XMenuSetSelection(register XMenu *menu, register int p_num, register int s_num, int active);
-int XMenuRecompute(Display *display, register XMenu *menu);
-int XMenuEventHandler(int (*handler) (XEvent *));      /* No value actually returned. */
-int XMenuLocate(register Display *display, register XMenu *menu, int p_num, int s_num, int x_pos, int y_pos, int *ul_x, int *ul_y, int *width, int *height);
-int XMenuSetFreeze(register XMenu *menu, register int freeze);         /* No value actually returned. */
+XMenu *XMenuCreate(Display *display, Window parent, char const *def_env);
+int XMenuAddPane(Display *display, XMenu *menu, char const *label, int active);
+int XMenuAddSelection(Display *display, XMenu *menu, int p_num, char *data, char *label, int active, char const *help);
+int XMenuInsertPane(XMenu *menu, int p_num, char *label, int active);
+int XMenuInsertSelection(XMenu *menu, int p_num, int s_num, char *data, char *label, int active);
+int XMenuFindPane(XMenu *menu, char *label);
+int XMenuFindSelection(XMenu *menu, int p_num, char *label);
+int XMenuChangePane(XMenu *menu, int p_num, char *label);
+int XMenuChangeSelection(Display *display, XMenu *menu, int p_num, int s_num, char *data, int data_sw, char *label, int label_sw);
+int XMenuSetPane(XMenu *menu, int p_num, int active);
+int XMenuSetSelection(XMenu *menu, int p_num, int s_num, int active);
+int XMenuRecompute(Display *display, XMenu *menu);
+void XMenuEventHandler(int (*handler) (XEvent *));
+int XMenuLocate(Display *display, XMenu *menu, int p_num, int s_num, int x_pos, int y_pos, int *ul_x, int *ul_y, int *width, int *height);
+void XMenuSetFreeze(XMenu *menu, int freeze);
 void XMenuActivateSetWaitFunction(Wait_func func, void *data);
-int XMenuActivate(Display *display, XMenu *menu, int *p_num, int *s_num, int x_pos, int y_pos, unsigned int event_mask, char **data, void (*help_callback) (char *, int, int));
-char *XMenuPost(register Display *display, register XMenu *menu, register int *p_num, register int *s_num, register int x_pos, register int y_pos, int event_mask);
-int XMenuDeletePane(register Display *display, register XMenu *menu, register int p_num);
-int XMenuDeleteSelection(register Display *display, register XMenu *menu, register int p_num, register int s_num);
-int XMenuDestroy(Display *display, register XMenu *menu);              /* No value actually returned. */
-char *XMenuError(void);
+int XMenuActivate(Display *display, XMenu *menu, int *p_num, int *s_num, int x_pos, int y_pos, unsigned int event_mask, char **data, void (*help_callback) (char const *, int, int));
+char *XMenuPost(Display *display, XMenu *menu, int *p_num, int *s_num, int x_pos, int y_pos, int event_mask);
+int XMenuDeletePane(Display *display, XMenu *menu, int p_num);
+int XMenuDeleteSelection(Display *display, XMenu *menu, int p_num, int s_num);
+void XMenuDestroy(Display *display, XMenu *menu);
+char const *XMenuError(void);
+void XMenuSetAEQ(XMenu *menu, int aeq);
 
 #endif
 /* Don't add after this point. */
-
index c937346021610484c54571d7d1070f09ed4fa94b..721652c95395b132cae0c40816a8756f35c4116c 100644 (file)
@@ -46,18 +46,24 @@ extern int (*_XMEventHandler)(XEvent*);
 /*
  * Internal routine declarations.
  */
-int _XMWinQueInit(void);               /* No value actually returned. */
-int _XMWinQueAddPane(register Display *display, register XMenu *menu, register XMPane *p_ptr);
-int _XMWinQueAddSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr);
-int _XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane *pane, XMSelect *select);
-XMPane *_XMGetPanePtr(register XMenu *menu, register int p_num);
-XMSelect *_XMGetSelectionPtr(register XMPane *p_ptr, register int s_num);
-int _XMRecomputeGlobals(register Display *display, register XMenu *menu);      /* No value actually returned. */
-int _XMRecomputePane(register Display *display, register XMenu *menu, register XMPane *p_ptr, register int p_num);
-int _XMRecomputeSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr, register int s_num);
-int _XMTransToOrigin(Display *display, register XMenu *menu, register XMPane *p_ptr, register XMSelect *s_ptr, int x_pos, int y_pos, int *orig_x, int *orig_y);                /* No value actually returned. */
-int _XMRefreshPane(register Display *display, register XMenu *menu, register XMPane *pane);            /* No value actually returned. */
+void _XMWinQueInit(void);
+int _XMWinQueAddPane(Display *display, XMenu *menu, XMPane *p_ptr);
+int _XMWinQueAddSelection(Display *display, XMenu *menu, XMSelect *s_ptr);
+int _XMWinQueFlush(Display *display, XMenu *menu, XMPane *pane, XMSelect *select);
+XMPane *_XMGetPanePtr(XMenu *menu, int p_num);
+XMSelect *_XMGetSelectionPtr(XMPane *p_ptr, int s_num);
+void _XMRecomputeGlobals(Display *display, XMenu *menu);
+int _XMRecomputePane(Display *display, XMenu *menu, XMPane *p_ptr, int p_num);
+int _XMRecomputeSelection(Display *display, XMenu *menu, XMSelect *s_ptr, int s_num);
+void _XMTransToOrigin(Display *display, XMenu *menu, XMPane *p_ptr, XMSelect *s_ptr, int x_pos, int y_pos, int *orig_x, int *orig_y);
+void _XMRefreshPane(Display *display, XMenu *menu, XMPane *pane);
+void _XMRefreshSelection(Display *display, XMenu *menu, XMSelect *select);
+void emacs_insque (void *elem, void *prev);
+void emacs_remque (void *elem);
+void XDeleteAssoc(Display *dpy, XAssocTable *table, XID x_id);
+void XDestroyAssocTable(XAssocTable *table);
+void XMakeAssoc(Display *dpy, XAssocTable *table, XID x_id, void *data);
+void XDeleteAssoc(Display *dpy, XAssocTable *table, XID x_id);
 
 #endif
 /* Don't add stuff after this #endif */
-
index b324ade1d55c163b855e5fd001b66d02437c70d4..90a8eec4e713c25afba96d8f9523e6f701a946c2 100644 (file)
@@ -19,6 +19,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
    their callers have been renamed to emacs_mumble to allow us to
    include this file in the menu library on all systems.  */
 
+#include "XMenuInt.h"
 
 struct qelem {
   struct    qelem *q_forw;
@@ -29,8 +30,10 @@ struct qelem {
 /* Insert ELEM into a doubly-linked list, after PREV.  */
 
 void
-emacs_insque (struct qelem *elem, struct qelem *prev)
+emacs_insque (void *velem, void *vprev)
 {
+  struct qelem *elem = velem;
+  struct qelem *prev = vprev;
   struct qelem *next = prev->q_forw;
   prev->q_forw = elem;
   if (next)
@@ -41,8 +44,10 @@ emacs_insque (struct qelem *elem, struct qelem *prev)
 
 /* Unlink ELEM from the doubly-linked list that it is in.  */
 
-emacs_remque (struct qelem *elem)
+void
+emacs_remque (void *velem)
 {
+  struct qelem *elem = velem;
   struct qelem *next = elem->q_forw;
   struct qelem *prev = elem->q_back;
   if (next)
@@ -50,4 +55,3 @@ emacs_remque (struct qelem *elem)
   if (prev)
     prev->q_forw = next;
 }
-