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