12015-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
2
3	* xlwmenu.c (pop_up_menu): Remove debugging code.
4
52015-02-28  Jan Djärv  <jan.h.d@swipnet.se>
6
7	* xlwmenu.c (remap_menubar): Re-realize menu to force move under
8	Gnome 3.
9
102015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11
12	Less 'make' chatter for lwlib
13	* Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1)
14	(AM_V_at, am__v_at_, am__v_at_0, am__v_at_1): New macros.
15	(liblw.a): Use them.
16
172014-12-25  Paul Eggert  <eggert@cs.ucla.edu>
18
19	* xlwmenu.c (resource_widget_value):
20	Rewrite to avoid the need for strcat, typically by using stpcpy
21	and/or lispstpcpy.  strcat tends to be part of O(N**2) algorithms.
22
232014-10-20  Glenn Morris  <rgm@gnu.org>
24
25	* Merge in all changes up to 24.4 release.
26
272014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
28
29	--enable-silent-rules now suppresses more chatter.
30	* Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
31	(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
32	(.c.o): Use them.
33
342014-07-15  Dmitry Antipov  <dmantipov@yandex.ru>
35
36	* lwlib.h (toplevel): Use unsigned int for LWLIB_ID.
37
382014-06-28  Glenn Morris  <rgm@gnu.org>
39
40	* Makefile.in: Use gcc auto-dependency information.
41	Move old dependency information to new file deps.mk.
42	(MKDIR_P, DEPFLAGS, MKDEPDIR, lwlib_deps_frag):
43	New, set by configure.
44	(DEPDIR): New variable.
45	(ALL_CFLAGS): Add DEPFLAGS.
46	(.c.o): Add MKDEPDIR.
47	(clean, mostlyclean): Delete DEPDIR.
48	* deps.mk, autodeps.mk: New files.
49
502014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
51
52	Omit redundant extern decls.
53	From Dmitry Antipov.
54	* lwlib-Xm.c (lw_motif_widget_p, xm_update_one_value)
55	(xm_create_dialog, xm_destroy_instance, xm_popup_menu)
56	(xm_set_keyboard_focus, xm_set_main_areas): Remove decls.
57
582014-06-15  Glenn Morris  <rgm@gnu.org>
59
60	* Makefile.in ($(globals_h)): Use `make -C' rather than `cd && make'.
61
62	* Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
63	Declare as PHONY.
64	(bootstrap-clean): New.
65
662014-06-13  Glenn Morris  <rgm@gnu.org>
67
68	* Makefile.in ($(globals_h)):
69	GNU make automatically passes command-line arguments to sub-makes.
70
712014-06-04  Dmitry Antipov  <dmantipov@yandex.ru>
72
73	* lwlib-widget.h (widget_value) [USE_X_TOOLKIT]: Use X toolkit
74	fields conditionally.
75
762014-06-03  Paul Eggert  <eggert@cs.ucla.edu>
77
78	Do not require libXt-devel when building with gtk.
79	* lwlib-widget.h: New file, with contents taken from lwlib.h.
80	(widget_value) [HAVE_NTGUI]: New member 'title'.
81	* lwlib.h: Include lwlib-widget.h.
82	(change_type, enum button_type, widget_value):
83	Move to lwlib-widget.h.
84
852014-06-03  Dmitry Antipov  <dmantipov@yandex.ru>
86
87	* xlwmenu.c (openXftFont): Do not load regular X font here.
88	(XlwMenuInitialize): Remove ancient #if 0 code.
89	(XlwMenuDestroy): Likewise.  Free regular X font here.
90
912014-06-02  Dmitry Antipov  <dmantipov@yandex.ru>
92
93	Use common memory management functions for widgets.
94	* lwlib.h (widget_value): Do not maintain a free list any more.
95	(malloc_widget_value, free_widget_value): Remove prototypes.
96	* lwlib.c (malloc_widget_value, free_widget_value):
97	(widget_value_free_list, malloc_cpt): Remove.
98	(free_widget_value_tree, copy_widget_value_tree): Adjust users.
99
1002014-05-30  Dmitry Antipov  <dmantipov@yandex.ru>
101
102	Use common string allocation and freeing functions where applicable.
103	* lwlib.h (safe_strdup): Remove prototype.
104	* lwlib.c (safe_strdup, safe_free_str): Remove.
105	(copy_widget_value_tree, allocate_widget_info, free_widget_info):
106	(merge_widget_value): Prefer xstrdup, xfree and dupstring.
107	* lwlib-Xm.c (make_destroyed_instance, xm_update_one_value): Ditto.
108
1092013-12-14  Paul Eggert  <eggert@cs.ucla.edu>
110
111	Use bool for boolean, focusing on headers.
112	* xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields.
113
1142013-11-14  Paul Eggert  <eggert@cs.ucla.edu>
115
116	* lwlib.c (safe_strdup): Prefer tail calls.
117
1182013-11-02  Glenn Morris  <rgm@gnu.org>
119
120	Use relative filenames in TAGS files.
121	* Makefile.in (abs_srcdir): Remove it again.
122	(ctagsfiles, TAGS): Use relative filenames.
123
124	* Makefile.in (abs_srcdir): New, set by configure.
125	(ETAGS, ctagsfiles): New variables.
126	(TAGS): Use ETAGS, ctagsfiles.  Use absolute filenames again.
127
1282013-10-24  Glenn Morris  <rgm@gnu.org>
129
130	* Makefile.in (abs_top_srcdir): New, set by configure.
131
1322013-09-04  Paul Eggert  <eggert@cs.ucla.edu>
133
134	Makefile improvements.
135	* Makefile.in (all): Put this first.  Don't use double-colon
136	rules, as they are not portable according to POSIX.  Mark as phony.
137
1382013-06-30  Paul Eggert  <eggert@cs.ucla.edu>
139
140	Fix minor problems found by static checking.
141	* lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
142	* lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
143	* lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
144	Now const.
145
1462012-10-06  Ulrich Müller  <ulm@gentoo.org>
147
148	* Makefile.in (AR, ARFLAGS): Get values from configure.
149
1502012-08-16  Paul Eggert  <eggert@cs.ucla.edu>
151
152	Use ASCII tests for character types.
153	* lwlib-Xaw.c, lwlib.c, xlwmenu.c:
154	Don't include <ctype.h>; no longer needed.
155	* lwlib-Xaw.c (openFont):
156	* xlwmenu.c (openXftFont): Test just for ASCII digits.
157
1582012-08-01  Glenn Morris  <rgm@gnu.org>
159
160	* Makefile.in (config_h): Add conf_post.h.
161
1622012-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
163
164	Avoid unused variable warning if --with-x-toolkit=motif.
165	* lwlib-Xm.c (make_menu_in_widget): Remove unused variable.
166
1672012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
168
169	Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
170	* lwlib.c: Include c-strcase.h.
171	(lwlib_strcasecmp): Remove.  All uses replaced with c_strcasecmp.
172
1732012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
174
175	Clean out last vestiges of the old HAVE_CONFIG_H stuff.
176	* Makefile.in (ALL_CFLAGS): Remove -DHAVE_CONFIG_H.
177	* lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib-utils.c, lwlib.c:
178	* xlwmenu.c: Include <config.h> unconditionally.
179
1802012-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
181
182	* lwlib.c (my_strcasecmp): Rename to lwlib_strcasecmp, which
183	may be defined to library function strcasecmp if available.
184
1852012-06-24  Paul Eggert  <eggert@cs.ucla.edu>
186
187	Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
188	* xlwmenu.c (abort_gracefully):
189	Use _Noreturn rather than NO_RETURN.
190	No need for separate decl merely because of _Noreturn.
191
1922012-05-31  Paul Eggert  <eggert@cs.ucla.edu>
193
194	Remove obsolete '#define static' cruft.
195	* xlwmenu.c [emacs]: Include "bitmaps/gray.xbm".
196	(gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits) [!emacs]:
197	Remove; all uses replaced with definiens.
198
1992012-04-18  Paul Eggert  <eggert@cs.ucla.edu>
200
201	configure: new option --enable-gcc-warnings (Bug#11207)
202	* Makefile.in (C_WARNINGS_SWITCH): Remove.
203	(WARN_CFLAGS, WERROR_CFLAGS): New macros.
204	(ALL_CFLAGS): Use new macros rather than old.
205
2062012-04-11  Glenn Morris  <rgm@gnu.org>
207
208	* Makefile.in (C_SWITCH_X_SYSTEM): Remove.
209	(ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
210
2112011-10-13  Dmitry Antipov  <dmantipov@yandex.ru>
212
213	* lwlib-Xaw.c (openFont, xaw_destroy_instance): Replace free with
214	xfree to avoid crash when xmalloc overrun checking is enabled.
215	* lwlib-Xm.c (free_destroyed_instance, xm_update_one_value): Ditto.
216	* lwlib-utils.c (XtApplyToWidgets): Ditto.
217	* lwlib.c (safe_free_str, free_widget_value, free_widget_value_tree)
218	(free_widget_info, free_widget_instance, name_to_widget): Ditto.
219	* xlwmenu.c (openXftFont): Ditto.
220
2212011-06-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
222
223	* Makefile.in (ALL_CFLAGS): Add -I../lib for generated header files
224	in out-of-tree build.
225
2262011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
227
228	* Makefile.in (ALL_CFLAGS): Add -I$(srcdir)/../lib.
229	This is needed because lisp.h includes intprops.h now (Bug#8794).
230
2312011-04-16  Paul Eggert  <eggert@cs.ucla.edu>
232
233	Static checks with GCC 4.6.0 and non-default toolkits.
234
235	* lwlib-Xm.c (make_dialog): Rename local to avoid shadowing.
236	(make_menu_in_widget): Add cast to avoid warning.
237	* lwlib-utils.c (XtCompositeChildren): Likewise.
238
239	* lwlib.c (EXPLAIN, destroy_one_instance): Avoid "else;".
240	(first_child) [USE_MOTIF]: Protoize.
241
242	* lwlib-utils.h, lwlib-utils.c (XtSafelyDestroyWidget): Remove; unused.
243
244	* xlwmenu.c (XlwMenuSetValues): Rename/ move locals to avoid shadowing.
245	(MINL): Define only if not emacs.
246
2472011-03-07  Chong Yidong  <cyd@stupidchicken.com>
248
249	* Version 23.3 released.
250
2512011-02-14  Jan Djärv  <jan.h.d@swipnet.se>
252
253	* xlwmenu.h: Remove Xt[CN]faceName and Xt[NC]defaultFace.
254
255	* xlwmenuP.h (_XlwMenu_part): Remove faceName.  Add fontName.
256
257	* xlwmenu.c (xlwmenu_default_font): Remove, does not work for
258	multi-display.
259	(xlwMenuResources): Remove XtNfaceName and XtNdefaultFace.
260	Make XtNFont a String resource.
261	(make_windows_if_needed): Call XFlush so later changes are seen by the
262	X server.
263	(remap_menubar): Use XtMoveWidget and then
264	XtResizeWidget/XtResizeWindow after XtPopup.  Works better with
265	Compiz.
266	(make_drawing_gcs): Check if mw->menu.font is set.
267	(getDefaultXftFont): New function.
268	(openXftFont): faceName is now fontName.  Try XLoadQueryFont first
269	and then XftFontOpenName.
270	(XlwMenuInitialize): Initialize mw->menu.font with XLoadQueryFont.
271	(XlwMenuClassInitialize): Remove initialization of
272	xlwmenu_default_font.
273	(fontname_changed): Renamed from facename_changed.
274	(XlwMenuSetValues): Use facename_changed.
275
276	* lwlib-Xaw.c (make_dialog): Use *font even for Xft fonts.  Try
277	XLoadQueryFont first and then Xft fonts.
278
2792011-02-13  Glenn Morris  <rgm@gnu.org>
280
281	* lwlib-utils.c (index, rindex): Don't undef (neither used in lwlib/,
282	nor set in config.h).
283
2842011-02-11  Glenn Morris  <rgm@gnu.org>
285
286	* Makefile.in (USE_X_TOOLKIT, RM, TOOLKIT_DEFINES): Remove.
287	(ALL_CFLAGS): Remove -I.
288	(config_h, lisp_h, src_h): New variables.
289	(globals_h): Rename from $globals.
290	($(globals_h)): Check cd exit status.
291	(lwlib.o): Remove special rule.
292	(lwlib-utils.o, lwlib.o, lwlib-Xlw.o, lwlib-Xaw.o, lwlib-Xm.o)
293	(xlwmenu.o): Add lisp.h and config.h to prereqs.
294	(lwlib-utils.o): Add lwlib.h to prereqs.
295	(lwlib.o): Add lwlib-utils.h and lwlib-Xm.h to prereqs.
296	(lwlib-Xlw.o): Add xlwmenu.h to prereqs.
297	(xlwmenu.o): Add ../src/xterm.h to prereqs.
298	(mostlyclean): Forget about "core" files.
299
3002011-02-10  Glenn Morris  <rgm@gnu.org>
301
302	* lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib-utils.c, lwlib.c:
303	* xlwmenu.c: Standardize on <> for includes from the ../src directory.
304
3052011-02-09  Glenn Morris  <rgm@gnu.org>
306
307	* Makefile.in (@SET_MAKE@): New, set by configure.
308	(globals): New variable and rule.
309	(lwlib-utils.o, lwlib.o, lwlib-Xlw.o, lwlib-Xaw.o, lwlib-Xm.o)
310	(xlwmenu.o): Add dependency on src/globals.h.
311
3122011-01-31  Jan Djärv  <jan.h.d@swipnet.se>
313
314	* lwlib-Xm.c (make_destroyed_instance):
315	* lwlib-utils.c (XtApplyToWidgets):
316	* lwlib.c (safe_strdup, malloc_widget_value)
317	(allocate_widget_info, allocate_widget_instance): Use xmalloc
318	instead of malloc.
319
3202011-01-25  Werner Meisner  <weme24@gmx.net>
321
322	* lwlib-Xm.c (xm_update_menu): Avoid a NULL pointer dereference
323	(Bug#7690).
324
3252010-09-26  Dan Nicolaescu  <dann@ics.uci.edu>
326
327	Use const for some pointer arguments.
328	* lwlib.h (my_strcasecmp, safe_strcmp, name_to_widget)
329	(find_in_table, dialog_spec_p, lw_separator_p):
330	* lwlib.c (my_strcasecmp, safe_strcmp, name_to_widget)
331	(find_in_table, dialog_spec_p, lw_separator_p): Use const.
332
3332010-09-20  Dan Nicolaescu  <dann@ics.uci.edu>
334
335	* lwlib.h (lw_register_widget, lw_create_widget):
336	* lwlib.c (allocate_widget_info, lw_register_widget)
337	(lw_create_widget, separator_table): Use const.
338
3392010-07-29  Dan Nicolaescu  <dann@ics.uci.edu>
340
341	* xlwmenu.c (abort_gracefully): Mark as NO_RETURN.
342
3432010-07-26  Dan Nicolaescu  <dann@ics.uci.edu>
344
345	* xlwmenu.h (xlwmenu_window_p, xlwmenu_redisplay): Add declarations.
346
3472010-07-12  Andreas Schwab  <schwab@linux-m68k.org>
348
349	* Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
350	substitution.
351	(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
352
3532010-07-08  Jan Djärv  <jan.h.d@swipnet.se>
354
355	* xlwmenu.c (size_menu_item): Change from K&R to prototype.
356	Change label_width and height to int.
357	(draw_arrow, draw_shadow_rectangle, draw_shadow_rhombus)
358	(draw_separator, display_menu, fit_to_screen, motion_event_is_in_menu)
359	(map_event_to_widget_value): Reformat.
360	(display_menu_item): Change from K&R to prototype.
361
362	* lwlib.c (allocate_widget_info, lw_register_widget): Change from K&R
363	to prototype.
364	(lw_internal_update_other_instances, merge_widget_value): Reformat.
365
366	* lwlib-int.h (widget_creation_function): Fix prototype.
367
368	* lwlib-Xm.c (x_print_complete_resource_name)
369	(make_destroyed_instance, free_destroyed_instance, first_child)
370	(lw_motif_widget_p, resource_motif_string, destroy_all_children)
371	(xm_arm_callback, xm_update_label, xm_update_list)
372	(xm_update_pushbutton, xm_update_cascadebutton)
373	(xm_update_toggle, xm_update_radiobox, make_menu_in_widget)
374	(update_one_menu_entry, xm_update_menu, xm_update_text)
375	(xm_update_text_field, xm_update_one_widget)
376	(xm_update_one_value, activate_button, dialog_key_cb)
377	(make_dialog, mark_dead_instance_destroyed)
378	(find_matching_instance, recenter_widget, recycle_instance)
379	(xm_create_dialog, make_menubar, remove_grabs, make_popup_menu)
380	(make_main, xm_destroy_instance, xm_popup_menu)
381	(set_min_dialog_size, xm_pop_instance, do_call)
382	(xm_internal_update_other_instances, xm_generic_callback)
383	(xm_nosel_callback, xm_pull_down_callback, xm_pop_down_callback)
384	(xm_set_keyboard_focus, xm_set_main_areas, xm_manage_resizing): Change
385	from K&R to prototype.
386
387	* lwlib-Xlw.c (x_print_complete_resource_name): Change from K&R to
388	prototype.
389	(xlw_update_one_value): Reformat.
390
391	* lwlib-Xaw.c (xaw_generic_callback, command_reset)
392	(xaw_update_one_value): Reformat.
393	(xaw_update_one_widget): Reformat and remove dead code.
394	(xaw_scrollbar_scroll, xaw_scrollbar_jump, xaw_create_scrollbar)
395	(xaw_update_scrollbar): Remove (not used).
396	(make_dialog): Change from K&R to prototype.  Remove dead code.
397	(xaw_creation_table): Remove scrollbar entry.
398
3992010-07-08  Dan Nicolaescu  <dann@ics.uci.edu>
400
401	* lwlib.c (allocate_widget_instance, get_widget_info)
402	(get_widget_instance, find_instance, set_one_value)
403	(update_one_widget_instance, update_all_widget_values)
404	(lw_modify_all_widgets, lw_get_widget, lw_make_widget)
405	(lw_create_widget, lw_pop_all_widgets, lw_show_busy)
406	(lw_refigure_widget, lw_allow_resizing): Remove alternative K&R
407	declarations.
408	* lwlib-Xlw.c (xlw_update_one_widget, xlw_pop_instance): Likewise.
409	* lwlib-Xaw.c (xaw_update_one_widget, xaw_pop_instance):
410	Likewise.
411	* lwlib-Xm.c (P_): Remove.
412
4132010-07-07  Andreas Schwab  <schwab@linux-m68k.org>
414
415	* lwlib.c (lwlib_memset, lwlib_bcopy): Remove.
416	(malloc_widget_value, free_widget_info, allocate_widget_instance)
417	(lw_separator_p): Replace lwlib_memset, lwlib_bcopy, bzero, bcmp by
418	memset, memcpy, memcmp.
419	* lwlib-utils.c (XtApplyToWidgets): Likewise.
420	* xlwmenu.c (XlwMenuInitialize): Likewise.
421	* lwlib.h (lwlib_bcopy): Remove declaration.
422
4232010-07-05  Jan Djärv  <jan.h.d@swipnet.se>
424
425	* xlwmenu.c (XlwMenuSetValues, XlwMenuInitialize): Correct prototype.
426	(display_menu_item): Remove unused variable gi.
427	(make_windows_if_needed): Remove unused variable screen.
428	(XlwMenuRedisplay): Remove unused variable i.
429
430	* lwlib-Xaw.c: Include <ctype.h> for isdigit.
431	(fill_xft_data, set_text): Remove unused variable screen.
432	(draw_text): Cast bp to FcChar8*.
433	(find_xft_data): Return 0 if inst or xft_data is not set.
434	(wm_delete_window): Correct prototype.  Initialize widget to 0
435	and return if widget is still 0 after loop.
436
4372010-07-04  Dan Nicolaescu  <dann@ics.uci.edu>
438
439	* lwlib-Xaw.c: Convert function definitions to standard C.
440	* lwlib-Xlw.c:
441	* lwlib-utils.c:
442	* lwlib.c:
443	* lwlib.h:
444	* xlwmenu.c: Likewise.
445
4462010-07-02  Jan Djärv  <jan.h.d@swipnet.se>
447
448	* lwlib-Xm.c: Remove __P and P_ from .c and .m files.
449	* lwlib-Xm.c:
450	* lwlib.c:
451	* xlwmenu.c: Likewise.
452
453	Remove P_ and __P macros.
454	* lwlib-Xaw.h: Remove P_ and __P macros.
455	* lwlib-Xlw.h:
456	* lwlib-Xm.h:
457	* lwlib-int.h:
458	* lwlib-utils.h:
459	* lwlib.h: Likewise.
460
4612010-05-15  Glenn Morris  <rgm@gnu.org>
462
463	* Makefile.in (mostlyclean): Remove references to non-existent files.
464
4652010-05-13  Jan Djärv  <jan.h.d@swipnet.se>
466
467	* lwlib-Xaw.c (make_dialog): Remove extra arg to XtVaGetSubresources.
468
4692010-05-08  Jan Djärv  <jan.h.d@swipnet.se>
470
471	* xlwmenu.c (XlwMenuDestroy): Remove XtDestroyWidget on subwidgets
472	(Bug #6127).
473
4742010-05-07  Chong Yidong  <cyd@stupidchicken.com>
475
476	* Version 23.2 released.
477
4782010-05-06  Glenn Morris  <rgm@gnu.org>
479
480	* Makefile.in (CPP, LN_S, TOP, LN): Remove unused variables.
481
4822010-05-04  Glenn Morris  <rgm@gnu.org>
483
484	* Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE):
485	Use @C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@ instead of
486	@c_switch_system@, @c_switch_machine@.
487
4882010-04-27  Dan Nicolaescu  <dann@ics.uci.edu>
489
490	* Makefile.in (C_SWITCH_X_SYSTEM): Define using autoconf.
491
4922010-04-21  Jan Djärv  <jan.h.d@swipnet.se>
493
494	* xlwmenu.c (expose_cb):
495	* lwlib-Xaw.c (fill_xft_data): Declarations before code.
496
4972010-04-17  Jan Djärv  <jan.h.d@swipnet.se>
498
499	* xlwmenu.c: Include Shell.h, remove duplicate declaration of
500	XlwMenuRedisplay.
501	(display_menu_item): Replace ws->window with ws->pixmap, remove
502	call to XftDrawRect.
503	(display_menu): Remove this and that argument.
504	Remove just_compute_this_one_p.  Fill pixmap at start and copy it to
505	window at end.
506	(expose_cb): New function.
507	(make_windows_if_needed): Replace XCreateWindow with XtCreatePopup.
508	Add eventhandler for expose to expose_cb.  Remove creation of xft_draw.
509	(create_pixmap_for_menu): New function.
510	(remap_menubar): Pop down menus that aren't the same as in old_stack.
511	Set width, height, x, y on widget with XtVaSetValues.
512	Call create_pixmap_for_menu.
513	Replace XUnmapWindow with XtPopdown.
514	Remowe two last parameters to display_menu.
515	(map_event_to_widget_value, XlwMenuRedisplay, Key, Select)
516	(pop_up_menu): Remowe two last parameters to display_menu.
517	(XlwMenuRealize): Call create_pixmap_for_menu, set w and pixmap.
518	Remove call to XftDrawCreate.
519	(XlwMenuDestroy): Free pixmap.  Call XtDestroyWidget instead of
520	XDestroyWindow.
521	(handle_motion_event): Only call handle_single_motion_event once.
522	(set_window_type): New function.
523	(make_windows_if_needed, XlwMenuRealize): Call set_window_type.
524
525	* xlwmenuP.h (window_state): Add pixmap and w.
526
5272010-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
528
529	* xlwmenu.c (facename_changed): Put function in #ifdef HAVE_XFT.
530
5312010-04-11  Dan Nicolaescu  <dann@ics.uci.edu>
532
533	* Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE)
534	(C_SWITCH_X_SITE): Define using autoconf.
535
5362010-04-11  Jan Djärv  <jan.h.d@swipnet.se>
537
538	* lwlib-Xaw.c (widget_xft_data): New for Xft data.
539	(fill_xft_data, openFont, get_text_width_and_height)
540	(draw_text, set_text, find_xft_data, command_press)
541	(command_reset): New functions.
542	(xaw_update_one_widget): Call set_text for dialog and buttons
543	if HAVE_XFT.  Also set internalHeight for buttons.
544	(xaw_destroy_instance): Free all Xft related data.
545	(button_actions, buttonTrans): New structures.
546	(make_dialog): Call XtAppAddActions for button_actions.
547	Find xft font to use and call fill_xft_data for widgets.
548	(xaw_create_dialog): Pass instance parameter to make_dialog.
549
550	* lwlib-int.h (_widget_instance): Add Xft data if HAVE_XFT.
551	Override translations for buttons.  If depth is 16 or more, tell
552	Xaw3d to not be nice to colormap.
553	Remove separator widget, use XtNhorizDistance on first right button
554	instead.
555
5562010-04-08  Jan Djärv  <jan.h.d@swipnet.se>
557
558	* xlwmenu.c (xlwmenu_default_font): Make static.
559	(xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
560	(string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
561	(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
562	HAVE_XFT.
563	(size_menu): Set max_rest_width in window_state structure.
564	(display_menu_item): If HAVE_XFT and xft_draw is set, use
565	XftDrawRect and XftDrawStringUtf8 to draw text.
566	(make_windows_if_needed): Set max_rest_width and xft_draw
567	in windows[i].
568	(openXftFont): New.
569	(XlwMenuInitialize): Call openXftFont if HAVE_XFT.  If mw->menu.font
570	is not set, load font fixed and save it in xlwmenu_default_font.
571	(XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
572	(XlwMenuClassInitialize): Initialize xlwmenu_default_font.
573	(XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
574	windows[0].xft_draw if xft_font is set.
575	(XlwMenuDestroy): Destroy all xft_draw and close xft_font.
576	(facename_changed): New.
577	(XlwMenuSetValues): Call facename_changed.  If face name did change,
578	close old fonts and destroy xft_draw:s.  Then create new ones.
579
580	* xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
581	XtCDefaultFace): New.
582
583	* xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
584	(_XlwMenu_part): Add faceName, xft_fg, xft_bg, xft_disabled_fg and
585	xft_font.
586
5872010-03-10  Chong Yidong  <cyd@stupidchicken.com>
588
589	* Branch for 23.2.
590
5912009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
592
593	* xlwmenu.c:
594	* lwlib.c:
595	* lwlib-utils.c:
596	* lwlib-Xm.c:
597	* lwlib-Xlw.c:
598	* lwlib-Xaw.c: Include setjmp.h.
599
6002009-06-21  Chong Yidong  <cyd@stupidchicken.com>
601
602	* Branch for 23.1.
603
6042008-07-23  Dan Nicolaescu  <dann@ics.uci.edu>
605
606	* Makefile.in (ALL_CFLAGS): Remove reference to C_SWITCH_SITE.
607
6082008-06-26  Dan Nicolaescu  <dann@ics.uci.edu>
609
610	* lwlib.c: Remove references to obsolete variables.
611
6122008-06-02  Jim Meyering  <meyering@redhat.com>
613
614	Remove useless if-before-free tests.
615	* lwlib-Xm.c (xm_update_one_value): Likewise.
616	* lwlib.c (safe_free_str, free_widget_value_tree): Likewise.
617
6182008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
619
620	* Makefile.in (TOOLKIT_DEFINES): Remove.
621
6222007-08-29  Károly Lőrentey  <lorentey@elte.hu>
623
624	* xlwmenu.c (XlwMenuRealize): Ignore X errors while setting up
625	cursor shape.
626
6272007-07-25  Glenn Morris  <rgm@gnu.org>
628
629	* Relicense all FSF files to GPLv3 or later.
630
631	* COPYING: Switch to GPLv3.
632
6332007-06-13  Chong Yidong  <cyd@stupidchicken.com>
634
635	* lwlib-Xaw.c, lwlib.c: Link to xaw3d if available.
636
6372007-06-02  Chong Yidong  <cyd@stupidchicken.com>
638
639	* Version 22.1 released.
640
6412007-02-28  Glenn Morris  <rgm@gnu.org>
642
643	* Makefile.in (distclean): Delete Makefile.
644	(maintainer-clean): Delete TAGS.
645
6462007-01-01  Jan Djärv  <jan.h.d@swipnet.se>
647
648	* xlwmenu.c (xlwMenuResources): Add XtNleaveCallback, XtNenterCallback.
649	(display_menu, map_event_to_widget_value): Generate enter and
650	leave callbacks.
651	(pop_up_menu): Initialize mw->menu.inside_entry.
652
653	* xlwmenu.h (XtNleaveCallback, XtNenterCallback): New strings.
654
655	* xlwmenuP.h (_XlwMenu_part): Add enter/leave callbacks and
656	inside_entry.
657
658	* lwlib-Xlw.c (enter_hook, leave_hook): New functions.
659	(xlw_create_menubar, xlw_create_popup_menu): Connect XtNenter/leave
660	to enter/leave_hook.
661
6622006-10-30  Chong Yidong  <cyd@stupidchicken.com>
663
664	* Makefile.in (lwlib-utils.o): Use CPPFLAGS.
665
6662006-09-15  Jay Belanger  <belanger@truman.edu>
667
668	* COPYING: Replace "Library Public License" by "Lesser Public
669	License" throughout.
670
6712006-05-23  Jan Djärv  <jan.h.d@swipnet.se>
672
673	* xlwmenu.c: Include xterm.h if emacs instead of declaring functions
674	used.
675	(string_width): Declare as static.
676	(Start, pop_up_menu): Set is_hint to 0 before calling
677	handle_motion_event.
678	(pop_up_menu): Return value and parameters for x_catch_errors and
679	x_uncatch_errors changed.
680
6812005-09-27  Dan Nicolaescu  <dann@ics.uci.edu>
682
683	* xlwmenu.c (find_next_selectable, find_prev_selectable):
684	Add missing parameter declarations.
685
6862005-09-24  Dan Nicolaescu  <dann@ics.uci.edu>
687
688	* xlwmenu.c: Fix the return type for x_clear_errors and
689	x_uncatch_errors.
690
6912005-07-19  Jan Djärv  <jan.h.d@swipnet.se>
692
693	* lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for
694	labels in menu bar.
695
6962005-07-04  Lute Kamstra  <lute@gnu.org>
697
698	Update FSF's address in GPL notices.
699
7002005-04-01  Jan Djärv  <jan.h.d@swipnet.se>
701
702	Reenable support for I18N to Lucid menus.
703
704	* xlwmenuP.h (_XlwMenu_part): Add fontSet resource.
705
706	* xlwmenu.c (string_width, MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Ditto.
707	(display_menu_item, make_drawing_gcs, XlwMenuInitialize)
708	(XlwMenuSetValues): Use font if fontSet is NULL, use only
709	font for !HAVE_X_I18N.
710	(xlwMenuResources): Add fontSet resource.
711
7122005-03-22  Jan Djärv  <jan.h.d@swipnet.se>
713
714	* xlwmenuP.h: Temporary #undef HAVE_X_I18N until FontSet for UTF-8
715	on XFree86 is investigated.
716
717	* xlwmenu.c: Ditto.
718
7192005-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
720
721	Add support for I18N to Lucid menus.
722
723	* xlwmenuP.h (struct _XlwMenu_part) [HAVE_X_I18N]: Change `font' to be
724	a fontset.  Add a `font_extents' element.
725
726	* xlwmenu.c (xlwMenuResources) [HAVE_X_I18N]: Use a fontset for the
727	`font' resource.
728	(string_width) [HAVE_X_I18N]: Use XmbTextExtents.
729	(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): New macros.
730	(arrow_width, toggle_button_width, size_menu_item, draw_arrow)
731	(draw_toggle, draw_radio, display_menu_item): Use them.
732	(display_menu_item) [HAVE_X_I18N]: Use XmbDrawString.
733	(make_drawing_gcs) [HAVE_X_I18N]: Don't mess with fonts.
734	(XlwMenuInitialize) [HAVE_X_I18N]: Initialize font_extents.
735	(XlwMenuSetValues) [HAVE_X_I18N]: Refresh font_extents if font changes.
736
737	* lwlib-Xm.c (xm_update_label, xm_update_list): Use the recommended
738	XmStringCreateLocalized function.  Add missing copyright.
739
740	* lwlib-Xm.h: Add missing copyright and license notice.
741
7422005-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
743
744	* xlwmenuP.h:
745	* xlwmenu.h: Add missing copyright and license notice.
746
7472004-12-27  Jan Djärv  <jan.h.d@swipnet.se>
748
749	* xlwmenu.c (xlwMenuActionsList): Install MenuGadgetEscape as an
750	action procedure for compatibility with Lesstif/Motif.
751
752	* Makefile.in (mostlyclean): Don't remove *~ on clean.
753
7542004-12-26  Jan Djärv  <jan.h.d@swipnet.se>
755
756	* lwlib-Xaw.c: Put <KeyPress>Escape in dialogOverride so dialogs only
757	pops down on Escape, not any keypress.
758
7592004-11-01  Jan Djärv  <jan.h.d@swipnet.se>
760
761	* xlwmenu.c (find_first_selectable, find_next_selectable)
762	(find_prev_selectable): Rename parameter skip_no_call_data to
763	skip_titles.  Recognize titles as having no call_data and no contents.
764	(Down, Up): Comment update.
765
7662004-08-30  Jan Djärv  <jan.h.d@swipnet.se>
767
768	* lwlib.h (_widget_value): Add lname and lkey.
769
7702004-01-12  Jan Djärv  <jan.h.d@swipnet.se>
771
772	* xlwmenuP.h (_XlwMenu_part): Add top_depth.
773
774	* xlwmenu.h: Removed declaration of pop_up_menu.
775
776	* xlwmenu.c (Start): Get correct time if time in event is CurrentTime.
777	(find_first_selectable, find_next_selectable)
778	(find_prev_selectable): Add parameter skip_no_call_data to skip
779	over items with no call data (popup menu titles).
780	(Down, Up): Compare old_depth to top_depth instead of 2.
781	Pass True to find_*_selectable:s new parameter if this is a popup menu.
782	(Left, Right): Compare old_depth to top_depth instead of 2.
783	Pass 0 to find_*_selectable:s new parameter.
784	(pop_up_menu): Set top_depth to 1 for pop up menus and 2 for
785	menu bar menus, to enable keyboard traversal of popups.
786
787	* lwlib-Xm.c (dialog_key_cb): New function.
788	(make_dialog): Add event handlers to dialog_key_cb for key press
789	so we can pop down on ESC.
790
791	* lwlib-Xlw.c (xlw_popup_menu): Replace call to pop_up_menu with
792	XtCallActionProc ("start").  Use a full XEvent since "start" copies it.
793
794	* lwlib-Xaw.c (make_dialog): Add override so dialog pops down on ESC.
795	(wm_delete_window): If widget isn't a shell, use the parent.
796
7972003-05-22  Dave Love  <fx@gnu.org>
798
799	* xlwmenu.c: Include lisp.h, not ../src/lisp.h.
800	(make_drawing_gcs): Remove unused `xswa', `mask'.
801
802	* lwlib-Xlw.c: Include lisp.h, not ../src/lisp.h.
803	(lw_lucid_widget_p): Remove unused `mw'.
804	(xlw_update_one_widget, xlw_pop_instance) [PROTOTYPES]:
805	Provide ISO C arglists.
806
8072003-04-30  Lute Kamstra  <lute@gnu.org>
808
809	* Makefile.in: Make things function properly in case both LessTif
810	and Open Motif are installed.
811
8122003-01-26  Jan Djärv  <jan.h.d@swipnet.se>
813
814	* lwlib-Xm.c (update_one_menu_entry): Deallocate widget_list.
815	(destroy_all_children): Call it self to destroy sub menu children.
816
8172002-12-22  Richard M. Stallman  <rms@gnu.org>
818
819	* xlwmenu.c (pop_new_stack_if_no_contents): Do nothing if
820	new_depth is 1.
821	(remap_menubar): Don't look in new_stack[0].
822	(Left): At level 1, do the same thing Right does.
823
8242002-11-21  Dave Love  <fx@gnu.org>
825
826	* lwlib-Xaw.c [PROTOTYPES]: Provide ISO C arglists for functions
827	with Boolean args.
828
8292002-11-20  Dave Love  <fx@gnu.org>
830
831	* lwlib.c: Remove obsolete USE_OLIT code.
832	[PROTOTYPES]: Provide ISO C arglists for functions with Boolean args.
833	(lwlib_memset): Declare length arg as size_t.
834	(malloc_widget_value): Cast arg of lwlib_memset.
835
836	* xlwmenu.c (separator_height): Prototype.
837
8382002-05-07  Miles Bader  <miles@gnu.org>
839
840	* xlwmenu.c (make_drawing_gcs): The scaling factor passed to
841	`x_alloc_lighter_color_for_widget' is a float, not an int, and
842	it's a multiplicative factor, so the name `delta' is inaccurate.
843	Always base disabled foreground on the normal foreground.
844	Don't use the temporary variable `temp'.
845
8462002-05-06  Pavel Janík  <Pavel@Janik.cz>
847
848	* xlwmenu.c (xlwMenuResources): New resource.
849	(find_next_selectable): Return current item when the menu is not
850	popped up.
851	Rename `inactive_gc' to `disabled_gc'.
852	Use lighter/darker color for disabled menu items instead of using
853	stipple.  Use stipple only when better color can not be
854	determined automatically.
855
856	* xlwmenu.h (XtNdisabledForeground, XtCDisabledForeground):
857	New resource names.
858
859	* xlwmenuP.h (_XlwMenu_part): Add new member `disabled_foreground'.
860	Rename `inactive_gc' to `disabled_gc'.
861
8622002-04-29  Pavel Janík  <Pavel@Janik.cz>
863
864	* xlwmenu.c <XtNmargin, XtNverticalSpacing, XmNshadowThickness>:
865	Change default values.
866
8672002-04-28  Jan Djärv  <jan.h.d@swipnet.se>
868
869	* xlwmenu.c: Do not grab keyboard if installation-directory is
870	non-nil (not installed Emacs).  To simplify debugging.
871
8722002-04-28  Pavel Janík  <Pavel@Janik.cz>
873
874	* Makefile.in: Remove OpenLook file dependencies.
875	(xrdb-cpp.o): Remove target.
876	Remove unused defines.
877
878	* xrdb.c, xrdb-cpp.c, Imakefile, dispatch.c, dispatch.h:
879	Remove unused file.
880
881	* lwlib.c (instantiate_widget_instance): Remove duplicated prototype.
882
8832002-04-25  Pavel Janík  <Pavel@Janik.cz>
884
885	* lwlib-Xol.c, lwlib-Xol.h, lwlib-Xolmb.c, lwlib-Xolmb.h
886	* lwlib-XolmbP.h: Remove file.
887
8882002-04-22  Jan Djärv  <jan.h.d@swipnet.se>
889
890	* lwlib-Xm.c: Removed compiler warning.
891
892	* xlwmenu.c: Add calls to GrabKeyboard to remove strange
893	interactions with window managers that steal keypresses.
894	Call ungrab_all instead of XtUngrabPointer.
895	(pop_up_menu): Add call to XtGrabKeyboard.
896	(ungrab_all): New function.
897
8982002-04-20  Pavel Janík  <Pavel@Janik.cz>
899
900	* xlwmenu.c (find_next_selectable): New function.
901	(Down, Up, Right): Use it.
902	(find_next_selectable): Prevent endless loops when only one item
903	is enabled in the menu.
904
9052002-04-19  Pavel Janík  <Pavel@Janik.cz>
906
907	These changes allow moving in menu via keyboard.
908
909	* xlwmenu.c (xlwMenuTranslations, xlwMenuActionsList):
910	Add translations for cursor keys and RET.
911	(find_next_selectable, find_prev_selectable): New functions used
912	for finding menu-items.
913	(Down, Up, Left, Right): New functions.
914
9152002-04-19  Eli Zaretskii  <eliz@is.elta.co.il>
916
917	* Makefile.in (TAGS): Don't use -t, it's the default behavior for
918	etags, so it barfs if invoked with -t.
919
9202002-03-17  Richard M. Stallman  <rms@gnu.org>
921
922	* lwlib.c (P_): Definitions deleted.
923
9242002-03-16  Eli Zaretskii  <eliz@is.elta.co.il>
925
926	* lwlib.c (P_): Don't define if already defined.
927
9282002-01-27  Pavel Janík  <Pavel@Janik.cz>
929
930	* lwlib-Xaw.c (xaw_update_scrollbar, xaw_scrollbar_scroll)
931	(xaw_scrollbar_jump): Put whole functions in #if 0.
932
9332002-01-09  Pavel Janík  <Pavel@Janik.cz>
934
935	* lwlib-Xaw.c (xaw_create_dialog): Initialize icon_name to
936	suppress compiler warnings.
937
9382001-12-18  Pavel Janík  <Pavel@Janik.cz>
939
940	* lwlib.c (separator_names): Add missing braces around initializers.
941
9422001-12-08  Pavel Janík  <Pavel@Janik.cz>
943
944	* COPYING: New file.
945
9462001-12-01  Richard M. Stallman  <rms@gnu.org>
947
948	* lwlib.h (_widget_value): `help' has type Lisp_Object.
949
950	* xlwmenu.c, lwlib-Xaw.c, lwlib-Xlw.c: Include ../src/lisp.h.
951	* lwlib-Xm.c, lwlib-Xol.c, lwlib-Xolmb.c: Include ../src/lisp.h.
952	* lwlib-utils.c: Include ../src/lisp.h.
953
954	* lwlib.c: Include ../src/lisp.h.  Don't declare xmalloc.
955	(free_widget_value_tree): Don't free `help' field.
956	(copy_widget_value_tree): Copy `help' simply, without safe_strdup.
957	(merge_widget_value): Compare and copy `help' simply.
958
9592001-11-28  Richard M. Stallman  <rms@gnu.org>
960
961	* Makefile.in (TAGS): Find the source files in $(srcdir).
962
9632001-10-20  Gerd Moellmann  <gerd@gnu.org>
964
965	* (Version 21.1 released.)
966
9672001-10-09  Gerd Moellmann  <gerd@gnu.org>
968
969	* lwlib-Xaw.c (xaw_create_scrollbar) [!0]: Return NULL.
970	From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
971
9722001-10-05  Gerd Moellmann  <gerd@gnu.org>
973
974	* Branch for 21.1.
975
9762001-04-30  Gerd Moellmann  <gerd@gnu.org>
977
978	* xlwmenu.c (xlwmenu_window_p): New function.
979
9802001-03-23  Gerd Moellmann  <gerd@gnu.org>
981
982	* lwlib-Xlw.c (x_print_complete_resource_name) [0]: New function.
983
9842001-03-22  Gerd Moellmann  <gerd@gnu.org>
985
986	* lwlib-Xm.c (x_print_complete_resource_name) [0]: New function.
987
9882001-03-13  Gerd Moellmann  <gerd@gnu.org>
989
990	* lwlib-Xm.c (make_menu_in_widget): Remove code forcing LessTif to
991	recompute centered text; it works fine without with current LessTif.
992
993	* lwlib-Xm.c (make_menu_in_widget): Add an XmNpopdownCallback
994	instead of an XmNunmapCallback.
995	(xm_unmap_callback): Remove.
996
997	* lwlib-Xm.c (make_menubar): Take out code in #if 0.
998
999	* lwlib-Xm.c (xm_popup_menu): Don't set XmNmenuPost unless
1000	necessary.  From Rick Scott <rwscott@alumni.uwaterloo.ca>.
1001
10022001-02-28  Gerd Moellmann  <gerd@gnu.org>
1003
1004	* lwlib-Xm.c (xm_arm_callback): Don't compare widgets with `None',
1005	use NULL instead.
1006
1007	* lwlib-Xaw.c (xaw_update_one_widget): Use XtSetSensitive instead
1008	of setting the value of XtNsensitive.
1009
1010	* lwlib-Xm.c (xm_update_radiobox, update_one_menu_entry)
1011	(xm_update_one_widget): Use XtSetSensitive instead of setting the
1012	value of XmNsensitive.  From Rick Scott <rwscott@alumni.uwaterloo.ca>.
1013
10142000-12-14  Dave Love  <fx@gnu.org>
1015
1016	* xlwmenu.c (gray_bitmap_bits): Remove `unsigned' from declaration.
1017
10182000-12-11  Dave Love  <fx@gnu.org>
1019
1020	* xlwmenu.c (draw_separator) <SEPARATOR_SHADOW_ETCHED_IN_DASH>:
1021	<SEPARATOR_SHADOW_ETCHED_OUT_DASH>: Fix call of draw_separator.
1022
10232000-12-07  Gerd Moellmann  <gerd@gnu.org>
1024
1025	* lwlib-Xm.c (xm_arm_callback): Fix last change.
1026
10272000-11-30  Gerd Moellmann  <gerd@gnu.org>
1028
1029	* lwlib-Xm.c (xm_arm_callback): Handle case that W is null;
1030	also see comment there.
1031
10322000-11-21  Gerd Moellmann  <gerd@gnu.org>
1033
1034	* xlwmenu.c (xlwmenu_redisplay): New function.
1035
10362000-09-30  Stefan Monnier  <monnier@cs.yale.edu>
1037
1038	* lwlib.c (lw_separator_p): Init separator_p (bug with "-- some text").
1039
10402000-09-28  Sam Steingold  <sds@gnu.org>
1041
1042	* xlwmenu.c: Before including <X11/Xos.h> on SUN, define SUNOS41
1043	to avoid redefining struct timeval and struct timezone.
1044
10452000-09-04  Miles Bader  <miles@gnu.org>
1046
1047	* xlwmenu.c (XlwMenuSetValues): Only frob the display if the menu
1048	is actually displayed.
1049	(remap_menubar): Only include the menu-margin in the initial X & Y
1050	positions for horizontal menu-bars.
1051	(fit_to_screen): If moving a sub-menu to the left-side, increment
1052	its x-position by the shadow-thickness to make it look more
1053	attached to the invoking menu-item (similarly to the way it would
1054	be displayed on the right side).
1055
10562000-09-03  Miles Bader  <miles@gnu.org>
1057
1058	* xlwmenu.c (x_alloc_lighter_color_for_widget): New extern declaration.
1059	(make_shadow_gcs) [emacs]: Use x_alloc_lighter_color_for_widget to
1060	do shadow calculation.
1061	(make_shadow_gcs): Remove code that tests whether the top shadow
1062	is dimmer than the bottom shadow--it shouldn't ever happen.
1063
10642000-08-30  Miles Bader  <miles@gnu.org>
1065
1066	* xlwmenu.c (XlwMenuSetValues): If the background color has
1067	changed, re-make the shadow-gcs too.
1068
10692000-08-03  Gerd Moellmann  <gerd@gnu.org>
1070
1071	* lwlib.c, lwlib-Xm.c, lwlib-Xaw.c: Use NULL at the end of the
1072	variable argument lists of XtVaSetValues and XtVaGetValues
1073	functions because 0 is not sufficient on systems where sizeof
1074	(int) < sizeof (void *).
1075
10762000-07-19  Gerd Moellmann  <gerd@gnu.org>
1077
1078	* xlwmenu.c [emacs]: Don't include <X11/bitmaps/gray> because that
1079	leads to redefinition errors when static is defined as empty in
1080	config.h.  Refer to the gray bitmap in xfns.c, instead.
1081
10822000-07-18  Dave Love  <fx@gnu.org>
1083
1084	* lwlib-utils.c (XtApplyToWidgets): Cast args of lwlib_bcopy.
1085
10862000-06-23  Dave Love  <fx@gnu.org>
1087
1088	* lwlib-Xlw.c (xlw_popup_menu): Cast arg of pop_up_menu.
1089
1090	* lwlib-utils.c: Include lwlib.h.
1091
10922000-06-16  Gerd Moellmann  <gerd@gnu.org>
1093
1094	* xlwmenuP.h (_XlwMenu_part): Add free_top_shadow_color_p and
1095	free_bottom_shadow_color_p.
1096
1097	* xlwmenu.c (make_shadow_gcs): Set free_top_shadow_color_p
1098	and free_top_shadow_color_p flags in the menu widget if
1099	top and bottom shadow colors must be freed.
1100	(release_shadow_gcs): Free colors only if they must be freed.
1101
11022000-06-12  Gerd Moellmann  <gerd@gnu.org>
1103
1104	* xlwmenu.c (make_shadow_gcs): Free and copy colors so that
1105	color reference counts are right.
1106	(release_shadow_gcs): Free colors.
1107
11082000-06-06  Dave Love  <fx@gnu.org>
1109
1110	* xlwmenu.c (x_alloc_nearest_color_for_widget, x_catch_errors)
1111	(x_uncatch_errors, x_had_errors_p, x_clear_errors): Add prototypes
1112	-- should be moved into separate header.
1113	(make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first arg.
1114	(Start) <pop_up_menu>: Cast second arg.
1115
1116	* lwlib.c (P_): Use PROTOTYPES.
1117	(safe_strdup): Declare arg const.
1118	(lw_modify_all_widgets) <!info>: Return 0.
1119
1120	* lwlib-Xm.c (P_): Use PROTOTYPES.
1121
1122	* xlwmenu.h, lwlib.h, lwlib-utils.h, lwlib-int.h, lwlib-Xm.h:
1123	* lwlib-Xlw.h, lwlib-Xaw.h: Enable prototypes.
1124
1125	* lwlib-Xaw.c (xaw_popup_menu): Add EVENT arg.
1126
1127	* Makefile.in (lwlib.o): Depend on lwlib-Xlw.h.
1128	(lwlib-Xlw.o): Depend on lwlib-Xlw.h.
1129	(lwlib-Xaw.o): Depend on lwlib-Xaw.h.
1130	(lwlib-Xm.o): Depend on lwlib-Xm.h.
1131
11322000-03-12  Gerd Moellmann  <gerd@gnu.org>
1133
1134	* lwlib-Xm.c (make_menubar) [LESSTIF_VERSION]: Don't set
1135	XmNresizeHeight and XmNresizeWidth.
1136
11372000-03-08  Dave Love  <fx@gnu.org>
1138
1139	* Makefile.in (liblw.a): Don't bother testing for ranlib failing
1140	since configure sets it up.
1141
11422000-03-06  Gerd Moellmann  <gerd@gnu.org>
1143
1144	* lwlib-Xm.c (make_menubar): Set XmNresizeHeight and
1145	XmNresizeWidth resources only if LESSTIF_VERSION is defined.
1146
11472000-03-05  Gerd Moellmann  <gerd@gnu.org>
1148
1149	* lwlib-Xm.c (xm_manage_resizing): Rewritten.
1150
1151	* lwlib.c (lw_modify_all_widgets): Return non-zero if widget
1152	tree was changed.
1153	(merge_widget_value): Add parameter CHANGE_P.  Set *CHANGE_P
1154	to 1 if a change occurs.
1155
1156	* lwlib.h (lw_modify_all_widgets): Change prototype.
1157
11582000-03-04  Gerd Moellmann  <gerd@gnu.org>
1159
1160	* xlwmenu.c (make_shadow_gcs): Use the widget's colormap instead
1161	of the screen's default colormap.
1162
11632000-02-18  Gerd Moellmann  <gerd@gnu.org>
1164
1165	* lwlib.c (merge_widget_value): Fix incorrect assignment of
1166	safe_strdup'd help string.
1167
11682000-01-25  Gerd Moellmann  <gerd@gnu.org>
1169
1170	* lwlib-Xm.c (make_menu_in_widget): Don't add XmNpopdownCallback,
1171	add XmNunmapCallback.
1172	(xm_unmap_callback): New function.
1173	(xm_pull_down_callback): Call pre-activate callback only if
1174	parent is the menu bar.
1175
11762000-01-17  Gerd Moellmann  <gerd@gnu.org>
1177
1178	* lwlib-Xm.c (xm_arm_callback): New function.
1179	(make_menu_in_widget): Set xm_arm_callback as XmNarmCallback and
1180	XmNdisarmCallback for buttons (not supported for other widgets).
1181	(make_menubar): Set XmNresizeHeight and XmNresizeWidth to False.
1182
1183	* lwlib-Xlw.c (highlight_hook): New function.
1184	(xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as
1185	callback XtNhighlightCallback.
1186
1187	* lwlib.c (copy_widget_value_tree): Copy help string.
1188	(free_widget_value_tree): Free help string.
1189	(merge_widget_value): Handle help string.
1190	(allocate_widget_info, lw_register_widget, lw_create_widget):
1191	Add parameter HIGHLIGHT_CB.
1192	(lw_get_widget_instance): New function.
1193
1194	* lwlib-int.h: Add prototype for lw_get_widget_instance.
1195
1196	* lwlib.h (_widget_value): Add help string.
1197
1198	* xlwmenu.c (xlwMenuResources): All XtNhighlightCallback.
1199	(remap_menubar): Call highlight callback.
1200
1201	* xlwmenu.h (XtNhighlightCallback): New define.
1202
1203	* xlwmenuP.h (_XlwMenu_part): Add `highlight' callback list.
1204
12051999-10-19  Paul Eggert  <eggert@twinsun.com>
1206
1207	Add support for large files, plus some locale improvements.
1208
1209	* dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
1210	* xrdb-cpp.c, xrdb.c:
1211	Include <config.h> before any system include files.
1212
1213	* lwlib-Xm.c, lwlib.c:
1214	Do not include <stdlib.h> or <string.h>, as <config.h> does this.
1215
12161999-10-07  Gerd Moellmann  <gerd@gnu.org>
1217
1218	* lwlib-Xm.c (make_menu_in_widget, update_one_menu_entry):
1219	Use widgets instead of gadgets to be able to set colors.
1220
12211999-09-17  Richard Stallman  <rms@gnu.org>
1222
1223	* lwlib-Xaw.c (wm_delete_window): Check all the shell's children,
1224	not just the first, to find the dialog box.
1225
12261999-09-14  Gerd Moellmann  <gerd@gnu.org>
1227
1228	* lwlib.c (lw_separator_p): Check for new-style separators differently.
1229
12301999-09-10  Gerd Moellmann  <gerd@gnu.org>
1231
1232	* lwlib.c (lw_separator_p): Add `--:space' with the same
1233	meaning as `--:noLine'.
1234
12351999-09-06  Gerd Moellmann  <gerd@gnu.org>
1236
1237	* lwlib.c (lw_separator_p): Add alternative separator type names.
1238
12391999-09-03  Gerd Moellmann  <gerd@gnu.org>
1240
1241	* xlwmenu.c (make_shadow_gcs): Call x_alloc_nearest_color_for_widget.
1242
12431999-07-12  Gerd Moellmann  <gerd@gnu.org>
1244
1245	* lwlib-Xm.c: Add function prototypes.
1246
1247	* lwlib-Xm.c (xm_update_label): Use val->name to look up
1248	a label string from resources.
1249	(xm_update_label): Add some comments.
1250
12511999-07-12  Gerd Moellmann  <gerd@gnu.org>
1252
1253	* xlwmenu.c (all_dashes_p): Removed.
1254	(size_menu_item): Call lw_separator_p.
1255	(display_menu_item): Ditto.
1256	(display_menu): Ditto.
1257	(draw_separator): New.
1258	(display_menu_item): Call it.
1259	(separator_height): New.
1260	(size_menu_item): Call it.
1261
1262	* lwlib-Xm.c (all_dashes_p): Removed.
1263	(make_menu_in_widget): Use lw_separator_p.  Set Motif separator type.
1264
1265	* lwlib.c (lw_separator_p): New.
1266
1267	* lwlib.h (enum menu_separator): New.
1268
12691999-07-12  Gerd Moellmann  <gerd@gnu.org>
1270
1271	* lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
1272	title after all widgets have been created.
1273
12741999-07-12  Gerd Moellmann  <gerd@gnu.org>
1275
1276	* xlwmenu.c (toggle_button_width): Renamed from
1277	toggle_or_radio_button_width.
1278	(radio_button_width): New.
1279	(size_menu_item): Use new functions.
1280	(draw_shadow_rhombus): New.
1281	(draw_radio): Use radio_button_width and draw_shadow_rhombus.
1282	(draw_toggle): Use toggle_button_width.
1283
12841999-07-12  Gerd Moellmann  <gerd@gnu.org>
1285
1286	* lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
1287	instead of xm_internal_update_other_instances.
1288
1289	* lwlib-Xm.c (make_menu_in_widget): Do help button before managing
1290	children to get it to the right place.
1291	(make_menu_in_widget): Create toggle buttons.
1292	(update_one_menu_entry): Update toggle buttons.
1293
1294	* xlwmenu.c (size_menu_item): Add parameter button_width.
1295	(size_menu): Compute button_width.
1296	(toggle_or_radio_button_width): New.
1297	(draw_toggle): New.
1298	(draw_radio): New.
1299	(draw_shadow_rectangle): Add parameter `down_p'.
1300
1301	* xlwmenuP.h (_window_state): Add button_width.
1302
13031999-07-12  Gerd Moellmann  <gerd@gnu.org>
1304
1305	* xlwmenu.c (make_shadow_gcs) [emacs]: Use x_alloc_nearest_color.
1306
1307	* lwlib.c (merge_widget_value): Handle button_type.
1308	(copy_widget_value_tree): Copy button_type.
1309
1310	* lwlib.h (enum button_type): New.
1311	(_widget_value): New member button_type.
1312
13131999-07-12  Gerd Moellmann  <gerd@gnu.org>
1314
1315	* lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
1316	using XmNrowColumnType.
1317
13181999-07-12  Gerd Moellmann  <gerd@gnu.org>
1319
1320	* xlwmenu.c (abort_gracefully): New.
1321	(display_menu): Use it instead of abort.
1322	(size_menu): Ditto.
1323
13241999-07-12  Gerd Moellmann  <gerd@gnu.org>
1325
1326	* xlwmenu.c (xlwMenuResources): Change previously unused
1327	XtNmargin to 4.
1328	(size_menu): Take margin into account.
1329	(display_menu_item): Ditto.
1330	(remap_menubar): Ditto.
1331	(draw_arrow): Draw it 3D.
1332
13331999-07-12  Richard Stallman  <rms@gnu.org>
1334
1335	* Version 20.4 released.
1336
13371998-08-19  Richard Stallman  <rms@psilocin.ai.mit.edu>
1338
1339	* Version 20.3 released.
1340
13411998-07-30  Paul Eggert  <eggert@twinsun.com>
1342
1343	* Makefile.in (lwlib-utils.o, lwlib.o, lwlib-Xlw.o)
1344	(lwlib-Xaw.o, lwlib-Xm.o, lwlib-Xol.o, lwlib-Xolmb.o):
1345	Add dependencies to corresponding .c files for Solaris 2.x VPATH make.
1346
13471998-04-06  Andreas Schwab  <schwab@gnu.org>
1348
1349	* lwlib.c: Always declare xmalloc.
1350	[USE_XAW]: Include <X11/Xaw/Paned.h>.
1351	(lwlib_memset, lwlib_bcopy): Explicitly declare return type.
1352
13531997-12-20  Richard Stallman  <rms@psilocin.gnu.org>
1354
1355	* lwlib-Xm.c (update_one_menu_entry):
1356	Add conditional in case XmNpositionIndex is missing.
1357
13581997-09-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
1359
1360	* Version 20.2 released.
1361
1362	* xlwmenu.c (motion_event_is_in_menu): Extend the left and
1363	top windows by the shadow width.
1364
13651997-09-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
1366
1367	* Version 20.1 released.
1368
13691997-07-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
1370
1371	* xlwmenu.c (display_menu): If an item is disabled,
1372	don't display its submenu (if any).
1373
13741997-05-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
1375
1376	* xlwmenu.c (pop_up_menu): Update the call to x_catch_errors.
1377
13781997-01-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
1379
1380	* xlwmenu.c (fit_to_screen): If new menu would overlap the previous
1381	one from the side, try moving it up or down.
1382
13831996-08-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
1384
1385	* Version 19.33 released.
1386
1387	* lwlib-Xm.c (update_one_menu_entry): Fix previous change:
1388	When XmIsCascadeButton, don't call XmCreateCascadeButtonGadget,
1389	just modify the existing one.
1390
13911996-08-09  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
1392
1393	* lwlib.c (merge_widget_value): Undo previous change.
1394
1395	* lwlib-Xm.c (update_one_menu_entry): When creating a pulldown
1396	in an existing but empty menu item, in order to get a new functional
1397	pulldown, the menu item must be switched from an XmPushButtonGadget
1398	into a XmCascadeButtonGadget.
1399
14001996-07-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
1401
1402	* Version 19.32 released.
1403
14041996-07-31  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
1405
1406	* lwlib-Xm.c (make_menubar): Turn off menu accelerator.
1407
14081996-07-24  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
1409
1410	* lwlib.c (merge_widget_value) [USE_MOTIF]: Pass along the change
1411	flag from merged_contents.
1412
14131996-07-13  Karl Heuer  <kwzh@gnu.ai.mit.edu>
1414
1415	* lwlib-Xm.c (xm_update_menu): Fix loop termination test.
1416
14171996-07-07  Karl Heuer  <kwzh@gnu.ai.mit.edu>
1418
1419	* lwlib-Xm.h, lwlib-Xm.c, lwlib.h, lwlib.c: Undo previous change.
1420
14211996-07-03  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
1422
1423	* lwlib-Xm.h: Declare lw_motif_menu_related_event_p.
1424
1425	* lwlib-Xm.c (lw_motif_menu_related_event_p): A predicate to
1426	identify keyboard events intended only for menus.
1427
1428	* lwlib.h: Declare lw_toolkit_related_event_p.
1429
1430	* lwlib.c (lw_toolkit_related_event_p): A predicate to identify
1431	toolkit-specific events.
1432
14331996-06-07  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
1434
1435	* lwlib-Xm.c (make_menu_in_widget): Set mapping delay
1436	for cascade buttons to zero.
1437
14381996-05-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
1439
1440	* Version 19.31 released.
1441
14421996-03-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1443
1444	* lwlib-Xm.c (destroy_all_children): When freeing a cascade button,
1445	free its submenu too.
1446	(make_menu_in_widget): Use a cascade button gadget, not a widget.
1447	Include Xm/CascadeBG.h.
1448
14491996-03-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1450
1451	* Makefile.in (tags): New target.
1452
14531996-03-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1454
1455	* Makefile.in (TAGS): Renamed from `tags' and fixed to work.
1456
14571996-03-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1458
1459	* Makefile.in (xlwmenu.o): New explicit target.
1460
14611996-03-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1462
1463	* lwlib.h (struct widget_value): New field this_one_change.
1464	* lwlib.c (merge_widget_value): Set the this_one_change field.
1465	* lwlib-Xm.c (destroy_all_children): New arg first_child_to_destroy.
1466	(make_menu_in_widget): New arg keep_first_children.
1467	(xm_update_menu): Preserve the first children even if later ones
1468	have a structural change.
1469	(update_one_menu_entry): Use this_one_change field.
1470
14711996-03-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1472
1473	* xlwmenu.c (motion_event_is_in_menu): Make x and y signed.
1474
14751996-02-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1476
1477	* lwlib.c (lw_window_is_in_menubar) [USE_MOTIF]:
1478	With Motif, the window WIN can be the menu bar widget itself.
1479
14801996-02-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
1481
1482	* lwlib.c (free_widget_value_tree, merge_widget_value):
1483	Use XtFree for the toolkit_data.
1484
14851996-02-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
1486
1487	* lwlib.c (lw_internal_update_other_instances): Move static var
1488	outside the function, and rename it to lwlib_updating.
1489
14901996-01-04  Paul Eggert  <eggert@twinsun.com>
1491
1492	* lwlib.c (instantiate_widget_instance): Renamed from
1493	instanciate_widget_instance (spelling correction).
1494	All callers changed.
1495
14961995-12-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1497
1498	* xlwmenu.c (xlwMenuActionsList): Add "key" and "nothing".
1499	(xlwMenuTranslations): Add translations for Key, KeyUp,
1500	and for the modifier keysyms.
1501	(Nothing, Key): New functions.
1502
15031995-12-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1504
1505	* xlwmenu.c (XlwMenuSetValues): Do redisplay if non-null contents
1506	get replaced by empty contents.
1507
1508	* lwlib.c (merge_widget_value): Treat disappearance of entire contents
1509	as a STRUCTURAL_CHANGE.
1510
15111995-12-20  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
1512
1513	* lwlib-utils.c: Add #undef for index and rindex.
1514
15151995-11-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1516
1517	* Version 19.30 released.
1518
15191995-11-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1520
1521	* xlwmenu.c (display_menu_item): Fix previous change.
1522
15231995-11-04  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
1524
1525	* xlwmenu.c (display_menu_item): Don't treat buttons specially.
1526
15271995-08-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1528
1529	* Makefile.in (RANLIB): Get this var from configure.
1530
15311995-08-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1532
1533	* lwlib.c (lw_popup_menu): New arg `event', passed along.
1534	* lwlib-Xlw.c (xlw_popup_menu): New arg `event'.
1535	* lwlib-Xm.c (xm_popup_menu): New arg `event'.
1536
15371995-06-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1538
1539	* Version 19.29 released.
1540
15411995-06-11  Richard Stallman  <rms@gnu.ai.mit.edu>
1542
1543	* lwlib.c (lwlib_toolkit_type): New variable.
1544
15451995-05-26  Richard Stallman  <rms@gnu.ai.mit.edu>
1546
1547	* xlwmenu.c (Drag): Do nothing unless menu.popped_up field is set.
1548
15491995-05-22  Karl Heuer  <kwzh@hal.gnu.ai.mit.edu>
1550
1551	* xlwmenu.c (XlwMenuInitialize): Cast XCreatePixmapFromBitmapData args.
1552
15531995-05-20  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
1554
1555	* lwlib.c: Don't use prototype.
1556	* lwlib-Xm.c (activate_button, xm_update_cascadebutton): Likewise.
1557
15581995-05-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1559
1560	* lwlib.c (lw_refigure_widget) [USE_MOTIF]: Fix backward if.
1561
15621995-05-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1563
1564	* Makefile.in (ALL_CFLAGS): Add -I../src.
1565
15661995-05-03  Morten Welinder  <terra+@cs.cmu.edu>
1567
1568	* lwlib.c [__osf__]: Include string.h and stdlib.h.
1569	[__osf__] (xmalloc): Declared.
1570
15711995-04-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1572
1573	* lwlib-Xm.c (update_one_menu_entry, make_menu_in_widget):
1574	Specify more useful names in XmCreatePulldownMenu calls.
1575
1576	* lwlib-Xaw.c (xaw_pop_instance): Make x, y, w, h unsigned.
1577
1578	* xlwmenu.c (size_menu): Make height and label_width unsigned.
1579	(fit_to_screen): Make screen_width and screen_height unsigned.
1580	(motion_event_is_in_menu): Make x, y unsigned.
1581
15821995-04-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1583
1584	* lwlib-utils.c: If HAVE_CONFIG_H, include config.h.
1585
1586	* Makefile.in (ALL_CFLAGS): Define HAVE_CONFIG_H.
1587	Add -I${srcdir}/../src.
1588
15891995-04-08  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
1590
1591	* lwlib-Xm.c: Remove function prototypes.
1592	(xm_pop_down_callback): Call the deactivation callback only when
1593	popping down the top level submenu.
1594
15951995-04-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1596
1597	* Makefile.in (lwlib.o): Depend on Makefile.
1598
1599	* lwlib-Xm.h: Remove function prototypes.
1600
1601	* lwlib-Xm.c (remove_grabs): Use type Widget for `menu'.
1602
16031995-02-15  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
1604
1605	* Makefile.in (ALL_CFLAGS): Allow include files to be found in
1606	`srcdir'.
1607
16081995-02-07  Richard Stallman  <rms@pogo.gnu.ai.mit.edu>
1609
1610	* Makefile.in (maintainer-clean): Renamed from realclean.
1611
16121994-11-28  Richard Stallman  <rms@bethel>
1613
1614	* lwlib-int.h (safe_strdup): Don't use ANSI argument prototype.
1615
16161994-11-15  Paul Reilly  <pmr@duality.gnu.ai.mit.edu>
1617
1618	* lwlib.c (lw_refigure_widget): Use the macro USE_XAW rather than XAW.
1619
16201994-11-08  Paul Reilly  <pmr@duality.gnu.ai.mit.edu>
1621
1622	* lwlib-Xm.c (make_menu_in_widget): Differentiate a separator
1623	entry ("--") from a title.
1624	(xm_pop_down_callback): Filter all but the last pop down callbacks.
1625
16261994-11-07  Paul Reilly  <pmr@duality.gnu.ai.mit.edu>
1627
1628	* lwlib-Xm.c (update_one_menu_entry): Use the parent of the
1629	cascade button as the parent of the pulldown, rather than the
1630	cascade button itself.  This works around a Motif SIGSEGV in the
1631	function `InSharedMenuHierarchy'.
1632
16331994-10-26  Richard Stallman  <rms@duality.gnu.ai.mit.edu>
1634
1635	* xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1636
16371994-10-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1638
1639	* xlwmenu.c (xlwmenu_default_font): New global variable.
1640	(XlwMenuInitialize): Use xlwmenu_default_font to default
1641	the font if necessary.  Make mw, itself, an argument.
1642
1643	* xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1644
16451994-10-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1646
1647	* xlwmenu.c (fit_to_screen): Don't put the menu off the left or top.
1648
16491994-10-02  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
1650
1651	* xlwmenu.c (display_menu_item): Add support for displaying the
1652	title in pop up menus.
1653
1654	* lwlib.c (lw_set_main_areas): Use xm_set_main_areas().
1655	(lw_manage_resizing): Use xm_manage_resizing() for Emacs/Motif.
1656
16571994-09-25  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
1658
1659	* lwlib-Xaw.c (xaw_create_main): New function to support the
1660	toolkit independent creation of the main Emacs widget.  *
1661	lwlib-Xlw.c (xlw_create_menubar): When compiling under Emacs, set
1662	resizing resources to disable showGrip and to enable both
1663	resizeToPreferred and allowShellResize.
1664
1665	* lwlib-Xm.h: Declare xm_set_main_areas, xm_manage_resizing.
1666
1667	* lwlib-Xm.c (make_menu_in_widget): Add support for displaying a
1668	title in pop up menus.
1669	(make_main, xm_set_main_areas, xm_manage_resizing): New functions to
1670	create and manage a Motif Main Window widget.
1671
1672	* xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
1673
16741994-09-18  Frederic Pierresteguy  <F.Pierresteguy@frcl.bull.fr>
1675
1676	* lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
1677	set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn.  Also add a
1678	margin of 10 pixels.
1679
16801994-09-16  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
1681
1682	* lwlib-Xm.c (make_main): New function to support toolkit
1683	independent creation of the main Emacs widget.
1684	(make_destroyed_instance): Use safe_strdup() instead of strdup().
1685
1686	* lwlib-int.h: Declare safe_strdup.
1687
1688	* lwlib.c (lw_refigure_widget): New function.  Handle geometry
1689	management inside lwlib instead of in Emacs.
1690	(lw_window_is_in_menubar): New function.  Determine if the pointer
1691	is in a menubar.
1692	(lw_set_main_areas): New function.  Set the main window widgets for
1693	Motif.
1694
1695	* lwlib.h: Declare lw_refigure_widget(), lw_window_is_in_menubar(),
1696	lw_set_main_areas().
1697
1698	* xlwmenu.h: Define Xt{Ns,CS}howGrip, Xt{Nr,CR}esizeToPreferred, and
1699	Xt{Na,CA}llowResize.
1700
1701	* xlwmenu.c (Start): Use pop_up_menu() to post the submenus.
1702	(Select): Remove the pointer grab when popping down a menubar submenu.
1703	(pop_up_menu): Handle popping up submenus from a menubar, i.e. when
1704	the menu widget parent is not a shell widget.
1705
17061994-08-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1707
1708	* xlwmenu.c (pop_up_menu): Clear next_release_must_exit.
1709	(Start): Clear next_release_must_exit when popping up the menu.
1710
17111994-08-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1712
1713	* xlwmenu.c (Start): Set menu_post_event or next_release_must_exit.
1714	(Select): Do nothing if the menu should be left posted.
1715
17161994-07-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1717
1718	* xlwmenu.c (make_windows_if_needed, pop_up_menu):
1719	Enable mouse motion events even when no button down.
1720
17211994-07-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1722
1723	* xlwmenu.c (pointer_grabbed): New variable.
1724	(pop_up_menu): Set the variable.
1725	(XlwMenuDestroy): Maybe call XtUngrabPointer.
1726
17271994-05-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1728
1729	* lwlib.c (max): Function deleted.  Define as macro instead,
1730	but only if not already defined.
1731
17321994-05-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1733
1734	* xlwmenu.c (xlwMenuResources): Use XtRDimension for shadow thickness.
1735
17361994-05-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1737
1738	* lwlib-Xaw.c (xaw_pop_instance): Use XtSetValues, not XtMoveWidget.
1739
17401994-05-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1741
1742	* lwlib.c (lwlib_memset: New function, used instead of memset.
1743	All callers changed.
1744	* lwlib.c (lwlib_bcopy): New function.
1745	* lwlib-utils.c (XtApplyToWidgets): Use lwlib_bcopy.
1746
1747	* lwlib.c: Delete definitions for use of alloca.
1748	(name_to_widget): Use xmalloc, not alloca.
1749
17501994-05-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1751
1752	* xlwmenu.c (XlwMenuDestroy): Set new var submenu_destroyed.
1753	(XlwMenuRedisplay): If it's set, truncate the old_depth to 1.
1754
17551994-05-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1756
1757	* xrdb-cpp.c: Don't include string.h, unistd.h, stdlib.h.
1758	* lwlib-Xaw.c: Don't include string.h, unistd.h, stdlib.h.
1759	* lwlib-utils.c (XtApplyToWidgets): Use bcopy, not memcpy.
1760	* lwlib-utils.c: Don't include string.h, unistd.h, stdlib.h, memory.h.
1761	* xlwmenu.c: Don't include string.h, unistd.h, stdlib.h.
1762	* lwlib.c: Don't include string.h, unistd.h, stdlib.h.
1763	(safe_strdup): No longer static.
1764	* lwlib-Xm.c: Use safe_strdup, not strdup.
1765
1766	* xlwmenu.c (string_width): No longer static.
1767
17681994-05-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1769
1770	* xlwmenuP.h (struct _XlwMenu_part): Use Pixel and Cursor
1771	for foreground and cursor_shape fields.
1772
1773	* xlwmenu.c (XlwMenuSetValues): Check for change of font.
1774
17751994-04-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1776
1777	* Makefile.in: Delete all SRCS variables (unused).
1778	(lwlib.o, xrdb-cpp.o): Mention srcdir in dep.
1779
17801994-04-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1781
1782	* Makefile.in (ALL_CFLAGS): Don't define THIS_IS_X11R4.
1783
1784	* xrdb.c: Define HAVE_X11R5 as in xterm.h.
1785	Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1786	(_XtDisplayInitialize): Test HAVE_X11R5.
1787
1788	* dispatch.c: Define HAVE_X11R5 as in xterm.h.
1789	Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1790	(_XtConvertTypeToMask): Conditionalize on HAVE_X11R5.
1791	(WouldDispatchEvent): Likewise.
1792
17931994-04-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1794
1795	* lwlib-Xaw.c (xaw_generic_callback): Declare without arg names.
1796
17971994-04-01  Frederic Pierresteguy  (fp@hal.gnu.ai.mit.edu)
1798
1799	* lwlib-Xaw.c (make_dialog): Don't allow any geometry request from the
1800	user.
1801
18021994-03-22  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1803
1804	* xlwmenu.c (XlwMenuResize): Don't allow the popup menu to resize
1805	itself.  Therefore reset the size to its initial value.
1806
18071994-03-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1808
1809	* lwlib-Xaw.c (xaw_update_one_widget): Finish replacing XtVaSetValues.
1810	Don't test for scrollbar widget.
1811
18121994-03-14  Frederic Pierresteguy  (fp@gnu.ai.mit.edu)
1813
1814	* lwlib-int.h: Declare lw_get_widget_info.
1815
1816	* lwlib.c (lw_get_widget_info): Comment out arg in function decl.
1817
1818	* lwlib-Xaw.h: Comment out args in function decls.
1819	* lwlib-Xaw.c: Convert all function definitions to non-prototype K&R.
1820	(xaw_update_one_widget - case dialogWidgetClass): Call XtSetValues,
1821	not XtVaSetValues.
1822
18231994-03-11  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
1824
1825	* xlwmenu.c (display_menu_item): Modify parameters to draw_arrow to
1826	right justify the arrow in the pane.
1827
1828	* lwlib.c: If not defined USE_MOTIF and defined USE_LUCID then
1829	define USE_XAW.
1830
1831	* Makefile.in (LUCID_SRCS, LUCID_OBJS): Add the target lwlib-Xaw.[oc].
1832
1833	* lwlib.c, lwlib-int.h: Merged from Lucid 19.9 release.
1834	* lwlib.c (_AIX): Replace the AIXV3 directive.
1835	(USE_XAW): New macro to conditionalize the use of the athena toolkit.
1836	(lw_get_widget_info): New function.
1837	(set_one_value): Handle USE_XAW.
1838	(instanciate_widget_instance): Likewise.
1839	(destroy_one_instance): Likewise.
1840	(lw_pop_all_widgets): Likewise.
1841	(lw_pop_down_all_widgets): Likewise.
1842	(get_one_value): Likewise.
1843
1844	* lwlib-Xaw.c, lwlib-Xaw.h: New files.
1845
18461994-02-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1847
1848	* xlwmenu.c (XlwMenuInitialize, XlwMenuDestroy): Undo previous changes.
1849
1850	* lwlib-Xlw.c (xlw_create_menubar, xlw_create_popup_menu):
1851	Use XtCreate..., not XtVaCreate...
1852	No need to copy instance->info->val any more.
1853	(xlw_update_one_widget): Use XtSetValues, not XtVaSetValues.
1854
18551994-02-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1856
1857	* xlwmenu.c (pop_up_menu): Call XtUngrabPointer if XtGrabPointer fails.
1858
18591994-02-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1860
1861	* Makefile.in (xrdb-cpp.o, lwlib.o): Put ALL_CFLAGS after other flags.
1862
1863	* lwlib-Xlw.c (xlw_create_menubar): Don't call free_widget_value.
1864	Use malloc for allocation.
1865	(xlw_create_popup_menu): Likewise.
1866
18671994-02-18  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1868
1869	* lwlib.c (malloc_cpt): New static variable.
1870	(malloc_widget_value): Increment malloc_cpt when allocating a cell.
1871	(free_widget_value): Really free the cells when the number of
1872	allocated ones is bigger than 25.
1873
1874	* lwlib-Xlw.c (xlw_create_menubar): Call malloc_widget_value and
1875	free_widget_value instead of XtMalloc and XtFree.
1876	(xlw_create_popup_menu): Likewise.
1877
18781994-02-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1879
1880	* Makefile.in (ALL_CFLAGS): Specify -Demacs.
1881
1882	* xlwmenu.c (pop_up_menu) [emacs]: Catch and ignore X protocol errors
1883	in XtGrabPointer.
1884
18851994-02-17  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1886
1887	* lwlib-Xlw.c (xlw_create_popup_menu): Pass tem to
1888	XtVaCreateManagedWidget, not instance->info->val.
1889	(xlw_create_menubar): Likewise.
1890
18911994-02-15  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1892
1893	* lwlib-Xlw.c (xlw_create_popup_menu): Copy instance->info->val
1894	before calling XtVaCreateManagedWidget and then free the copy.
1895	(xlw_create_menubar): Likewise.
1896
18971994-02-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1898
1899	* xlwmenu.c (XlwMenuInitialize): Copy mw->menu.contents.
1900	(XlwMenuDestroy): Free mw->menu.contents.
1901
19021994-02-09  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1903
1904	* xlwmenu.c (display_menu_item): Call draw_shadow_rectangle to make
1905	visible/invisible the selection of the menubar items.
1906
19071994-02-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
1908
1909	* lwlib.c (strcasecmp): Renamed to my_strcasecmp.
1910	(find_in_table): Changed only caller.
1911
19121994-02-04  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1913
1914	* xlwmenu.c (display_menu_item): When dealing with the menubar,
1915	always call XDrawRectangle to clear the selection after popping down
1916	the pulldown menu.
1917
19181994-02-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1919
1920	* lwlib.c: Include ctype.h.
1921
19221994-01-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1923
1924	* lwlib.c (strcasecmp): New function.
1925
19261994-01-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1927
1928	* xlwmenu.c, lwlib.c, lwlib-Xlw.c, lwlib-utils.c:
1929	Convert all function definitions to non-prototype K&R.
1930
1931	* lwlib-Xlw.h: Comment out args in function decls.
1932	* lwlib.h: Comment out args in function decls.
1933	* lwlib-utils.h: Comment out args in function decls.
1934
19351994-01-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1936
1937	* lwlib.c: Include StringDefs.h after lwlib.h.
1938
19391994-01-22  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
1940
1941	* Makefile (xrdb-cpp.o, lwlib.o): Use $(srcdir) and file name
1942	instead of $*.
1943	(dispatch.o, xrdb.o, lwlib-Xm.o): Rules removed; they were
1944	superfluous and didn't work when configured outside srcdir.
1945	The implicit .c.o rule works fine.
1946
19471994-01-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1948
1949	* xlwmenu.c (resource_widget_value): Avoid using strdup.
1950
19511994-01-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1952
1953	* Makefile.in: New file.
1954
1955	* lwlib-Xolmb.c: Renamed from lwlib-Xol-mb.c.
1956	* lwlib-Xolmb.h: Renamed from lwlib-Xol-mb.h.
1957	* lwlib-XolmbP.h: Renamed from lwlib-Xol-mbP.h.
1958
1959	* lwlib-int.h: Renamed from lwlib-internal.h.
1960
1961
1962
1963;; Local Variables:
1964;; coding: utf-8
1965;; End:
1966
1967  Copyright (C) 1995-1999, 2001-2021 Free Software Foundation, Inc.
1968
1969  This file is part of GNU Emacs.
1970
1971  GNU Emacs is free software: you can redistribute it and/or modify
1972  it under the terms of the GNU General Public License as published by
1973  the Free Software Foundation, either version 3 of the License, or
1974  (at your option) any later version.
1975
1976  GNU Emacs is distributed in the hope that it will be useful,
1977  but WITHOUT ANY WARRANTY; without even the implied warranty of
1978  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1979  GNU General Public License for more details.
1980
1981  You should have received a copy of the GNU General Public License
1982  along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
1983