Prefer tail calls.
[bpt/emacs.git] / lwlib / ChangeLog
CommitLineData
d672ac3c
PE
12013-11-14 Paul Eggert <eggert@cs.ucla.edu>
2
3 * lwlib.c (safe_strdup): Prefer tail calls.
4
b0b9e592
GM
52013-11-02 Glenn Morris <rgm@gnu.org>
6
c617f3d0
GM
7 Use relative filenames in TAGS files.
8 * Makefile.in (abs_srcdir): Remove it again.
9 (ctagsfiles, TAGS): Use relative filenames.
10
b0b9e592
GM
11 * Makefile.in (abs_srcdir): New, set by configure.
12 (ETAGS, ctagsfiles): New variables.
13 (TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again.
14
eb9a3661
GM
152013-10-24 Glenn Morris <rgm@gnu.org>
16
17 * Makefile.in (abs_top_srcdir): New, set by configure.
18
224e313d
PE
192013-09-04 Paul Eggert <eggert@cs.ucla.edu>
20
21 Makefile improvements.
22 * Makefile.in (all): Put this first. Don't use double-colon
23 rules, as they are not portable according to POSIX. Mark as phony.
24
1d71c1d9
PE
252013-06-30 Paul Eggert <eggert@cs.ucla.edu>
26
27 Fix minor problems found by static checking.
28 * lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
29 * lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
30 * lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
31 Now const.
32
150798c5
UM
332012-10-06 Ulrich Müller <ulm@gentoo.org>
34
35 * Makefile.in (AR, ARFLAGS): Get values from configure.
36
620f13b0
PE
372012-08-16 Paul Eggert <eggert@cs.ucla.edu>
38
39 Use ASCII tests for character types.
40 * lwlib-Xaw.c, lwlib.c, xlwmenu.c:
41 Don't include <ctype.h>; no longer needed.
42 * lwlib-Xaw.c (openFont):
43 * xlwmenu.c (openXftFont): Test just for ASCII digits.
44
0f6cabdb
GM
452012-08-01 Glenn Morris <rgm@gnu.org>
46
47 * Makefile.in (config_h): Add conf_post.h.
48
c09bfb2f
DA
492012-07-31 Dmitry Antipov <dmantipov@yandex.ru>
50
51 Avoid unused variable warning if --with-x-toolkit=motif.
52 * lwlib-Xm.c (make_menu_in_widget): Remove unused variable.
53
fee5959d
PE
542012-07-06 Paul Eggert <eggert@cs.ucla.edu>
55
56 Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
57 * lwlib.c: Include c-strcase.h.
58 (lwlib_strcasecmp): Remove. All uses replaced with c_strcasecmp.
59
cf38a720
PE
602012-06-26 Paul Eggert <eggert@cs.ucla.edu>
61
62 Clean out last vestiges of the old HAVE_CONFIG_H stuff.
63 * Makefile.in (ALL_CFLAGS): Remove -DHAVE_CONFIG_H.
64 * lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib-utils.c, lwlib.c:
65 * xlwmenu.c: Include <config.h> unconditionally.
66
3511c784
DA
672012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
68
69 * lwlib.c (my_strcasecmp): Rename to lwlib_strcasecmp, which
70 may be defined to library function strcasecmp if available.
71
845ca893
PE
722012-06-24 Paul Eggert <eggert@cs.ucla.edu>
73
74 Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
75 * xlwmenu.c (abort_gracefully):
76 Use _Noreturn rather than NO_RETURN.
77 No need for separate decl merely because of _Noreturn.
78
ba93a187
PE
792012-05-31 Paul Eggert <eggert@cs.ucla.edu>
80
81 Remove obsolete '#define static' cruft.
82 * xlwmenu.c [emacs]: Include "bitmaps/gray.xbm".
83 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits) [!emacs]:
84 Remove; all uses replaced with definiens.
85
6c94c34f 862012-04-18 Paul Eggert <eggert@cs.ucla.edu>
b8df54ff 87
9f46df23 88 configure: new option --enable-gcc-warnings (Bug#11207)
b8df54ff
PE
89 * Makefile.in (C_WARNINGS_SWITCH): Remove.
90 (WARN_CFLAGS, WERROR_CFLAGS): New macros.
91 (ALL_CFLAGS): Use new macros rather than old.
92
2f097256
GM
932012-04-11 Glenn Morris <rgm@gnu.org>
94
95 * Makefile.in (C_SWITCH_X_SYSTEM): Remove.
96 (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
97
81d40c92
DA
982011-10-13 Dmitry Antipov <dmantipov@yandex.ru>
99
100 * lwlib-Xaw.c (openFont, xaw_destroy_instance): Replace free with
101 xfree to avoid crash when xmalloc overrun checking is enabled.
102 * lwlib-Xm.c (free_destroyed_instance, xm_update_one_value): Ditto.
103 * lwlib-utils.c (XtApplyToWidgets): Ditto.
104 * lwlib.c (safe_free_str, free_widget_value, free_widget_value_tree)
105 (free_widget_info, free_widget_instance, name_to_widget): Ditto.
106 * xlwmenu.c (openXftFont): Ditto.
107
bc11a394
YM
1082011-06-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
109
110 * Makefile.in (ALL_CFLAGS): Add -I../lib for generated header files
111 in out-of-tree build.
112
695e5b41
PE
1132011-06-06 Paul Eggert <eggert@cs.ucla.edu>
114
115 * Makefile.in (ALL_CFLAGS): Add -I$(srcdir)/../lib.
0c1477cd 116 This is needed because lisp.h includes intprops.h now (Bug#8794).
695e5b41 117
5b7d36d1
PE
1182011-04-16 Paul Eggert <eggert@cs.ucla.edu>
119
fd35b6f9
PE
120 Static checks with GCC 4.6.0 and non-default toolkits.
121
5c5e6a40
PE
122 * lwlib-Xm.c (make_dialog): Rename local to avoid shadowing.
123 (make_menu_in_widget): Add cast to avoid warning.
b165261a 124 * lwlib-utils.c (XtCompositeChildren): Likewise.
5c5e6a40 125
9ac71959 126 * lwlib.c (EXPLAIN, destroy_one_instance): Avoid "else;".
748945cc 127 (first_child) [USE_MOTIF]: Protoize.
9ac71959 128
4d511c40
PE
129 * lwlib-utils.h, lwlib-utils.c (XtSafelyDestroyWidget): Remove; unused.
130
5b7d36d1 131 * xlwmenu.c (XlwMenuSetValues): Rename/ move locals to avoid shadowing.
1fbb4609 132 (MINL): Define only if not emacs.
5b7d36d1 133
33383987
JB
1342011-03-07 Chong Yidong <cyd@stupidchicken.com>
135
136 * Version 23.3 released.
137
3928f2b6
JD
1382011-02-14 Jan Djärv <jan.h.d@swipnet.se>
139
140 * xlwmenu.h: Remove Xt[CN]faceName and Xt[NC]defaultFace.
141
142 * xlwmenuP.h (_XlwMenu_part): Remove faceName. Add fontName.
143
144 * xlwmenu.c (xlwmenu_default_font): Remove, does not work for
145 multi-display.
146 (xlwMenuResources): Remove XtNfaceName and XtNdefaultFace.
147 Make XtNFont a String resource.
148 (make_windows_if_needed): Call XFlush so later changes are seen by the
149 X server.
150 (remap_menubar): Use XtMoveWidget and then
151 XtResizeWidget/XtResizeWindow after XtPopup. Works better with
152 Compiz.
153 (make_drawing_gcs): Check if mw->menu.font is set.
154 (getDefaultXftFont): New function.
155 (openXftFont): faceName is now fontName. Try XLoadQueryFont first
156 and then XftFontOpenName.
157 (XlwMenuInitialize): Initialize mw->menu.font with XLoadQueryFont.
158 (XlwMenuClassInitialize): Remove initialization of
159 xlwmenu_default_font.
160 (fontname_changed): Renamed from facename_changed.
161 (XlwMenuSetValues): Use facename_changed.
162
163 * lwlib-Xaw.c (make_dialog): Use *font even for Xft fonts. Try
164 XLoadQueryFont first and then Xft fonts.
165
c9a6cefc
GM
1662011-02-13 Glenn Morris <rgm@gnu.org>
167
168 * lwlib-utils.c (index, rindex): Don't undef (neither used in lwlib/,
169 nor set in config.h).
170
8f45ebb8
GM
1712011-02-11 Glenn Morris <rgm@gnu.org>
172
173 * Makefile.in (USE_X_TOOLKIT, RM, TOOLKIT_DEFINES): Remove.
174 (ALL_CFLAGS): Remove -I.
175 (config_h, lisp_h, src_h): New variables.
176 (globals_h): Rename from $globals.
177 ($(globals_h)): Check cd exit status.
178 (lwlib.o): Remove special rule.
179 (lwlib-utils.o, lwlib.o, lwlib-Xlw.o, lwlib-Xaw.o, lwlib-Xm.o)
180 (xlwmenu.o): Add lisp.h and config.h to prereqs.
181 (lwlib-utils.o): Add lwlib.h to prereqs.
182 (lwlib.o): Add lwlib-utils.h and lwlib-Xm.h to prereqs.
183 (lwlib-Xlw.o): Add xlwmenu.h to prereqs.
184 (xlwmenu.o): Add ../src/xterm.h to prereqs.
185 (mostlyclean): Forget about "core" files.
186
67f02b82
GM
1872011-02-10 Glenn Morris <rgm@gnu.org>
188
189 * lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib-utils.c, lwlib.c:
190 * xlwmenu.c: Standardize on <> for includes from the ../src directory.
191
7bd04bb4
GM
1922011-02-09 Glenn Morris <rgm@gnu.org>
193
194 * Makefile.in (@SET_MAKE@): New, set by configure.
195 (globals): New variable and rule.
196 (lwlib-utils.o, lwlib.o, lwlib-Xlw.o, lwlib-Xaw.o, lwlib-Xm.o)
67f02b82 197 (xlwmenu.o): Add dependency on src/globals.h.
7bd04bb4 198
3370edca
J
1992011-01-31 Jan Djärv <jan.h.d@swipnet.se>
200
201 * lwlib-Xm.c (make_destroyed_instance):
202 * lwlib-utils.c (XtApplyToWidgets):
203 * lwlib.c (safe_strdup, malloc_widget_value)
204 (allocate_widget_info, allocate_widget_instance): Use xmalloc
205 instead of malloc.
206
06d8ace5 2072011-01-25 Werner Meisner <weme24@gmx.net>
fdbd21a4
WM
208
209 * lwlib-Xm.c (xm_update_menu): Avoid a NULL pointer dereference
210 (Bug#7690).
211
d6dcbe70
DN
2122010-09-26 Dan Nicolaescu <dann@ics.uci.edu>
213
214 Use const for some pointer arguments.
215 * lwlib.h (my_strcasecmp, safe_strcmp, name_to_widget)
216 (find_in_table, dialog_spec_p, lw_separator_p):
217 * lwlib.c (my_strcasecmp, safe_strcmp, name_to_widget)
218 (find_in_table, dialog_spec_p, lw_separator_p): Use const.
219
a953c1e3
DN
2202010-09-20 Dan Nicolaescu <dann@ics.uci.edu>
221
222 * lwlib.h (lw_register_widget, lw_create_widget):
223 * lwlib.c (allocate_widget_info, lw_register_widget)
224 (lw_create_widget, separator_table): Use const.
225
b27f3b2f
DN
2262010-07-29 Dan Nicolaescu <dann@ics.uci.edu>
227
228 * xlwmenu.c (abort_gracefully): Mark as NO_RETURN.
229
ef00b293
DN
2302010-07-26 Dan Nicolaescu <dann@ics.uci.edu>
231
232 * xlwmenu.h (xlwmenu_window_p, xlwmenu_redisplay): Add declarations.
233
e6cfa7c3
AS
2342010-07-12 Andreas Schwab <schwab@linux-m68k.org>
235
236 * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
237 substitution.
238 (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
239
c825c0b6
J
2402010-07-08 Jan Djärv <jan.h.d@swipnet.se>
241
242 * xlwmenu.c (size_menu_item): Change from K&R to prototype.
243 Change label_width and height to int.
244 (draw_arrow, draw_shadow_rectangle, draw_shadow_rhombus)
245 (draw_separator, display_menu, fit_to_screen, motion_event_is_in_menu)
246 (map_event_to_widget_value): Reformat.
247 (display_menu_item): Change from K&R to prototype.
248
249 * lwlib.c (allocate_widget_info, lw_register_widget): Change from K&R
250 to prototype.
251 (lw_internal_update_other_instances, merge_widget_value): Reformat.
252
253 * lwlib-int.h (widget_creation_function): Fix prototype.
254
255 * lwlib-Xm.c (x_print_complete_resource_name)
256 (make_destroyed_instance, free_destroyed_instance, first_child)
257 (lw_motif_widget_p, resource_motif_string, destroy_all_children)
258 (xm_arm_callback, xm_update_label, xm_update_list)
259 (xm_update_pushbutton, xm_update_cascadebutton)
260 (xm_update_toggle, xm_update_radiobox, make_menu_in_widget)
261 (update_one_menu_entry, xm_update_menu, xm_update_text)
262 (xm_update_text_field, xm_update_one_widget)
263 (xm_update_one_value, activate_button, dialog_key_cb)
264 (make_dialog, mark_dead_instance_destroyed)
265 (find_matching_instance, recenter_widget, recycle_instance)
266 (xm_create_dialog, make_menubar, remove_grabs, make_popup_menu)
267 (make_main, xm_destroy_instance, xm_popup_menu)
268 (set_min_dialog_size, xm_pop_instance, do_call)
269 (xm_internal_update_other_instances, xm_generic_callback)
270 (xm_nosel_callback, xm_pull_down_callback, xm_pop_down_callback)
271 (xm_set_keyboard_focus, xm_set_main_areas, xm_manage_resizing): Change
272 from K&R to prototype.
273
274 * lwlib-Xlw.c (x_print_complete_resource_name): Change from K&R to
275 prototype.
276 (xlw_update_one_value): Reformat.
277
278 * lwlib-Xaw.c (xaw_generic_callback, command_reset)
279 (xaw_update_one_value): Reformat.
280 (xaw_update_one_widget): Reformat and remove dead code.
281 (xaw_scrollbar_scroll, xaw_scrollbar_jump, xaw_create_scrollbar)
282 (xaw_update_scrollbar): Remove (not used).
4f405069 283 (make_dialog): Change from K&R to prototype. Remove dead code.
c825c0b6
J
284 (xaw_creation_table): Remove scrollbar entry.
285
d8825aa3
DN
2862010-07-08 Dan Nicolaescu <dann@ics.uci.edu>
287
288 * lwlib.c (allocate_widget_instance, get_widget_info)
289 (get_widget_instance, find_instance, set_one_value)
290 (update_one_widget_instance, update_all_widget_values)
291 (lw_modify_all_widgets, lw_get_widget, lw_make_widget)
292 (lw_create_widget, lw_pop_all_widgets, lw_show_busy)
293 (lw_refigure_widget, lw_allow_resizing): Remove alternative K&R
294 declarations.
295 * lwlib-Xlw.c (xlw_update_one_widget):
296 (xlw_pop_instance): Likewise.
297 * lwlib-Xaw.c (xaw_update_one_widget, xaw_pop_instance):
298 Likewise.
299 * lwlib-Xm.c (P_): Remove.
300
72af86bd
AS
3012010-07-07 Andreas Schwab <schwab@linux-m68k.org>
302
303 * lwlib.c (lwlib_memset, lwlib_bcopy): Remove.
304 (malloc_widget_value, free_widget_info, allocate_widget_instance)
305 (lw_separator_p): Replace lwlib_memset, lwlib_bcopy, bzero, bcmp by
306 memset, memcpy, memcmp.
307 * lwlib-utils.c (XtApplyToWidgets): Likewise.
308 * xlwmenu.c (XlwMenuInitialize): Likewise.
309 * lwlib.h (lwlib_bcopy): Remove declaration.
310
e4c8d29a
J
3112010-07-05 Jan Djärv <jan.h.d@swipnet.se>
312
313 * xlwmenu.c (XlwMenuSetValues, XlwMenuInitialize): Correct prototype.
314 (display_menu_item): Remove unused variable gi.
315 (make_windows_if_needed): Remove unused variable screen.
316 (XlwMenuRedisplay): Remove unused variable i.
317
318 * lwlib-Xaw.c: Include <ctype.h> for isdigit.
319 (fill_xft_data, set_text): Remove unused variable screen.
320 (draw_text): Cast bp to FcChar8*.
321 (find_xft_data): Return 0 if inst or xft_data is not set.
322 (wm_delete_window): Correct prototype. Initialize widget to 0
323 and return if widget is still 0 after loop.
324
c3174d16
DN
3252010-07-04 Dan Nicolaescu <dann@ics.uci.edu>
326
327 * lwlib-Xaw.c: Convert function definitions to standard C.
328 * lwlib-Xlw.c:
329 * lwlib-utils.c:
330 * lwlib.c:
331 * lwlib.h:
332 * xlwmenu.c: Likewise.
333
383e0970
J
3342010-07-02 Jan Djärv <jan.h.d@swipnet.se>
335
f57e2426
J
336 * lwlib-Xm.c: Remove __P and P_ from .c and .m files.
337 * lwlib-Xm.c:
338 * lwlib.c:
339 * xlwmenu.c: Likewise.
340
383e0970
J
341 Remove P_ and __P macros.
342 * lwlib-Xaw.h: Remove P_ and __P macros.
343 * lwlib-Xlw.h:
344 * lwlib-Xm.h:
345 * lwlib-int.h:
346 * lwlib-utils.h:
347 * lwlib.h: Likewise.
348
4b6f0cae
GM
3492010-05-15 Glenn Morris <rgm@gnu.org>
350
351 * Makefile.in (mostlyclean): Remove references to non-existent files.
352
41d81b80
J
3532010-05-13 Jan Djärv <jan.h.d@swipnet.se>
354
355 * lwlib-Xaw.c (make_dialog): Remove extra arg to XtVaGetSubresources.
356
3c9a9730
J
3572010-05-08 Jan Djärv <jan.h.d@swipnet.se>
358
359 * xlwmenu.c (XlwMenuDestroy): Remove XtDestroyWidget on subwidgets
360 (Bug #6127).
361
61a808e8
CY
3622010-05-07 Chong Yidong <cyd@stupidchicken.com>
363
364 * Version 23.2 released.
365
e3cf0cde
GM
3662010-05-06 Glenn Morris <rgm@gnu.org>
367
368 * Makefile.in (CPP, LN_S, TOP, LN): Remove unused variables.
369
e9bcdbf7
GM
3702010-05-04 Glenn Morris <rgm@gnu.org>
371
372 * Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE):
373 Use @C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@ instead of
374 @c_switch_system@, @c_switch_machine@.
375
ed6281b0
DN
3762010-04-27 Dan Nicolaescu <dann@ics.uci.edu>
377
378 * Makefile.in (C_SWITCH_X_SYSTEM): Define using autoconf.
379
c632dfda
JD
3802010-04-21 Jan Djärv <jan.h.d@swipnet.se>
381
382 * xlwmenu.c (expose_cb):
383 * lwlib-Xaw.c (fill_xft_data): Declarations before code.
384
f0bd1598
J
3852010-04-17 Jan Djärv <jan.h.d@swipnet.se>
386
387 * xlwmenu.c: Include Shell.h, remove duplicate declaration of
388 XlwMenuRedisplay.
389 (display_menu_item): Replace ws->window with ws->pixmap, remove
390 call to XftDrawRect.
0235128c 391 (display_menu): Remove this and that argument.
4f405069 392 Remove just_compute_this_one_p. Fill pixmap at start and copy it to
0235128c 393 window at end.
f0bd1598
J
394 (expose_cb): New function.
395 (make_windows_if_needed): Replace XCreateWindow with XtCreatePopup.
0235128c 396 Add eventhandler for expose to expose_cb. Remove creation of xft_draw.
f0bd1598
J
397 (create_pixmap_for_menu): New function.
398 (remap_menubar): Pop down menus that aren't the same as in old_stack.
0235128c
SM
399 Set width, heigh, x, y on widget with XtVaSetValues.
400 Call create_pixmap_for_menu.
f0bd1598
J
401 Replace XUnmapWindow with XtPopdown.
402 Remowe two last parameters to display_menu.
403 (map_event_to_widget_value, XlwMenuRedisplay, Key, Select)
404 (pop_up_menu): Remowe two last parameters to display_menu.
405 (XlwMenuRealize): Call create_pixmap_for_menu, set w and pixmap.
406 Remove call to XftDrawCreate.
407 (XlwMenuDestroy): Free pixmap. Call XtDestroyWidget instead of
408 XDestroyWindow.
409 (handle_motion_event): Only call handle_single_motion_event once.
7aad87e8
JD
410 (set_window_type): New function.
411 (make_windows_if_needed, XlwMenuRealize): Call set_window_type.
f0bd1598
J
412
413 * xlwmenuP.h (window_state): Add pixmap and w.
414
b117f7cc
YM
4152010-04-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
416
417 * xlwmenu.c (facename_changed): Put function in #ifdef HAVE_XFT.
418
76bd8202
DN
4192010-04-11 Dan Nicolaescu <dann@ics.uci.edu>
420
421 * Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE)
422 (C_SWITCH_X_SITE): Define using autoconf.
423
1ecb2d3f
JD
4242010-04-11 Jan Djärv <jan.h.d@swipnet.se>
425
426 * lwlib-Xaw.c (widget_xft_data): New for Xft data.
427 (fill_xft_data, openFont, get_text_width_and_height)
428 (draw_text, set_text, find_xft_data, command_press)
429 (command_reset): New functions.
430 (xaw_update_one_widget): Call set_text for dialog and buttons
431 if HAVE_XFT. Also set internalHeight for buttons.
432 (xaw_destroy_instance): Free all Xft related data.
433 (button_actions, buttonTrans): New structures.
434 (make_dialog): Call XtAppAddActions for button_actions.
435 Find xft font to use and call fill_xft_data for widgets.
436 (xaw_create_dialog): Pass instance parameter to make_dialog.
437
438 * lwlib-int.h (_widget_instance): Add Xft data if HAVE_XFT.
439 Override translations for buttons. If depth is 16 or more, tell
440 Xaw3d to not be nice to colormap.
441 Remove separator widget, use XtNhorizDistance on first right button
442 instead.
443
99852628
JD
4442010-04-08 Jan Djärv <jan.h.d@swipnet.se>
445
446 * xlwmenu.c (xlwmenu_default_font): Make static.
447 (xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
448 (string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
449 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
450 HAVE_XFT.
451 (size_menu): Set max_rest_width in window_state structure.
452 (display_menu_item): If HAVE_XFT and xft_draw is set, use
453 XftDrawRect and XftDrawStringUtf8 to draw text.
454 (make_windows_if_needed): Set max_rest_width and xft_draw
455 in windows[i].
456 (openXftFont): New.
4f405069 457 (XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
99852628
JD
458 is not set, load font fixed and save it in xlwmenu_default_font.
459 (XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
460 (XlwMenuClassInitialize): Initialize xlwmenu_default_font.
461 (XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
462 windows[0].xft_draw if xft_font is set.
463 (XlwMenuDestroy): Destroy all xft_draw and close xft_font.
464 (facename_changed): New.
4f405069 465 (XlwMenuSetValues): Call facename_changed. If face name did change,
99852628
JD
466 close old fonts and destroy xft_draw:s. Then create new ones.
467
468 * xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
469 XtCDefaultFace): New.
470
471 * xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
472 (_XlwMenu_part): Add faceName,xft_fg, xft_bg, xft_disabled_fg and
473 xft_font.
474
288f9fc0
CY
4752010-03-10 Chong Yidong <cyd@stupidchicken.com>
476
477 * Branch for 23.2.
478
d7306fe6
DN
4792009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
480
481 * xlwmenu.c:
482 * lwlib.c:
483 * lwlib-utils.c:
484 * lwlib-Xm.c:
485 * lwlib-Xlw.c:
486 * lwlib-Xaw.c: Include setjmp.h.
487
70243478
CY
4882009-06-21 Chong Yidong <cyd@stupidchicken.com>
489
490 * Branch for 23.1.
491
77ccee09
DN
4922008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
493
494 * Makefile.in (ALL_CFLAGS): Remove reference to C_SWITCH_SITE.
495
f2a77c3a
DN
4962008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
497
498 * lwlib.c: Remove references to obsolete variables.
499
c2cd06e6
JM
5002008-06-02 Jim Meyering <meyering@redhat.com>
501
ba60bd44 502 Remove useless if-before-free tests.
70fdbb46
JM
503 * lwlib-Xm.c (xm_update_one_value): Likewise.
504 * lwlib.c (safe_free_str, free_widget_value_tree): Likewise.
c2cd06e6 505
73d798d5
SM
5062008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
507
508 * Makefile.in (TOOLKIT_DEFINES): Remove.
509
880820fe 5102007-08-29 Károly Lőrentey <lorentey@elte.hu>
8d9cc0b7
MB
511
512 * xlwmenu.c (XlwMenuRealize): Ignore X errors while setting up
513 cursor shape.
514
cacc7b51
GM
5152007-07-25 Glenn Morris <rgm@gnu.org>
516
517 * Relicense all FSF files to GPLv3 or later.
518
519 * COPYING: Switch to GPLv3.
520
52a0e111
CY
5212007-06-13 Chong Yidong <cyd@stupidchicken.com>
522
523 * lwlib-Xaw.c, lwlib.c: Link to xaw3d if available.
524
7dfc4cda
CY
5252007-06-02 Chong Yidong <cyd@stupidchicken.com>
526
527 * Version 22.1 released.
528
7073bb78
GM
5292007-02-28 Glenn Morris <rgm@gnu.org>
530
531 * Makefile.in (distclean): Delete Makefile.
532 (maintainer-clean): Delete TAGS.
533
880820fe 5342007-01-01 Jan Djärv <jan.h.d@swipnet.se>
3fcd0186
JD
535
536 * xlwmenu.c (xlwMenuResources): Add XtNleaveCallback, XtNenterCallback.
537 (display_menu, map_event_to_widget_value): Generate enter and
538 leave callbacks.
539 (pop_up_menu): Initialize mw->menu.inside_entry.
540
541 * xlwmenu.h (XtNleaveCallback, XtNenterCallback): New strings.
542
543 * xlwmenuP.h (_XlwMenu_part): Add enter/leave callbacks and
544 inside_entry.
545
79a2d0fc 546 * lwlib-Xlw.c (enter_hook, leave_hook): New functions.
3fcd0186
JD
547 (xlw_create_menubar, xlw_create_popup_menu): Connect XtNenter/leave
548 to enter/leave_hook.
549
41c98a5e
CY
5502006-10-30 Chong Yidong <cyd@stupidchicken.com>
551
552 * Makefile.in (lwlib-utils.o): Use CPPFLAGS.
553
45a2056c
JB
5542006-09-15 Jay Belanger <belanger@truman.edu>
555
556 * COPYING: Replace "Library Public License" by "Lesser Public
557 License" throughout.
558
880820fe 5592006-05-23 Jan Djärv <jan.h.d@swipnet.se>
1f5df1f7
JD
560
561 * xlwmenu.c: Include xterm.h if emacs instead of declaring functions
562 used.
563 (string_width): Declare as static.
33462dfa 564 (Start, pop_up_menu): Set is_hint to 0 before calling
1f5df1f7
JD
565 handle_motion_event.
566 (pop_up_menu): Return value and parameters for x_catch_errors and
567 x_uncatch_errors changed.
568
43f15d4a
DN
5692005-09-27 Dan Nicolaescu <dann@ics.uci.edu>
570
79a2d0fc
JB
571 * xlwmenu.c (find_next_selectable, find_prev_selectable):
572 Add missing parameter declarations.
43f15d4a 573
c5caf981
DN
5742005-09-24 Dan Nicolaescu <dann@ics.uci.edu>
575
576 * xlwmenu.c: Fix the return type for x_clear_errors and
33462dfa 577 x_uncatch_errors.
c5caf981 578
880820fe 5792005-07-19 Jan Djärv <jan.h.d@swipnet.se>
7537ab9c 580
33462dfa 581 * lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for
7537ab9c
JD
582 labels in menu bar.
583
a0ec7a4a
LK
5842005-07-04 Lute Kamstra <lute@gnu.org>
585
586 Update FSF's address in GPL notices.
587
880820fe 5882005-04-01 Jan Djärv <jan.h.d@swipnet.se>
52a9f3a0
JD
589
590 Reenable support for I18N to Lucid menus.
a0ec7a4a 591
52a9f3a0
JD
592 * xlwmenuP.h (_XlwMenu_part): Add fontSet resource.
593
594 * xlwmenu.c (string_width):
595 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Ditto.
596 (display_menu_item, make_drawing_gcs, XlwMenuInitialize)
79a2d0fc 597 (XlwMenuSetValues): Use font if fontSet is NULL, use only
52a9f3a0
JD
598 font for !HAVE_X_I18N.
599 (xlwMenuResources): Add fontSet resource.
600
880820fe 6012005-03-22 Jan Djärv <jan.h.d@swipnet.se>
937a855d
JD
602
603 * xlwmenuP.h: Temporary #undef HAVE_X_I18N until FontSet for UTF-8
604 on XFree86 is investigated.
605
606 * xlwmenu.c: Ditto.
607
9f9e5275
SM
6082005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
609
423a3f59
SM
610 Add support for I18N to Lucid menus.
611
612 * xlwmenuP.h (struct _XlwMenu_part) [HAVE_X_I18N]: Change `font' to be
613 a fontset. Add a `font_extents' element.
614
615 * xlwmenu.c (xlwMenuResources) [HAVE_X_I18N]: Use a fontset for the
616 `font' resource.
c4cc8b9a 617 (string_width) [HAVE_X_I18N]: Use XmbTextExtents.
423a3f59
SM
618 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): New macros.
619 (arrow_width, toggle_button_width, size_menu_item, draw_arrow)
620 (draw_toggle, draw_radio, display_menu_item): Use them.
621 (display_menu_item) [HAVE_X_I18N]: Use XmbDrawString.
622 (make_drawing_gcs) [HAVE_X_I18N]: Don't mess with fonts.
623 (XlwMenuInitialize) [HAVE_X_I18N]: Initialize font_extents.
624 (XlwMenuSetValues) [HAVE_X_I18N]: Refresh font_extents if font changes.
625
3c916d65
SM
626 * lwlib-Xm.c (xm_update_label, xm_update_list): Use the recommended
627 XmStringCreateLocalized function. Add missing copyright.
628
9f9e5275
SM
629 * lwlib-Xm.h: Add missing copyright and license notice.
630
f7b758bd
SM
6312005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
632
633 * xlwmenuP.h:
634 * xlwmenu.h: Add missing copyright and license notice.
635
880820fe 6362004-12-27 Jan Djärv <jan.h.d@swipnet.se>
4220b2a5
JD
637
638 * xlwmenu.c (xlwMenuActionsList): Install MenuGadgetEscape as an
639 action procedure for compatibility with Lesstif/Motif.
640
641 * Makefile.in (mostlyclean): Don't remove *~ on clean.
642
880820fe 6432004-12-26 Jan Djärv <jan.h.d@swipnet.se>
4e6e2184
JD
644
645 * lwlib-Xaw.c: Put <KeyPress>Escape in dialogOverride so dialogs only
646 pops down on Escape, not any keypress.
647
880820fe 6482004-11-01 Jan Djärv <jan.h.d@swipnet.se>
03a693b4
JD
649
650 * xlwmenu.c (find_first_selectable, find_next_selectable)
651 (find_prev_selectable): Rename parameter skip_no_call_data to
652 skip_titles. Recognize titles as having no call_data and no contents.
653 (Down, Up): Comment update.
654
880820fe 6552004-08-30 Jan Djärv <jan.h.d@swipnet.se>
05bdae44 656
f7b758bd 657 * lwlib.h (_widget_value): Add lname and lkey.
05bdae44 658
880820fe 6592004-01-12 Jan Djärv <jan.h.d@swipnet.se>
244c93fe 660
f7b758bd 661 * xlwmenuP.h (_XlwMenu_part): Add top_depth.
244c93fe 662
ed9265fc 663 * xlwmenu.h: Removed declaration of pop_up_menu.
244c93fe
JD
664
665 * xlwmenu.c (Start): Get correct time if time in event is CurrentTime.
666 (find_first_selectable, find_next_selectable)
667 (find_prev_selectable): Add parameter skip_no_call_data to skip
668 over items with no call data (popup menu titles).
669 (Down, Up): Compare old_depth to top_depth instead of 2.
670 Pass True to find_*_selectable:s new parameter if this is a popup menu.
671 (Left, Right): Compare old_depth to top_depth instead of 2.
672 Pass 0 to find_*_selectable:s new parameter.
673 (pop_up_menu): Set top_depth to 1 for pop up menus and 2 for
674 menu bar menus, to enable keyboard traversal of popups.
675
676 * lwlib-Xm.c (dialog_key_cb): New function.
677 (make_dialog): Add event handlers to dialog_key_cb for key press
678 so we can pop down on ESC.
679
680 * lwlib-Xlw.c (xlw_popup_menu): Replace call to pop_up_menu with
681 XtCallActionProc ("start"). Use a full XEvent since "start" copies it.
682
79a2d0fc 683 * lwlib-Xaw.c (make_dialog): Add override so dialog pops down on ESC.
244c93fe
JD
684 (wm_delete_window): If widget isn't a shell, use the parent.
685
404074e2
DL
6862003-05-22 Dave Love <fx@gnu.org>
687
688 * xlwmenu.c: Include lisp.h, not ../src/lisp.h.
689 (make_drawing_gcs): Remove unused `xswa', `mask'.
690
691 * lwlib-Xlw.c: Include lisp.h, not ../src/lisp.h.
692 (lw_lucid_widget_p): Remove unused `mw'.
f7b758bd
SM
693 (xlw_update_one_widget, xlw_pop_instance) [PROTOTYPES]:
694 Provide ISO C arglists.
404074e2 695
19bb0fcd 6962003-04-30 Lute Kamstra <lute@gnu.org>
d7acd774
JB
697
698 * Makefile.in: Make things function properly in case both LessTif
699 and Open Motif are installed.
700
880820fe 7012003-01-26 Jan Djärv <jan.h.d@swipnet.se>
d0bdb060
JD
702
703 * lwlib-Xm.c (update_one_menu_entry): Deallocate widget_list.
704 (destroy_all_children): Call it self to destroy sub menu children.
705
0b17a217
RS
7062002-12-22 Richard M. Stallman <rms@gnu.org>
707
708 * xlwmenu.c (pop_new_stack_if_no_contents): Do nothing if
709 new_depth is 1.
710 (remap_menubar): Don't look in new_stack[0].
711 (Left): At level 1, do the same thing Right does.
712
207c13a7
DL
7132002-11-21 Dave Love <fx@gnu.org>
714
715 * lwlib-Xaw.c [PROTOTYPES]: Provide ISO C arglists for functions
716 with Boolean args.
717
db0e17de
DL
7182002-11-20 Dave Love <fx@gnu.org>
719
720 * lwlib.c: Remove obsolete USE_OLIT code.
f7b758bd 721 [PROTOTYPES]: Provide ISO C arglists for functions with Boolean args.
db0e17de
DL
722 (lwlib_memset): Declare length arg as size_t.
723 (malloc_widget_value): Cast arg of lwlib_memset.
724
725 * xlwmenu.c (separator_height): Prototype.
726
ef93458b
PJ
7272002-05-07 Miles Bader <miles@gnu.org>
728
729 * xlwmenu.c (make_drawing_gcs): The scaling factor passed to
730 `x_alloc_lighter_color_for_widget' is a float, not an int, and
731 it's a multiplicative factor, so the name `delta' is inaccurate.
732 Always base disabled foreground on the normal foreground.
733 Don't use the temporary variable `temp'.
734
880820fe 7352002-05-06 Pavel Janík <Pavel@Janik.cz>
8b71a9ca
PJ
736
737 * xlwmenu.c (xlwMenuResources): New resource.
738 (find_next_selectable): Return current item when the menu is not
10d1d0af 739 popped up.
8b71a9ca
PJ
740 Rename `inactive_gc' to `disabled_gc'.
741 Use lighter/darker color for disabled menu items instead of using
742 stipple. Use stipple only when better color can not be
743 determined automatically.
744
745 * xlwmenu.h (XtNdisabledForeground, XtCDisabledForeground):
746 New resource names.
747
748 * xlwmenuP.h (_XlwMenu_part): Add new member `disabled_foreground'.
749 Rename `inactive_gc' to `disabled_gc'.
750
880820fe 7512002-04-29 Pavel Janík <Pavel@Janik.cz>
e656fc9d
PJ
752
753 * xlwmenu.c <XtNmargin, XtNverticalSpacing, XmNshadowThickness>:
754 Change default values.
755
880820fe 7562002-04-28 Jan Djärv <jan.h.d@swipnet.se>
005e0d57
JD
757
758 * xlwmenu.c: Do not grab keyboard if installation-directory is
759 non-nil (not installed Emacs). To simplify debugging.
760
880820fe 7612002-04-28 Pavel Janík <Pavel@Janik.cz>
38e668df 762
9d5ebed1
PJ
763 * Makefile.in: Remove OpenLook file dependencies.
764 (xrdb-cpp.o): Remove target.
765 Remove unused defines.
766
2bad4ee2
PJ
767 * xrdb.c, xrdb-cpp.c, Imakefile, dispatch.c, dispatch.h:
768 Remove unused file.
9d5ebed1 769
bcd833b2 770 * lwlib.c (instantiate_widget_instance): Remove duplicated prototype.
38e668df 771
880820fe 7722002-04-25 Pavel Janík <Pavel@Janik.cz>
90077f66
PJ
773
774 * lwlib-Xol.c, lwlib-Xol.h, lwlib-Xolmb.c, lwlib-Xolmb.h
775 * lwlib-XolmbP.h: Remove file.
776
880820fe 7772002-04-22 Jan Djärv <jan.h.d@swipnet.se>
6be3e0da
JD
778
779 * lwlib-Xm.c: Removed compiler warning.
780
781 * xlwmenu.c: Add calls to GrabKeyboard to remove strange
782 interactions with window managers that steal keypresses.
783 Call ungrab_all instead of XtUngrabPointer.
784 (pop_up_menu): Add call to XtGrabKeyboard.
785 (ungrab_all): New function.
786
880820fe 7872002-04-20 Pavel Janík <Pavel@Janik.cz>
7769818b
PJ
788
789 * xlwmenu.c (find_next_selectable): New function.
790 (Down, Up, Right): Use it.
791 (find_next_selectable): Prevent endless loops when only one item
792 is enabled in the menu.
793
880820fe 7942002-04-19 Pavel Janík <Pavel@Janik.cz>
6ad6535b
PJ
795
796 These changes allow moving in menu via keyboard.
bcd833b2
SM
797
798 * xlwmenu.c (xlwMenuTranslations, xlwMenuActionsList):
799 Add translations for cursor keys and RET.
6ad6535b
PJ
800 (find_next_selectable, find_prev_selectable): New functions used
801 for finding menu-items.
802 (Down, Up, Left, Right): New functions.
803
5e3238f4
EZ
8042002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
805
e7c9e445 806 * Makefile.in (TAGS): Don't use -t, it's the default behavior for
5e3238f4
EZ
807 etags, so it barfs if invoked with -t.
808
6147334f
RS
8092002-03-17 Richard M. Stallman <rms@gnu.org>
810
e7c9e445 811 * lwlib.c (P_): Definitions deleted.
6147334f 812
663671d5
EZ
8132002-03-16 Eli Zaretskii <eliz@is.elta.co.il>
814
815 * lwlib.c (P_): Don't define if already defined.
816
880820fe 8172002-01-27 Pavel Janík <Pavel@Janik.cz>
7a4b11ca
PJ
818
819 * lwlib-Xaw.c (xaw_update_scrollbar, xaw_scrollbar_scroll)
820 (xaw_scrollbar_jump): Put whole functions in #if 0.
821
880820fe 8222002-01-09 Pavel Janík <Pavel@Janik.cz>
ca79970e
PJ
823
824 * lwlib-Xaw.c (xaw_create_dialog): Initialize icon_name to
825 suppress compiler warnings.
826
880820fe 8272001-12-18 Pavel Janík <Pavel@Janik.cz>
4521d1fc 828
bcd833b2 829 * lwlib.c (separator_names): Add missing braces around initializers.
4521d1fc 830
880820fe 8312001-12-08 Pavel Janík <Pavel@Janik.cz>
03f9f7ae
PJ
832
833 * COPYING: New file.
834
656f46bb
RS
8352001-12-01 Richard M. Stallman <rms@gnu.org>
836
837 * lwlib.h (_widget_value): `help' has type Lisp_Object.
838
839 * xlwmenu.c, lwlib-Xaw.c, lwlib-Xlw.c: Include ../src/lisp.h.
840 * lwlib-Xm.c, lwlib-Xol.c, lwlib/lwlib-Xolmb.c: Include ../src/lisp.h.
841 * lwlib/lwlib-utils.c: Include ../src/lisp.h.
e7c9e445 842
656f46bb
RS
843 * lwlib.c: Include ../src/lisp.h. Don't declare xmalloc.
844 (free_widget_value_tree): Don't free `help' field.
845 (copy_widget_value_tree): Copy `help' simply, without safe_strdup.
846 (merge_widget_value): Compare and copy `help' simply.
847
66458f32
RS
8482001-11-28 Richard M. Stallman <rms@gnu.org>
849
850 * Makefile.in (TAGS): Find the source files in $(srcdir).
851
71431a0e
GM
8522001-10-20 Gerd Moellmann <gerd@gnu.org>
853
6aa97356 854 * (Version 21.1 released.)
71431a0e 855
14a3dff7
GM
8562001-10-09 Gerd Moellmann <gerd@gnu.org>
857
858 * lwlib-Xaw.c (xaw_create_scrollbar) [!0]: Return NULL.
859 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
860
ab952a4f
GM
8612001-10-05 Gerd Moellmann <gerd@gnu.org>
862
863 * Branch for 21.1.
e7c9e445 864
a9793e45
GM
8652001-04-30 Gerd Moellmann <gerd@gnu.org>
866
867 * xlwmenu.c (xlwmenu_window_p): New function.
868
6c29b43c
GM
8692001-03-23 Gerd Moellmann <gerd@gnu.org>
870
871 * lwlib-Xlw.c (x_print_complete_resource_name) [0]: New function.
872
3c9e997b
GM
8732001-03-22 Gerd Moellmann <gerd@gnu.org>
874
875 * lwlib-Xm.c (x_print_complete_resource_name) [0]: New function.
876
3d57dbba
GM
8772001-03-13 Gerd Moellmann <gerd@gnu.org>
878
19b2bb80
GM
879 * lwlib-Xm.c (make_menu_in_widget): Remove code forcing LessTif to
880 recompute centered text; it works fine without with current LessTif.
881
f25d58a4
GM
882 * lwlib-Xm.c (make_menu_in_widget): Add an XmNpopdownCallback
883 instead of an XmNunmapCallback.
f7b758bd 884 (xm_unmap_callback): Remove.
e7c9e445 885
f25d58a4
GM
886 * lwlib-Xm.c (make_menubar): Take out code in #if 0.
887
3d57dbba
GM
888 * lwlib-Xm.c (xm_popup_menu): Don't set XmNmenuPost unless
889 necessary. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
890
2a73ab60
GM
8912001-02-28 Gerd Moellmann <gerd@gnu.org>
892
11ef99b9
GM
893 * lwlib-Xm.c (xm_arm_callback): Don't compare widgets with `None',
894 use NULL instead.
895
2a73ab60
GM
896 * lwlib-Xaw.c (xaw_update_one_widget): Use XtSetSensitive instead
897 of setting the value of XtNsensitive.
898
899 * lwlib-Xm.c (xm_update_radiobox, update_one_menu_entry)
900 (xm_update_one_widget): Use XtSetSensitive instead of setting the
bcd833b2 901 value of XmNsensitive. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
2a73ab60 902
ec9077f2
DL
9032000-12-14 Dave Love <fx@gnu.org>
904
bcd833b2 905 * xlwmenu.c (gray_bitmap_bits): Remove `unsigned' from declaration.
ec9077f2 906
2f90328f
DL
9072000-12-11 Dave Love <fx@gnu.org>
908
909 * xlwmenu.c (draw_separator) <SEPARATOR_SHADOW_ETCHED_IN_DASH>:
910 <SEPARATOR_SHADOW_ETCHED_OUT_DASH>: Fix call of draw_separator.
911
ae0d7485
GM
9122000-12-07 Gerd Moellmann <gerd@gnu.org>
913
914 * lwlib-Xm.c (xm_arm_callback): Fix last change.
915
edfb795e
GM
9162000-11-30 Gerd Moellmann <gerd@gnu.org>
917
918 * lwlib-Xm.c (xm_arm_callback): Handle case that W is null;
919 also see comment there.
920
cd913aae
GM
9212000-11-21 Gerd Moellmann <gerd@gnu.org>
922
923 * xlwmenu.c (xlwmenu_redisplay): New function.
924
0f3360b0
SM
9252000-09-30 Stefan Monnier <monnier@cs.yale.edu>
926
927 * lwlib.c (lw_separator_p): Init separator_p (bug with "-- some text").
928
5c520e0a
SS
9292000-09-28 Sam Steingold <sds@gnu.org>
930
931 * xlwmenu.c: Before including <X11/Xos.h> on SUN, define SUNOS41
932 to avoid redefining struct timeval and struct timezone.
933
7a3d0e0e
MB
9342000-09-04 Miles Bader <miles@gnu.org>
935
936 * xlwmenu.c (XlwMenuSetValues): Only frob the display if the menu
937 is actually displayed.
b7fa4a06
MB
938 (remap_menubar): Only include the menu-margin in the initial X & Y
939 positions for horizontal menu-bars.
940 (fit_to_screen): If moving a sub-menu to the left-side, increment
941 its x-position by the shadow-thickness to make it look more
942 attached to the invoking menu-item (similarly to the way it would
943 be displayed on the right side).
7a3d0e0e 944
a3d35a39
MB
9452000-09-03 Miles Bader <miles@gnu.org>
946
947 * xlwmenu.c (x_alloc_lighter_color_for_widget): New extern declaration.
948 (make_shadow_gcs) [emacs]: Use x_alloc_lighter_color_for_widget to
949 do shadow calculation.
950 (make_shadow_gcs): Remove code that tests whether the top shadow
951 is dimmer than the bottom shadow--it shouldn't ever happen.
952
caccd8f2
MB
9532000-08-30 Miles Bader <miles@gnu.org>
954
955 * xlwmenu.c (XlwMenuSetValues): If the background color has
956 changed, re-make the shadow-gcs too.
957
f4988be7
GM
9582000-08-03 Gerd Moellmann <gerd@gnu.org>
959
960 * lwlib.c, lwlib-Xm.c, lwlib-Xaw.c: Use NULL at the end of the
961 variable argument lists of XtVaSetValues and XtVaGetValues
962 functions because 0 is not sufficient on systems where sizeof
963 (int) < sizeof (void *).
964
47db06aa
GM
9652000-07-19 Gerd Moellmann <gerd@gnu.org>
966
967 * xlwmenu.c [emacs]: Don't include <X11/bitmaps/gray> because that
968 leads to redefinition errors when static is defined as empty in
969 config.h. Refer to the gray bitmap in xfns.c, instead.
970
cdefcd82
DL
9712000-07-18 Dave Love <fx@gnu.org>
972
973 * lwlib-utils.c (XtApplyToWidgets): Cast args of lwlib_bcopy.
974
af5e64bc
DL
9752000-06-23 Dave Love <fx@gnu.org>
976
977 * lwlib-Xlw.c (xlw_popup_menu): Cast arg of pop_up_menu.
978
979 * lwlib-utils.c: Include lwlib.h.
980
0a2ea235
GM
9812000-06-16 Gerd Moellmann <gerd@gnu.org>
982
983 * xlwmenuP.h (_XlwMenu_part): Add free_top_shadow_color_p and
984 free_bottom_shadow_color_p.
985
986 * xlwmenu.c (make_shadow_gcs): Set free_top_shadow_color_p
987 and free_top_shadow_color_p flags in the menu widget if
988 top and bottom shadow colors must be freed.
989 (release_shadow_gcs): Free colors only if they must be freed.
990
ed1056b3
GM
9912000-06-12 Gerd Moellmann <gerd@gnu.org>
992
993 * xlwmenu.c (make_shadow_gcs): Free and copy colors so that
994 color reference counts are right.
995 (release_shadow_gcs): Free colors.
996
bb2337f5
DL
9972000-06-06 Dave Love <fx@gnu.org>
998
999 * xlwmenu.c (x_alloc_nearest_color_for_widget, x_catch_errors)
1000 (x_uncatch_errors, x_had_errors_p, x_clear_errors): Add prototypes
1001 -- should be moved into separate header.
bcd833b2 1002 (make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first arg.
bb2337f5
DL
1003 (Start) <pop_up_menu>: Cast second arg.
1004
1005 * lwlib.c (P_): Use PROTOTYPES.
1006 (safe_strdup): Declare arg const.
1007 (lw_modify_all_widgets) <!info>: Return 0.
1008
1009 * lwlib-Xm.c (P_): Use PROTOTYPES.
1010
1011 * xlwmenu.h, lwlib.h, lwlib-utils.h, lwlib-int.h, lwlib-Xm.h:
1012 * lwlib-Xlw.h, lwlib-Xaw.h: Enable prototypes.
1013
1014 * lwlib-Xaw.c (xaw_popup_menu): Add EVENT arg.
1015
1016 * Makefile.in (lwlib.o): Depend on lwlib-Xlw.h.
1017 (lwlib-Xlw.o): Depend on lwlib-Xlw.h.
1018 (lwlib-Xaw.o): Depend on lwlib-Xaw.h.
1019 (lwlib-Xm.o): Depend on lwlib-Xm.h.
1020
9b2f3c38
GM
10212000-03-12 Gerd Moellmann <gerd@gnu.org>
1022
1023 * lwlib-Xm.c (make_menubar) [LESSTIF_VERSION]: Don't set
1024 XmNresizeHeight and XmNresizeWidth.
1025
7397acc4
DL
10262000-03-08 Dave Love <fx@gnu.org>
1027
1028 * Makefile.in (liblw.a): Don't bother testing for ranlib failing
1029 since configure sets it up.
1030
1d4d17e2
GM
10312000-03-06 Gerd Moellmann <gerd@gnu.org>
1032
1033 * lwlib-Xm.c (make_menubar): Set XmNresizeHeight and
1034 XmNresizeWidth resources only if LESSTIF_VERSION is defined.
1035
566f7ec8
GM
10362000-03-05 Gerd Moellmann <gerd@gnu.org>
1037
1038 * lwlib-Xm.c (xm_manage_resizing): Rewritten.
1039
1040 * lwlib.c (lw_modify_all_widgets): Return non-zero if widget
1041 tree was changed.
1042 (merge_widget_value): Add parameter CHANGE_P. Set *CHANGE_P
1043 to 1 if a change occurs.
1044
1045 * lwlib.h (lw_modify_all_widgets): Change prototype.
1046
64d739c4
GM
10472000-03-04 Gerd Moellmann <gerd@gnu.org>
1048
1049 * xlwmenu.c (make_shadow_gcs): Use the widget's colormap instead
1050 of the screen's default colormap.
1051
b6a22bf8
GM
10522000-02-18 Gerd Moellmann <gerd@gnu.org>
1053
1054 * lwlib.c (merge_widget_value): Fix incorrect assignment of
1055 safe_strdup'd help string.
1056
e12489f9
GM
10572000-01-25 Gerd Moellmann <gerd@gnu.org>
1058
1059 * lwlib-Xm.c (make_menu_in_widget): Don't add XmNpopdownCallback,
1060 add XmNunmapCallback.
1061 (xm_unmap_callback): New function.
1062 (xm_pull_down_callback): Call pre-activate callback only if
1063 parent is the menu bar.
1064
52b8dbf9
GM
10652000-01-17 Gerd Moellmann <gerd@gnu.org>
1066
1067 * lwlib-Xm.c (xm_arm_callback): New function.
1068 (make_menu_in_widget): Set xm_arm_callback as XmNarmCallback and
1069 XmNdisarmCallback for buttons (not supported for other widgets).
d36100c9 1070 (make_menubar): Set XmNresizeHeight and XmNresizeWidth to False.
52b8dbf9
GM
1071
1072 * lwlib-Xlw.c (highlight_hook): New function.
1073 (xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as
1074 callback XtNhighlightCallback.
1075
1076 * lwlib.c (copy_widget_value_tree): Copy help string.
1077 (free_widget_value_tree): Free help string.
1078 (merge_widget_value): Handle help string.
bcd833b2
SM
1079 (allocate_widget_info, lw_register_widget, lw_create_widget):
1080 Add parameter HIGHLIGHT_CB.
52b8dbf9
GM
1081 (lw_get_widget_instance): New function.
1082
1083 * lwlib-int.h: Add prototype for lw_get_widget_instance.
1084
1085 * lwlib.h (_widget_value): Add help string.
1086
1087 * xlwmenu.c (xlwMenuResources): All XtNhighlightCallback.
1088 (remap_menubar): Call highlight callback.
1089
1090 * xlwmenu.h (XtNhighlightCallback): New define.
1091
1092 * xlwmenuP.h (_XlwMenu_part): Add `highlight' callback list.
1093
0f0912e6 10941999-10-19 Paul Eggert <eggert@twinsun.com>
5c520e0a 1095
0f0912e6
PE
1096 Add support for large files, plus some locale improvements.
1097
1098 * dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
79a2d0fc 1099 * xrdb-cpp.c, xrdb.c:
0f0912e6
PE
1100 Include <config.h> before any system include files.
1101
1102 * lwlib-Xm.c, lwlib.c:
1103 Do not include <stdlib.h> or <string.h>, as <config.h> does this.
5c520e0a 1104
f5737ad2
GM
11051999-10-07 Gerd Moellmann <gerd@gnu.org>
1106
bcd833b2
SM
1107 * lwlib-Xm.c (make_menu_in_widget, update_one_menu_entry):
1108 Use widgets instead of gadgets to be able to set colors.
f5737ad2 1109
387581d8
DL
11101999-09-17 Richard Stallman <rms@gnu.org>
1111
1112 * lwlib-Xaw.c (wm_delete_window): Check all the shell's children,
1113 not just the first, to find the dialog box.
1114
11151999-09-14 Gerd Moellmann <gerd@gnu.org>
1116
bcd833b2 1117 * lwlib.c (lw_separator_p): Check for new-style separators differently.
387581d8
DL
1118
11191999-09-10 Gerd Moellmann <gerd@gnu.org>
1120
5c520e0a 1121 * lwlib.c (lw_separator_p): Add `--:space' with the same
387581d8
DL
1122 meaning as `--:noLine'.
1123
11241999-09-06 Gerd Moellmann <gerd@gnu.org>
1125
1126 * lwlib.c (lw_separator_p): Add alternative separator type names.
1127
11281999-09-03 Gerd Moellmann <gerd@gnu.org>
1129
bcd833b2 1130 * xlwmenu.c (make_shadow_gcs): Call x_alloc_nearest_color_for_widget.
387581d8 1131
32660797
GM
11321999-07-12 Gerd Moellmann <gerd@gnu.org>
1133
1134 * lwlib-Xm.c: Add function prototypes.
1135
1136 * lwlib-Xm.c (xm_update_label): Use val->name to look up
1137 a label string from resources.
1138 (xm_update_label): Add some comments.
1139
11401999-07-12 Gerd Moellmann <gerd@gnu.org>
1141
1142 * xlwmenu.c (all_dashes_p): Removed.
1143 (size_menu_item): Call lw_separator_p.
1144 (display_menu_item): Ditto.
1145 (display_menu): Ditto.
1146 (draw_separator): New.
1147 (display_menu_item): Call it.
1148 (separator_height): New.
1149 (size_menu_item): Call it.
1150
1151 * lwlib-Xm.c (all_dashes_p): Removed.
bcd833b2 1152 (make_menu_in_widget): Use lw_separator_p. Set Motif separator type.
32660797
GM
1153
1154 * lwlib.c (lw_separator_p): New.
1155
1156 * lwlib.h (enum menu_separator): New.
1157
11581999-07-12 Gerd Moellmann <gerd@gnu.org>
1159
1160 * lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
1161 title after all widgets have been created.
1162
11631999-07-12 Gerd Moellmann <gerd@gnu.org>
1164
1165 * xlwmenu.c (toggle_button_width): Renamed from
1166 toggle_or_radio_button_width.
1167 (radio_button_width): New.
1168 (size_menu_item): Use new functions.
1169 (draw_shadow_rhombus): New.
1170 (draw_radio): Use radio_button_width and draw_shadow_rhombus.
1171 (draw_toggle): Use toggle_button_width.
1172
11731999-07-12 Gerd Moellmann <gerd@gnu.org>
1174
1175 * lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
1176 instead of xm_internal_update_other_instances.
1177
1178 * lwlib-Xm.c (make_menu_in_widget): Do help button before managing
1179 children to get it to the right place.
1180 (make_menu_in_widget): Create toggle buttons.
1181 (update_one_menu_entry): Update toggle buttons.
1182
1183 * xlwmenu.c (size_menu_item): Add parameter button_width.
1184 (size_menu): Compute button_width.
1185 (toggle_or_radio_button_width): New.
1186 (draw_toggle): New.
1187 (draw_radio): New.
1188 (draw_shadow_rectangle): Add parameter `down_p'.
1189
1190 * xlwmenuP.h (_window_state): Add button_width.
1191
11921999-07-12 Gerd Moellmann <gerd@gnu.org>
1193
79a2d0fc 1194 * xlwmenu.c (make_shadow_gcs) [emacs]: Use x_alloc_nearest_color.
32660797
GM
1195
1196 * lwlib.c (merge_widget_value): Handle button_type.
1197 (copy_widget_value_tree): Copy button_type.
1198
1199 * lwlib.h (enum button_type): New.
1200 (_widget_value): New member button_type.
1201
12021999-07-12 Gerd Moellmann <gerd@gnu.org>
1203
1204 * lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
1205 using XmNrowColumnType.
1206
12071999-07-12 Gerd Moellmann <gerd@gnu.org>
1208
1209 * xlwmenu.c (abort_gracefully): New.
1210 (display_menu): Use it instead of abort.
1211 (size_menu): Ditto.
1212
12131999-07-12 Gerd Moellmann <gerd@gnu.org>
1214
5c520e0a 1215 * xlwmenu.c (xlwMenuResources): Change previously unused
32660797
GM
1216 XtNmargin to 4.
1217 (size_menu): Take margin into account.
1218 (display_menu_item): Ditto.
1219 (remap_menubar): Ditto.
1220 (draw_arrow): Draw it 3D.
1221
a08cb76c
DL
12221999-07-12 Richard Stallman <rms@gnu.org>
1223
1224 * Version 20.4 released.
1225
12261998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu>
1227
1228 * Version 20.3 released.
1229
12301998-07-30 Paul Eggert <eggert@twinsun.com>
1231
1232 * lwlib/Makefile.in (lwlib-utils.o, lwlib.o, lwlib-Xlw.o)
5c520e0a 1233 (lwlib-Xaw.o, lwlib-Xm.o, lwlib-Xol.o, lwlib-Xolmb.o):
5ce6e4f4 1234 Add dependencies to corresponding .c files for Solaris 2.x VPATH make.
a08cb76c
DL
1235
12361998-04-06 Andreas Schwab <schwab@gnu.org>
1237
1238 * lwlib.c: Always declare xmalloc.
1239 [USE_XAW]: Include <X11/Xaw/Paned.h>.
1240 (lwlib_memset, lwlib_bcopy): Explicitly declare return type.
1241
a08cb76c
DL
12421997-12-20 Richard Stallman <rms@psilocin.gnu.org>
1243
1244 * lwlib-Xm.c (update_one_menu_entry):
1245 Add conditional in case XmNpositionIndex is missing.
1246
12471997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1248
1249 * Version 20.2 released.
1250
1251 * xlwmenu.c (motion_event_is_in_menu): Extend the left and
1252 top windows by the shadow width.
1253
12541997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1255
1256 * Version 20.1 released.
1257
12581997-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1259
1260 * xlwmenu.c (display_menu): If an item is disabled,
1261 don't display its submenu (if any).
1262
12631997-05-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1264
1265 * xlwmenu.c (pop_up_menu): Update the call to x_catch_errors.
1266
12671997-01-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1268
1269 * xlwmenu.c (fit_to_screen): If new menu would overlap the previous
1270 one from the side, try moving it up or down.
1271
12721996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1273
1274 * Version 19.33 released.
1275
1276 * lwlib-Xm.c (update_one_menu_entry): Fix previous change:
1277 When XmIsCascadeButton, don't call XmCreateCascadeButtonGadget,
1278 just modify the existing one.
5c520e0a 1279
f0131492 12801996-08-09 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1281
1282 * lwlib.c (merge_widget_value): Undo previous change.
5c520e0a 1283
a08cb76c
DL
1284 * lwlib-Xm.c (update_one_menu_entry): When creating a pulldown
1285 in an existing but empty menu item, in order to get a new functional
1286 pulldown, the menu item must be switched from an XmPushButtonGadget
1287 into a XmCascadeButtonGadget.
1288
12891996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1290
1291 * Version 19.32 released.
1292
f0131492 12931996-07-31 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1294
1295 * lwlib-Xm.c (make_menubar): Turn off menu accelerator.
1296
f0131492 12971996-07-24 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1298
1299 * lwlib.c (merge_widget_value) [USE_MOTIF]: Pass along the change
1300 flag from merged_contents.
1301
13021996-07-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
1303
1304 * lwlib-Xm.c (xm_update_menu): Fix loop termination test.
1305
13061996-07-07 Karl Heuer <kwzh@gnu.ai.mit.edu>
1307
1308 * lwlib-Xm.h, lwlib-Xm.c, lwlib.h, lwlib.c: Undo previous change.
1309
f0131492 13101996-07-03 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1311
1312 * lwlib-Xm.h: Declare lw_motif_menu_related_event_p.
1313
1314 * lwlib-Xm.c (lw_motif_menu_related_event_p): A predicate to
1315 identify keyboard events intended only for menus.
1316
1317 * lwlib.h: Declare lw_toolkit_related_event_p.
1318
1319 * lwlib.c (lw_toolkit_related_event_p): A predicate to identify
1320 toolkit-specific events.
1321
f0131492 13221996-06-07 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1323
1324 * lwlib-Xm.c (make_menu_in_widget): Set mapping delay
1325 for cascade buttons to zero.
1326
13271996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
1328
1329 * Version 19.31 released.
1330
13311996-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1332
1333 * lwlib-Xm.c (destroy_all_children): When freeing a cascade button,
1334 free its submenu too.
1335 (make_menu_in_widget): Use a cascade button gadget, not a widget.
1336 Include Xm/CascadeBG.h.
1337
13381996-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1339
1340 * Makefile.in (tags): New target.
1341
13421996-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1343
1344 * Makefile.in (TAGS): Renamed from `tags' and fixed to work.
1345
13461996-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1347
1348 * Makefile.in (xlwmenu.o): New explicit target.
1349
13501996-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1351
1352 * lwlib.h (struct widget_value): New field this_one_change.
1353 * lwlib.c (merge_widget_value): Set the this_one_change field.
1354 * lwlib-Xm.c (destroy_all_children): New arg first_child_to_destroy.
1355 (make_menu_in_widget): New arg keep_first_children.
1356 (xm_update_menu): Preserve the first children even if later ones
1357 have a structural change.
1358 (update_one_menu_entry): Use this_one_change field.
1359
13601996-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1361
1362 * xlwmenu.c (motion_event_is_in_menu): Make x and y signed.
1363
13641996-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1365
1366 * lwlib.c (lw_window_is_in_menubar) [USE_MOTIF]:
1367 With Motif, the window WIN can be the menu bar widget itself.
1368
13691996-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1370
1371 * lwlib.c (free_widget_value_tree, merge_widget_value):
1372 Use XtFree for the toolkit_data.
1373
13741996-02-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
1375
1376 * lwlib.c (lw_internal_update_other_instances): Move static var
1377 outside the function, and rename it to lwlib_updating.
1378
13791996-01-04 Paul Eggert <eggert@twinsun.com>
1380
1381 * lwlib.c (instantiate_widget_instance): Renamed from
1382 instanciate_widget_instance (spelling correction).
1383 All callers changed.
1384
13851995-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1386
1387 * xlwmenu.c (xlwMenuActionsList): Add "key" and "nothing".
1388 (xlwMenuTranslations): Add translations for Key, KeyUp,
1389 and for the modifier keysyms.
1390 (Nothing, Key): New functions.
1391
13921995-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1393
1394 * xlwmenu.c (XlwMenuSetValues): Do redisplay if non-null contents
1395 get replaced by empty contents.
1396
1397 * lwlib.c (merge_widget_value): Treat disappearance of entire contents
1398 as a STRUCTURAL_CHANGE.
1399
14001995-12-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1401
1402 * lwlib-utils.c: Add #undef for index and rindex.
1403
14041995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1405
1406 * Version 19.30 released.
1407
14081995-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1409
1410 * xlwmenu.c (display_menu_item): Fix previous change.
1411
14121995-11-04 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1413
1414 * xlwmenu.c (display_menu_item): Don't treat buttons specially.
1415
14161995-08-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1417
1418 * Makefile.in (RANLIB): Get this var from configure.
1419
14201995-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1421
1422 * lwlib.c (lw_popup_menu): New arg `event', passed along.
1423 * lwlib-Xlw.c (xlw_popup_menu): New arg `event'.
1424 * lwlib-Xm.c (xm_popup_menu): New arg `event'.
1425
14261995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1427
1428 * Version 19.29 released.
1429
14301995-06-11 Richard Stallman <rms@gnu.ai.mit.edu>
1431
1432 * lwlib.c (lwlib_toolkit_type): New variable.
1433
14341995-05-26 Richard Stallman <rms@gnu.ai.mit.edu>
1435
1436 * xlwmenu.c (Drag): Do nothing unless menu.popped_up field is set.
1437
14381995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1439
1440 * xlwmenu.c (XlwMenuInitialize): Cast XCreatePixmapFromBitmapData args.
1441
14421995-05-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1443
1444 * lwlib.c: Don't use prototype.
1445 * lwlib-Xm.c (activate_button, xm_update_cascadebutton): Likewise.
1446
14471995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1448
1449 * lwlib.c (lw_refigure_widget) [USE_MOTIF]: Fix backward if.
1450
14511995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1452
1453 * Makefile.in (ALL_CFLAGS): Add -I../src.
1454
14551995-05-03 Morten Welinder <terra+@cs.cmu.edu>
1456
1457 * lwlib.c [__osf__]: Include string.h and stdlib.h.
1458 [__osf__] (xmalloc): Declared.
1459
14601995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1461
1462 * lwlib-Xm.c (update_one_menu_entry, make_menu_in_widget):
1463 Specify more useful names in XmCreatePulldownMenu calls.
1464
1465 * lwlib-Xaw.c (xaw_pop_instance): Make x, y, w, h unsigned.
1466
1467 * xlwmenu.c (size_menu): Make height and label_width unsigned.
1468 (fit_to_screen): Make screen_width and screen_height unsigned.
1469 (motion_event_is_in_menu): Make x, y unsigned.
1470
14711995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1472
1473 * lwlib-utils.c: If HAVE_CONFIG_H, include config.h.
1474
1475 * Makefile.in (ALL_CFLAGS): Define HAVE_CONFIG_H.
1476 Add -I${srcdir}/../src.
5c520e0a 1477
a08cb76c
DL
14781995-04-08 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1479
1480 * lwlib-Xm.c: Remove function prototypes.
1481 (xm_pop_down_callback): Call the deactivation callback only when
79a2d0fc 1482 popping down the top level submenu.
a08cb76c
DL
1483
14841995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1485
1486 * Makefile.in (lwlib.o): Depend on Makefile.
1487
1488 * lwlib-Xm.h: Remove function prototypes.
1489
1490 * lwlib-Xm.c (remove_grabs): Use type Widget for `menu'.
1491
14921995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1493
1494 * Makefile.in (ALL_CFLAGS): Allow include files to be found in
bcd833b2 1495 `srcdir'.
a08cb76c
DL
1496
14971995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
1498
1499 * Makefile.in (maintainer-clean): Renamed from realclean.
1500
15011994-11-28 Richard Stallman <rms@bethel>
1502
1503 * lwlib-int.h (safe_strdup): Don't use ANSI argument prototype.
1504
15051994-11-15 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1506
1507 * lwlib.c (lw_refigure_widget): Use the macro USE_XAW rather than XAW.
1508
15091994-11-08 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1510
79a2d0fc 1511 * lwlib-Xm.c (make_menu_in_widget): Differentiate a separator
a08cb76c
DL
1512 entry ("--") from a title.
1513 (xm_pop_down_callback): Filter all but the last pop down callbacks.
1514
15151994-11-07 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1516
1517 * lwlib-Xm.c (update_one_menu_entry): Use the parent of the
1518 cascade button as the parent of the pulldown, rather than the
1519 cascade button itself. This works around a Motif SIGSEGV in the
1520 function `InSharedMenuHierarchy'.
1521
a08cb76c
DL
15221994-10-26 Richard Stallman <rms@duality.gnu.ai.mit.edu>
1523
1524 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1525
15261994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1527
1528 * xlwmenu.c (xlwmenu_default_font): New global variable.
1529 (XlwMenuInitialize): Use xlwmenu_default_font to default
1530 the font if necessary. Make mw, itself, an argument.
1531
1532 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1533
15341994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1535
1536 * xlwmenu.c (fit_to_screen): Don't put the menu off the left or top.
1537
15381994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1539
1540 * xlwmenu.c (display_menu_item): Add support for displaying the
bcd833b2 1541 title in pop up menus.
a08cb76c
DL
1542
1543 * lwlib.c (lw_set_main_areas): Use xm_set_main_areas().
1544 (lw_manage_resizing): Use xm_manage_resizing() for Emacs/Motif.
1545
15461994-09-25 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1547
1548 * lwlib-Xaw.c (xaw_create_main): New function to support the
bcd833b2
SM
1549 toolkit independent creation of the main Emacs widget. *
1550 lwlib-Xlw.c (xlw_create_menubar): When compiling under Emacs, set
1551 resizing resources to disable showGrip and to enable both
1552 resizeToPreferred and allowShellResize.
a08cb76c
DL
1553
1554 * lwlib-Xm.h: Declare xm_set_main_areas, xm_manage_resizing.
1555
79a2d0fc 1556 * lwlib-Xm.c (make_menu_in_widget): Add support for displaying a
a08cb76c
DL
1557 title in pop up menus.
1558 (make_main, xm_set_main_areas, xm_manage_resizing): New functions to
1559 create and manage a Motif Main Window widget.
1560
1561 * xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
1562
f0131492 15631994-09-18 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
a08cb76c
DL
1564
1565 * lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
1566 set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn. Also add a
1567 margin of 10 pixels.
1568
177c0ea7 15691994-09-16 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
a08cb76c
DL
1570
1571 * lwlib-Xm.c (make_main): New function to support toolkit
bcd833b2 1572 independent creation of the main Emacs widget.
a08cb76c
DL
1573 (make_destroyed_instance): Use safe_strdup() instead of strdup().
1574
1575 * lwlib-int.h: Declare safe_strdup.
1576
1577 * lwlib.c (lw_refigure_widget): New function. Handle geometry
bcd833b2 1578 management inside lwlib instead of in Emacs.
a08cb76c
DL
1579 (lw_window_is_in_menubar): New function. Determine if the pointer
1580 is in a menubar.
1581 (lw_set_main_areas): New function. Set the main window widgets for
1582 Motif.
1583
1584 * lwlib.h: Declare lw_refigure_widget(), lw_window_is_in_menubar(),
1585 lw_set_main_areas().
1586
1587 * xlwmenu.h: Define Xt{Ns,CS}howGrip, Xt{Nr,CR}esizeToPreferred, and
1588 Xt{Na,CA}llowResize.
1589
1590 * xlwmenu.c (Start): Use pop_up_menu() to post the submenus.
bcd833b2 1591 (Select): Remove the pointer grab when popping down a menubar submenu.
a08cb76c
DL
1592 (pop_up_menu): Handle popping up submenus from a menubar, i.e. when
1593 the menu widget parent is not a shell widget.
1594
15951994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1596
1597 * xlwmenu.c (pop_up_menu): Clear next_release_must_exit.
1598 (Start): Clear next_release_must_exit when popping up the menu.
1599
16001994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1601
1602 * xlwmenu.c (Start): Set menu_post_event or next_release_must_exit.
1603 (Select): Do nothing if the menu should be left posted.
1604
16051994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1606
1607 * xlwmenu.c (make_windows_if_needed, pop_up_menu):
1608 Enable mouse motion events even when no button down.
1609
16101994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1611
1612 * xlwmenu.c (pointer_grabbed): New variable.
1613 (pop_up_menu): Set the variable.
1614 (XlwMenuDestroy): Maybe call XtUngrabPointer.
1615
16161994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1617
1618 * lwlib.c (max): Function deleted. Define as macro instead,
1619 but only if not already defined.
1620
16211994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1622
1623 * xlwmenu.c (xlwMenuResources): Use XtRDimension for shadow thickness.
1624
16251994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1626
1627 * lwlib-Xaw.c (xaw_pop_instance): Use XtSetValues, not XtMoveWidget.
1628
16291994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1630
1631 * lwlib.c (lwlib_memset: New function, used instead of memset.
1632 All callers changed.
1633 * lwlib.c (lwlib_bcopy): New function.
1634 * lwlib-utils.c (XtApplyToWidgets): Use lwlib_bcopy.
1635
1636 * lwlib.c: Delete definitions for use of alloca.
1637 (name_to_widget): Use xmalloc, not alloca.
1638
16391994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1640
1641 * xlwmenu.c (XlwMenuDestroy): Set new var submenu_destroyed.
1642 (XlwMenuRedisplay): If it's set, truncate the old_depth to 1.
1643
16441994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1645
1646 * xrdb-cpp.c: Don't include string.h, unistd.h, stdlib.h.
1647 * lwlib-Xaw.c: Don't include string.h, unistd.h, stdlib.h.
1648 * lwlib-utils.c (XtApplyToWidgets): Use bcopy, not memcpy.
1649 * lwlib-utils.c: Don't include string.h, unistd.h, stdlib.h, memory.h.
1650 * xlwmenu.c: Don't include string.h, unistd.h, stdlib.h.
1651 * lwlib.c: Don't include string.h, unistd.h, stdlib.h.
1652 (safe_strdup): No longer static.
1653 * lwlib-Xm.c: Use safe_strdup, not strdup.
1654
1655 * xlwmenu.c (string_width): No longer static.
1656
16571994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1658
1659 * xlwmenuP.h (struct _XlwMenu_part): Use Pixel and Cursor
1660 for foreground and cursor_shape fields.
1661
1662 * xlwmenu.c (XlwMenuSetValues): Check for change of font.
1663
16641994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1665
1666 * Makefile.in: Delete all SRCS variables (unused).
1667 (lwlib.o, xrdb-cpp.o): Mention srcdir in dep.
1668
16691994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1670
1671 * Makefile.in (ALL_CFLAGS): Don't define THIS_IS_X11R4.
1672
1673 * xrdb.c: Define HAVE_X11R5 as in xterm.h.
1674 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1675 (_XtDisplayInitialize): Test HAVE_X11R5.
1676
1677 * dispatch.c: Define HAVE_X11R5 as in xterm.h.
1678 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1679 (_XtConvertTypeToMask): Conditionalize on HAVE_X11R5.
1680 (WouldDispatchEvent): Likewise.
1681
16821994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1683
1684 * lwlib-Xaw.c (xaw_generic_callback): Declare without arg names.
1685
16861994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
1687
5c520e0a 1688 * lwlib-Xaw.c (make_dialog): Don't allow any geometry request from the
a08cb76c
DL
1689 user.
1690
16911994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1692
5c520e0a 1693 * xlwmenu.c (XlwMenuResize): Don't allow the popup menu to resize
6ad6535b 1694 itself. Therefore reset the size to its initial value.
a08cb76c
DL
1695
16961994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1697
1698 * lwlib-Xaw.c (xaw_update_one_widget): Finish replacing XtVaSetValues.
1699 Don't test for scrollbar widget.
1700
17011994-03-14 Frederic Pierresteguy (fp@gnu.ai.mit.edu)
1702
1703 * lwlib-int.h: Declare lw_get_widget_info.
1704
1705 * lwlib.c (lw_get_widget_info): Comment out arg in function decl.
1706
1707 * lwlib-Xaw.h: Comment out args in function decls.
1708 * lwlib-Xaw.c: Convert all function definitions to non-prototype K&R.
1709 (xaw_update_one_widget - case dialogWidgetClass): Call XtSetValues,
1710 not XtVaSetValues.
1711
17121994-03-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
1713
1714 * xlwmenu.c (display_menu_item): Modify parameters to draw_arrow to
1715 right justify the arrow in the pane.
1716
1717 * lwlib.c: If not defined USE_MOTIF and defined USE_LUCID then
1718 define USE_XAW.
1719
1720 * Makefile.in (LUCID_SRCS, LUCID_OBJS): Add the target lwlib-Xaw.[oc].
1721
1722 * lwlib.c, lwlib-int.h: Merged from Lucid 19.9 release.
1723 * lwlib.c (_AIX): Replace the AIXV3 directive.
1724 (USE_XAW): New macro to conditionalize the use of the athena toolkit.
1725 (lw_get_widget_info): New function.
1726 (set_one_value): Handle USE_XAW.
1727 (instanciate_widget_instance): Likewise.
1728 (destroy_one_instance): Likewise.
1729 (lw_pop_all_widgets): Likewise.
1730 (lw_pop_down_all_widgets): Likewise.
1731 (get_one_value): Likewise.
1732
1733 * lwlib-Xaw.c, lwlib-Xaw.h: New files.
1734
17351994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1736
1737 * xlwmenu.c (XlwMenuInitialize, XlwMenuDestroy): Undo previous changes.
1738
1739 * lwlib-Xlw.c (xlw_create_menubar, xlw_create_popup_menu):
1740 Use XtCreate..., not XtVaCreate...
1741 No need to copy instance->info->val any more.
1742 (xlw_update_one_widget): Use XtSetValues, not XtVaSetValues.
1743
17441994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1745
1746 * xlwmenu.c (pop_up_menu): Call XtUngrabPointer if XtGrabPointer fails.
1747
17481994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1749
1750 * Makefile.in (xrdb-cpp.o, lwlib.o): Put ALL_CFLAGS after other flags.
1751
1752 * lwlib-Xlw.c (xlw_create_menubar): Don't call free_widget_value.
1753 Use malloc for allocation.
1754 (xlw_create_popup_menu): Likewise.
1755
17561994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1757
1758 * lwlib.c (malloc_cpt): New static variable.
1759 (malloc_widget_value): Increment malloc_cpt when allocating a cell.
1760 (free_widget_value): Really free the cells when the number of
1761 allocated ones is bigger than 25.
1762
1763 * lwlib-Xlw.c (xlw_create_menubar): Call malloc_widget_value and
1764 free_widget_value instead of XtMalloc and XtFree.
1765 (xlw_create_popup_menu): Likewise.
1766
17671994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1768
1769 * Makefile.in (ALL_CFLAGS): Specify -Demacs.
1770
1771 * xlwmenu.c (pop_up_menu) [emacs]: Catch and ignore X protocol errors
1772 in XtGrabPointer.
1773
17741994-02-17 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1775
5c520e0a 1776 * lwlib-Xlw.c (xlw_create_popup_menu): Pass tem to
a08cb76c
DL
1777 XtVaCreateManagedWidget, not instance->info->val.
1778 (xlw_create_menubar): Likewise.
1779
17801994-02-15 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1781
1782 * lwlib-Xlw.c (xlw_create_popup_menu): Copy instance->info->val
1783 before calling XtVaCreateManagedWidget and then free the copy.
1784 (xlw_create_menubar): Likewise.
1785
17861994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1787
1788 * xlwmenu.c (XlwMenuInitialize): Copy mw->menu.contents.
1789 (XlwMenuDestroy): Free mw->menu.contents.
1790
17911994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1792
1793 * xlwmenu.c (display_menu_item): Call draw_shadow_rectangle to make
1794 visible/invisible the selection of the menubar items.
1795
17961994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1797
1798 * lwlib.c (strcasecmp): Renamed to my_strcasecmp.
1799 (find_in_table): Changed only caller.
1800
18011994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1802
1803 * xlwmenu.c (display_menu_item): When dealing with the menubar,
5c520e0a 1804 always call XDrawRectangle to clear the selection after popping down
a08cb76c
DL
1805 the pulldown menu.
1806
18071994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1808
1809 * lwlib.c: Include ctype.h.
1810
18111994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1812
1813 * lwlib.c (strcasecmp): New function.
1814
18151994-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1816
1817 * xlwmenu.c, lwlib.c, lwlib-Xlw.c, lwlib-utils.c:
1818 Convert all function definitions to non-prototype K&R.
1819
1820 * lwlib-Xlw.h: Comment out args in function decls.
1821 * lwlib.h: Comment out args in function decls.
1822 * lwlib-utils.h: Comment out args in function decls.
1823
18241994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1825
1826 * lwlib.c: Include StringDefs.h after lwlib.h.
1827
18281994-01-22 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1829
1830 * Makefile (xrdb-cpp.o, lwlib.o): Use $(srcdir) and file name
1831 instead of $*.
1832 (dispatch.o, xrdb.o, lwlib-Xm.o): Rules removed; they were
bcd833b2
SM
1833 superfluous and didn't work when configured outside srcdir.
1834 The implicit .c.o rule works fine.
a08cb76c
DL
1835
18361994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1837
1838 * xlwmenu.c (resource_widget_value): Avoid using strdup.
1839
18401994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1841
1842 * Makefile.in: New file.
1843
1844 * lwlib-Xolmb.c: Renamed from lwlib-Xol-mb.c.
1845 * lwlib-Xolmb.h: Renamed from lwlib-Xol-mb.h.
1846 * lwlib-XolmbP.h: Renamed from lwlib-Xol-mbP.h.
1847
1848 * lwlib-int.h: Renamed from lwlib-internal.h.
1849
5c520e0a 1850
a08cb76c 1851
6922b018 1852;; Local Variables:
880820fe 1853;; coding: utf-8
6922b018 1854;; End:
2a34a036 1855
ab422c4d 1856 Copyright (C) 1995-1999, 2001-2013 Free Software Foundation, Inc.
7f6d64f8
GM
1857
1858 This file is part of GNU Emacs.
1859
05a3a789 1860 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 1861 it under the terms of the GNU General Public License as published by
05a3a789
GM
1862 the Free Software Foundation, either version 3 of the License, or
1863 (at your option) any later version.
7f6d64f8
GM
1864
1865 GNU Emacs is distributed in the hope that it will be useful,
1866 but WITHOUT ANY WARRANTY; without even the implied warranty of
1867 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1868 GNU General Public License for more details.
1869
1870 You should have received a copy of the GNU General Public License
05a3a789 1871 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.