Use common string allocation and freeing functions where applicable.
[bpt/emacs.git] / lwlib / ChangeLog
CommitLineData
a0845323
DA
12014-05-30 Dmitry Antipov <dmantipov@yandex.ru>
2
3 Use common string allocation and freeing functions where applicable.
4 * lwlib.h (safe_strdup): Remove prototype.
5 * lwlib.c (safe_strdup, safe_free_str): Remove.
6 (copy_widget_value_tree, allocate_widget_info, free_widget_info):
7 (merge_widget_value): Prefer xstrdup, xfree and dupstring.
8 * lwlib-Xm.c (make_destroyed_instance, xm_update_one_value): Ditto.
9
96c06863
PE
102013-12-14 Paul Eggert <eggert@cs.ucla.edu>
11
12 Use bool for boolean, focusing on headers.
13 * xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields.
14
d672ac3c
PE
152013-11-14 Paul Eggert <eggert@cs.ucla.edu>
16
17 * lwlib.c (safe_strdup): Prefer tail calls.
18
b0b9e592
GM
192013-11-02 Glenn Morris <rgm@gnu.org>
20
c617f3d0
GM
21 Use relative filenames in TAGS files.
22 * Makefile.in (abs_srcdir): Remove it again.
23 (ctagsfiles, TAGS): Use relative filenames.
24
b0b9e592
GM
25 * Makefile.in (abs_srcdir): New, set by configure.
26 (ETAGS, ctagsfiles): New variables.
27 (TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again.
28
eb9a3661
GM
292013-10-24 Glenn Morris <rgm@gnu.org>
30
31 * Makefile.in (abs_top_srcdir): New, set by configure.
32
224e313d
PE
332013-09-04 Paul Eggert <eggert@cs.ucla.edu>
34
35 Makefile improvements.
36 * Makefile.in (all): Put this first. Don't use double-colon
37 rules, as they are not portable according to POSIX. Mark as phony.
38
1d71c1d9
PE
392013-06-30 Paul Eggert <eggert@cs.ucla.edu>
40
41 Fix minor problems found by static checking.
42 * lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
43 * lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
44 * lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
45 Now const.
46
150798c5
UM
472012-10-06 Ulrich Müller <ulm@gentoo.org>
48
49 * Makefile.in (AR, ARFLAGS): Get values from configure.
50
620f13b0
PE
512012-08-16 Paul Eggert <eggert@cs.ucla.edu>
52
53 Use ASCII tests for character types.
54 * lwlib-Xaw.c, lwlib.c, xlwmenu.c:
55 Don't include <ctype.h>; no longer needed.
56 * lwlib-Xaw.c (openFont):
57 * xlwmenu.c (openXftFont): Test just for ASCII digits.
58
0f6cabdb
GM
592012-08-01 Glenn Morris <rgm@gnu.org>
60
61 * Makefile.in (config_h): Add conf_post.h.
62
c09bfb2f
DA
632012-07-31 Dmitry Antipov <dmantipov@yandex.ru>
64
65 Avoid unused variable warning if --with-x-toolkit=motif.
66 * lwlib-Xm.c (make_menu_in_widget): Remove unused variable.
67
fee5959d
PE
682012-07-06 Paul Eggert <eggert@cs.ucla.edu>
69
70 Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
71 * lwlib.c: Include c-strcase.h.
72 (lwlib_strcasecmp): Remove. All uses replaced with c_strcasecmp.
73
cf38a720
PE
742012-06-26 Paul Eggert <eggert@cs.ucla.edu>
75
76 Clean out last vestiges of the old HAVE_CONFIG_H stuff.
77 * Makefile.in (ALL_CFLAGS): Remove -DHAVE_CONFIG_H.
78 * lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib-utils.c, lwlib.c:
79 * xlwmenu.c: Include <config.h> unconditionally.
80
3511c784
DA
812012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
82
83 * lwlib.c (my_strcasecmp): Rename to lwlib_strcasecmp, which
84 may be defined to library function strcasecmp if available.
85
845ca893
PE
862012-06-24 Paul Eggert <eggert@cs.ucla.edu>
87
88 Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
89 * xlwmenu.c (abort_gracefully):
90 Use _Noreturn rather than NO_RETURN.
91 No need for separate decl merely because of _Noreturn.
92
ba93a187
PE
932012-05-31 Paul Eggert <eggert@cs.ucla.edu>
94
95 Remove obsolete '#define static' cruft.
96 * xlwmenu.c [emacs]: Include "bitmaps/gray.xbm".
97 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits) [!emacs]:
98 Remove; all uses replaced with definiens.
99
6c94c34f 1002012-04-18 Paul Eggert <eggert@cs.ucla.edu>
b8df54ff 101
9f46df23 102 configure: new option --enable-gcc-warnings (Bug#11207)
b8df54ff
PE
103 * Makefile.in (C_WARNINGS_SWITCH): Remove.
104 (WARN_CFLAGS, WERROR_CFLAGS): New macros.
105 (ALL_CFLAGS): Use new macros rather than old.
106
2f097256
GM
1072012-04-11 Glenn Morris <rgm@gnu.org>
108
109 * Makefile.in (C_SWITCH_X_SYSTEM): Remove.
110 (ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
111
81d40c92
DA
1122011-10-13 Dmitry Antipov <dmantipov@yandex.ru>
113
114 * lwlib-Xaw.c (openFont, xaw_destroy_instance): Replace free with
115 xfree to avoid crash when xmalloc overrun checking is enabled.
116 * lwlib-Xm.c (free_destroyed_instance, xm_update_one_value): Ditto.
117 * lwlib-utils.c (XtApplyToWidgets): Ditto.
118 * lwlib.c (safe_free_str, free_widget_value, free_widget_value_tree)
119 (free_widget_info, free_widget_instance, name_to_widget): Ditto.
120 * xlwmenu.c (openXftFont): Ditto.
121
bc11a394
YM
1222011-06-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
123
124 * Makefile.in (ALL_CFLAGS): Add -I../lib for generated header files
125 in out-of-tree build.
126
695e5b41
PE
1272011-06-06 Paul Eggert <eggert@cs.ucla.edu>
128
129 * Makefile.in (ALL_CFLAGS): Add -I$(srcdir)/../lib.
0c1477cd 130 This is needed because lisp.h includes intprops.h now (Bug#8794).
695e5b41 131
5b7d36d1
PE
1322011-04-16 Paul Eggert <eggert@cs.ucla.edu>
133
fd35b6f9
PE
134 Static checks with GCC 4.6.0 and non-default toolkits.
135
5c5e6a40
PE
136 * lwlib-Xm.c (make_dialog): Rename local to avoid shadowing.
137 (make_menu_in_widget): Add cast to avoid warning.
b165261a 138 * lwlib-utils.c (XtCompositeChildren): Likewise.
5c5e6a40 139
9ac71959 140 * lwlib.c (EXPLAIN, destroy_one_instance): Avoid "else;".
748945cc 141 (first_child) [USE_MOTIF]: Protoize.
9ac71959 142
4d511c40
PE
143 * lwlib-utils.h, lwlib-utils.c (XtSafelyDestroyWidget): Remove; unused.
144
5b7d36d1 145 * xlwmenu.c (XlwMenuSetValues): Rename/ move locals to avoid shadowing.
1fbb4609 146 (MINL): Define only if not emacs.
5b7d36d1 147
33383987
JB
1482011-03-07 Chong Yidong <cyd@stupidchicken.com>
149
150 * Version 23.3 released.
151
3928f2b6
JD
1522011-02-14 Jan Djärv <jan.h.d@swipnet.se>
153
154 * xlwmenu.h: Remove Xt[CN]faceName and Xt[NC]defaultFace.
155
156 * xlwmenuP.h (_XlwMenu_part): Remove faceName. Add fontName.
157
158 * xlwmenu.c (xlwmenu_default_font): Remove, does not work for
159 multi-display.
160 (xlwMenuResources): Remove XtNfaceName and XtNdefaultFace.
161 Make XtNFont a String resource.
162 (make_windows_if_needed): Call XFlush so later changes are seen by the
163 X server.
164 (remap_menubar): Use XtMoveWidget and then
165 XtResizeWidget/XtResizeWindow after XtPopup. Works better with
166 Compiz.
167 (make_drawing_gcs): Check if mw->menu.font is set.
168 (getDefaultXftFont): New function.
169 (openXftFont): faceName is now fontName. Try XLoadQueryFont first
170 and then XftFontOpenName.
171 (XlwMenuInitialize): Initialize mw->menu.font with XLoadQueryFont.
172 (XlwMenuClassInitialize): Remove initialization of
173 xlwmenu_default_font.
174 (fontname_changed): Renamed from facename_changed.
175 (XlwMenuSetValues): Use facename_changed.
176
177 * lwlib-Xaw.c (make_dialog): Use *font even for Xft fonts. Try
178 XLoadQueryFont first and then Xft fonts.
179
c9a6cefc
GM
1802011-02-13 Glenn Morris <rgm@gnu.org>
181
182 * lwlib-utils.c (index, rindex): Don't undef (neither used in lwlib/,
183 nor set in config.h).
184
8f45ebb8
GM
1852011-02-11 Glenn Morris <rgm@gnu.org>
186
187 * Makefile.in (USE_X_TOOLKIT, RM, TOOLKIT_DEFINES): Remove.
188 (ALL_CFLAGS): Remove -I.
189 (config_h, lisp_h, src_h): New variables.
190 (globals_h): Rename from $globals.
191 ($(globals_h)): Check cd exit status.
192 (lwlib.o): Remove special rule.
193 (lwlib-utils.o, lwlib.o, lwlib-Xlw.o, lwlib-Xaw.o, lwlib-Xm.o)
194 (xlwmenu.o): Add lisp.h and config.h to prereqs.
195 (lwlib-utils.o): Add lwlib.h to prereqs.
196 (lwlib.o): Add lwlib-utils.h and lwlib-Xm.h to prereqs.
197 (lwlib-Xlw.o): Add xlwmenu.h to prereqs.
198 (xlwmenu.o): Add ../src/xterm.h to prereqs.
199 (mostlyclean): Forget about "core" files.
200
67f02b82
GM
2012011-02-10 Glenn Morris <rgm@gnu.org>
202
203 * lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib-utils.c, lwlib.c:
204 * xlwmenu.c: Standardize on <> for includes from the ../src directory.
205
7bd04bb4
GM
2062011-02-09 Glenn Morris <rgm@gnu.org>
207
208 * Makefile.in (@SET_MAKE@): New, set by configure.
209 (globals): New variable and rule.
210 (lwlib-utils.o, lwlib.o, lwlib-Xlw.o, lwlib-Xaw.o, lwlib-Xm.o)
67f02b82 211 (xlwmenu.o): Add dependency on src/globals.h.
7bd04bb4 212
3370edca
J
2132011-01-31 Jan Djärv <jan.h.d@swipnet.se>
214
215 * lwlib-Xm.c (make_destroyed_instance):
216 * lwlib-utils.c (XtApplyToWidgets):
217 * lwlib.c (safe_strdup, malloc_widget_value)
218 (allocate_widget_info, allocate_widget_instance): Use xmalloc
219 instead of malloc.
220
06d8ace5 2212011-01-25 Werner Meisner <weme24@gmx.net>
fdbd21a4
WM
222
223 * lwlib-Xm.c (xm_update_menu): Avoid a NULL pointer dereference
224 (Bug#7690).
225
d6dcbe70
DN
2262010-09-26 Dan Nicolaescu <dann@ics.uci.edu>
227
228 Use const for some pointer arguments.
229 * lwlib.h (my_strcasecmp, safe_strcmp, name_to_widget)
230 (find_in_table, dialog_spec_p, lw_separator_p):
231 * lwlib.c (my_strcasecmp, safe_strcmp, name_to_widget)
232 (find_in_table, dialog_spec_p, lw_separator_p): Use const.
233
a953c1e3
DN
2342010-09-20 Dan Nicolaescu <dann@ics.uci.edu>
235
236 * lwlib.h (lw_register_widget, lw_create_widget):
237 * lwlib.c (allocate_widget_info, lw_register_widget)
238 (lw_create_widget, separator_table): Use const.
239
b27f3b2f
DN
2402010-07-29 Dan Nicolaescu <dann@ics.uci.edu>
241
242 * xlwmenu.c (abort_gracefully): Mark as NO_RETURN.
243
ef00b293
DN
2442010-07-26 Dan Nicolaescu <dann@ics.uci.edu>
245
246 * xlwmenu.h (xlwmenu_window_p, xlwmenu_redisplay): Add declarations.
247
e6cfa7c3
AS
2482010-07-12 Andreas Schwab <schwab@linux-m68k.org>
249
250 * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
251 substitution.
252 (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
253
c825c0b6
J
2542010-07-08 Jan Djärv <jan.h.d@swipnet.se>
255
256 * xlwmenu.c (size_menu_item): Change from K&R to prototype.
257 Change label_width and height to int.
258 (draw_arrow, draw_shadow_rectangle, draw_shadow_rhombus)
259 (draw_separator, display_menu, fit_to_screen, motion_event_is_in_menu)
260 (map_event_to_widget_value): Reformat.
261 (display_menu_item): Change from K&R to prototype.
262
263 * lwlib.c (allocate_widget_info, lw_register_widget): Change from K&R
264 to prototype.
265 (lw_internal_update_other_instances, merge_widget_value): Reformat.
266
267 * lwlib-int.h (widget_creation_function): Fix prototype.
268
269 * lwlib-Xm.c (x_print_complete_resource_name)
270 (make_destroyed_instance, free_destroyed_instance, first_child)
271 (lw_motif_widget_p, resource_motif_string, destroy_all_children)
272 (xm_arm_callback, xm_update_label, xm_update_list)
273 (xm_update_pushbutton, xm_update_cascadebutton)
274 (xm_update_toggle, xm_update_radiobox, make_menu_in_widget)
275 (update_one_menu_entry, xm_update_menu, xm_update_text)
276 (xm_update_text_field, xm_update_one_widget)
277 (xm_update_one_value, activate_button, dialog_key_cb)
278 (make_dialog, mark_dead_instance_destroyed)
279 (find_matching_instance, recenter_widget, recycle_instance)
280 (xm_create_dialog, make_menubar, remove_grabs, make_popup_menu)
281 (make_main, xm_destroy_instance, xm_popup_menu)
282 (set_min_dialog_size, xm_pop_instance, do_call)
283 (xm_internal_update_other_instances, xm_generic_callback)
284 (xm_nosel_callback, xm_pull_down_callback, xm_pop_down_callback)
285 (xm_set_keyboard_focus, xm_set_main_areas, xm_manage_resizing): Change
286 from K&R to prototype.
287
288 * lwlib-Xlw.c (x_print_complete_resource_name): Change from K&R to
289 prototype.
290 (xlw_update_one_value): Reformat.
291
292 * lwlib-Xaw.c (xaw_generic_callback, command_reset)
293 (xaw_update_one_value): Reformat.
294 (xaw_update_one_widget): Reformat and remove dead code.
295 (xaw_scrollbar_scroll, xaw_scrollbar_jump, xaw_create_scrollbar)
296 (xaw_update_scrollbar): Remove (not used).
4f405069 297 (make_dialog): Change from K&R to prototype. Remove dead code.
c825c0b6
J
298 (xaw_creation_table): Remove scrollbar entry.
299
d8825aa3
DN
3002010-07-08 Dan Nicolaescu <dann@ics.uci.edu>
301
302 * lwlib.c (allocate_widget_instance, get_widget_info)
303 (get_widget_instance, find_instance, set_one_value)
304 (update_one_widget_instance, update_all_widget_values)
305 (lw_modify_all_widgets, lw_get_widget, lw_make_widget)
306 (lw_create_widget, lw_pop_all_widgets, lw_show_busy)
307 (lw_refigure_widget, lw_allow_resizing): Remove alternative K&R
308 declarations.
35e951cd 309 * lwlib-Xlw.c (xlw_update_one_widget, xlw_pop_instance): Likewise.
d8825aa3
DN
310 * lwlib-Xaw.c (xaw_update_one_widget, xaw_pop_instance):
311 Likewise.
312 * lwlib-Xm.c (P_): Remove.
313
72af86bd
AS
3142010-07-07 Andreas Schwab <schwab@linux-m68k.org>
315
316 * lwlib.c (lwlib_memset, lwlib_bcopy): Remove.
317 (malloc_widget_value, free_widget_info, allocate_widget_instance)
318 (lw_separator_p): Replace lwlib_memset, lwlib_bcopy, bzero, bcmp by
319 memset, memcpy, memcmp.
320 * lwlib-utils.c (XtApplyToWidgets): Likewise.
321 * xlwmenu.c (XlwMenuInitialize): Likewise.
322 * lwlib.h (lwlib_bcopy): Remove declaration.
323
e4c8d29a
J
3242010-07-05 Jan Djärv <jan.h.d@swipnet.se>
325
326 * xlwmenu.c (XlwMenuSetValues, XlwMenuInitialize): Correct prototype.
327 (display_menu_item): Remove unused variable gi.
328 (make_windows_if_needed): Remove unused variable screen.
329 (XlwMenuRedisplay): Remove unused variable i.
330
331 * lwlib-Xaw.c: Include <ctype.h> for isdigit.
332 (fill_xft_data, set_text): Remove unused variable screen.
333 (draw_text): Cast bp to FcChar8*.
334 (find_xft_data): Return 0 if inst or xft_data is not set.
335 (wm_delete_window): Correct prototype. Initialize widget to 0
336 and return if widget is still 0 after loop.
337
c3174d16
DN
3382010-07-04 Dan Nicolaescu <dann@ics.uci.edu>
339
340 * lwlib-Xaw.c: Convert function definitions to standard C.
341 * lwlib-Xlw.c:
342 * lwlib-utils.c:
343 * lwlib.c:
344 * lwlib.h:
345 * xlwmenu.c: Likewise.
346
383e0970
J
3472010-07-02 Jan Djärv <jan.h.d@swipnet.se>
348
f57e2426
J
349 * lwlib-Xm.c: Remove __P and P_ from .c and .m files.
350 * lwlib-Xm.c:
351 * lwlib.c:
352 * xlwmenu.c: Likewise.
353
383e0970
J
354 Remove P_ and __P macros.
355 * lwlib-Xaw.h: Remove P_ and __P macros.
356 * lwlib-Xlw.h:
357 * lwlib-Xm.h:
358 * lwlib-int.h:
359 * lwlib-utils.h:
360 * lwlib.h: Likewise.
361
4b6f0cae
GM
3622010-05-15 Glenn Morris <rgm@gnu.org>
363
364 * Makefile.in (mostlyclean): Remove references to non-existent files.
365
41d81b80
J
3662010-05-13 Jan Djärv <jan.h.d@swipnet.se>
367
368 * lwlib-Xaw.c (make_dialog): Remove extra arg to XtVaGetSubresources.
369
3c9a9730
J
3702010-05-08 Jan Djärv <jan.h.d@swipnet.se>
371
372 * xlwmenu.c (XlwMenuDestroy): Remove XtDestroyWidget on subwidgets
373 (Bug #6127).
374
61a808e8
CY
3752010-05-07 Chong Yidong <cyd@stupidchicken.com>
376
377 * Version 23.2 released.
378
e3cf0cde
GM
3792010-05-06 Glenn Morris <rgm@gnu.org>
380
381 * Makefile.in (CPP, LN_S, TOP, LN): Remove unused variables.
382
e9bcdbf7
GM
3832010-05-04 Glenn Morris <rgm@gnu.org>
384
385 * Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE):
386 Use @C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@ instead of
387 @c_switch_system@, @c_switch_machine@.
388
ed6281b0
DN
3892010-04-27 Dan Nicolaescu <dann@ics.uci.edu>
390
391 * Makefile.in (C_SWITCH_X_SYSTEM): Define using autoconf.
392
c632dfda
JD
3932010-04-21 Jan Djärv <jan.h.d@swipnet.se>
394
395 * xlwmenu.c (expose_cb):
396 * lwlib-Xaw.c (fill_xft_data): Declarations before code.
397
f0bd1598
J
3982010-04-17 Jan Djärv <jan.h.d@swipnet.se>
399
400 * xlwmenu.c: Include Shell.h, remove duplicate declaration of
401 XlwMenuRedisplay.
402 (display_menu_item): Replace ws->window with ws->pixmap, remove
403 call to XftDrawRect.
0235128c 404 (display_menu): Remove this and that argument.
4f405069 405 Remove just_compute_this_one_p. Fill pixmap at start and copy it to
0235128c 406 window at end.
f0bd1598
J
407 (expose_cb): New function.
408 (make_windows_if_needed): Replace XCreateWindow with XtCreatePopup.
0235128c 409 Add eventhandler for expose to expose_cb. Remove creation of xft_draw.
f0bd1598
J
410 (create_pixmap_for_menu): New function.
411 (remap_menubar): Pop down menus that aren't the same as in old_stack.
f224e500 412 Set width, height, x, y on widget with XtVaSetValues.
0235128c 413 Call create_pixmap_for_menu.
f0bd1598
J
414 Replace XUnmapWindow with XtPopdown.
415 Remowe two last parameters to display_menu.
416 (map_event_to_widget_value, XlwMenuRedisplay, Key, Select)
417 (pop_up_menu): Remowe two last parameters to display_menu.
418 (XlwMenuRealize): Call create_pixmap_for_menu, set w and pixmap.
419 Remove call to XftDrawCreate.
420 (XlwMenuDestroy): Free pixmap. Call XtDestroyWidget instead of
421 XDestroyWindow.
422 (handle_motion_event): Only call handle_single_motion_event once.
7aad87e8
JD
423 (set_window_type): New function.
424 (make_windows_if_needed, XlwMenuRealize): Call set_window_type.
f0bd1598
J
425
426 * xlwmenuP.h (window_state): Add pixmap and w.
427
b117f7cc
YM
4282010-04-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
429
430 * xlwmenu.c (facename_changed): Put function in #ifdef HAVE_XFT.
431
76bd8202
DN
4322010-04-11 Dan Nicolaescu <dann@ics.uci.edu>
433
434 * Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE)
435 (C_SWITCH_X_SITE): Define using autoconf.
436
1ecb2d3f
JD
4372010-04-11 Jan Djärv <jan.h.d@swipnet.se>
438
439 * lwlib-Xaw.c (widget_xft_data): New for Xft data.
440 (fill_xft_data, openFont, get_text_width_and_height)
441 (draw_text, set_text, find_xft_data, command_press)
442 (command_reset): New functions.
443 (xaw_update_one_widget): Call set_text for dialog and buttons
444 if HAVE_XFT. Also set internalHeight for buttons.
445 (xaw_destroy_instance): Free all Xft related data.
446 (button_actions, buttonTrans): New structures.
447 (make_dialog): Call XtAppAddActions for button_actions.
448 Find xft font to use and call fill_xft_data for widgets.
449 (xaw_create_dialog): Pass instance parameter to make_dialog.
450
451 * lwlib-int.h (_widget_instance): Add Xft data if HAVE_XFT.
452 Override translations for buttons. If depth is 16 or more, tell
453 Xaw3d to not be nice to colormap.
454 Remove separator widget, use XtNhorizDistance on first right button
455 instead.
456
99852628
JD
4572010-04-08 Jan Djärv <jan.h.d@swipnet.se>
458
459 * xlwmenu.c (xlwmenu_default_font): Make static.
460 (xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
461 (string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
462 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
463 HAVE_XFT.
464 (size_menu): Set max_rest_width in window_state structure.
465 (display_menu_item): If HAVE_XFT and xft_draw is set, use
466 XftDrawRect and XftDrawStringUtf8 to draw text.
467 (make_windows_if_needed): Set max_rest_width and xft_draw
468 in windows[i].
469 (openXftFont): New.
4f405069 470 (XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
99852628
JD
471 is not set, load font fixed and save it in xlwmenu_default_font.
472 (XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
473 (XlwMenuClassInitialize): Initialize xlwmenu_default_font.
474 (XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
475 windows[0].xft_draw if xft_font is set.
476 (XlwMenuDestroy): Destroy all xft_draw and close xft_font.
477 (facename_changed): New.
4f405069 478 (XlwMenuSetValues): Call facename_changed. If face name did change,
99852628
JD
479 close old fonts and destroy xft_draw:s. Then create new ones.
480
481 * xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
482 XtCDefaultFace): New.
483
484 * xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
35e951cd 485 (_XlwMenu_part): Add faceName, xft_fg, xft_bg, xft_disabled_fg and
99852628
JD
486 xft_font.
487
288f9fc0
CY
4882010-03-10 Chong Yidong <cyd@stupidchicken.com>
489
490 * Branch for 23.2.
491
d7306fe6
DN
4922009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
493
494 * xlwmenu.c:
495 * lwlib.c:
496 * lwlib-utils.c:
497 * lwlib-Xm.c:
498 * lwlib-Xlw.c:
499 * lwlib-Xaw.c: Include setjmp.h.
500
70243478
CY
5012009-06-21 Chong Yidong <cyd@stupidchicken.com>
502
503 * Branch for 23.1.
504
77ccee09
DN
5052008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
506
507 * Makefile.in (ALL_CFLAGS): Remove reference to C_SWITCH_SITE.
508
f2a77c3a
DN
5092008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
510
511 * lwlib.c: Remove references to obsolete variables.
512
c2cd06e6
JM
5132008-06-02 Jim Meyering <meyering@redhat.com>
514
ba60bd44 515 Remove useless if-before-free tests.
70fdbb46
JM
516 * lwlib-Xm.c (xm_update_one_value): Likewise.
517 * lwlib.c (safe_free_str, free_widget_value_tree): Likewise.
c2cd06e6 518
73d798d5
SM
5192008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
520
521 * Makefile.in (TOOLKIT_DEFINES): Remove.
522
880820fe 5232007-08-29 Károly Lőrentey <lorentey@elte.hu>
8d9cc0b7
MB
524
525 * xlwmenu.c (XlwMenuRealize): Ignore X errors while setting up
526 cursor shape.
527
cacc7b51
GM
5282007-07-25 Glenn Morris <rgm@gnu.org>
529
530 * Relicense all FSF files to GPLv3 or later.
531
532 * COPYING: Switch to GPLv3.
533
52a0e111
CY
5342007-06-13 Chong Yidong <cyd@stupidchicken.com>
535
536 * lwlib-Xaw.c, lwlib.c: Link to xaw3d if available.
537
7dfc4cda
CY
5382007-06-02 Chong Yidong <cyd@stupidchicken.com>
539
540 * Version 22.1 released.
541
7073bb78
GM
5422007-02-28 Glenn Morris <rgm@gnu.org>
543
544 * Makefile.in (distclean): Delete Makefile.
545 (maintainer-clean): Delete TAGS.
546
880820fe 5472007-01-01 Jan Djärv <jan.h.d@swipnet.se>
3fcd0186
JD
548
549 * xlwmenu.c (xlwMenuResources): Add XtNleaveCallback, XtNenterCallback.
550 (display_menu, map_event_to_widget_value): Generate enter and
551 leave callbacks.
552 (pop_up_menu): Initialize mw->menu.inside_entry.
553
554 * xlwmenu.h (XtNleaveCallback, XtNenterCallback): New strings.
555
556 * xlwmenuP.h (_XlwMenu_part): Add enter/leave callbacks and
557 inside_entry.
558
79a2d0fc 559 * lwlib-Xlw.c (enter_hook, leave_hook): New functions.
3fcd0186
JD
560 (xlw_create_menubar, xlw_create_popup_menu): Connect XtNenter/leave
561 to enter/leave_hook.
562
41c98a5e
CY
5632006-10-30 Chong Yidong <cyd@stupidchicken.com>
564
565 * Makefile.in (lwlib-utils.o): Use CPPFLAGS.
566
45a2056c
JB
5672006-09-15 Jay Belanger <belanger@truman.edu>
568
569 * COPYING: Replace "Library Public License" by "Lesser Public
570 License" throughout.
571
880820fe 5722006-05-23 Jan Djärv <jan.h.d@swipnet.se>
1f5df1f7
JD
573
574 * xlwmenu.c: Include xterm.h if emacs instead of declaring functions
575 used.
576 (string_width): Declare as static.
33462dfa 577 (Start, pop_up_menu): Set is_hint to 0 before calling
1f5df1f7
JD
578 handle_motion_event.
579 (pop_up_menu): Return value and parameters for x_catch_errors and
580 x_uncatch_errors changed.
581
43f15d4a
DN
5822005-09-27 Dan Nicolaescu <dann@ics.uci.edu>
583
79a2d0fc
JB
584 * xlwmenu.c (find_next_selectable, find_prev_selectable):
585 Add missing parameter declarations.
43f15d4a 586
c5caf981
DN
5872005-09-24 Dan Nicolaescu <dann@ics.uci.edu>
588
589 * xlwmenu.c: Fix the return type for x_clear_errors and
33462dfa 590 x_uncatch_errors.
c5caf981 591
880820fe 5922005-07-19 Jan Djärv <jan.h.d@swipnet.se>
7537ab9c 593
33462dfa 594 * lwlib-Xm.c (make_menu_in_widget): Disable drag and drop for
7537ab9c
JD
595 labels in menu bar.
596
a0ec7a4a
LK
5972005-07-04 Lute Kamstra <lute@gnu.org>
598
599 Update FSF's address in GPL notices.
600
880820fe 6012005-04-01 Jan Djärv <jan.h.d@swipnet.se>
52a9f3a0
JD
602
603 Reenable support for I18N to Lucid menus.
a0ec7a4a 604
52a9f3a0
JD
605 * xlwmenuP.h (_XlwMenu_part): Add fontSet resource.
606
35e951cd 607 * xlwmenu.c (string_width, MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Ditto.
52a9f3a0 608 (display_menu_item, make_drawing_gcs, XlwMenuInitialize)
79a2d0fc 609 (XlwMenuSetValues): Use font if fontSet is NULL, use only
52a9f3a0
JD
610 font for !HAVE_X_I18N.
611 (xlwMenuResources): Add fontSet resource.
612
880820fe 6132005-03-22 Jan Djärv <jan.h.d@swipnet.se>
937a855d
JD
614
615 * xlwmenuP.h: Temporary #undef HAVE_X_I18N until FontSet for UTF-8
616 on XFree86 is investigated.
617
618 * xlwmenu.c: Ditto.
619
9f9e5275
SM
6202005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
621
423a3f59
SM
622 Add support for I18N to Lucid menus.
623
624 * xlwmenuP.h (struct _XlwMenu_part) [HAVE_X_I18N]: Change `font' to be
625 a fontset. Add a `font_extents' element.
626
627 * xlwmenu.c (xlwMenuResources) [HAVE_X_I18N]: Use a fontset for the
628 `font' resource.
c4cc8b9a 629 (string_width) [HAVE_X_I18N]: Use XmbTextExtents.
423a3f59
SM
630 (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): New macros.
631 (arrow_width, toggle_button_width, size_menu_item, draw_arrow)
632 (draw_toggle, draw_radio, display_menu_item): Use them.
633 (display_menu_item) [HAVE_X_I18N]: Use XmbDrawString.
634 (make_drawing_gcs) [HAVE_X_I18N]: Don't mess with fonts.
635 (XlwMenuInitialize) [HAVE_X_I18N]: Initialize font_extents.
636 (XlwMenuSetValues) [HAVE_X_I18N]: Refresh font_extents if font changes.
637
3c916d65
SM
638 * lwlib-Xm.c (xm_update_label, xm_update_list): Use the recommended
639 XmStringCreateLocalized function. Add missing copyright.
640
9f9e5275
SM
641 * lwlib-Xm.h: Add missing copyright and license notice.
642
f7b758bd
SM
6432005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
644
645 * xlwmenuP.h:
646 * xlwmenu.h: Add missing copyright and license notice.
647
880820fe 6482004-12-27 Jan Djärv <jan.h.d@swipnet.se>
4220b2a5
JD
649
650 * xlwmenu.c (xlwMenuActionsList): Install MenuGadgetEscape as an
651 action procedure for compatibility with Lesstif/Motif.
652
653 * Makefile.in (mostlyclean): Don't remove *~ on clean.
654
880820fe 6552004-12-26 Jan Djärv <jan.h.d@swipnet.se>
4e6e2184
JD
656
657 * lwlib-Xaw.c: Put <KeyPress>Escape in dialogOverride so dialogs only
658 pops down on Escape, not any keypress.
659
880820fe 6602004-11-01 Jan Djärv <jan.h.d@swipnet.se>
03a693b4
JD
661
662 * xlwmenu.c (find_first_selectable, find_next_selectable)
663 (find_prev_selectable): Rename parameter skip_no_call_data to
664 skip_titles. Recognize titles as having no call_data and no contents.
665 (Down, Up): Comment update.
666
880820fe 6672004-08-30 Jan Djärv <jan.h.d@swipnet.se>
05bdae44 668
f7b758bd 669 * lwlib.h (_widget_value): Add lname and lkey.
05bdae44 670
880820fe 6712004-01-12 Jan Djärv <jan.h.d@swipnet.se>
244c93fe 672
f7b758bd 673 * xlwmenuP.h (_XlwMenu_part): Add top_depth.
244c93fe 674
ed9265fc 675 * xlwmenu.h: Removed declaration of pop_up_menu.
244c93fe
JD
676
677 * xlwmenu.c (Start): Get correct time if time in event is CurrentTime.
678 (find_first_selectable, find_next_selectable)
679 (find_prev_selectable): Add parameter skip_no_call_data to skip
680 over items with no call data (popup menu titles).
681 (Down, Up): Compare old_depth to top_depth instead of 2.
682 Pass True to find_*_selectable:s new parameter if this is a popup menu.
683 (Left, Right): Compare old_depth to top_depth instead of 2.
684 Pass 0 to find_*_selectable:s new parameter.
685 (pop_up_menu): Set top_depth to 1 for pop up menus and 2 for
686 menu bar menus, to enable keyboard traversal of popups.
687
688 * lwlib-Xm.c (dialog_key_cb): New function.
689 (make_dialog): Add event handlers to dialog_key_cb for key press
690 so we can pop down on ESC.
691
692 * lwlib-Xlw.c (xlw_popup_menu): Replace call to pop_up_menu with
693 XtCallActionProc ("start"). Use a full XEvent since "start" copies it.
694
79a2d0fc 695 * lwlib-Xaw.c (make_dialog): Add override so dialog pops down on ESC.
244c93fe
JD
696 (wm_delete_window): If widget isn't a shell, use the parent.
697
404074e2
DL
6982003-05-22 Dave Love <fx@gnu.org>
699
700 * xlwmenu.c: Include lisp.h, not ../src/lisp.h.
701 (make_drawing_gcs): Remove unused `xswa', `mask'.
702
703 * lwlib-Xlw.c: Include lisp.h, not ../src/lisp.h.
704 (lw_lucid_widget_p): Remove unused `mw'.
f7b758bd
SM
705 (xlw_update_one_widget, xlw_pop_instance) [PROTOTYPES]:
706 Provide ISO C arglists.
404074e2 707
19bb0fcd 7082003-04-30 Lute Kamstra <lute@gnu.org>
d7acd774
JB
709
710 * Makefile.in: Make things function properly in case both LessTif
711 and Open Motif are installed.
712
880820fe 7132003-01-26 Jan Djärv <jan.h.d@swipnet.se>
d0bdb060
JD
714
715 * lwlib-Xm.c (update_one_menu_entry): Deallocate widget_list.
716 (destroy_all_children): Call it self to destroy sub menu children.
717
0b17a217
RS
7182002-12-22 Richard M. Stallman <rms@gnu.org>
719
720 * xlwmenu.c (pop_new_stack_if_no_contents): Do nothing if
721 new_depth is 1.
722 (remap_menubar): Don't look in new_stack[0].
723 (Left): At level 1, do the same thing Right does.
724
207c13a7
DL
7252002-11-21 Dave Love <fx@gnu.org>
726
727 * lwlib-Xaw.c [PROTOTYPES]: Provide ISO C arglists for functions
728 with Boolean args.
729
db0e17de
DL
7302002-11-20 Dave Love <fx@gnu.org>
731
732 * lwlib.c: Remove obsolete USE_OLIT code.
f7b758bd 733 [PROTOTYPES]: Provide ISO C arglists for functions with Boolean args.
db0e17de
DL
734 (lwlib_memset): Declare length arg as size_t.
735 (malloc_widget_value): Cast arg of lwlib_memset.
736
737 * xlwmenu.c (separator_height): Prototype.
738
ef93458b
PJ
7392002-05-07 Miles Bader <miles@gnu.org>
740
741 * xlwmenu.c (make_drawing_gcs): The scaling factor passed to
742 `x_alloc_lighter_color_for_widget' is a float, not an int, and
743 it's a multiplicative factor, so the name `delta' is inaccurate.
744 Always base disabled foreground on the normal foreground.
745 Don't use the temporary variable `temp'.
746
880820fe 7472002-05-06 Pavel Janík <Pavel@Janik.cz>
8b71a9ca
PJ
748
749 * xlwmenu.c (xlwMenuResources): New resource.
750 (find_next_selectable): Return current item when the menu is not
10d1d0af 751 popped up.
8b71a9ca
PJ
752 Rename `inactive_gc' to `disabled_gc'.
753 Use lighter/darker color for disabled menu items instead of using
754 stipple. Use stipple only when better color can not be
755 determined automatically.
756
757 * xlwmenu.h (XtNdisabledForeground, XtCDisabledForeground):
758 New resource names.
759
760 * xlwmenuP.h (_XlwMenu_part): Add new member `disabled_foreground'.
761 Rename `inactive_gc' to `disabled_gc'.
762
880820fe 7632002-04-29 Pavel Janík <Pavel@Janik.cz>
e656fc9d
PJ
764
765 * xlwmenu.c <XtNmargin, XtNverticalSpacing, XmNshadowThickness>:
766 Change default values.
767
880820fe 7682002-04-28 Jan Djärv <jan.h.d@swipnet.se>
005e0d57
JD
769
770 * xlwmenu.c: Do not grab keyboard if installation-directory is
771 non-nil (not installed Emacs). To simplify debugging.
772
880820fe 7732002-04-28 Pavel Janík <Pavel@Janik.cz>
38e668df 774
9d5ebed1
PJ
775 * Makefile.in: Remove OpenLook file dependencies.
776 (xrdb-cpp.o): Remove target.
777 Remove unused defines.
778
2bad4ee2
PJ
779 * xrdb.c, xrdb-cpp.c, Imakefile, dispatch.c, dispatch.h:
780 Remove unused file.
9d5ebed1 781
bcd833b2 782 * lwlib.c (instantiate_widget_instance): Remove duplicated prototype.
38e668df 783
880820fe 7842002-04-25 Pavel Janík <Pavel@Janik.cz>
90077f66
PJ
785
786 * lwlib-Xol.c, lwlib-Xol.h, lwlib-Xolmb.c, lwlib-Xolmb.h
787 * lwlib-XolmbP.h: Remove file.
788
880820fe 7892002-04-22 Jan Djärv <jan.h.d@swipnet.se>
6be3e0da
JD
790
791 * lwlib-Xm.c: Removed compiler warning.
792
793 * xlwmenu.c: Add calls to GrabKeyboard to remove strange
794 interactions with window managers that steal keypresses.
795 Call ungrab_all instead of XtUngrabPointer.
796 (pop_up_menu): Add call to XtGrabKeyboard.
797 (ungrab_all): New function.
798
880820fe 7992002-04-20 Pavel Janík <Pavel@Janik.cz>
7769818b
PJ
800
801 * xlwmenu.c (find_next_selectable): New function.
802 (Down, Up, Right): Use it.
803 (find_next_selectable): Prevent endless loops when only one item
804 is enabled in the menu.
805
880820fe 8062002-04-19 Pavel Janík <Pavel@Janik.cz>
6ad6535b
PJ
807
808 These changes allow moving in menu via keyboard.
bcd833b2
SM
809
810 * xlwmenu.c (xlwMenuTranslations, xlwMenuActionsList):
811 Add translations for cursor keys and RET.
6ad6535b
PJ
812 (find_next_selectable, find_prev_selectable): New functions used
813 for finding menu-items.
814 (Down, Up, Left, Right): New functions.
815
5e3238f4
EZ
8162002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
817
e7c9e445 818 * Makefile.in (TAGS): Don't use -t, it's the default behavior for
5e3238f4
EZ
819 etags, so it barfs if invoked with -t.
820
6147334f
RS
8212002-03-17 Richard M. Stallman <rms@gnu.org>
822
e7c9e445 823 * lwlib.c (P_): Definitions deleted.
6147334f 824
663671d5
EZ
8252002-03-16 Eli Zaretskii <eliz@is.elta.co.il>
826
827 * lwlib.c (P_): Don't define if already defined.
828
880820fe 8292002-01-27 Pavel Janík <Pavel@Janik.cz>
7a4b11ca
PJ
830
831 * lwlib-Xaw.c (xaw_update_scrollbar, xaw_scrollbar_scroll)
832 (xaw_scrollbar_jump): Put whole functions in #if 0.
833
880820fe 8342002-01-09 Pavel Janík <Pavel@Janik.cz>
ca79970e
PJ
835
836 * lwlib-Xaw.c (xaw_create_dialog): Initialize icon_name to
837 suppress compiler warnings.
838
880820fe 8392001-12-18 Pavel Janík <Pavel@Janik.cz>
4521d1fc 840
bcd833b2 841 * lwlib.c (separator_names): Add missing braces around initializers.
4521d1fc 842
880820fe 8432001-12-08 Pavel Janík <Pavel@Janik.cz>
03f9f7ae
PJ
844
845 * COPYING: New file.
846
656f46bb
RS
8472001-12-01 Richard M. Stallman <rms@gnu.org>
848
849 * lwlib.h (_widget_value): `help' has type Lisp_Object.
850
851 * xlwmenu.c, lwlib-Xaw.c, lwlib-Xlw.c: Include ../src/lisp.h.
c6c863df
GM
852 * lwlib-Xm.c, lwlib-Xol.c, lwlib-Xolmb.c: Include ../src/lisp.h.
853 * lwlib-utils.c: Include ../src/lisp.h.
e7c9e445 854
656f46bb
RS
855 * lwlib.c: Include ../src/lisp.h. Don't declare xmalloc.
856 (free_widget_value_tree): Don't free `help' field.
857 (copy_widget_value_tree): Copy `help' simply, without safe_strdup.
858 (merge_widget_value): Compare and copy `help' simply.
859
66458f32
RS
8602001-11-28 Richard M. Stallman <rms@gnu.org>
861
862 * Makefile.in (TAGS): Find the source files in $(srcdir).
863
71431a0e
GM
8642001-10-20 Gerd Moellmann <gerd@gnu.org>
865
6aa97356 866 * (Version 21.1 released.)
71431a0e 867
14a3dff7
GM
8682001-10-09 Gerd Moellmann <gerd@gnu.org>
869
870 * lwlib-Xaw.c (xaw_create_scrollbar) [!0]: Return NULL.
871 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
872
ab952a4f
GM
8732001-10-05 Gerd Moellmann <gerd@gnu.org>
874
875 * Branch for 21.1.
e7c9e445 876
a9793e45
GM
8772001-04-30 Gerd Moellmann <gerd@gnu.org>
878
879 * xlwmenu.c (xlwmenu_window_p): New function.
880
6c29b43c
GM
8812001-03-23 Gerd Moellmann <gerd@gnu.org>
882
883 * lwlib-Xlw.c (x_print_complete_resource_name) [0]: New function.
884
3c9e997b
GM
8852001-03-22 Gerd Moellmann <gerd@gnu.org>
886
887 * lwlib-Xm.c (x_print_complete_resource_name) [0]: New function.
888
3d57dbba
GM
8892001-03-13 Gerd Moellmann <gerd@gnu.org>
890
19b2bb80
GM
891 * lwlib-Xm.c (make_menu_in_widget): Remove code forcing LessTif to
892 recompute centered text; it works fine without with current LessTif.
893
f25d58a4
GM
894 * lwlib-Xm.c (make_menu_in_widget): Add an XmNpopdownCallback
895 instead of an XmNunmapCallback.
f7b758bd 896 (xm_unmap_callback): Remove.
e7c9e445 897
f25d58a4
GM
898 * lwlib-Xm.c (make_menubar): Take out code in #if 0.
899
3d57dbba
GM
900 * lwlib-Xm.c (xm_popup_menu): Don't set XmNmenuPost unless
901 necessary. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
902
2a73ab60
GM
9032001-02-28 Gerd Moellmann <gerd@gnu.org>
904
11ef99b9
GM
905 * lwlib-Xm.c (xm_arm_callback): Don't compare widgets with `None',
906 use NULL instead.
907
2a73ab60
GM
908 * lwlib-Xaw.c (xaw_update_one_widget): Use XtSetSensitive instead
909 of setting the value of XtNsensitive.
910
911 * lwlib-Xm.c (xm_update_radiobox, update_one_menu_entry)
912 (xm_update_one_widget): Use XtSetSensitive instead of setting the
bcd833b2 913 value of XmNsensitive. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
2a73ab60 914
ec9077f2
DL
9152000-12-14 Dave Love <fx@gnu.org>
916
bcd833b2 917 * xlwmenu.c (gray_bitmap_bits): Remove `unsigned' from declaration.
ec9077f2 918
2f90328f
DL
9192000-12-11 Dave Love <fx@gnu.org>
920
921 * xlwmenu.c (draw_separator) <SEPARATOR_SHADOW_ETCHED_IN_DASH>:
922 <SEPARATOR_SHADOW_ETCHED_OUT_DASH>: Fix call of draw_separator.
923
ae0d7485
GM
9242000-12-07 Gerd Moellmann <gerd@gnu.org>
925
926 * lwlib-Xm.c (xm_arm_callback): Fix last change.
927
edfb795e
GM
9282000-11-30 Gerd Moellmann <gerd@gnu.org>
929
930 * lwlib-Xm.c (xm_arm_callback): Handle case that W is null;
931 also see comment there.
932
cd913aae
GM
9332000-11-21 Gerd Moellmann <gerd@gnu.org>
934
935 * xlwmenu.c (xlwmenu_redisplay): New function.
936
0f3360b0
SM
9372000-09-30 Stefan Monnier <monnier@cs.yale.edu>
938
939 * lwlib.c (lw_separator_p): Init separator_p (bug with "-- some text").
940
5c520e0a
SS
9412000-09-28 Sam Steingold <sds@gnu.org>
942
943 * xlwmenu.c: Before including <X11/Xos.h> on SUN, define SUNOS41
944 to avoid redefining struct timeval and struct timezone.
945
7a3d0e0e
MB
9462000-09-04 Miles Bader <miles@gnu.org>
947
948 * xlwmenu.c (XlwMenuSetValues): Only frob the display if the menu
949 is actually displayed.
b7fa4a06
MB
950 (remap_menubar): Only include the menu-margin in the initial X & Y
951 positions for horizontal menu-bars.
952 (fit_to_screen): If moving a sub-menu to the left-side, increment
953 its x-position by the shadow-thickness to make it look more
954 attached to the invoking menu-item (similarly to the way it would
955 be displayed on the right side).
7a3d0e0e 956
a3d35a39
MB
9572000-09-03 Miles Bader <miles@gnu.org>
958
959 * xlwmenu.c (x_alloc_lighter_color_for_widget): New extern declaration.
960 (make_shadow_gcs) [emacs]: Use x_alloc_lighter_color_for_widget to
961 do shadow calculation.
962 (make_shadow_gcs): Remove code that tests whether the top shadow
963 is dimmer than the bottom shadow--it shouldn't ever happen.
964
caccd8f2
MB
9652000-08-30 Miles Bader <miles@gnu.org>
966
967 * xlwmenu.c (XlwMenuSetValues): If the background color has
968 changed, re-make the shadow-gcs too.
969
f4988be7
GM
9702000-08-03 Gerd Moellmann <gerd@gnu.org>
971
972 * lwlib.c, lwlib-Xm.c, lwlib-Xaw.c: Use NULL at the end of the
973 variable argument lists of XtVaSetValues and XtVaGetValues
974 functions because 0 is not sufficient on systems where sizeof
975 (int) < sizeof (void *).
976
47db06aa
GM
9772000-07-19 Gerd Moellmann <gerd@gnu.org>
978
979 * xlwmenu.c [emacs]: Don't include <X11/bitmaps/gray> because that
980 leads to redefinition errors when static is defined as empty in
981 config.h. Refer to the gray bitmap in xfns.c, instead.
982
cdefcd82
DL
9832000-07-18 Dave Love <fx@gnu.org>
984
985 * lwlib-utils.c (XtApplyToWidgets): Cast args of lwlib_bcopy.
986
af5e64bc
DL
9872000-06-23 Dave Love <fx@gnu.org>
988
989 * lwlib-Xlw.c (xlw_popup_menu): Cast arg of pop_up_menu.
990
991 * lwlib-utils.c: Include lwlib.h.
992
0a2ea235
GM
9932000-06-16 Gerd Moellmann <gerd@gnu.org>
994
995 * xlwmenuP.h (_XlwMenu_part): Add free_top_shadow_color_p and
996 free_bottom_shadow_color_p.
997
998 * xlwmenu.c (make_shadow_gcs): Set free_top_shadow_color_p
999 and free_top_shadow_color_p flags in the menu widget if
1000 top and bottom shadow colors must be freed.
1001 (release_shadow_gcs): Free colors only if they must be freed.
1002
ed1056b3
GM
10032000-06-12 Gerd Moellmann <gerd@gnu.org>
1004
1005 * xlwmenu.c (make_shadow_gcs): Free and copy colors so that
1006 color reference counts are right.
1007 (release_shadow_gcs): Free colors.
1008
bb2337f5
DL
10092000-06-06 Dave Love <fx@gnu.org>
1010
1011 * xlwmenu.c (x_alloc_nearest_color_for_widget, x_catch_errors)
1012 (x_uncatch_errors, x_had_errors_p, x_clear_errors): Add prototypes
1013 -- should be moved into separate header.
bcd833b2 1014 (make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first arg.
bb2337f5
DL
1015 (Start) <pop_up_menu>: Cast second arg.
1016
1017 * lwlib.c (P_): Use PROTOTYPES.
1018 (safe_strdup): Declare arg const.
1019 (lw_modify_all_widgets) <!info>: Return 0.
1020
1021 * lwlib-Xm.c (P_): Use PROTOTYPES.
1022
1023 * xlwmenu.h, lwlib.h, lwlib-utils.h, lwlib-int.h, lwlib-Xm.h:
1024 * lwlib-Xlw.h, lwlib-Xaw.h: Enable prototypes.
1025
1026 * lwlib-Xaw.c (xaw_popup_menu): Add EVENT arg.
1027
1028 * Makefile.in (lwlib.o): Depend on lwlib-Xlw.h.
1029 (lwlib-Xlw.o): Depend on lwlib-Xlw.h.
1030 (lwlib-Xaw.o): Depend on lwlib-Xaw.h.
1031 (lwlib-Xm.o): Depend on lwlib-Xm.h.
1032
9b2f3c38
GM
10332000-03-12 Gerd Moellmann <gerd@gnu.org>
1034
1035 * lwlib-Xm.c (make_menubar) [LESSTIF_VERSION]: Don't set
1036 XmNresizeHeight and XmNresizeWidth.
1037
7397acc4
DL
10382000-03-08 Dave Love <fx@gnu.org>
1039
1040 * Makefile.in (liblw.a): Don't bother testing for ranlib failing
1041 since configure sets it up.
1042
1d4d17e2
GM
10432000-03-06 Gerd Moellmann <gerd@gnu.org>
1044
1045 * lwlib-Xm.c (make_menubar): Set XmNresizeHeight and
1046 XmNresizeWidth resources only if LESSTIF_VERSION is defined.
1047
566f7ec8
GM
10482000-03-05 Gerd Moellmann <gerd@gnu.org>
1049
1050 * lwlib-Xm.c (xm_manage_resizing): Rewritten.
1051
1052 * lwlib.c (lw_modify_all_widgets): Return non-zero if widget
1053 tree was changed.
1054 (merge_widget_value): Add parameter CHANGE_P. Set *CHANGE_P
1055 to 1 if a change occurs.
1056
1057 * lwlib.h (lw_modify_all_widgets): Change prototype.
1058
64d739c4
GM
10592000-03-04 Gerd Moellmann <gerd@gnu.org>
1060
1061 * xlwmenu.c (make_shadow_gcs): Use the widget's colormap instead
1062 of the screen's default colormap.
1063
b6a22bf8
GM
10642000-02-18 Gerd Moellmann <gerd@gnu.org>
1065
1066 * lwlib.c (merge_widget_value): Fix incorrect assignment of
1067 safe_strdup'd help string.
1068
e12489f9
GM
10692000-01-25 Gerd Moellmann <gerd@gnu.org>
1070
1071 * lwlib-Xm.c (make_menu_in_widget): Don't add XmNpopdownCallback,
1072 add XmNunmapCallback.
1073 (xm_unmap_callback): New function.
1074 (xm_pull_down_callback): Call pre-activate callback only if
1075 parent is the menu bar.
1076
52b8dbf9
GM
10772000-01-17 Gerd Moellmann <gerd@gnu.org>
1078
1079 * lwlib-Xm.c (xm_arm_callback): New function.
1080 (make_menu_in_widget): Set xm_arm_callback as XmNarmCallback and
1081 XmNdisarmCallback for buttons (not supported for other widgets).
d36100c9 1082 (make_menubar): Set XmNresizeHeight and XmNresizeWidth to False.
52b8dbf9
GM
1083
1084 * lwlib-Xlw.c (highlight_hook): New function.
1085 (xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as
1086 callback XtNhighlightCallback.
1087
1088 * lwlib.c (copy_widget_value_tree): Copy help string.
1089 (free_widget_value_tree): Free help string.
1090 (merge_widget_value): Handle help string.
bcd833b2
SM
1091 (allocate_widget_info, lw_register_widget, lw_create_widget):
1092 Add parameter HIGHLIGHT_CB.
52b8dbf9
GM
1093 (lw_get_widget_instance): New function.
1094
1095 * lwlib-int.h: Add prototype for lw_get_widget_instance.
1096
1097 * lwlib.h (_widget_value): Add help string.
1098
1099 * xlwmenu.c (xlwMenuResources): All XtNhighlightCallback.
1100 (remap_menubar): Call highlight callback.
1101
1102 * xlwmenu.h (XtNhighlightCallback): New define.
1103
1104 * xlwmenuP.h (_XlwMenu_part): Add `highlight' callback list.
1105
0f0912e6 11061999-10-19 Paul Eggert <eggert@twinsun.com>
5c520e0a 1107
0f0912e6
PE
1108 Add support for large files, plus some locale improvements.
1109
1110 * dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
79a2d0fc 1111 * xrdb-cpp.c, xrdb.c:
0f0912e6
PE
1112 Include <config.h> before any system include files.
1113
1114 * lwlib-Xm.c, lwlib.c:
1115 Do not include <stdlib.h> or <string.h>, as <config.h> does this.
5c520e0a 1116
f5737ad2
GM
11171999-10-07 Gerd Moellmann <gerd@gnu.org>
1118
bcd833b2
SM
1119 * lwlib-Xm.c (make_menu_in_widget, update_one_menu_entry):
1120 Use widgets instead of gadgets to be able to set colors.
f5737ad2 1121
387581d8
DL
11221999-09-17 Richard Stallman <rms@gnu.org>
1123
1124 * lwlib-Xaw.c (wm_delete_window): Check all the shell's children,
1125 not just the first, to find the dialog box.
1126
11271999-09-14 Gerd Moellmann <gerd@gnu.org>
1128
bcd833b2 1129 * lwlib.c (lw_separator_p): Check for new-style separators differently.
387581d8
DL
1130
11311999-09-10 Gerd Moellmann <gerd@gnu.org>
1132
5c520e0a 1133 * lwlib.c (lw_separator_p): Add `--:space' with the same
387581d8
DL
1134 meaning as `--:noLine'.
1135
11361999-09-06 Gerd Moellmann <gerd@gnu.org>
1137
1138 * lwlib.c (lw_separator_p): Add alternative separator type names.
1139
11401999-09-03 Gerd Moellmann <gerd@gnu.org>
1141
bcd833b2 1142 * xlwmenu.c (make_shadow_gcs): Call x_alloc_nearest_color_for_widget.
387581d8 1143
32660797
GM
11441999-07-12 Gerd Moellmann <gerd@gnu.org>
1145
1146 * lwlib-Xm.c: Add function prototypes.
1147
1148 * lwlib-Xm.c (xm_update_label): Use val->name to look up
1149 a label string from resources.
1150 (xm_update_label): Add some comments.
1151
11521999-07-12 Gerd Moellmann <gerd@gnu.org>
1153
1154 * xlwmenu.c (all_dashes_p): Removed.
1155 (size_menu_item): Call lw_separator_p.
1156 (display_menu_item): Ditto.
1157 (display_menu): Ditto.
1158 (draw_separator): New.
1159 (display_menu_item): Call it.
1160 (separator_height): New.
1161 (size_menu_item): Call it.
1162
1163 * lwlib-Xm.c (all_dashes_p): Removed.
bcd833b2 1164 (make_menu_in_widget): Use lw_separator_p. Set Motif separator type.
32660797
GM
1165
1166 * lwlib.c (lw_separator_p): New.
1167
1168 * lwlib.h (enum menu_separator): New.
1169
11701999-07-12 Gerd Moellmann <gerd@gnu.org>
1171
1172 * lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
1173 title after all widgets have been created.
1174
11751999-07-12 Gerd Moellmann <gerd@gnu.org>
1176
1177 * xlwmenu.c (toggle_button_width): Renamed from
1178 toggle_or_radio_button_width.
1179 (radio_button_width): New.
1180 (size_menu_item): Use new functions.
1181 (draw_shadow_rhombus): New.
1182 (draw_radio): Use radio_button_width and draw_shadow_rhombus.
1183 (draw_toggle): Use toggle_button_width.
1184
11851999-07-12 Gerd Moellmann <gerd@gnu.org>
1186
1187 * lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
1188 instead of xm_internal_update_other_instances.
1189
1190 * lwlib-Xm.c (make_menu_in_widget): Do help button before managing
1191 children to get it to the right place.
1192 (make_menu_in_widget): Create toggle buttons.
1193 (update_one_menu_entry): Update toggle buttons.
1194
1195 * xlwmenu.c (size_menu_item): Add parameter button_width.
1196 (size_menu): Compute button_width.
1197 (toggle_or_radio_button_width): New.
1198 (draw_toggle): New.
1199 (draw_radio): New.
1200 (draw_shadow_rectangle): Add parameter `down_p'.
1201
1202 * xlwmenuP.h (_window_state): Add button_width.
1203
12041999-07-12 Gerd Moellmann <gerd@gnu.org>
1205
79a2d0fc 1206 * xlwmenu.c (make_shadow_gcs) [emacs]: Use x_alloc_nearest_color.
32660797
GM
1207
1208 * lwlib.c (merge_widget_value): Handle button_type.
1209 (copy_widget_value_tree): Copy button_type.
1210
1211 * lwlib.h (enum button_type): New.
1212 (_widget_value): New member button_type.
1213
12141999-07-12 Gerd Moellmann <gerd@gnu.org>
1215
1216 * lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
1217 using XmNrowColumnType.
1218
12191999-07-12 Gerd Moellmann <gerd@gnu.org>
1220
1221 * xlwmenu.c (abort_gracefully): New.
1222 (display_menu): Use it instead of abort.
1223 (size_menu): Ditto.
1224
12251999-07-12 Gerd Moellmann <gerd@gnu.org>
1226
5c520e0a 1227 * xlwmenu.c (xlwMenuResources): Change previously unused
32660797
GM
1228 XtNmargin to 4.
1229 (size_menu): Take margin into account.
1230 (display_menu_item): Ditto.
1231 (remap_menubar): Ditto.
1232 (draw_arrow): Draw it 3D.
1233
a08cb76c
DL
12341999-07-12 Richard Stallman <rms@gnu.org>
1235
1236 * Version 20.4 released.
1237
12381998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu>
1239
1240 * Version 20.3 released.
1241
12421998-07-30 Paul Eggert <eggert@twinsun.com>
1243
38942b9c 1244 * Makefile.in (lwlib-utils.o, lwlib.o, lwlib-Xlw.o)
5c520e0a 1245 (lwlib-Xaw.o, lwlib-Xm.o, lwlib-Xol.o, lwlib-Xolmb.o):
5ce6e4f4 1246 Add dependencies to corresponding .c files for Solaris 2.x VPATH make.
a08cb76c
DL
1247
12481998-04-06 Andreas Schwab <schwab@gnu.org>
1249
1250 * lwlib.c: Always declare xmalloc.
1251 [USE_XAW]: Include <X11/Xaw/Paned.h>.
1252 (lwlib_memset, lwlib_bcopy): Explicitly declare return type.
1253
a08cb76c
DL
12541997-12-20 Richard Stallman <rms@psilocin.gnu.org>
1255
1256 * lwlib-Xm.c (update_one_menu_entry):
1257 Add conditional in case XmNpositionIndex is missing.
1258
12591997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1260
1261 * Version 20.2 released.
1262
1263 * xlwmenu.c (motion_event_is_in_menu): Extend the left and
1264 top windows by the shadow width.
1265
12661997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1267
1268 * Version 20.1 released.
1269
12701997-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1271
1272 * xlwmenu.c (display_menu): If an item is disabled,
1273 don't display its submenu (if any).
1274
12751997-05-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1276
1277 * xlwmenu.c (pop_up_menu): Update the call to x_catch_errors.
1278
12791997-01-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1280
1281 * xlwmenu.c (fit_to_screen): If new menu would overlap the previous
1282 one from the side, try moving it up or down.
1283
12841996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1285
1286 * Version 19.33 released.
1287
1288 * lwlib-Xm.c (update_one_menu_entry): Fix previous change:
1289 When XmIsCascadeButton, don't call XmCreateCascadeButtonGadget,
1290 just modify the existing one.
5c520e0a 1291
f0131492 12921996-08-09 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1293
1294 * lwlib.c (merge_widget_value): Undo previous change.
5c520e0a 1295
a08cb76c
DL
1296 * lwlib-Xm.c (update_one_menu_entry): When creating a pulldown
1297 in an existing but empty menu item, in order to get a new functional
1298 pulldown, the menu item must be switched from an XmPushButtonGadget
1299 into a XmCascadeButtonGadget.
1300
13011996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
1302
1303 * Version 19.32 released.
1304
f0131492 13051996-07-31 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1306
1307 * lwlib-Xm.c (make_menubar): Turn off menu accelerator.
1308
f0131492 13091996-07-24 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1310
1311 * lwlib.c (merge_widget_value) [USE_MOTIF]: Pass along the change
1312 flag from merged_contents.
1313
13141996-07-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
1315
1316 * lwlib-Xm.c (xm_update_menu): Fix loop termination test.
1317
13181996-07-07 Karl Heuer <kwzh@gnu.ai.mit.edu>
1319
1320 * lwlib-Xm.h, lwlib-Xm.c, lwlib.h, lwlib.c: Undo previous change.
1321
f0131492 13221996-07-03 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1323
1324 * lwlib-Xm.h: Declare lw_motif_menu_related_event_p.
1325
1326 * lwlib-Xm.c (lw_motif_menu_related_event_p): A predicate to
1327 identify keyboard events intended only for menus.
1328
1329 * lwlib.h: Declare lw_toolkit_related_event_p.
1330
1331 * lwlib.c (lw_toolkit_related_event_p): A predicate to identify
1332 toolkit-specific events.
1333
f0131492 13341996-06-07 Marcus G. Daniels <marcus@sayre.sysc.pdx.edu>
a08cb76c
DL
1335
1336 * lwlib-Xm.c (make_menu_in_widget): Set mapping delay
1337 for cascade buttons to zero.
1338
13391996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
1340
1341 * Version 19.31 released.
1342
13431996-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1344
1345 * lwlib-Xm.c (destroy_all_children): When freeing a cascade button,
1346 free its submenu too.
1347 (make_menu_in_widget): Use a cascade button gadget, not a widget.
1348 Include Xm/CascadeBG.h.
1349
13501996-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1351
1352 * Makefile.in (tags): New target.
1353
13541996-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1355
1356 * Makefile.in (TAGS): Renamed from `tags' and fixed to work.
1357
13581996-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1359
1360 * Makefile.in (xlwmenu.o): New explicit target.
1361
13621996-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1363
1364 * lwlib.h (struct widget_value): New field this_one_change.
1365 * lwlib.c (merge_widget_value): Set the this_one_change field.
1366 * lwlib-Xm.c (destroy_all_children): New arg first_child_to_destroy.
1367 (make_menu_in_widget): New arg keep_first_children.
1368 (xm_update_menu): Preserve the first children even if later ones
1369 have a structural change.
1370 (update_one_menu_entry): Use this_one_change field.
1371
13721996-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1373
1374 * xlwmenu.c (motion_event_is_in_menu): Make x and y signed.
1375
13761996-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1377
1378 * lwlib.c (lw_window_is_in_menubar) [USE_MOTIF]:
1379 With Motif, the window WIN can be the menu bar widget itself.
1380
13811996-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1382
1383 * lwlib.c (free_widget_value_tree, merge_widget_value):
1384 Use XtFree for the toolkit_data.
1385
13861996-02-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
1387
1388 * lwlib.c (lw_internal_update_other_instances): Move static var
1389 outside the function, and rename it to lwlib_updating.
1390
13911996-01-04 Paul Eggert <eggert@twinsun.com>
1392
1393 * lwlib.c (instantiate_widget_instance): Renamed from
1394 instanciate_widget_instance (spelling correction).
1395 All callers changed.
1396
13971995-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1398
1399 * xlwmenu.c (xlwMenuActionsList): Add "key" and "nothing".
1400 (xlwMenuTranslations): Add translations for Key, KeyUp,
1401 and for the modifier keysyms.
1402 (Nothing, Key): New functions.
1403
14041995-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1405
1406 * xlwmenu.c (XlwMenuSetValues): Do redisplay if non-null contents
1407 get replaced by empty contents.
1408
1409 * lwlib.c (merge_widget_value): Treat disappearance of entire contents
1410 as a STRUCTURAL_CHANGE.
1411
14121995-12-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1413
1414 * lwlib-utils.c: Add #undef for index and rindex.
1415
14161995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1417
1418 * Version 19.30 released.
1419
14201995-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1421
1422 * xlwmenu.c (display_menu_item): Fix previous change.
1423
14241995-11-04 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
1425
1426 * xlwmenu.c (display_menu_item): Don't treat buttons specially.
1427
14281995-08-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1429
1430 * Makefile.in (RANLIB): Get this var from configure.
1431
14321995-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1433
1434 * lwlib.c (lw_popup_menu): New arg `event', passed along.
1435 * lwlib-Xlw.c (xlw_popup_menu): New arg `event'.
1436 * lwlib-Xm.c (xm_popup_menu): New arg `event'.
1437
14381995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1439
1440 * Version 19.29 released.
1441
14421995-06-11 Richard Stallman <rms@gnu.ai.mit.edu>
1443
1444 * lwlib.c (lwlib_toolkit_type): New variable.
1445
14461995-05-26 Richard Stallman <rms@gnu.ai.mit.edu>
1447
1448 * xlwmenu.c (Drag): Do nothing unless menu.popped_up field is set.
1449
14501995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
1451
1452 * xlwmenu.c (XlwMenuInitialize): Cast XCreatePixmapFromBitmapData args.
1453
14541995-05-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
1455
1456 * lwlib.c: Don't use prototype.
1457 * lwlib-Xm.c (activate_button, xm_update_cascadebutton): Likewise.
1458
14591995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1460
1461 * lwlib.c (lw_refigure_widget) [USE_MOTIF]: Fix backward if.
1462
14631995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1464
1465 * Makefile.in (ALL_CFLAGS): Add -I../src.
1466
14671995-05-03 Morten Welinder <terra+@cs.cmu.edu>
1468
1469 * lwlib.c [__osf__]: Include string.h and stdlib.h.
1470 [__osf__] (xmalloc): Declared.
1471
14721995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1473
1474 * lwlib-Xm.c (update_one_menu_entry, make_menu_in_widget):
1475 Specify more useful names in XmCreatePulldownMenu calls.
1476
1477 * lwlib-Xaw.c (xaw_pop_instance): Make x, y, w, h unsigned.
1478
1479 * xlwmenu.c (size_menu): Make height and label_width unsigned.
1480 (fit_to_screen): Make screen_width and screen_height unsigned.
1481 (motion_event_is_in_menu): Make x, y unsigned.
1482
14831995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1484
1485 * lwlib-utils.c: If HAVE_CONFIG_H, include config.h.
1486
1487 * Makefile.in (ALL_CFLAGS): Define HAVE_CONFIG_H.
1488 Add -I${srcdir}/../src.
5c520e0a 1489
a08cb76c
DL
14901995-04-08 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1491
1492 * lwlib-Xm.c: Remove function prototypes.
1493 (xm_pop_down_callback): Call the deactivation callback only when
79a2d0fc 1494 popping down the top level submenu.
a08cb76c
DL
1495
14961995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1497
1498 * Makefile.in (lwlib.o): Depend on Makefile.
1499
1500 * lwlib-Xm.h: Remove function prototypes.
1501
1502 * lwlib-Xm.c (remove_grabs): Use type Widget for `menu'.
1503
15041995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1505
1506 * Makefile.in (ALL_CFLAGS): Allow include files to be found in
bcd833b2 1507 `srcdir'.
a08cb76c
DL
1508
15091995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
1510
1511 * Makefile.in (maintainer-clean): Renamed from realclean.
1512
15131994-11-28 Richard Stallman <rms@bethel>
1514
1515 * lwlib-int.h (safe_strdup): Don't use ANSI argument prototype.
1516
15171994-11-15 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1518
1519 * lwlib.c (lw_refigure_widget): Use the macro USE_XAW rather than XAW.
1520
15211994-11-08 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1522
79a2d0fc 1523 * lwlib-Xm.c (make_menu_in_widget): Differentiate a separator
a08cb76c
DL
1524 entry ("--") from a title.
1525 (xm_pop_down_callback): Filter all but the last pop down callbacks.
1526
15271994-11-07 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
1528
1529 * lwlib-Xm.c (update_one_menu_entry): Use the parent of the
1530 cascade button as the parent of the pulldown, rather than the
1531 cascade button itself. This works around a Motif SIGSEGV in the
1532 function `InSharedMenuHierarchy'.
1533
a08cb76c
DL
15341994-10-26 Richard Stallman <rms@duality.gnu.ai.mit.edu>
1535
1536 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1537
15381994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1539
1540 * xlwmenu.c (xlwmenu_default_font): New global variable.
1541 (XlwMenuInitialize): Use xlwmenu_default_font to default
1542 the font if necessary. Make mw, itself, an argument.
1543
1544 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
1545
15461994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1547
1548 * xlwmenu.c (fit_to_screen): Don't put the menu off the left or top.
1549
15501994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1551
1552 * xlwmenu.c (display_menu_item): Add support for displaying the
bcd833b2 1553 title in pop up menus.
a08cb76c
DL
1554
1555 * lwlib.c (lw_set_main_areas): Use xm_set_main_areas().
1556 (lw_manage_resizing): Use xm_manage_resizing() for Emacs/Motif.
1557
15581994-09-25 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
1559
1560 * lwlib-Xaw.c (xaw_create_main): New function to support the
bcd833b2
SM
1561 toolkit independent creation of the main Emacs widget. *
1562 lwlib-Xlw.c (xlw_create_menubar): When compiling under Emacs, set
1563 resizing resources to disable showGrip and to enable both
1564 resizeToPreferred and allowShellResize.
a08cb76c
DL
1565
1566 * lwlib-Xm.h: Declare xm_set_main_areas, xm_manage_resizing.
1567
79a2d0fc 1568 * lwlib-Xm.c (make_menu_in_widget): Add support for displaying a
a08cb76c
DL
1569 title in pop up menus.
1570 (make_main, xm_set_main_areas, xm_manage_resizing): New functions to
1571 create and manage a Motif Main Window widget.
1572
1573 * xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
1574
f0131492 15751994-09-18 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
a08cb76c
DL
1576
1577 * lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
1578 set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn. Also add a
1579 margin of 10 pixels.
1580
177c0ea7 15811994-09-16 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
a08cb76c
DL
1582
1583 * lwlib-Xm.c (make_main): New function to support toolkit
bcd833b2 1584 independent creation of the main Emacs widget.
a08cb76c
DL
1585 (make_destroyed_instance): Use safe_strdup() instead of strdup().
1586
1587 * lwlib-int.h: Declare safe_strdup.
1588
1589 * lwlib.c (lw_refigure_widget): New function. Handle geometry
bcd833b2 1590 management inside lwlib instead of in Emacs.
a08cb76c
DL
1591 (lw_window_is_in_menubar): New function. Determine if the pointer
1592 is in a menubar.
1593 (lw_set_main_areas): New function. Set the main window widgets for
1594 Motif.
1595
1596 * lwlib.h: Declare lw_refigure_widget(), lw_window_is_in_menubar(),
1597 lw_set_main_areas().
1598
1599 * xlwmenu.h: Define Xt{Ns,CS}howGrip, Xt{Nr,CR}esizeToPreferred, and
1600 Xt{Na,CA}llowResize.
1601
1602 * xlwmenu.c (Start): Use pop_up_menu() to post the submenus.
bcd833b2 1603 (Select): Remove the pointer grab when popping down a menubar submenu.
a08cb76c
DL
1604 (pop_up_menu): Handle popping up submenus from a menubar, i.e. when
1605 the menu widget parent is not a shell widget.
1606
16071994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1608
1609 * xlwmenu.c (pop_up_menu): Clear next_release_must_exit.
1610 (Start): Clear next_release_must_exit when popping up the menu.
1611
16121994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1613
1614 * xlwmenu.c (Start): Set menu_post_event or next_release_must_exit.
1615 (Select): Do nothing if the menu should be left posted.
1616
16171994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
1618
1619 * xlwmenu.c (make_windows_if_needed, pop_up_menu):
1620 Enable mouse motion events even when no button down.
1621
16221994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1623
1624 * xlwmenu.c (pointer_grabbed): New variable.
1625 (pop_up_menu): Set the variable.
1626 (XlwMenuDestroy): Maybe call XtUngrabPointer.
1627
16281994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1629
1630 * lwlib.c (max): Function deleted. Define as macro instead,
1631 but only if not already defined.
1632
16331994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1634
1635 * xlwmenu.c (xlwMenuResources): Use XtRDimension for shadow thickness.
1636
16371994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1638
1639 * lwlib-Xaw.c (xaw_pop_instance): Use XtSetValues, not XtMoveWidget.
1640
16411994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1642
1643 * lwlib.c (lwlib_memset: New function, used instead of memset.
1644 All callers changed.
1645 * lwlib.c (lwlib_bcopy): New function.
1646 * lwlib-utils.c (XtApplyToWidgets): Use lwlib_bcopy.
1647
1648 * lwlib.c: Delete definitions for use of alloca.
1649 (name_to_widget): Use xmalloc, not alloca.
1650
16511994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1652
1653 * xlwmenu.c (XlwMenuDestroy): Set new var submenu_destroyed.
1654 (XlwMenuRedisplay): If it's set, truncate the old_depth to 1.
1655
16561994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1657
1658 * xrdb-cpp.c: Don't include string.h, unistd.h, stdlib.h.
1659 * lwlib-Xaw.c: Don't include string.h, unistd.h, stdlib.h.
1660 * lwlib-utils.c (XtApplyToWidgets): Use bcopy, not memcpy.
1661 * lwlib-utils.c: Don't include string.h, unistd.h, stdlib.h, memory.h.
1662 * xlwmenu.c: Don't include string.h, unistd.h, stdlib.h.
1663 * lwlib.c: Don't include string.h, unistd.h, stdlib.h.
1664 (safe_strdup): No longer static.
1665 * lwlib-Xm.c: Use safe_strdup, not strdup.
1666
1667 * xlwmenu.c (string_width): No longer static.
1668
16691994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1670
1671 * xlwmenuP.h (struct _XlwMenu_part): Use Pixel and Cursor
1672 for foreground and cursor_shape fields.
1673
1674 * xlwmenu.c (XlwMenuSetValues): Check for change of font.
1675
16761994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1677
1678 * Makefile.in: Delete all SRCS variables (unused).
1679 (lwlib.o, xrdb-cpp.o): Mention srcdir in dep.
1680
16811994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1682
1683 * Makefile.in (ALL_CFLAGS): Don't define THIS_IS_X11R4.
1684
1685 * xrdb.c: Define HAVE_X11R5 as in xterm.h.
1686 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1687 (_XtDisplayInitialize): Test HAVE_X11R5.
1688
1689 * dispatch.c: Define HAVE_X11R5 as in xterm.h.
1690 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
1691 (_XtConvertTypeToMask): Conditionalize on HAVE_X11R5.
1692 (WouldDispatchEvent): Likewise.
1693
16941994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1695
1696 * lwlib-Xaw.c (xaw_generic_callback): Declare without arg names.
1697
16981994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
1699
5c520e0a 1700 * lwlib-Xaw.c (make_dialog): Don't allow any geometry request from the
a08cb76c
DL
1701 user.
1702
17031994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1704
5c520e0a 1705 * xlwmenu.c (XlwMenuResize): Don't allow the popup menu to resize
6ad6535b 1706 itself. Therefore reset the size to its initial value.
a08cb76c
DL
1707
17081994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1709
1710 * lwlib-Xaw.c (xaw_update_one_widget): Finish replacing XtVaSetValues.
1711 Don't test for scrollbar widget.
1712
17131994-03-14 Frederic Pierresteguy (fp@gnu.ai.mit.edu)
1714
1715 * lwlib-int.h: Declare lw_get_widget_info.
1716
1717 * lwlib.c (lw_get_widget_info): Comment out arg in function decl.
1718
1719 * lwlib-Xaw.h: Comment out args in function decls.
1720 * lwlib-Xaw.c: Convert all function definitions to non-prototype K&R.
1721 (xaw_update_one_widget - case dialogWidgetClass): Call XtSetValues,
1722 not XtVaSetValues.
1723
17241994-03-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
1725
1726 * xlwmenu.c (display_menu_item): Modify parameters to draw_arrow to
1727 right justify the arrow in the pane.
1728
1729 * lwlib.c: If not defined USE_MOTIF and defined USE_LUCID then
1730 define USE_XAW.
1731
1732 * Makefile.in (LUCID_SRCS, LUCID_OBJS): Add the target lwlib-Xaw.[oc].
1733
1734 * lwlib.c, lwlib-int.h: Merged from Lucid 19.9 release.
1735 * lwlib.c (_AIX): Replace the AIXV3 directive.
1736 (USE_XAW): New macro to conditionalize the use of the athena toolkit.
1737 (lw_get_widget_info): New function.
1738 (set_one_value): Handle USE_XAW.
1739 (instanciate_widget_instance): Likewise.
1740 (destroy_one_instance): Likewise.
1741 (lw_pop_all_widgets): Likewise.
1742 (lw_pop_down_all_widgets): Likewise.
1743 (get_one_value): Likewise.
1744
1745 * lwlib-Xaw.c, lwlib-Xaw.h: New files.
1746
17471994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1748
1749 * xlwmenu.c (XlwMenuInitialize, XlwMenuDestroy): Undo previous changes.
1750
1751 * lwlib-Xlw.c (xlw_create_menubar, xlw_create_popup_menu):
1752 Use XtCreate..., not XtVaCreate...
1753 No need to copy instance->info->val any more.
1754 (xlw_update_one_widget): Use XtSetValues, not XtVaSetValues.
1755
17561994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1757
1758 * xlwmenu.c (pop_up_menu): Call XtUngrabPointer if XtGrabPointer fails.
1759
17601994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1761
1762 * Makefile.in (xrdb-cpp.o, lwlib.o): Put ALL_CFLAGS after other flags.
1763
1764 * lwlib-Xlw.c (xlw_create_menubar): Don't call free_widget_value.
1765 Use malloc for allocation.
1766 (xlw_create_popup_menu): Likewise.
1767
17681994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1769
1770 * lwlib.c (malloc_cpt): New static variable.
1771 (malloc_widget_value): Increment malloc_cpt when allocating a cell.
1772 (free_widget_value): Really free the cells when the number of
1773 allocated ones is bigger than 25.
1774
1775 * lwlib-Xlw.c (xlw_create_menubar): Call malloc_widget_value and
1776 free_widget_value instead of XtMalloc and XtFree.
1777 (xlw_create_popup_menu): Likewise.
1778
17791994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1780
1781 * Makefile.in (ALL_CFLAGS): Specify -Demacs.
1782
1783 * xlwmenu.c (pop_up_menu) [emacs]: Catch and ignore X protocol errors
1784 in XtGrabPointer.
1785
17861994-02-17 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1787
5c520e0a 1788 * lwlib-Xlw.c (xlw_create_popup_menu): Pass tem to
a08cb76c
DL
1789 XtVaCreateManagedWidget, not instance->info->val.
1790 (xlw_create_menubar): Likewise.
1791
17921994-02-15 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1793
1794 * lwlib-Xlw.c (xlw_create_popup_menu): Copy instance->info->val
1795 before calling XtVaCreateManagedWidget and then free the copy.
1796 (xlw_create_menubar): Likewise.
1797
17981994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1799
1800 * xlwmenu.c (XlwMenuInitialize): Copy mw->menu.contents.
1801 (XlwMenuDestroy): Free mw->menu.contents.
1802
18031994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1804
1805 * xlwmenu.c (display_menu_item): Call draw_shadow_rectangle to make
1806 visible/invisible the selection of the menubar items.
1807
18081994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1809
1810 * lwlib.c (strcasecmp): Renamed to my_strcasecmp.
1811 (find_in_table): Changed only caller.
1812
18131994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1814
1815 * xlwmenu.c (display_menu_item): When dealing with the menubar,
5c520e0a 1816 always call XDrawRectangle to clear the selection after popping down
a08cb76c
DL
1817 the pulldown menu.
1818
18191994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1820
1821 * lwlib.c: Include ctype.h.
1822
18231994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1824
1825 * lwlib.c (strcasecmp): New function.
1826
18271994-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1828
1829 * xlwmenu.c, lwlib.c, lwlib-Xlw.c, lwlib-utils.c:
1830 Convert all function definitions to non-prototype K&R.
1831
1832 * lwlib-Xlw.h: Comment out args in function decls.
1833 * lwlib.h: Comment out args in function decls.
1834 * lwlib-utils.h: Comment out args in function decls.
1835
18361994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1837
1838 * lwlib.c: Include StringDefs.h after lwlib.h.
1839
18401994-01-22 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1841
1842 * Makefile (xrdb-cpp.o, lwlib.o): Use $(srcdir) and file name
1843 instead of $*.
1844 (dispatch.o, xrdb.o, lwlib-Xm.o): Rules removed; they were
bcd833b2
SM
1845 superfluous and didn't work when configured outside srcdir.
1846 The implicit .c.o rule works fine.
a08cb76c
DL
1847
18481994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1849
1850 * xlwmenu.c (resource_widget_value): Avoid using strdup.
1851
18521994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1853
1854 * Makefile.in: New file.
1855
1856 * lwlib-Xolmb.c: Renamed from lwlib-Xol-mb.c.
1857 * lwlib-Xolmb.h: Renamed from lwlib-Xol-mb.h.
1858 * lwlib-XolmbP.h: Renamed from lwlib-Xol-mbP.h.
1859
1860 * lwlib-int.h: Renamed from lwlib-internal.h.
1861
5c520e0a 1862
a08cb76c 1863
6922b018 1864;; Local Variables:
880820fe 1865;; coding: utf-8
6922b018 1866;; End:
2a34a036 1867
ba318903 1868 Copyright (C) 1995-1999, 2001-2014 Free Software Foundation, Inc.
7f6d64f8
GM
1869
1870 This file is part of GNU Emacs.
1871
05a3a789 1872 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 1873 it under the terms of the GNU General Public License as published by
05a3a789
GM
1874 the Free Software Foundation, either version 3 of the License, or
1875 (at your option) any later version.
7f6d64f8
GM
1876
1877 GNU Emacs is distributed in the hope that it will be useful,
1878 but WITHOUT ANY WARRANTY; without even the implied warranty of
1879 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1880 GNU General Public License for more details.
1881
1882 You should have received a copy of the GNU General Public License
05a3a789 1883 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.