aboutsummaryrefslogtreecommitdiffstats
path: root/oldXMenu
diff options
context:
space:
mode:
authorPaul Eggert2011-04-16 16:11:35 -0700
committerPaul Eggert2011-04-16 16:11:35 -0700
commitfd35b6f96777be3305879a9ca60ab5befb254042 (patch)
treedb72c649acdc7f53d9672fba88b6a08b3601cdda /oldXMenu
parentc4354cb4f4a3982331180439120ca72734d49cc5 (diff)
parent399c71d323b8beef139437311c78440d0033c652 (diff)
downloademacs-fd35b6f96777be3305879a9ca60ab5befb254042.tar.gz
emacs-fd35b6f96777be3305879a9ca60ab5befb254042.zip
Static checks with GCC 4.6.0 and non-default toolkits.
Diffstat (limited to 'oldXMenu')
-rw-r--r--oldXMenu/Activate.c2
-rw-r--r--oldXMenu/AddPane.c23
-rw-r--r--oldXMenu/AddSel.c35
-rw-r--r--oldXMenu/ChangeLog40
-rw-r--r--oldXMenu/Create.c45
-rw-r--r--oldXMenu/Destroy.c4
-rw-r--r--oldXMenu/Error.c3
-rw-r--r--oldXMenu/EvHand.c2
-rw-r--r--oldXMenu/FindPane.c2
-rw-r--r--oldXMenu/FindSel.c2
-rw-r--r--oldXMenu/InsPane.c19
-rw-r--r--oldXMenu/InsSel.c31
-rw-r--r--oldXMenu/Internal.c97
-rw-r--r--oldXMenu/SetAEQ.c2
-rw-r--r--oldXMenu/SetFrz.c2
-rw-r--r--oldXMenu/X10.h3
-rw-r--r--oldXMenu/XDelAssoc.c11
-rw-r--r--oldXMenu/XDestAssoc.c6
-rw-r--r--oldXMenu/XMakeAssoc.c13
-rw-r--r--oldXMenu/XMenu.h50
-rw-r--r--oldXMenu/XMenuInt.h30
-rw-r--r--oldXMenu/insque.c10
22 files changed, 215 insertions, 217 deletions
diff --git a/oldXMenu/Activate.c b/oldXMenu/Activate.c
index 42eb33d208a..fef8a3b6b25 100644
--- a/oldXMenu/Activate.c
+++ b/oldXMenu/Activate.c
@@ -122,7 +122,7 @@ XMenuActivate(
122 int y_pos, /* Y coordinate of menu position. */ 122 int y_pos, /* Y coordinate of menu position. */
123 unsigned int event_mask, /* Mouse button event mask. */ 123 unsigned int event_mask, /* Mouse button event mask. */
124 char **data, /* Pointer to return data value. */ 124 char **data, /* Pointer to return data value. */
125 void (* help_callback) (char *, int, int)) /* Help callback. */ 125 void (*help_callback) (char const *, int, int)) /* Help callback. */
126{ 126{
127 int status; /* X routine call status. */ 127 int status; /* X routine call status. */
128 int orig_x; /* Upper left menu origin X coord. */ 128 int orig_x; /* Upper left menu origin X coord. */
diff --git a/oldXMenu/AddPane.c b/oldXMenu/AddPane.c
index 67900a6bc76..36b57fe8da6 100644
--- a/oldXMenu/AddPane.c
+++ b/oldXMenu/AddPane.c
@@ -16,14 +16,14 @@
16#include "XMenuInt.h" 16#include "XMenuInt.h"
17 17
18int 18int
19XMenuAddPane(Display *display, register XMenu *menu, register char *label, int active) 19XMenuAddPane(Display *display, register XMenu *menu, register char const *label, int active)
20 20
21 /* Menu object to be modified. */ 21 /* Menu object to be modified. */
22 /* Selection label. */ 22 /* Selection label. */
23 /* Make selection active? */ 23 /* Make selection active? */
24{ 24{
25 register XMPane *pane; /* Newly created pane. */ 25 register XMPane *pane; /* Newly created pane. */
26 register XMSelect *select; /* Initial selection for the new pane. */ 26 register XMSelect *sel; /* Initial selection for the new pane. */
27 27
28 int label_length; /* Label length in characters. */ 28 int label_length; /* Label length in characters. */
29 int label_width; /* Label width in pixels. */ 29 int label_width; /* Label width in pixels. */
@@ -44,8 +44,8 @@ XMenuAddPane(Display *display, register XMenu *menu, register char *label, int a
44 _XMErrorCode = XME_CALLOC; 44 _XMErrorCode = XME_CALLOC;
45 return(XM_FAILURE); 45 return(XM_FAILURE);
46 } 46 }
47 select = (XMSelect *)calloc(1, sizeof(XMSelect)); 47 sel = (XMSelect *)calloc(1, sizeof(XMSelect));
48 if (select == NULL) { 48 if (sel == NULL) {
49 _XMErrorCode = XME_CALLOC; 49 _XMErrorCode = XME_CALLOC;
50 return(XM_FAILURE); 50 return(XM_FAILURE);
51 } 51 }
@@ -62,11 +62,11 @@ XMenuAddPane(Display *display, register XMenu *menu, register char *label, int a
62 * Set up the initial selection. 62 * Set up the initial selection.
63 * Values not explicitly set are zeroed by calloc. 63 * Values not explicitly set are zeroed by calloc.
64 */ 64 */
65 select->next = select; 65 sel->next = sel;
66 select->prev = select; 66 sel->prev = sel;
67 select->type = SL_HEADER; 67 sel->type = SL_HEADER;
68 select->serial = -1; 68 sel->serial = -1;
69 select->parent_p = pane; 69 sel->parent_p = pane;
70 70
71 /* 71 /*
72 * Fill the XMPane structure. 72 * Fill the XMPane structure.
@@ -78,7 +78,7 @@ XMenuAddPane(Display *display, register XMenu *menu, register char *label, int a
78 pane->label = label; 78 pane->label = label;
79 pane->label_width = label_width; 79 pane->label_width = label_width;
80 pane->label_length = label_length; 80 pane->label_length = label_length;
81 pane->s_list = select; 81 pane->s_list = sel;
82 82
83 /* 83 /*
84 * Insert the pane at the end of the pane list. 84 * 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
101 _XMErrorCode = XME_NO_ERROR; 101 _XMErrorCode = XME_NO_ERROR;
102 return((menu->p_count - 1)); 102 return((menu->p_count - 1));
103} 103}
104
diff --git a/oldXMenu/AddSel.c b/oldXMenu/AddSel.c
index 9183aba7e8e..9bbcf71cd3c 100644
--- a/oldXMenu/AddSel.c
+++ b/oldXMenu/AddSel.c
@@ -17,8 +17,8 @@
17#include "XMenuInt.h" 17#include "XMenuInt.h"
18 18
19int 19int
20XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, char *data, char *label, int active, char *help) 20XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, char *data, char *label, int active, char const *help)
21 21
22 /* Menu object to be modified. */ 22 /* Menu object to be modified. */
23 /* Pane number to be modified. */ 23 /* Pane number to be modified. */
24 /* Data value. */ 24 /* Data value. */
@@ -27,7 +27,7 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
27 /* Help string */ 27 /* Help string */
28{ 28{
29 register XMPane *pane; /* Pane containing the new selection. */ 29 register XMPane *pane; /* Pane containing the new selection. */
30 register XMSelect *select; /* Newly created selection. */ 30 register XMSelect *sel; /* Newly created selection. */
31 31
32 32
33 int label_length; /* Label lenght in characters. */ 33 int label_length; /* Label lenght in characters. */
@@ -49,8 +49,8 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
49 /* 49 /*
50 * Calloc the XMSelect structure. 50 * Calloc the XMSelect structure.
51 */ 51 */
52 select = (XMSelect *)calloc(1, sizeof(XMSelect)); 52 sel = (XMSelect *)calloc(1, sizeof(XMSelect));
53 if (select == NULL) { 53 if (sel == NULL) {
54 _XMErrorCode = XME_CALLOC; 54 _XMErrorCode = XME_CALLOC;
55 return(XM_FAILURE); 55 return(XM_FAILURE);
56 } 56 }
@@ -65,27 +65,27 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
65 */ 65 */
66 if (!strcmp (label, "--") || !strcmp (label, "---")) 66 if (!strcmp (label, "--") || !strcmp (label, "---"))
67 { 67 {
68 select->type = SEPARATOR; 68 sel->type = SEPARATOR;
69 select->active = 0; 69 sel->active = 0;
70 } 70 }
71 else 71 else
72 { 72 {
73 select->type = SELECTION; 73 sel->type = SELECTION;
74 select->active = active; 74 sel->active = active;
75 } 75 }
76 76
77 select->serial = -1; 77 sel->serial = -1;
78 select->label = label; 78 sel->label = label;
79 select->label_width = label_width; 79 sel->label_width = label_width;
80 select->label_length = label_length; 80 sel->label_length = label_length;
81 select->data = data; 81 sel->data = data;
82 select->parent_p = pane; 82 sel->parent_p = pane;
83 select->help_string = help; 83 sel->help_string = help;
84 84
85 /* 85 /*
86 * Insert the selection at the end of the selection list. 86 * Insert the selection at the end of the selection list.
87 */ 87 */
88 emacs_insque(select, pane->s_list->prev); 88 emacs_insque(sel, pane->s_list->prev);
89 89
90 /* 90 /*
91 * Update the selection count. 91 * Update the selection count.
@@ -103,4 +103,3 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch
103 _XMErrorCode = XME_NO_ERROR; 103 _XMErrorCode = XME_NO_ERROR;
104 return((pane->s_count - 1)); 104 return((pane->s_count - 1));
105} 105}
106
diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog
index f0e650ab4b3..b40b5ca7084 100644
--- a/oldXMenu/ChangeLog
+++ b/oldXMenu/ChangeLog
@@ -1,3 +1,43 @@
12011-04-16 Paul Eggert <eggert@cs.ucla.edu>
2
3 Static checks with GCC 4.6.0 and non-default toolkits.
4
5 Modernize to C89, for better static checking.
6 * Activate.c (XMenuActivate): Callback's first arg is readonly.
7 * AddPane.c (XMenuAddPane): Label is readonly. Rename local
8 to avoid shadowing.
9 * AddSel.c (XMenuAddSelection): Help arg is readonly. Rename local.
10 * Create.c (atoi, atof): Remove decls; include <stdlib.h>.
11 (MAX_INACT_PNUM, TILE_BUF_SIZE): Remove; unused.
12 (x_get_resource_string): Args are readonly.
13 (XAllocDisplayColor): colorName is readonly.
14 (XMenuCreate): def_env is readonly. Remove unused locals. Avoid
15 "else;".
16 * Destroy.c (XMenuDestroy): Return void.
17 * Error.c (XMenuError): Remove const pointer.
18 * EvHand.c (XMenuEventHandler): Return void.
19 * FindPane.c, FindSel.c: Include <string.h>.
20 * InsPane.c (XMenuInsertPane): Rename local to avoid shadowing.
21 * InsSel.c (XMenuInsertSelection): Likewise.
22 * Internal.c (toggle_color, BUFFER_SIZE): Remove; unused.
23 (_XMErrorList): Now const.
24 (_XMWinQueInit, _XMRecomputeGlobals, _XMTransToOrigin, _XMRefreshPane):
25 (_XMRefreshSelection): Return void.
26 (_XMWinQueFlush, _XMRefreshSelection): Rename locals to avoid
27 shadowing.
28 (_XMWinQueFlush): Use stack, not heap. Don't use uninitialized var.
29 * SetAEQ.c (XMenuSetAEQ): Now returns void.
30 * SetFrz.c (XMenuSetFreeze): Likewise.
31 * X10.h (XAssoc): Use void * for generic pointer.
32 * XDelAssoc.c: Include XMenuInt.h rather than duplicating part of it.
33 * XDestAssoc.c, XMakeAssoc.c: Likewise.
34 * XDestAssoc.c (XDestroyAssocTable): Return void.
35 * XMakeAssoc.c (XMakeAssoc): Use void * for generic pointer.
36 * XMenu.h, XMenuInt.h: Adjust to signature changes. Use const
37 for pointers to readonly storage.
38 * insque.c: Include XMenuInt.h, to check our own signature.
39 (emacs_insque, emacs_remque): Use void * for generic pointers.
40
12011-03-07 Chong Yidong <cyd@stupidchicken.com> 412011-03-07 Chong Yidong <cyd@stupidchicken.com>
2 42
3 * Version 23.3 released. 43 * Version 23.3 released.
diff --git a/oldXMenu/Create.c b/oldXMenu/Create.c
index 8354208773f..25f1f1c3381 100644
--- a/oldXMenu/Create.c
+++ b/oldXMenu/Create.c
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
31 31
32#include <config.h> 32#include <config.h>
33#include "XMenuInt.h" 33#include "XMenuInt.h"
34 34#include <stdlib.h>
35 35
36#ifdef EMACS_BITMAP_FILES 36#ifdef EMACS_BITMAP_FILES
37#include "../src/bitmaps/dimple1.xbm" 37#include "../src/bitmaps/dimple1.xbm"
@@ -71,7 +71,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
71#define DEF_MENU_STYLE LEFT 71#define DEF_MENU_STYLE LEFT
72#define DEF_MENU_MODE BOX 72#define DEF_MENU_MODE BOX
73#define DEF_INACT_PNUM 3 73#define DEF_INACT_PNUM 3
74#define MAX_INACT_PNUM 4
75 74
76#define DEF_P_STYLE CENTER 75#define DEF_P_STYLE CENTER
77 76
@@ -88,16 +87,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
88 87
89#define XASSOC_TABLE_SIZE 64 88#define XASSOC_TABLE_SIZE 64
90 89
91#define TILE_BUF_SIZE 5 90char *x_get_resource_string (char const *, char const *);
92
93int atoi(const char *);
94double atof(const char *);
95char *x_get_resource_string (char *attribute, char *class);
96 91
97 92
98 93
99static Status 94static Status
100XAllocDisplayColor(Display *display, Colormap map, char *colorName, XColor *color, XColor *junk) 95XAllocDisplayColor(Display *display, Colormap map, char const *colorName,
96 XColor *color, XColor *junk)
101{ 97{
102 return (colorName!=0 && 98 return (colorName!=0 &&
103 XParseColor(display, map, colorName, color) && 99 XParseColor(display, map, colorName, color) &&
@@ -106,13 +102,11 @@ XAllocDisplayColor(Display *display, Colormap map, char *colorName, XColor *colo
106 102
107 103
108XMenu * 104XMenu *
109XMenuCreate(Display *display, Window parent, register char *def_env) 105XMenuCreate(Display *display, Window parent, register char const *def_env)
110 /* ID of previously opened display */ 106 /* ID of previously opened display */
111 /* Window ID of the menu's parent window. */ 107 /* Window ID of the menu's parent window. */
112 /* X Defaults program environment name. */ 108 /* X Defaults program environment name. */
113{ 109{
114 register int i; /* Loop counter. */
115 register int j; /* Loop counter. */
116 register char *def_val; /* X Default value temp variable. */ 110 register char *def_val; /* X Default value temp variable. */
117 111
118 register XMenu *menu; /* Pointer to the new menu. */ 112 register XMenu *menu; /* Pointer to the new menu. */
@@ -125,7 +119,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
125 int reverse; /* Reverse video mode. */ 119 int reverse; /* Reverse video mode. */
126 120
127 XMStyle p_style; /* Pane display style. */ 121 XMStyle p_style; /* Pane display style. */
128 char *p_fnt_name; /* Flag font name. */ 122 char const *p_fnt_name; /* Flag font name. */
129 XFontStruct *p_fnt_info; /* Flag font structure */ 123 XFontStruct *p_fnt_info; /* Flag font structure */
130 int p_fnt_pad; /* Flag font padding in pixels. */ 124 int p_fnt_pad; /* Flag font padding in pixels. */
131 double p_spread; /* Pane spread in flag height fractions. */ 125 double p_spread; /* Pane spread in flag height fractions. */
@@ -138,7 +132,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
138 GC pane_GC; /* Pane graphics context. */ 132 GC pane_GC; /* Pane graphics context. */
139 133
140 XMStyle s_style; /* Selection display style. */ 134 XMStyle s_style; /* Selection display style. */
141 char *s_fnt_name; /* Selection font name. */ 135 char const *s_fnt_name; /* Selection font name. */
142 XFontStruct *s_fnt_info; /* Selection font structure. */ 136 XFontStruct *s_fnt_info; /* Selection font structure. */
143 int s_fnt_pad; /* Selection font padding in pixels. */ 137 int s_fnt_pad; /* Selection font padding in pixels. */
144 int s_fnt_height; /* Selection font character height */ 138 int s_fnt_height; /* Selection font character height */
@@ -151,10 +145,8 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
151 GC inverse_select_GC; /* GC used for inverse video selection. */ 145 GC inverse_select_GC; /* GC used for inverse video selection. */
152 GC inact_GC; /* GC for inactive pane header and */ 146 GC inact_GC; /* GC for inactive pane header and */
153 /* selections. */ 147 /* selections. */
154 GC inact_GC_noexpose;
155 148
156 XColor color_def; /* Temp color definition holder. */ 149 XColor color_def; /* Temp color definition holder. */
157 XColor screen_def; /* Temp screen color definition holder */
158 XColor p_bdr_color; /* Color of border. */ 150 XColor p_bdr_color; /* Color of border. */
159 XColor s_bdr_color; /* Color of highlight. */ 151 XColor s_bdr_color; /* Color of highlight. */
160 XColor p_frg_color; /* Color of pane foreground color. */ 152 XColor p_frg_color; /* Color of pane foreground color. */
@@ -166,17 +158,6 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
166 158
167 int inact_pnum; /* Inactive background pattern number. */ 159 int inact_pnum; /* Inactive background pattern number. */
168 160
169 Pixel p_bdr_pixel; /* Pane border pixel. */
170 Pixel s_bdr_pixel; /* Selection border pixel. */
171 Pixel p_frg_pixel; /* Pane foreground pixel. */
172 Pixel s_frg_pixel; /* Selection foreground pixel. */
173 Pixel bkgnd_pixel; /* Menu background pixel. */
174
175 int *width, *height;
176 Pixmap *bitmap;
177 int *x_hot, *y_hot;
178 int status; /* Return code from XReadBitmapFile. */
179
180 Pixmap cursor; /* Cursor pixmap holder. */ 161 Pixmap cursor; /* Cursor pixmap holder. */
181 Pixmap cursor_mask; /* Cursor mask pixmap holder. */ 162 Pixmap cursor_mask; /* Cursor mask pixmap holder. */
182 Pixmap stipple_pixmap; /* Stipple mask for half-tone text. */ 163 Pixmap stipple_pixmap; /* Stipple mask for half-tone text. */
@@ -282,7 +263,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
282 &mouse_color, &color_def) 263 &mouse_color, &color_def)
283 ); 264 );
284 265
285 else ; 266 else {}
286 267
287 def_val = x_get_resource_string ("menuBackground", "MenuBackground"); 268 def_val = x_get_resource_string ("menuBackground", "MenuBackground");
288 if ( 269 if (
@@ -304,7 +285,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
304 "white", 285 "white",
305 &bkgnd_color, &color_def) 286 &bkgnd_color, &color_def)
306 ); 287 );
307 else; 288 else {}
308 289
309 def_val = x_get_resource_string ("menuInactivePattern", "MenuInactivePattern"); 290 def_val = x_get_resource_string ("menuInactivePattern", "MenuInactivePattern");
310 if (def_val != NULL) { 291 if (def_val != NULL) {
@@ -401,7 +382,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
401 "black", 382 "black",
402 &s_frg_color, &color_def) 383 &s_frg_color, &color_def)
403 ) ; 384 ) ;
404 else ; 385 else {}
405 386
406 387
407 def_val = x_get_resource_string ("selectionBorder", "SelectionBorder"); 388 def_val = x_get_resource_string ("selectionBorder", "SelectionBorder");
@@ -424,7 +405,7 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
424 "black", 405 "black",
425 &s_bdr_color, &color_def) 406 &s_bdr_color, &color_def)
426 ) ; 407 ) ;
427 else ; 408 else {}
428 409
429 def_val = x_get_resource_string ("selectionBorderWidth", "SelectionBorderWidth"); 410 def_val = x_get_resource_string ("selectionBorderWidth", "SelectionBorderWidth");
430 if (def_val != NULL) s_bdr_width = atoi(def_val); 411 if (def_val != NULL) s_bdr_width = atoi(def_val);
@@ -681,9 +662,6 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
681 662
682 valuemask |= (GCGraphicsExposures); 663 valuemask |= (GCGraphicsExposures);
683 values->graphics_exposures = False; 664 values->graphics_exposures = False;
684 inact_GC_noexpose = XCreateGC (display,
685 root,
686 valuemask, values);
687 665
688 666
689 /* 667 /*
@@ -752,4 +730,3 @@ XMenuCreate(Display *display, Window parent, register char *def_env)
752 _XMErrorCode = XME_NO_ERROR; 730 _XMErrorCode = XME_NO_ERROR;
753 return(menu); 731 return(menu);
754} 732}
755
diff --git a/oldXMenu/Destroy.c b/oldXMenu/Destroy.c
index 6a379609ad0..7f0f6146316 100644
--- a/oldXMenu/Destroy.c
+++ b/oldXMenu/Destroy.c
@@ -15,8 +15,9 @@
15 15
16#include "XMenuInt.h" 16#include "XMenuInt.h"
17 17
18void
18XMenuDestroy(Display *display, register XMenu *menu) 19XMenuDestroy(Display *display, register XMenu *menu)
19 20
20 /* Menu object to destroy. */ 21 /* Menu object to destroy. */
21{ 22{
22 register XMPane *p_ptr; /* Pointer to the current pane. */ 23 register XMPane *p_ptr; /* Pointer to the current pane. */
@@ -114,4 +115,3 @@ XMenuDestroy(Display *display, register XMenu *menu)
114 */ 115 */
115 free(menu); 116 free(menu);
116} 117}
117
diff --git a/oldXMenu/Error.c b/oldXMenu/Error.c
index 99f5eb6500d..01738458b6a 100644
--- a/oldXMenu/Error.c
+++ b/oldXMenu/Error.c
@@ -16,7 +16,7 @@
16 16
17#include "XMenuInt.h" 17#include "XMenuInt.h"
18 18
19char * 19char const *
20XMenuError(void) 20XMenuError(void)
21{ 21{
22 static char message[128]; /* Error message buffer. */ 22 static char message[128]; /* Error message buffer. */
@@ -27,4 +27,3 @@ XMenuError(void)
27 sprintf(message, "Unknown _XMErrorCode: %d", _XMErrorCode); 27 sprintf(message, "Unknown _XMErrorCode: %d", _XMErrorCode);
28 return(message); 28 return(message);
29} 29}
30
diff --git a/oldXMenu/EvHand.c b/oldXMenu/EvHand.c
index 5ee6877374b..bd15359d919 100644
--- a/oldXMenu/EvHand.c
+++ b/oldXMenu/EvHand.c
@@ -15,6 +15,7 @@
15 15
16#include "XMenuInt.h" 16#include "XMenuInt.h"
17 17
18void
18XMenuEventHandler(int (*handler) (XEvent*)) 19XMenuEventHandler(int (*handler) (XEvent*))
19{ 20{
20 /* 21 /*
@@ -22,4 +23,3 @@ XMenuEventHandler(int (*handler) (XEvent*))
22 */ 23 */
23 _XMEventHandler = handler; 24 _XMEventHandler = handler;
24} 25}
25
diff --git a/oldXMenu/FindPane.c b/oldXMenu/FindPane.c
index 022e7619034..8101d009a2f 100644
--- a/oldXMenu/FindPane.c
+++ b/oldXMenu/FindPane.c
@@ -15,6 +15,7 @@
15 */ 15 */
16 16
17#include "XMenuInt.h" 17#include "XMenuInt.h"
18#include <string.h>
18 19
19int 20int
20XMenuFindPane(register XMenu *menu, register char *label) 21XMenuFindPane(register XMenu *menu, register char *label)
@@ -60,4 +61,3 @@ XMenuFindPane(register XMenu *menu, register char *label)
60 _XMErrorCode = XME_P_NOT_FOUND; 61 _XMErrorCode = XME_P_NOT_FOUND;
61 return (XM_FAILURE); 62 return (XM_FAILURE);
62} 63}
63
diff --git a/oldXMenu/FindSel.c b/oldXMenu/FindSel.c
index 72ee142dc80..fbf235c463d 100644
--- a/oldXMenu/FindSel.c
+++ b/oldXMenu/FindSel.c
@@ -31,6 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31 */ 31 */
32 32
33#include "XMenuInt.h" 33#include "XMenuInt.h"
34#include <string.h>
34 35
35int 36int
36XMenuFindSelection(register XMenu *menu, int p_num, register char *label) 37XMenuFindSelection(register XMenu *menu, int p_num, register char *label)
@@ -83,4 +84,3 @@ XMenuFindSelection(register XMenu *menu, int p_num, register char *label)
83 _XMErrorCode = XME_S_NOT_FOUND; 84 _XMErrorCode = XME_S_NOT_FOUND;
84 return (XM_FAILURE); 85 return (XM_FAILURE);
85} 86}
86
diff --git a/oldXMenu/InsPane.c b/oldXMenu/InsPane.c
index c1993f5bfda..bdbadbf1226 100644
--- a/oldXMenu/InsPane.c
+++ b/oldXMenu/InsPane.c
@@ -26,7 +26,7 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
26{ 26{
27 register XMPane *p_ptr; /* XMPane pointer. */ 27 register XMPane *p_ptr; /* XMPane pointer. */
28 register XMPane *pane; /* Newly created pane. */ 28 register XMPane *pane; /* Newly created pane. */
29 register XMSelect *select; /* Initial selection for the new pane. */ 29 register XMSelect *sel; /* Initial selection for the new pane. */
30 30
31 int label_length; /* Label length in characters. */ 31 int label_length; /* Label length in characters. */
32 int label_width; /* Label width in pixels. */ 32 int label_width; /* Label width in pixels. */
@@ -54,8 +54,8 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
54 _XMErrorCode = XME_CALLOC; 54 _XMErrorCode = XME_CALLOC;
55 return(XM_FAILURE); 55 return(XM_FAILURE);
56 } 56 }
57 select = (XMSelect *)calloc(1, sizeof(XMSelect)); 57 sel = (XMSelect *)calloc(1, sizeof(XMSelect));
58 if (select == NULL) { 58 if (sel == NULL) {
59 _XMErrorCode = XME_CALLOC; 59 _XMErrorCode = XME_CALLOC;
60 return(XM_FAILURE); 60 return(XM_FAILURE);
61 } 61 }
@@ -70,11 +70,11 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
70 * Set up the initial selection. 70 * Set up the initial selection.
71 * Values not explicitly set are zeroed by calloc. 71 * Values not explicitly set are zeroed by calloc.
72 */ 72 */
73 select->next = select; 73 sel->next = sel;
74 select->prev = select; 74 sel->prev = sel;
75 select->type = SL_HEADER; 75 sel->type = SL_HEADER;
76 select->serial = -1; 76 sel->serial = -1;
77 select->parent_p = pane; 77 sel->parent_p = pane;
78 78
79 /* 79 /*
80 * Fill the XMPane structure. 80 * Fill the XMPane structure.
@@ -85,7 +85,7 @@ XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int activ
85 pane->label = label; 85 pane->label = label;
86 pane->label_width = label_width; 86 pane->label_width = label_width;
87 pane->label_length = label_length; 87 pane->label_length = label_length;
88 pane->s_list = select; 88 pane->s_list = sel;
89 89
90 /* 90 /*
91 * Insert the pane after the pane with the pane 91 * 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
110 _XMErrorCode = XME_NO_ERROR; 110 _XMErrorCode = XME_NO_ERROR;
111 return(p_num); 111 return(p_num);
112} 112}
113
diff --git a/oldXMenu/InsSel.c b/oldXMenu/InsSel.c
index be0e43e0cb9..5db285f6408 100644
--- a/oldXMenu/InsSel.c
+++ b/oldXMenu/InsSel.c
@@ -28,7 +28,7 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
28 register XMPane *p_ptr; /* XMPane pointer. */ 28 register XMPane *p_ptr; /* XMPane pointer. */
29 register XMSelect *s_ptr; /* XMSelect pointer. */ 29 register XMSelect *s_ptr; /* XMSelect pointer. */
30 30
31 XMSelect *select; /* Newly created selection. */ 31 XMSelect *sel; /* Newly created selection. */
32 32
33 int label_length; /* Label length in characters. */ 33 int label_length; /* Label length in characters. */
34 int label_width; /* Label width in pixels. */ 34 int label_width; /* Label width in pixels. */
@@ -57,8 +57,8 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
57 /* 57 /*
58 * Calloc the XMSelect structure. 58 * Calloc the XMSelect structure.
59 */ 59 */
60 select = (XMSelect *)calloc(1, sizeof(XMSelect)); 60 sel = (XMSelect *)calloc(1, sizeof(XMSelect));
61 if (select == NULL) { 61 if (sel == NULL) {
62 _XMErrorCode = XME_CALLOC; 62 _XMErrorCode = XME_CALLOC;
63 return(XM_FAILURE); 63 return(XM_FAILURE);
64 } 64 }
@@ -75,28 +75,28 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
75 */ 75 */
76 if (!strcmp (label, "--") || !strcmp (label, "---")) 76 if (!strcmp (label, "--") || !strcmp (label, "---"))
77 { 77 {
78 select->type = SEPARATOR; 78 sel->type = SEPARATOR;
79 select->active = 0; 79 sel->active = 0;
80 } 80 }
81 else 81 else
82 { 82 {
83 select->type = SELECTION; 83 sel->type = SELECTION;
84 select->active = active; 84 sel->active = active;
85 } 85 }
86 86
87 select->active = active; 87 sel->active = active;
88 select->serial = -1; 88 sel->serial = -1;
89 select->label = label; 89 sel->label = label;
90 select->label_width = label_width; 90 sel->label_width = label_width;
91 select->label_length = label_length; 91 sel->label_length = label_length;
92 select->data = data; 92 sel->data = data;
93 select->parent_p = p_ptr; 93 sel->parent_p = p_ptr;
94 94
95 /* 95 /*
96 * Insert the selection after the selection with the selection 96 * Insert the selection after the selection with the selection
97 * number one less than the desired number for the new selection. 97 * number one less than the desired number for the new selection.
98 */ 98 */
99 emacs_insque(select, s_ptr); 99 emacs_insque(sel, s_ptr);
100 100
101 /* 101 /*
102 * Update the selection count. 102 * Update the selection count.
@@ -114,4 +114,3 @@ XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_nu
114 _XMErrorCode = XME_NO_ERROR; 114 _XMErrorCode = XME_NO_ERROR;
115 return(s_num); 115 return(s_num);
116} 116}
117
diff --git a/oldXMenu/Internal.c b/oldXMenu/Internal.c
index 23b54493e23..102de9d7a56 100644
--- a/oldXMenu/Internal.c
+++ b/oldXMenu/Internal.c
@@ -33,17 +33,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
33#include "XMenuInt.h" 33#include "XMenuInt.h"
34 34
35/* 35/*
36 * Toggle color macro.
37 */
38#define toggle_color(x) \
39 ((x) == menu->bkgnd_color ? menu->s_frg_color : menu->bkgnd_color)
40
41/*
42 * Internal Window creation queue sizes. 36 * Internal Window creation queue sizes.
43 */ 37 */
44#define S_QUE_SIZE 300 38#define S_QUE_SIZE 300
45#define P_QUE_SIZE 20 39#define P_QUE_SIZE 20
46#define BUFFER_SIZE (S_QUE_SIZE >= P_QUE_SIZE ? S_QUE_SIZE : P_QUE_SIZE)
47 40
48 41
49/* 42/*
@@ -71,7 +64,7 @@ int _XMErrorCode = XME_NO_ERROR;
71/* 64/*
72 * _XMErrorList - Global XMenu error code description strings. 65 * _XMErrorList - Global XMenu error code description strings.
73 */ 66 */
74char * 67char const *const
75_XMErrorList[XME_CODE_COUNT] = { 68_XMErrorList[XME_CODE_COUNT] = {
76 "No error", /* XME_NO_ERROR */ 69 "No error", /* XME_NO_ERROR */
77 "Menu not initialized", /* XME_NOT_INIT */ 70 "Menu not initialized", /* XME_NOT_INIT */
@@ -103,6 +96,7 @@ int (*_XMEventHandler)(XEvent*) = NULL;
103 * _XMWinQueInit - Internal routine to initialize the window 96 * _XMWinQueInit - Internal routine to initialize the window
104 * queue. 97 * queue.
105 */ 98 */
99void
106_XMWinQueInit(void) 100_XMWinQueInit(void)
107{ 101{
108 /* 102 /*
@@ -138,7 +132,7 @@ _XMWinQueInit(void)
138 */ 132 */
139int 133int
140_XMWinQueAddPane(register Display *display, register XMenu *menu, register XMPane *p_ptr) 134_XMWinQueAddPane(register Display *display, register XMenu *menu, register XMPane *p_ptr)
141 135
142 /* Menu being manipulated. */ 136 /* Menu being manipulated. */
143 /* XMPane being queued. */ 137 /* XMPane being queued. */
144{ 138{
@@ -172,7 +166,7 @@ _XMWinQueAddPane(register Display *display, register XMenu *menu, register XMPan
172 */ 166 */
173int 167int
174_XMWinQueAddSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr) 168_XMWinQueAddSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr)
175 169
176 /* Menu being manipulated. */ 170 /* Menu being manipulated. */
177 /* XMSelection being queued. */ 171 /* XMSelection being queued. */
178{ 172{
@@ -205,8 +199,8 @@ _XMWinQueAddSelection(register Display *display, register XMenu *menu, register
205 * selection window queues. 199 * selection window queues.
206 */ 200 */
207int 201int
208_XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane *pane, XMSelect *select) 202_XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane *pane, XMSelect *sel)
209 203
210 /* Menu being manipulated. */ 204 /* Menu being manipulated. */
211 /* Current pane. */ 205 /* Current pane. */
212{ 206{
@@ -215,7 +209,8 @@ _XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane
215 register XMPane *p_ptr; /* XMPane pointer. */ 209 register XMPane *p_ptr; /* XMPane pointer. */
216 register XMSelect *s_ptr; /* XMSelect pointer. */ 210 register XMSelect *s_ptr; /* XMSelect pointer. */
217 unsigned long valuemask; /* Which attributes to set. */ 211 unsigned long valuemask; /* Which attributes to set. */
218 XSetWindowAttributes *attributes; /* Attributes to be set. */ 212 XSetWindowAttributes attributes_buf; /* Attributes to be set. */
213 XSetWindowAttributes *attributes = &attributes_buf;
219 214
220 /* 215 /*
221 * If the pane window queue is not empty... 216 * If the pane window queue is not empty...
@@ -226,7 +221,6 @@ _XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane
226 * set up attributes for pane window to be created. 221 * set up attributes for pane window to be created.
227 */ 222 */
228 valuemask = (CWBackPixmap | CWBorderPixel | CWOverrideRedirect); 223 valuemask = (CWBackPixmap | CWBorderPixel | CWOverrideRedirect);
229 attributes = (XSetWindowAttributes *)malloc(sizeof(XSetWindowAttributes));
230 attributes->border_pixel = menu->p_bdr_color; 224 attributes->border_pixel = menu->p_bdr_color;
231 attributes->background_pixmap = menu->inact_pixmap; 225 attributes->background_pixmap = menu->inact_pixmap;
232 attributes->override_redirect = True; 226 attributes->override_redirect = True;
@@ -415,6 +409,7 @@ _XMGetSelectionPtr(register XMPane *p_ptr, register int s_num)
415 * _XMRecomputeGlobals - Internal subroutine to recompute menu wide 409 * _XMRecomputeGlobals - Internal subroutine to recompute menu wide
416 * global values. 410 * global values.
417 */ 411 */
412void
418_XMRecomputeGlobals(register Display *display, register XMenu *menu) 413_XMRecomputeGlobals(register Display *display, register XMenu *menu)
419 /*X11 display variable. */ 414 /*X11 display variable. */
420 /* Menu object to compute from. */ 415 /* Menu object to compute from. */
@@ -681,7 +676,7 @@ _XMRecomputePane(register Display *display, register XMenu *menu, register XMPan
681 */ 676 */
682int 677int
683_XMRecomputeSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr, register int s_num) 678_XMRecomputeSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr, register int s_num)
684 679
685 /* Menu object being recomputed. */ 680 /* Menu object being recomputed. */
686 /* Selection pointer. */ 681 /* Selection pointer. */
687 /* Selection sequence number. */ 682 /* Selection sequence number. */
@@ -810,6 +805,7 @@ _XMRecomputeSelection(register Display *display, register XMenu *menu, register
810 * recomputed before calling this routine or 805 * recomputed before calling this routine or
811 * unpredictable results will follow. 806 * unpredictable results will follow.
812 */ 807 */
808void
813_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) 809_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)
814 /* Not used. Included for consistency. */ 810 /* Not used. Included for consistency. */
815 /* Menu being computed against. */ 811 /* Menu being computed against. */
@@ -870,6 +866,7 @@ _XMTransToOrigin(Display *display, register XMenu *menu, register XMPane *p_ptr,
870 * _XMRefreshPane - Internal subroutine to completely refresh 866 * _XMRefreshPane - Internal subroutine to completely refresh
871 * the contents of a pane. 867 * the contents of a pane.
872 */ 868 */
869void
873_XMRefreshPane(register Display *display, register XMenu *menu, register XMPane *pane) 870_XMRefreshPane(register Display *display, register XMenu *menu, register XMPane *pane)
874{ 871{
875 register XMSelect *s_list = pane->s_list; 872 register XMSelect *s_list = pane->s_list;
@@ -937,34 +934,35 @@ _XMRefreshPane(register Display *display, register XMenu *menu, register XMPane
937 * _XMRefreshSelection - Internal subroutine that refreshes 934 * _XMRefreshSelection - Internal subroutine that refreshes
938 * a single selection window. 935 * a single selection window.
939 */ 936 */
940_XMRefreshSelection(register Display *display, register XMenu *menu, register XMSelect *select) 937void
938_XMRefreshSelection(register Display *display, register XMenu *menu, register XMSelect *sel)
941{ 939{
942 register int width = select->window_w; 940 register int width = sel->window_w;
943 register int height = select->window_h; 941 register int height = sel->window_h;
944 register int bdr_width = menu->s_bdr_width; 942 register int bdr_width = menu->s_bdr_width;
945 943
946 if (select->type == SEPARATOR) { 944 if (sel->type == SEPARATOR) {
947 XDrawLine(display, 945 XDrawLine(display,
948 select->parent_p->window, 946 sel->parent_p->window,
949 menu->normal_select_GC, 947 menu->normal_select_GC,
950 select->window_x, 948 sel->window_x,
951 select->window_y + height / 2, 949 sel->window_y + height / 2,
952 select->window_x + width, 950 sel->window_x + width,
953 select->window_y + height / 2); 951 sel->window_y + height / 2);
954 } 952 }
955 else if (select->activated) { 953 else if (sel->activated) {
956 if (menu->menu_mode == INVERT) { 954 if (menu->menu_mode == INVERT) {
957 XFillRectangle(display, 955 XFillRectangle(display,
958 select->parent_p->window, 956 sel->parent_p->window,
959 menu->normal_select_GC, 957 menu->normal_select_GC,
960 select->window_x, select->window_y, 958 sel->window_x, sel->window_y,
961 width, height); 959 width, height);
962 XDrawString(display, 960 XDrawString(display,
963 select->parent_p->window, 961 sel->parent_p->window,
964 menu->inverse_select_GC, 962 menu->inverse_select_GC,
965 select->label_x, 963 sel->label_x,
966 select->label_y, 964 sel->label_y,
967 select->label, select->label_length); 965 sel->label, sel->label_length);
968 } 966 }
969 else { 967 else {
970 /* 968 /*
@@ -975,42 +973,41 @@ _XMRefreshSelection(register Display *display, register XMenu *menu, register XM
975 */ 973 */
976 974
977 XDrawRectangle(display, 975 XDrawRectangle(display,
978 select->parent_p->window, 976 sel->parent_p->window,
979 menu->normal_select_GC, 977 menu->normal_select_GC,
980 select->window_x + (bdr_width >> 1), 978 sel->window_x + (bdr_width >> 1),
981 select->window_y + (bdr_width >> 1 ), 979 sel->window_y + (bdr_width >> 1 ),
982 width - bdr_width, 980 width - bdr_width,
983 height - bdr_width); 981 height - bdr_width);
984 XDrawString(display, 982 XDrawString(display,
985 select->parent_p->window, 983 sel->parent_p->window,
986 menu->normal_select_GC, 984 menu->normal_select_GC,
987 select->label_x, 985 sel->label_x,
988 select->label_y, 986 sel->label_y,
989 select->label, select->label_length); 987 sel->label, sel->label_length);
990 } 988 }
991 } 989 }
992 else { 990 else {
993 XClearArea(display, 991 XClearArea(display,
994 select->parent_p->window, 992 sel->parent_p->window,
995 select->window_x, select->window_y, 993 sel->window_x, sel->window_y,
996 width, height, 994 width, height,
997 False); 995 False);
998 if (select->active) { 996 if (sel->active) {
999 XDrawString(display, 997 XDrawString(display,
1000 select->parent_p->window, 998 sel->parent_p->window,
1001 menu->normal_select_GC, 999 menu->normal_select_GC,
1002 select->label_x, 1000 sel->label_x,
1003 select->label_y, 1001 sel->label_y,
1004 select->label, select->label_length); 1002 sel->label, sel->label_length);
1005 } 1003 }
1006 else { 1004 else {
1007 XDrawString(display, 1005 XDrawString(display,
1008 select->parent_p->window, 1006 sel->parent_p->window,
1009 menu->inact_GC, 1007 menu->inact_GC,
1010 select->label_x, 1008 sel->label_x,
1011 select->label_y, 1009 sel->label_y,
1012 select->label, select->label_length); 1010 sel->label, sel->label_length);
1013 } 1011 }
1014 } 1012 }
1015} 1013}
1016
diff --git a/oldXMenu/SetAEQ.c b/oldXMenu/SetAEQ.c
index f4d51d24bec..ee2d64b8806 100644
--- a/oldXMenu/SetAEQ.c
+++ b/oldXMenu/SetAEQ.c
@@ -18,6 +18,7 @@
18 18
19#include "XMenuInt.h" 19#include "XMenuInt.h"
20 20
21void
21XMenuSetAEQ(register XMenu *menu, register int aeq) 22XMenuSetAEQ(register XMenu *menu, register int aeq)
22 /* Menu object to be modified. */ 23 /* Menu object to be modified. */
23 /* AEQ mode? */ 24 /* AEQ mode? */
@@ -27,4 +28,3 @@ XMenuSetAEQ(register XMenu *menu, register int aeq)
27 */ 28 */
28 menu->aeq = aeq; 29 menu->aeq = aeq;
29} 30}
30
diff --git a/oldXMenu/SetFrz.c b/oldXMenu/SetFrz.c
index b16c659ed57..c8998eeb66b 100644
--- a/oldXMenu/SetFrz.c
+++ b/oldXMenu/SetFrz.c
@@ -17,6 +17,7 @@
17 17
18#include "XMenuInt.h" 18#include "XMenuInt.h"
19 19
20void
20XMenuSetFreeze(register XMenu *menu, register int freeze) 21XMenuSetFreeze(register XMenu *menu, register int freeze)
21 /* Menu object to be modified. */ 22 /* Menu object to be modified. */
22 /* Freeze mode? */ 23 /* Freeze mode? */
@@ -26,4 +27,3 @@ XMenuSetFreeze(register XMenu *menu, register int freeze)
26 */ 27 */
27 menu->freeze = freeze; 28 menu->freeze = freeze;
28} 29}
29
diff --git a/oldXMenu/X10.h b/oldXMenu/X10.h
index 6b0626f212c..c30632b9d68 100644
--- a/oldXMenu/X10.h
+++ b/oldXMenu/X10.h
@@ -54,7 +54,7 @@ typedef struct _XAssoc {
54 struct _XAssoc *prev; /* Previous obejct in this bucket. */ 54 struct _XAssoc *prev; /* Previous obejct in this bucket. */
55 Display *display; /* Display which owns the id. */ 55 Display *display; /* Display which owns the id. */
56 XID x_id; /* X Window System id. */ 56 XID x_id; /* X Window System id. */
57 char *data; /* Pointer to untyped memory. */ 57 void *data; /* Pointer to untyped memory. */
58} XAssoc; 58} XAssoc;
59 59
60/* 60/*
@@ -75,4 +75,3 @@ XAssocTable *XCreateAssocTable(int size);
75char *XLookUpAssoc(Display *dpy, XAssocTable *table, XID x_id); 75char *XLookUpAssoc(Display *dpy, XAssocTable *table, XID x_id);
76 76
77#endif /* _X10_H_ */ 77#endif /* _X10_H_ */
78
diff --git a/oldXMenu/XDelAssoc.c b/oldXMenu/XDelAssoc.c
index 018c71c3a3e..ec1d09d46ec 100644
--- a/oldXMenu/XDelAssoc.c
+++ b/oldXMenu/XDelAssoc.c
@@ -2,15 +2,7 @@
2 2
3#include "copyright.h" 3#include "copyright.h"
4 4
5 5#include "XMenuInt.h"
6#include <X11/Xlib.h>
7#include "X10.h"
8struct qelem {
9 struct qelem *q_forw;
10 struct qelem *q_back;
11 char q_data[1];
12};
13void emacs_remque(struct qelem*);
14 6
15/* 7/*
16 * XDeleteAssoc - Delete an association in an XAssocTable keyed on 8 * XDeleteAssoc - Delete an association in an XAssocTable keyed on
@@ -56,4 +48,3 @@ XDeleteAssoc(register Display *dpy, register XAssocTable *table, register XID x_
56 /* It is apparently not in the table. */ 48 /* It is apparently not in the table. */
57 return; 49 return;
58} 50}
59
diff --git a/oldXMenu/XDestAssoc.c b/oldXMenu/XDestAssoc.c
index 135b0c2cdaf..94c0454756a 100644
--- a/oldXMenu/XDestAssoc.c
+++ b/oldXMenu/XDestAssoc.c
@@ -2,14 +2,13 @@
2 2
3#include "copyright.h" 3#include "copyright.h"
4 4
5 5#include "XMenuInt.h"
6#include <X11/Xlib.h>
7#include "X10.h"
8 6
9/* 7/*
10 * XDestroyAssocTable - Destroy (free the memory associated with) 8 * XDestroyAssocTable - Destroy (free the memory associated with)
11 * an XAssocTable. 9 * an XAssocTable.
12 */ 10 */
11void
13XDestroyAssocTable(register XAssocTable *table) 12XDestroyAssocTable(register XAssocTable *table)
14{ 13{
15 register int i; 14 register int i;
@@ -35,4 +34,3 @@ XDestroyAssocTable(register XAssocTable *table)
35 /* Free the table. */ 34 /* Free the table. */
36 free((char *)table); 35 free((char *)table);
37} 36}
38
diff --git a/oldXMenu/XMakeAssoc.c b/oldXMenu/XMakeAssoc.c
index 3626eb01f52..143b2641112 100644
--- a/oldXMenu/XMakeAssoc.c
+++ b/oldXMenu/XMakeAssoc.c
@@ -4,22 +4,14 @@
4 4
5 5
6#include <config.h> 6#include <config.h>
7#include <X11/Xlib.h> 7#include "XMenuInt.h"
8#include <X11/Xresource.h> 8#include <X11/Xresource.h>
9#include "X10.h"
10#include <errno.h> 9#include <errno.h>
11 10
12#ifndef NULL 11#ifndef NULL
13#define NULL 0 12#define NULL 0
14#endif 13#endif
15 14
16struct qelem {
17 struct qelem *q_forw;
18 struct qelem *q_back;
19 char q_data[1];
20};
21void emacs_insque (struct qelem *elem, struct qelem *prev);
22
23/* 15/*
24 * XMakeAssoc - Insert data into an XAssocTable keyed on an XId. 16 * XMakeAssoc - Insert data into an XAssocTable keyed on an XId.
25 * Data is inserted into the table only once. Redundant inserts are 17 * Data is inserted into the table only once. Redundant inserts are
@@ -27,7 +19,7 @@ void emacs_insque (struct qelem *elem, struct qelem *prev);
27 * bucket is sorted (lowest XId to highest XId). 19 * bucket is sorted (lowest XId to highest XId).
28 */ 20 */
29void 21void
30XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id, register caddr_t data) 22XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id, register void *data)
31{ 23{
32 int hash; 24 int hash;
33 register XAssoc *bucket; 25 register XAssoc *bucket;
@@ -85,4 +77,3 @@ XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id
85 /* Insert the new entry. */ 77 /* Insert the new entry. */
86 emacs_insque((struct qelem *)new_entry, (struct qelem *)Entry->prev); 78 emacs_insque((struct qelem *)new_entry, (struct qelem *)Entry->prev);
87} 79}
88
diff --git a/oldXMenu/XMenu.h b/oldXMenu/XMenu.h
index b94c6c3cede..bf1e77b5ff7 100644
--- a/oldXMenu/XMenu.h
+++ b/oldXMenu/XMenu.h
@@ -54,7 +54,7 @@
54 * XMenu error code and error list definitions. 54 * XMenu error code and error list definitions.
55 */ 55 */
56extern int _XMErrorCode; 56extern int _XMErrorCode;
57extern char *_XMErrorList[]; 57extern char const *const _XMErrorList[];
58 58
59/* 59/*
60 * Define the XMWindow datatypes. 60 * Define the XMWindow datatypes.
@@ -106,7 +106,7 @@ typedef struct _xmpane {
106 int active; /* Window active? */ 106 int active; /* Window active? */
107 int activated; /* Window activated? */ 107 int activated; /* Window activated? */
108 int serial; /* -- Pane serial number. */ 108 int serial; /* -- Pane serial number. */
109 char *label; /* -- Pane label. */ 109 char const *label; /* -- Pane label. */
110 int label_width; /* -- Pane label width in pixels. */ 110 int label_width; /* -- Pane label width in pixels. */
111 int label_length; /* -- Pane label length in chars. */ 111 int label_length; /* -- Pane label length in chars. */
112 int label_x; /* -- Pane label X offset. */ 112 int label_x; /* -- Pane label X offset. */
@@ -141,7 +141,7 @@ typedef struct _xmselect {
141 struct _xmwindow *pad_l9; /* ---- */ 141 struct _xmwindow *pad_l9; /* ---- */
142 char *data; /* -- Selection data pointer. */ 142 char *data; /* -- Selection data pointer. */
143 struct _xmpane *parent_p; /* -- Selection parent pane structure. */ 143 struct _xmpane *parent_p; /* -- Selection parent pane structure. */
144 char *help_string; /* Help string or null. */ 144 char const *help_string; /* Help string or null. */
145} XMSelect; 145} XMSelect;
146 146
147 147
@@ -240,29 +240,29 @@ typedef void (*Wait_func)(void*);
240/* 240/*
241 * XMenu library routine declarations. 241 * XMenu library routine declarations.
242 */ 242 */
243XMenu *XMenuCreate(Display *display, Window parent, register char *def_env); 243XMenu *XMenuCreate(Display *display, Window parent, char const *def_env);
244int XMenuAddPane(Display *display, register XMenu *menu, register char *label, int active); 244int XMenuAddPane(Display *display, XMenu *menu, char const *label, int active);
245int XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, char *data, char *label, int active, char *help); 245int XMenuAddSelection(Display *display, XMenu *menu, int p_num, char *data, char *label, int active, char const *help);
246int XMenuInsertPane(register XMenu *menu, register int p_num, char *label, int active); 246int XMenuInsertPane(XMenu *menu, int p_num, char *label, int active);
247int XMenuInsertSelection(register XMenu *menu, register int p_num, register int s_num, char *data, char *label, int active); 247int XMenuInsertSelection(XMenu *menu, int p_num, int s_num, char *data, char *label, int active);
248int XMenuFindPane(register XMenu *menu, register char *label); 248int XMenuFindPane(XMenu *menu, char *label);
249int XMenuFindSelection(register XMenu *menu, int p_num, register char *label); 249int XMenuFindSelection(XMenu *menu, int p_num, char *label);
250int XMenuChangePane(register XMenu *menu, register int p_num, char *label); 250int XMenuChangePane(XMenu *menu, int p_num, char *label);
251int XMenuChangeSelection(Display *display, register XMenu *menu, register int p_num, register int s_num, char *data, int data_sw, char *label, int label_sw); 251int XMenuChangeSelection(Display *display, XMenu *menu, int p_num, int s_num, char *data, int data_sw, char *label, int label_sw);
252int XMenuSetPane(register XMenu *menu, register int p_num, register int active); 252int XMenuSetPane(XMenu *menu, int p_num, int active);
253int XMenuSetSelection(register XMenu *menu, register int p_num, register int s_num, int active); 253int XMenuSetSelection(XMenu *menu, int p_num, int s_num, int active);
254int XMenuRecompute(Display *display, register XMenu *menu); 254int XMenuRecompute(Display *display, XMenu *menu);
255int XMenuEventHandler(int (*handler) (XEvent *)); /* No value actually returned. */ 255void XMenuEventHandler(int (*handler) (XEvent *));
256int 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); 256int 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);
257int XMenuSetFreeze(register XMenu *menu, register int freeze); /* No value actually returned. */ 257void XMenuSetFreeze(XMenu *menu, int freeze);
258void XMenuActivateSetWaitFunction(Wait_func func, void *data); 258void XMenuActivateSetWaitFunction(Wait_func func, void *data);
259int 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)); 259int 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));
260char *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); 260char *XMenuPost(Display *display, XMenu *menu, int *p_num, int *s_num, int x_pos, int y_pos, int event_mask);
261int XMenuDeletePane(register Display *display, register XMenu *menu, register int p_num); 261int XMenuDeletePane(Display *display, XMenu *menu, int p_num);
262int XMenuDeleteSelection(register Display *display, register XMenu *menu, register int p_num, register int s_num); 262int XMenuDeleteSelection(Display *display, XMenu *menu, int p_num, int s_num);
263int XMenuDestroy(Display *display, register XMenu *menu); /* No value actually returned. */ 263void XMenuDestroy(Display *display, XMenu *menu);
264char *XMenuError(void); 264char const *XMenuError(void);
265void XMenuSetAEQ(XMenu *menu, int aeq);
265 266
266#endif 267#endif
267/* Don't add after this point. */ 268/* Don't add after this point. */
268
diff --git a/oldXMenu/XMenuInt.h b/oldXMenu/XMenuInt.h
index c9373460216..721652c9539 100644
--- a/oldXMenu/XMenuInt.h
+++ b/oldXMenu/XMenuInt.h
@@ -46,18 +46,24 @@ extern int (*_XMEventHandler)(XEvent*);
46/* 46/*
47 * Internal routine declarations. 47 * Internal routine declarations.
48 */ 48 */
49int _XMWinQueInit(void); /* No value actually returned. */ 49void _XMWinQueInit(void);
50int _XMWinQueAddPane(register Display *display, register XMenu *menu, register XMPane *p_ptr); 50int _XMWinQueAddPane(Display *display, XMenu *menu, XMPane *p_ptr);
51int _XMWinQueAddSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr); 51int _XMWinQueAddSelection(Display *display, XMenu *menu, XMSelect *s_ptr);
52int _XMWinQueFlush(register Display *display, register XMenu *menu, register XMPane *pane, XMSelect *select); 52int _XMWinQueFlush(Display *display, XMenu *menu, XMPane *pane, XMSelect *select);
53XMPane *_XMGetPanePtr(register XMenu *menu, register int p_num); 53XMPane *_XMGetPanePtr(XMenu *menu, int p_num);
54XMSelect *_XMGetSelectionPtr(register XMPane *p_ptr, register int s_num); 54XMSelect *_XMGetSelectionPtr(XMPane *p_ptr, int s_num);
55int _XMRecomputeGlobals(register Display *display, register XMenu *menu); /* No value actually returned. */ 55void _XMRecomputeGlobals(Display *display, XMenu *menu);
56int _XMRecomputePane(register Display *display, register XMenu *menu, register XMPane *p_ptr, register int p_num); 56int _XMRecomputePane(Display *display, XMenu *menu, XMPane *p_ptr, int p_num);
57int _XMRecomputeSelection(register Display *display, register XMenu *menu, register XMSelect *s_ptr, register int s_num); 57int _XMRecomputeSelection(Display *display, XMenu *menu, XMSelect *s_ptr, int s_num);
58int _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. */ 58void _XMTransToOrigin(Display *display, XMenu *menu, XMPane *p_ptr, XMSelect *s_ptr, int x_pos, int y_pos, int *orig_x, int *orig_y);
59int _XMRefreshPane(register Display *display, register XMenu *menu, register XMPane *pane); /* No value actually returned. */ 59void _XMRefreshPane(Display *display, XMenu *menu, XMPane *pane);
60void _XMRefreshSelection(Display *display, XMenu *menu, XMSelect *select);
61void emacs_insque (void *elem, void *prev);
62void emacs_remque (void *elem);
63void XDeleteAssoc(Display *dpy, XAssocTable *table, XID x_id);
64void XDestroyAssocTable(XAssocTable *table);
65void XMakeAssoc(Display *dpy, XAssocTable *table, XID x_id, void *data);
66void XDeleteAssoc(Display *dpy, XAssocTable *table, XID x_id);
60 67
61#endif 68#endif
62/* Don't add stuff after this #endif */ 69/* Don't add stuff after this #endif */
63
diff --git a/oldXMenu/insque.c b/oldXMenu/insque.c
index b324ade1d55..90a8eec4e71 100644
--- a/oldXMenu/insque.c
+++ b/oldXMenu/insque.c
@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 their callers have been renamed to emacs_mumble to allow us to 19 their callers have been renamed to emacs_mumble to allow us to
20 include this file in the menu library on all systems. */ 20 include this file in the menu library on all systems. */
21 21
22#include "XMenuInt.h"
22 23
23struct qelem { 24struct qelem {
24 struct qelem *q_forw; 25 struct qelem *q_forw;
@@ -29,8 +30,10 @@ struct qelem {
29/* Insert ELEM into a doubly-linked list, after PREV. */ 30/* Insert ELEM into a doubly-linked list, after PREV. */
30 31
31void 32void
32emacs_insque (struct qelem *elem, struct qelem *prev) 33emacs_insque (void *velem, void *vprev)
33{ 34{
35 struct qelem *elem = velem;
36 struct qelem *prev = vprev;
34 struct qelem *next = prev->q_forw; 37 struct qelem *next = prev->q_forw;
35 prev->q_forw = elem; 38 prev->q_forw = elem;
36 if (next) 39 if (next)
@@ -41,8 +44,10 @@ emacs_insque (struct qelem *elem, struct qelem *prev)
41 44
42/* Unlink ELEM from the doubly-linked list that it is in. */ 45/* Unlink ELEM from the doubly-linked list that it is in. */
43 46
44emacs_remque (struct qelem *elem) 47void
48emacs_remque (void *velem)
45{ 49{
50 struct qelem *elem = velem;
46 struct qelem *next = elem->q_forw; 51 struct qelem *next = elem->q_forw;
47 struct qelem *prev = elem->q_back; 52 struct qelem *prev = elem->q_back;
48 if (next) 53 if (next)
@@ -50,4 +55,3 @@ emacs_remque (struct qelem *elem)
50 if (prev) 55 if (prev)
51 prev->q_forw = next; 56 prev->q_forw = next;
52} 57}
53