(Fputhash): Return `value' rather than nil.
[emacs.git] / lwlib / ChangeLog
blob2dd3655bebfaf6b24d58576de297bdabffab73c3
1 2000-06-23  Dave Love  <fx@gnu.org>
3         * lwlib-Xlw.c (xlw_popup_menu): Cast arg of pop_up_menu.
5         * lwlib-utils.c: Include lwlib.h.
7 2000-06-16  Gerd Moellmann  <gerd@gnu.org>
9         * xlwmenuP.h (_XlwMenu_part): Add free_top_shadow_color_p and
10         free_bottom_shadow_color_p.
12         * xlwmenu.c (make_shadow_gcs): Set free_top_shadow_color_p
13         and free_top_shadow_color_p flags in the menu widget if
14         top and bottom shadow colors must be freed.
15         (release_shadow_gcs): Free colors only if they must be freed.
17 2000-06-12  Gerd Moellmann  <gerd@gnu.org>
19         * xlwmenu.c (make_shadow_gcs): Free and copy colors so that
20         color reference counts are right.
21         (release_shadow_gcs): Free colors.
23 2000-06-06  Dave Love  <fx@gnu.org>
25         * xlwmenu.c (x_alloc_nearest_color_for_widget, x_catch_errors)
26         (x_uncatch_errors, x_had_errors_p, x_clear_errors): Add prototypes
27         -- should be moved into separate header.
28         (make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first
29         arg.
30         (Start) <pop_up_menu>: Cast second arg.
32         * lwlib.c (P_): Use PROTOTYPES.
33         (safe_strdup): Declare arg const.
34         (lw_modify_all_widgets) <!info>: Return 0.
36         * lwlib-Xm.c (P_): Use PROTOTYPES.
38         * xlwmenu.h, lwlib.h, lwlib-utils.h, lwlib-int.h, lwlib-Xm.h:
39         * lwlib-Xlw.h, lwlib-Xaw.h: Enable prototypes.
41         * lwlib-Xaw.c (xaw_popup_menu): Add EVENT arg.
43         * Makefile.in (lwlib.o): Depend on lwlib-Xlw.h.
44         (lwlib-Xlw.o): Depend on lwlib-Xlw.h.
45         (lwlib-Xaw.o): Depend on lwlib-Xaw.h.
46         (lwlib-Xm.o): Depend on lwlib-Xm.h.
48 2000-03-12  Gerd Moellmann  <gerd@gnu.org>
50         * lwlib-Xm.c (make_menubar) [LESSTIF_VERSION]: Don't set
51         XmNresizeHeight and XmNresizeWidth.
53 2000-03-08  Dave Love  <fx@gnu.org>
55         * Makefile.in (liblw.a): Don't bother testing for ranlib failing
56         since configure sets it up.
58 2000-03-06  Gerd Moellmann  <gerd@gnu.org>
60         * lwlib-Xm.c (make_menubar): Set XmNresizeHeight and
61         XmNresizeWidth resources only if LESSTIF_VERSION is defined.
63 2000-03-05  Gerd Moellmann  <gerd@gnu.org>
65         * lwlib-Xm.c (xm_manage_resizing): Rewritten.
67         * lwlib.c (lw_modify_all_widgets): Return non-zero if widget
68         tree was changed.
69         (merge_widget_value): Add parameter CHANGE_P.  Set *CHANGE_P
70         to 1 if a change occurs.
72         * lwlib.h (lw_modify_all_widgets): Change prototype.
74 2000-03-04  Gerd Moellmann  <gerd@gnu.org>
76         * xlwmenu.c (make_shadow_gcs): Use the widget's colormap instead
77         of the screen's default colormap.
79 2000-02-18  Gerd Moellmann  <gerd@gnu.org>
81         * lwlib.c (merge_widget_value): Fix incorrect assignment of
82         safe_strdup'd help string.
84 2000-01-25  Gerd Moellmann  <gerd@gnu.org>
86         * lwlib-Xm.c (make_menu_in_widget): Don't add XmNpopdownCallback,
87         add XmNunmapCallback.
88         (xm_unmap_callback): New function.
89         (xm_pull_down_callback): Call pre-activate callback only if
90         parent is the menu bar.
92 2000-01-17  Gerd Moellmann  <gerd@gnu.org>
94         * lwlib-Xm.c (xm_arm_callback): New function.
95         (make_menu_in_widget): Set xm_arm_callback as XmNarmCallback and
96         XmNdisarmCallback for buttons (not supported for other widgets).
97         (make_menubar): Set XmNresizeHeight and XmNresizeWidth to False.
99         * lwlib-Xlw.c (highlight_hook): New function.
100         (xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as
101         callback XtNhighlightCallback.
103         * lwlib.c (copy_widget_value_tree): Copy help string.
104         (free_widget_value_tree): Free help string.
105         (merge_widget_value): Handle help string.
106         (allocate_widget_info, lw_register_widget, lw_create_widget): Add
107         parameter HIGHLIGHT_CB.
108         (lw_get_widget_instance): New function.
110         * lwlib-int.h: Add prototype for lw_get_widget_instance.
112         * lwlib.h (_widget_value): Add help string.
114         * xlwmenu.c (xlwMenuResources): All XtNhighlightCallback.
115         (remap_menubar): Call highlight callback.
117         * xlwmenu.h (XtNhighlightCallback): New define.
119         * xlwmenuP.h (_XlwMenu_part): Add `highlight' callback list.
121 1999-10-19  Paul Eggert  <eggert@twinsun.com>
122         
123         Add support for large files, plus some locale improvements.
125         * dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
126         xrdb-cpp.c, xrdb.c:
127         Include <config.h> before any system include files.
129         * lwlib-Xm.c, lwlib.c:
130         Do not include <stdlib.h> or <string.h>, as <config.h> does this.
131         
132 1999-10-07  Gerd Moellmann  <gerd@gnu.org>
134         * lwlib-Xm.c (make_menu_in_widget, update_one_menu_entry): Use
135         widgets instead of gadgets to be able to set colors.
137 1999-09-17  Richard Stallman  <rms@gnu.org>
139         * lwlib-Xaw.c (wm_delete_window): Check all the shell's children,
140         not just the first, to find the dialog box.
142 1999-09-14  Gerd Moellmann  <gerd@gnu.org>
144         * lwlib.c (lw_separator_p): Check for new-style separators
145         differently.
147 1999-09-10  Gerd Moellmann  <gerd@gnu.org>
149         * lwlib.c (lw_separator_p): Add `--:space' with the same 
150         meaning as `--:noLine'.
152 1999-09-06  Gerd Moellmann  <gerd@gnu.org>
154         * lwlib.c (lw_separator_p): Add alternative separator type names.
156 1999-09-03  Gerd Moellmann  <gerd@gnu.org>
158         * xlwmenu.c (make_shadow_gcs): Call
159         x_alloc_nearest_color_for_widget.
161 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
163         * lwlib-Xm.c: Add function prototypes.
165         * lwlib-Xm.c (xm_update_label): Use val->name to look up
166         a label string from resources.
167         (xm_update_label): Add some comments.
169 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
171         * xlwmenu.c (all_dashes_p): Removed.
172         (size_menu_item): Call lw_separator_p.
173         (display_menu_item): Ditto.
174         (display_menu): Ditto.
175         (draw_separator): New.
176         (display_menu_item): Call it.
177         (separator_height): New.
178         (size_menu_item): Call it.
180         * lwlib-Xm.c (all_dashes_p): Removed.
181         (make_menu_in_widget): Use lw_separator_p.  Set Motif separator
182         type.
184         * lwlib.c (lw_separator_p): New.
186         * lwlib.h (enum menu_separator): New.
188 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
190         * lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
191         title after all widgets have been created.
193 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
195         * xlwmenu.c (toggle_button_width): Renamed from
196         toggle_or_radio_button_width.
197         (radio_button_width): New.
198         (size_menu_item): Use new functions.
199         (draw_shadow_rhombus): New.
200         (draw_radio): Use radio_button_width and draw_shadow_rhombus.
201         (draw_toggle): Use toggle_button_width.
203 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
205         * lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
206         instead of xm_internal_update_other_instances.
208         * lwlib-Xm.c (make_menu_in_widget): Do help button before managing
209         children to get it to the right place.
210         (make_menu_in_widget): Create toggle buttons.
211         (update_one_menu_entry): Update toggle buttons.
213         * xlwmenu.c (size_menu_item): Add parameter button_width.
214         (size_menu): Compute button_width.
215         (toggle_or_radio_button_width): New.
216         (draw_toggle): New.
217         (draw_radio): New.
218         (draw_shadow_rectangle): Add parameter `down_p'.
220         * xlwmenuP.h (_window_state): Add button_width.
222 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
224         * xlwmenu.c (make_shadow_gcs) ]emacs]: Use x_alloc_nearest_color.
226         * lwlib.c (merge_widget_value): Handle button_type.
227         (copy_widget_value_tree): Copy button_type.
229         * lwlib.h (enum button_type): New.
230         (_widget_value): New member button_type.
232 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
234         * lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
235         using XmNrowColumnType.
237 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
239         * xlwmenu.c (abort_gracefully): New.
240         (display_menu): Use it instead of abort.
241         (size_menu): Ditto.
243 1999-07-12  Gerd Moellmann  <gerd@gnu.org>
245         * xlwmenu.c (xlwMenuResources): Change previously unused 
246         XtNmargin to 4.
247         (size_menu): Take margin into account.
248         (display_menu_item): Ditto.
249         (remap_menubar): Ditto.
250         (draw_arrow): Draw it 3D.
252 1999-07-12  Richard Stallman  <rms@gnu.org>
254         * Version 20.4 released.
256 1998-08-19  Richard Stallman  <rms@psilocin.ai.mit.edu>
258         * Version 20.3 released.
260 1998-07-30  Paul Eggert  <eggert@twinsun.com>
262         * lwlib/Makefile.in (lwlib-utils.o, lwlib.o, lwlib-Xlw.o)
263         (lwlib-Xaw.o, lwlib-Xm.o, lwlib-Xol.o, lwlib-Xolmb.o): 
264         Add dependencies to corresponding .c files. for Solaris 2.x VPATH make.
266 1998-04-06  Andreas Schwab  <schwab@gnu.org>
268         * lwlib.c: Always declare xmalloc.
269         [USE_XAW]: Include <X11/Xaw/Paned.h>.
270         (lwlib_memset, lwlib_bcopy): Explicitly declare return type.
272 1997-12-20  Richard Stallman  <rms@delysid.gnu.org>
274         * lwlib-Xm.c (update_one_menu_entry):
275         Add conditional in case XmNpositionIndex is missing.
277 1997-12-20  Richard Stallman  <rms@psilocin.gnu.org>
279         * lwlib-Xm.c (update_one_menu_entry):
280         Add conditional in case XmNpositionIndex is missing.
282 1997-09-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
284         * Version 20.2 released.
286         * xlwmenu.c (motion_event_is_in_menu): Extend the left and
287         top windows by the shadow width.
289 1997-09-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
291         * Version 20.1 released.
293 1997-07-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
295         * xlwmenu.c (display_menu): If an item is disabled,
296         don't display its submenu (if any).
298 1997-05-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
300         * xlwmenu.c (pop_up_menu): Update the call to x_catch_errors.
302 1997-01-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
304         * xlwmenu.c (fit_to_screen): If new menu would overlap the previous
305         one from the side, try moving it up or down.
307 1996-08-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
309         * Version 19.33 released.
311         * lwlib-Xm.c (update_one_menu_entry): Fix previous change:
312         When XmIsCascadeButton, don't call XmCreateCascadeButtonGadget,
313         just modify the existing one.
314         
315 1996-08-09  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
317         * lwlib.c (merge_widget_value): Undo previous change.
318         
319         * lwlib-Xm.c (update_one_menu_entry): When creating a pulldown
320         in an existing but empty menu item, in order to get a new functional
321         pulldown, the menu item must be switched from an XmPushButtonGadget
322         into a XmCascadeButtonGadget.
324 1996-07-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
326         * Version 19.32 released.
328 1996-07-31  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
330         * lwlib-Xm.c (make_menubar): Turn off menu accelerator.
332 1996-07-24  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
334         * lwlib.c (merge_widget_value) [USE_MOTIF]: Pass along the change
335         flag from merged_contents.
337 1996-07-13  Karl Heuer  <kwzh@gnu.ai.mit.edu>
339         * lwlib-Xm.c (xm_update_menu): Fix loop termination test.
341 1996-07-07  Karl Heuer  <kwzh@gnu.ai.mit.edu>
343         * lwlib-Xm.h, lwlib-Xm.c, lwlib.h, lwlib.c: Undo previous change.
345 1996-07-03  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
347         * lwlib-Xm.h: Declare lw_motif_menu_related_event_p.
349         * lwlib-Xm.c (lw_motif_menu_related_event_p): A predicate to
350         identify keyboard events intended only for menus.
352         * lwlib.h: Declare lw_toolkit_related_event_p.
354         * lwlib.c (lw_toolkit_related_event_p): A predicate to identify
355         toolkit-specific events.
357 1996-06-07  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
359         * lwlib-Xm.c (make_menu_in_widget): Set mapping delay
360         for cascade buttons to zero.
362 1996-05-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
364         * Version 19.31 released.
366 1996-03-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
368         * lwlib-Xm.c (destroy_all_children): When freeing a cascade button,
369         free its submenu too.
370         (make_menu_in_widget): Use a cascade button gadget, not a widget.
371         Include Xm/CascadeBG.h.
373 1996-03-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
375         * Makefile.in (tags): New target.
377 1996-03-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
379         * Makefile.in (TAGS): Renamed from `tags' and fixed to work.
381 1996-03-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
383         * Makefile.in (xlwmenu.o): New explicit target.
385 1996-03-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
387         * lwlib.h (struct widget_value): New field this_one_change.
388         * lwlib.c (merge_widget_value): Set the this_one_change field.
389         * lwlib-Xm.c (destroy_all_children): New arg first_child_to_destroy.
390         (make_menu_in_widget): New arg keep_first_children.
391         (xm_update_menu): Preserve the first children even if later ones
392         have a structural change.
393         (update_one_menu_entry): Use this_one_change field.
395 1996-03-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
397         * xlwmenu.c (motion_event_is_in_menu): Make x and y signed.
399 1996-02-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
401         * lwlib.c (lw_window_is_in_menubar) [USE_MOTIF]:
402         With Motif, the window WIN can be the menu bar widget itself.
404 1996-02-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
406         * lwlib.c (free_widget_value_tree, merge_widget_value):
407         Use XtFree for the toolkit_data.
409 1996-02-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
411         * lwlib.c (lw_internal_update_other_instances): Move static var
412         outside the function, and rename it to lwlib_updating.
414 1996-01-04  Paul Eggert  <eggert@twinsun.com>
416         * lwlib.c (instantiate_widget_instance): Renamed from
417         instanciate_widget_instance (spelling correction).
418         All callers changed.
420 1995-12-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
422         * xlwmenu.c (xlwMenuActionsList): Add "key" and "nothing".
423         (xlwMenuTranslations): Add translations for Key, KeyUp,
424         and for the modifier keysyms.
425         (Nothing, Key): New functions.
427 1995-12-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
429         * xlwmenu.c (XlwMenuSetValues): Do redisplay if non-null contents
430         get replaced by empty contents.
432         * lwlib.c (merge_widget_value): Treat disappearance of entire contents
433         as a STRUCTURAL_CHANGE.
435 1995-12-20  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
437         * lwlib-utils.c: Add #undef for index and rindex.
439 1995-11-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
441         * Version 19.30 released.
443 1995-11-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
445         * xlwmenu.c (display_menu_item): Fix previous change.
447 1995-11-04  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
449         * xlwmenu.c (display_menu_item): Don't treat buttons specially.
451 1995-08-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
453         * Makefile.in (RANLIB): Get this var from configure.
455 1995-08-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
457         * lwlib.c (lw_popup_menu): New arg `event', passed along.
458         * lwlib-Xlw.c (xlw_popup_menu): New arg `event'.
459         * lwlib-Xm.c (xm_popup_menu): New arg `event'.
461 1995-06-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
463         * Version 19.29 released.
465 1995-06-11  Richard Stallman  <rms@gnu.ai.mit.edu>
467         * lwlib.c (lwlib_toolkit_type): New variable.
469 1995-05-26  Richard Stallman  <rms@gnu.ai.mit.edu>
471         * xlwmenu.c (Drag): Do nothing unless menu.popped_up field is set.
473 1995-05-22  Karl Heuer  <kwzh@hal.gnu.ai.mit.edu>
475         * xlwmenu.c (XlwMenuInitialize): Cast XCreatePixmapFromBitmapData args.
477 1995-05-20  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
479         * lwlib.c: Don't use prototype.
480         * lwlib-Xm.c (activate_button, xm_update_cascadebutton): Likewise.
482 1995-05-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
484         * lwlib.c (lw_refigure_widget) [USE_MOTIF]: Fix backward if.
486 1995-05-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
488         * Makefile.in (ALL_CFLAGS): Add -I../src.
490 1995-05-03  Morten Welinder  <terra+@cs.cmu.edu>
492         * lwlib.c [__osf__]: Include string.h and stdlib.h.
493         [__osf__] (xmalloc): Declared.
495 1995-04-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
497         * lwlib-Xm.c (update_one_menu_entry, make_menu_in_widget):
498         Specify more useful names in XmCreatePulldownMenu calls.
500         * lwlib-Xaw.c (xaw_pop_instance): Make x, y, w, h unsigned.
502         * xlwmenu.c (size_menu): Make height and label_width unsigned.
503         (fit_to_screen): Make screen_width and screen_height unsigned.
504         (motion_event_is_in_menu): Make x, y unsigned.
506 1995-04-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
508         * lwlib-utils.c: If HAVE_CONFIG_H, include config.h.
510         * Makefile.in (ALL_CFLAGS): Define HAVE_CONFIG_H.
511         Add -I${srcdir}/../src.
512         
513 1995-04-08  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
515         * lwlib-Xm.c: Remove function prototypes.
516         (xm_pop_down_callback): Call the deactivation callback only when
517         popping down the top level submenu.
519 1995-04-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
521         * Makefile.in (lwlib.o): Depend on Makefile.
523         * lwlib-Xm.h: Remove function prototypes.
525         * lwlib-Xm.c (remove_grabs): Use type Widget for `menu'.
527 1995-02-15  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
529         * Makefile.in (ALL_CFLAGS): Allow include files to be found in
530         `srcdir'.
532 1995-02-07  Richard Stallman  <rms@pogo.gnu.ai.mit.edu>
534         * Makefile.in (maintainer-clean): Renamed from realclean.
536 1994-11-28  Richard Stallman  <rms@bethel>
538         * lwlib-int.h (safe_strdup): Don't use ANSI argument prototype.
540 1994-11-15  Paul Reilly  <pmr@duality.gnu.ai.mit.edu>
542         * lwlib.c (lw_refigure_widget): Use the macro USE_XAW rather than XAW.
544 1994-11-08  Paul Reilly  <pmr@duality.gnu.ai.mit.edu>
546         * lwlib-Xm.c (make_menu_in_widget):  Differentiate a separator
547         entry ("--") from a title.
548         (xm_pop_down_callback): Filter all but the last pop down callbacks.
550 1994-11-07  Paul Reilly  <pmr@duality.gnu.ai.mit.edu>
552         * lwlib-Xm.c (update_one_menu_entry): Use the parent of the
553         cascade button as the parent of the pulldown, rather than the
554         cascade button itself.  This works around a Motif SIGSEGV in the
555         function `InSharedMenuHierarchy'.
557 1994-10-29  Richard Stallman  <rms@duality.gnu.ai.mit.edu>
559         * xlwmenu.c (xlwmenu_default_font): New global variable.
560         (XlwMenuInitialize): Use xlwmenu_default_font to default
561         the font if necessary.  Make mw, itself, an argument.
563 1994-10-26  Richard Stallman  <rms@duality.gnu.ai.mit.edu>
565         * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
567 1994-10-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
569         * xlwmenu.c (xlwmenu_default_font): New global variable.
570         (XlwMenuInitialize): Use xlwmenu_default_font to default
571         the font if necessary.  Make mw, itself, an argument.
573         * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
575 1994-10-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
577         * xlwmenu.c (fit_to_screen): Don't put the menu off the left or top.
579 1994-10-02  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
581         * xlwmenu.c (display_menu_item): Add support for displaying the
582         title in pop up menus.
584         * lwlib.c (lw_set_main_areas): Use xm_set_main_areas().
585         (lw_manage_resizing): Use xm_manage_resizing() for Emacs/Motif.
587 1994-09-25  Paul Reilly  <pmr@geech.gnu.ai.mit.edu>
589         * lwlib-Xaw.c (xaw_create_main): New function to support the
590         toolkit independent creation of the main Emacs widget.  *
591         lwlib-Xlw.c (xlw_create_menubar): When compiling under Emacs, set
592         resizing resources to disable showGrip and to enable both
593         resizeToPreferred and allowShellResize.
595         * lwlib-Xm.h: Declare xm_set_main_areas, xm_manage_resizing.
597         * lwlib-Xm.c: (make_menu_in_widget): Add support for displaying a
598         title in pop up menus.
599         (make_main, xm_set_main_areas, xm_manage_resizing): New functions to
600         create and manage a Motif Main Window widget.
602         * xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
604 1994-09-18  Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
606         * lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
607         set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn.  Also add a
608         margin of 10 pixels.
610 1994-09-16  Paul Reilly <pmr@geech.gnu.ai.mit.edu>
612         * lwlib-Xm.c (make_main): New function to support toolkit
613         independent creation of the main Emacs widget.
614         (make_destroyed_instance): Use safe_strdup() instead of strdup().
616         * lwlib-int.h: Declare safe_strdup.
618         * lwlib.c (lw_refigure_widget): New function.  Handle geometry
619         management inside lwlib instead of in Emacs.
620         (lw_window_is_in_menubar): New function.  Determine if the pointer
621         is in a menubar.
622         (lw_set_main_areas): New function.  Set the main window widgets for
623         Motif.
625         * lwlib.h: Declare lw_refigure_widget(), lw_window_is_in_menubar(),
626         lw_set_main_areas().
628         * xlwmenu.h: Define Xt{Ns,CS}howGrip, Xt{Nr,CR}esizeToPreferred, and
629         Xt{Na,CA}llowResize.
631         * xlwmenu.c (Start): Use pop_up_menu() to post the submenus.
632         (Select): Remove the pointer grab when popping down a menubar
633         submenu.
634         (pop_up_menu): Handle popping up submenus from a menubar, i.e. when
635         the menu widget parent is not a shell widget.
637 1994-08-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
639         * xlwmenu.c (pop_up_menu): Clear next_release_must_exit.
640         (Start): Clear next_release_must_exit when popping up the menu.
642 1994-08-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
644         * xlwmenu.c (Start): Set menu_post_event or next_release_must_exit.
645         (Select): Do nothing if the menu should be left posted.
647 1994-07-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
649         * xlwmenu.c (make_windows_if_needed, pop_up_menu):
650         Enable mouse motion events even when no button down.
652 1994-07-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
654         * xlwmenu.c (pointer_grabbed): New variable.
655         (pop_up_menu): Set the variable.
656         (XlwMenuDestroy): Maybe call XtUngrabPointer.
658 1994-05-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
660         * lwlib.c (max): Function deleted.  Define as macro instead,
661         but only if not already defined.
663 1994-05-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
665         * xlwmenu.c (xlwMenuResources): Use XtRDimension for shadow thickness.
667 1994-05-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
669         * lwlib-Xaw.c (xaw_pop_instance): Use XtSetValues, not XtMoveWidget.
671 1994-05-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
673         * lwlib.c (lwlib_memset: New function, used instead of memset.
674         All callers changed.
675         * lwlib.c (lwlib_bcopy): New function.
676         * lwlib-utils.c (XtApplyToWidgets): Use lwlib_bcopy.
678         * lwlib.c: Delete definitions for use of alloca.
679         (name_to_widget): Use xmalloc, not alloca.
681 1994-05-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
683         * xlwmenu.c (XlwMenuDestroy): Set new var submenu_destroyed.
684         (XlwMenuRedisplay): If it's set, truncate the old_depth to 1.
686 1994-05-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
688         * xrdb-cpp.c: Don't include string.h, unistd.h, stdlib.h.
689         * lwlib-Xaw.c: Don't include string.h, unistd.h, stdlib.h.
690         * lwlib-utils.c (XtApplyToWidgets): Use bcopy, not memcpy.
691         * lwlib-utils.c: Don't include string.h, unistd.h, stdlib.h, memory.h.
692         * xlwmenu.c: Don't include string.h, unistd.h, stdlib.h.
693         * lwlib.c: Don't include string.h, unistd.h, stdlib.h.
694         (safe_strdup): No longer static.
695         * lwlib-Xm.c: Use safe_strdup, not strdup.
697         * xlwmenu.c (string_width): No longer static.
699 1994-05-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
701         * xlwmenuP.h (struct _XlwMenu_part): Use Pixel and Cursor
702         for foreground and cursor_shape fields.
704         * xlwmenu.c (XlwMenuSetValues): Check for change of font.
706 1994-04-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
708         * Makefile.in: Delete all SRCS variables (unused).
709         (lwlib.o, xrdb-cpp.o): Mention srcdir in dep.
711 1994-04-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
713         * Makefile.in (ALL_CFLAGS): Don't define THIS_IS_X11R4.
715         * xrdb.c: Define HAVE_X11R5 as in xterm.h.
716         Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
717         (_XtDisplayInitialize): Test HAVE_X11R5.
719         * dispatch.c: Define HAVE_X11R5 as in xterm.h.
720         Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
721         (_XtConvertTypeToMask): Conditionalize on HAVE_X11R5.
722         (WouldDispatchEvent): Likewise.
724 1994-04-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
726         * lwlib-Xaw.c (xaw_generic_callback): Declare without arg names.
728 1994-04-01  Frederic Pierresteguy  (fp@hal.gnu.ai.mit.edu)
730         * lwlib-Xaw.c (make_dialog): Don't allow any geometry request from the 
731         user.
733 1994-03-22  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
735         * xlwmenu.c (XlwMenuResize): Don't allow the popup menu to resize 
736         itself. Therefore reset the size to its initial value.
738 1994-03-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
740         * lwlib-Xaw.c (xaw_update_one_widget): Finish replacing XtVaSetValues.
741         Don't test for scrollbar widget.
743 1994-03-14  Frederic Pierresteguy  (fp@gnu.ai.mit.edu)
745         * lwlib-int.h: Declare lw_get_widget_info.
747         * lwlib.c (lw_get_widget_info): Comment out arg in function decl.
749         * lwlib-Xaw.h: Comment out args in function decls.
750         * lwlib-Xaw.c: Convert all function definitions to non-prototype K&R.
751         (xaw_update_one_widget - case dialogWidgetClass): Call XtSetValues,
752         not XtVaSetValues.
754 1994-03-11  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
756         * xlwmenu.c (display_menu_item): Modify parameters to draw_arrow to
757         right justify the arrow in the pane.
759         * lwlib.c: If not defined USE_MOTIF and defined USE_LUCID then
760         define USE_XAW.
762         * Makefile.in (LUCID_SRCS, LUCID_OBJS): Add the target lwlib-Xaw.[oc].
764         * lwlib.c, lwlib-int.h: Merged from Lucid 19.9 release.
765         * lwlib.c (_AIX): Replace the AIXV3 directive.
766         (USE_XAW): New macro to conditionalize the use of the athena toolkit.
767         (lw_get_widget_info): New function.
768         (set_one_value): Handle USE_XAW.
769         (instanciate_widget_instance): Likewise.
770         (destroy_one_instance): Likewise.
771         (lw_pop_all_widgets): Likewise.
772         (lw_pop_down_all_widgets): Likewise.
773         (get_one_value): Likewise.
775         * lwlib-Xaw.c, lwlib-Xaw.h: New files.
777 1994-02-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
779         * xlwmenu.c (XlwMenuInitialize, XlwMenuDestroy): Undo previous changes.
781         * lwlib-Xlw.c (xlw_create_menubar, xlw_create_popup_menu):
782         Use XtCreate..., not XtVaCreate...
783         No need to copy instance->info->val any more.
784         (xlw_update_one_widget): Use XtSetValues, not XtVaSetValues.
786 1994-02-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
788         * xlwmenu.c (pop_up_menu): Call XtUngrabPointer if XtGrabPointer fails.
790 1994-02-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
792         * Makefile.in (xrdb-cpp.o, lwlib.o): Put ALL_CFLAGS after other flags.
794         * lwlib-Xlw.c (xlw_create_menubar): Don't call free_widget_value.
795         Use malloc for allocation.
796         (xlw_create_popup_menu): Likewise.
798 1994-02-18  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
800         * lwlib.c (malloc_cpt): New static variable.
801         (malloc_widget_value): Increment malloc_cpt when allocating a cell.
802         (free_widget_value): Really free the cells when the number of
803         allocated ones is bigger than 25.
805         * lwlib-Xlw.c (xlw_create_menubar): Call malloc_widget_value and
806         free_widget_value instead of XtMalloc and XtFree.
807         (xlw_create_popup_menu): Likewise.
809 1994-02-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
811         * Makefile.in (ALL_CFLAGS): Specify -Demacs.
813         * xlwmenu.c (pop_up_menu) [emacs]: Catch and ignore X protocol errors
814         in XtGrabPointer.
816 1994-02-17  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
818         * lwlib-Xlw.c (xlw_create_popup_menu): Pass tem to 
819         XtVaCreateManagedWidget, not instance->info->val.
820         (xlw_create_menubar): Likewise.
822 1994-02-15  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
824         * lwlib-Xlw.c (xlw_create_popup_menu): Copy instance->info->val
825         before calling XtVaCreateManagedWidget and then free the copy.
826         (xlw_create_menubar): Likewise.
828 1994-02-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
830         * xlwmenu.c (XlwMenuInitialize): Copy mw->menu.contents.
831         (XlwMenuDestroy): Free mw->menu.contents.
833 1994-02-09  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
835         * xlwmenu.c (display_menu_item): Call draw_shadow_rectangle to make
836         visible/invisible the selection of the menubar items.
838 1994-02-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
840         * lwlib.c (strcasecmp): Renamed to my_strcasecmp.
841         (find_in_table): Changed only caller.
843 1994-02-04  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
845         * xlwmenu.c (display_menu_item): When dealing with the menubar,
846         always call XDrawRectangle to clear the selection after popping down 
847         the pulldown menu.
849 1994-02-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
851         * lwlib.c: Include ctype.h.
853 1994-01-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
855         * lwlib.c (strcasecmp): New function.
857 1994-01-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
859         * xlwmenu.c, lwlib.c, lwlib-Xlw.c, lwlib-utils.c:
860         Convert all function definitions to non-prototype K&R.
862         * lwlib-Xlw.h: Comment out args in function decls.
863         * lwlib.h: Comment out args in function decls.
864         * lwlib-utils.h: Comment out args in function decls.
866 1994-01-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
868         * lwlib.c: Include StringDefs.h after lwlib.h.
870 1994-01-22  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
872         * Makefile (xrdb-cpp.o, lwlib.o): Use $(srcdir) and file name
873         instead of $*.
874         (dispatch.o, xrdb.o, lwlib-Xm.o): Rules removed; they were
875         superfluous and didn't work when configured outside srcdir.  The
876         implicit .c.o rule works fine.
878 1994-01-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
880         * xlwmenu.c (resource_widget_value): Avoid using strdup.
882 1994-01-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
884         * Makefile.in: New file.
886         * lwlib-Xolmb.c: Renamed from lwlib-Xol-mb.c.
887         * lwlib-Xolmb.h: Renamed from lwlib-Xol-mb.h.
888         * lwlib-XolmbP.h: Renamed from lwlib-Xol-mbP.h.
890         * lwlib-int.h: Renamed from lwlib-internal.h.
892