1 2002-12-22 Richard M. Stallman <rms@gnu.org>
3 * xlwmenu.c (pop_new_stack_if_no_contents): Do nothing if
5 (remap_menubar): Don't look in new_stack[0].
6 (Left): At level 1, do the same thing Right does.
8 2002-11-21 Dave Love <fx@gnu.org>
10 * lwlib-Xaw.c [PROTOTYPES]: Provide ISO C arglists for functions
13 2002-11-20 Dave Love <fx@gnu.org>
15 * lwlib.c: Remove obsolete USE_OLIT code.
16 [PROTOTYPES]: Provide ISO C arglists for functions with Boolean
18 (lwlib_memset): Declare length arg as size_t.
19 (malloc_widget_value): Cast arg of lwlib_memset.
21 * xlwmenu.c (separator_height): Prototype.
23 2002-05-07 Miles Bader <miles@gnu.org>
25 * xlwmenu.c (make_drawing_gcs): The scaling factor passed to
26 `x_alloc_lighter_color_for_widget' is a float, not an int, and
27 it's a multiplicative factor, so the name `delta' is inaccurate.
28 Always base disabled foreground on the normal foreground.
29 Don't use the temporary variable `temp'.
31 2002-05-06 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
33 * xlwmenu.c (xlwMenuResources): New resource.
34 (find_next_selectable): Return current item when the menu is not
36 Rename `inactive_gc' to `disabled_gc'.
37 Use lighter/darker color for disabled menu items instead of using
38 stipple. Use stipple only when better color can not be
39 determined automatically.
41 * xlwmenu.h (XtNdisabledForeground, XtCDisabledForeground):
44 * xlwmenuP.h (_XlwMenu_part): Add new member `disabled_foreground'.
45 Rename `inactive_gc' to `disabled_gc'.
47 2002-04-29 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
49 * xlwmenu.c <XtNmargin, XtNverticalSpacing, XmNshadowThickness>:
50 Change default values.
52 2002-04-28 Jan D. <jan.h.d@swipnet.se>
54 * xlwmenu.c: Do not grab keyboard if installation-directory is
55 non-nil (not installed Emacs). To simplify debugging.
57 2002-04-28 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
59 * Makefile.in: Remove OpenLook file dependencies.
60 (xrdb-cpp.o): Remove target.
61 Remove unused defines.
63 * xrdb.c, xrdb-cpp.c, Imakefile, dispatch.c, dispatch.h:
66 * lwlib.c (instantiate_widget_instance): Remove duplicated prototype.
68 2002-04-25 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
70 * lwlib-Xol.c, lwlib-Xol.h, lwlib-Xolmb.c, lwlib-Xolmb.h
71 * lwlib-XolmbP.h: Remove file.
73 2002-04-22 Jan D. <jan.h.d@swipnet.se>
75 * lwlib-Xm.c: Removed compiler warning.
77 * xlwmenu.c: Add calls to GrabKeyboard to remove strange
78 interactions with window managers that steal keypresses.
79 Call ungrab_all instead of XtUngrabPointer.
80 (pop_up_menu): Add call to XtGrabKeyboard.
81 (ungrab_all): New function.
83 2002-04-20 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
85 * xlwmenu.c (find_next_selectable): New function.
86 (Down, Up, Right): Use it.
87 (find_next_selectable): Prevent endless loops when only one item
88 is enabled in the menu.
90 2002-04-19 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
92 These changes allow moving in menu via keyboard.
94 * xlwmenu.c (xlwMenuTranslations, xlwMenuActionsList):
95 Add translations for cursor keys and RET.
96 (find_next_selectable, find_prev_selectable): New functions used
97 for finding menu-items.
98 (Down, Up, Left, Right): New functions.
100 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
102 * Makefile.in (TAGS): Don't use -t, it's the default behavior for
103 etags, so it barfs if invoked with -t.
105 2002-03-17 Richard M. Stallman <rms@gnu.org>
107 * lwlib.c (P_): Definitions deleted.
109 2002-03-16 Eli Zaretskii <eliz@is.elta.co.il>
111 * lwlib.c (P_): Don't define if already defined.
113 2002-01-27 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
115 * lwlib-Xaw.c (xaw_update_scrollbar, xaw_scrollbar_scroll)
116 (xaw_scrollbar_jump): Put whole functions in #if 0.
118 2002-01-09 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
120 * lwlib-Xaw.c (xaw_create_dialog): Initialize icon_name to
121 suppress compiler warnings.
123 2001-12-18 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
125 * lwlib.c (separator_names): Add missing braces around initializers.
127 2001-12-08 Pavel Jan
\e,Bm
\e(Bk <Pavel@Janik.cz>
131 2001-12-01 Richard M. Stallman <rms@gnu.org>
133 * lwlib.h (_widget_value): `help' has type Lisp_Object.
135 * xlwmenu.c, lwlib-Xaw.c, lwlib-Xlw.c: Include ../src/lisp.h.
136 * lwlib-Xm.c, lwlib-Xol.c, lwlib/lwlib-Xolmb.c: Include ../src/lisp.h.
137 * lwlib/lwlib-utils.c: Include ../src/lisp.h.
139 * lwlib.c: Include ../src/lisp.h. Don't declare xmalloc.
140 (free_widget_value_tree): Don't free `help' field.
141 (copy_widget_value_tree): Copy `help' simply, without safe_strdup.
142 (merge_widget_value): Compare and copy `help' simply.
144 2001-11-28 Richard M. Stallman <rms@gnu.org>
146 * Makefile.in (TAGS): Find the source files in $(srcdir).
148 2001-10-20 Gerd Moellmann <gerd@gnu.org>
150 * (Version 21.1 released.)
152 2001-10-09 Gerd Moellmann <gerd@gnu.org>
154 * lwlib-Xaw.c (xaw_create_scrollbar) [!0]: Return NULL.
155 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
157 2001-10-05 Gerd Moellmann <gerd@gnu.org>
161 2001-04-30 Gerd Moellmann <gerd@gnu.org>
163 * xlwmenu.c (xlwmenu_window_p): New function.
165 2001-03-23 Gerd Moellmann <gerd@gnu.org>
167 * lwlib-Xlw.c (x_print_complete_resource_name) [0]: New function.
169 2001-03-22 Gerd Moellmann <gerd@gnu.org>
171 * lwlib-Xm.c (x_print_complete_resource_name) [0]: New function.
173 2001-03-13 Gerd Moellmann <gerd@gnu.org>
175 * lwlib-Xm.c (make_menu_in_widget): Remove code forcing LessTif to
176 recompute centered text; it works fine without with current LessTif.
178 * lwlib-Xm.c (make_menu_in_widget): Add an XmNpopdownCallback
179 instead of an XmNunmapCallback.
180 (xm_unmap_callback): Removed.
182 * lwlib-Xm.c (make_menubar): Take out code in #if 0.
184 * lwlib-Xm.c (xm_popup_menu): Don't set XmNmenuPost unless
185 necessary. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
187 2001-02-28 Gerd Moellmann <gerd@gnu.org>
189 * lwlib-Xm.c (xm_arm_callback): Don't compare widgets with `None',
192 * lwlib-Xaw.c (xaw_update_one_widget): Use XtSetSensitive instead
193 of setting the value of XtNsensitive.
195 * lwlib-Xm.c (xm_update_radiobox, update_one_menu_entry)
196 (xm_update_one_widget): Use XtSetSensitive instead of setting the
197 value of XmNsensitive. From Rick Scott <rwscott@alumni.uwaterloo.ca>.
199 2000-12-14 Dave Love <fx@gnu.org>
201 * xlwmenu.c (gray_bitmap_bits): Remove `unsigned' from declaration.
203 2000-12-11 Dave Love <fx@gnu.org>
205 * xlwmenu.c (draw_separator) <SEPARATOR_SHADOW_ETCHED_IN_DASH>:
206 <SEPARATOR_SHADOW_ETCHED_OUT_DASH>: Fix call of draw_separator.
208 2000-12-07 Gerd Moellmann <gerd@gnu.org>
210 * lwlib-Xm.c (xm_arm_callback): Fix last change.
212 2000-11-30 Gerd Moellmann <gerd@gnu.org>
214 * lwlib-Xm.c (xm_arm_callback): Handle case that W is null;
215 also see comment there.
217 2000-11-21 Gerd Moellmann <gerd@gnu.org>
219 * xlwmenu.c (xlwmenu_redisplay): New function.
221 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
223 * lwlib.c (lw_separator_p): Init separator_p (bug with "-- some text").
225 2000-09-28 Sam Steingold <sds@gnu.org>
227 * xlwmenu.c: Before including <X11/Xos.h> on SUN, define SUNOS41
228 to avoid redefining struct timeval and struct timezone.
230 2000-09-04 Miles Bader <miles@gnu.org>
232 * xlwmenu.c (XlwMenuSetValues): Only frob the display if the menu
233 is actually displayed.
234 (remap_menubar): Only include the menu-margin in the initial X & Y
235 positions for horizontal menu-bars.
236 (fit_to_screen): If moving a sub-menu to the left-side, increment
237 its x-position by the shadow-thickness to make it look more
238 attached to the invoking menu-item (similarly to the way it would
239 be displayed on the right side).
241 2000-09-03 Miles Bader <miles@gnu.org>
243 * xlwmenu.c (x_alloc_lighter_color_for_widget): New extern declaration.
244 (make_shadow_gcs) [emacs]: Use x_alloc_lighter_color_for_widget to
245 do shadow calculation.
246 (make_shadow_gcs): Remove code that tests whether the top shadow
247 is dimmer than the bottom shadow--it shouldn't ever happen.
249 2000-08-30 Miles Bader <miles@gnu.org>
251 * xlwmenu.c (XlwMenuSetValues): If the background color has
252 changed, re-make the shadow-gcs too.
254 2000-08-03 Gerd Moellmann <gerd@gnu.org>
256 * lwlib.c, lwlib-Xm.c, lwlib-Xaw.c: Use NULL at the end of the
257 variable argument lists of XtVaSetValues and XtVaGetValues
258 functions because 0 is not sufficient on systems where sizeof
259 (int) < sizeof (void *).
261 2000-07-19 Gerd Moellmann <gerd@gnu.org>
263 * xlwmenu.c [emacs]: Don't include <X11/bitmaps/gray> because that
264 leads to redefinition errors when static is defined as empty in
265 config.h. Refer to the gray bitmap in xfns.c, instead.
267 2000-07-18 Dave Love <fx@gnu.org>
269 * lwlib-utils.c (XtApplyToWidgets): Cast args of lwlib_bcopy.
271 2000-06-23 Dave Love <fx@gnu.org>
273 * lwlib-Xlw.c (xlw_popup_menu): Cast arg of pop_up_menu.
275 * lwlib-utils.c: Include lwlib.h.
277 2000-06-16 Gerd Moellmann <gerd@gnu.org>
279 * xlwmenuP.h (_XlwMenu_part): Add free_top_shadow_color_p and
280 free_bottom_shadow_color_p.
282 * xlwmenu.c (make_shadow_gcs): Set free_top_shadow_color_p
283 and free_top_shadow_color_p flags in the menu widget if
284 top and bottom shadow colors must be freed.
285 (release_shadow_gcs): Free colors only if they must be freed.
287 2000-06-12 Gerd Moellmann <gerd@gnu.org>
289 * xlwmenu.c (make_shadow_gcs): Free and copy colors so that
290 color reference counts are right.
291 (release_shadow_gcs): Free colors.
293 2000-06-06 Dave Love <fx@gnu.org>
295 * xlwmenu.c (x_alloc_nearest_color_for_widget, x_catch_errors)
296 (x_uncatch_errors, x_had_errors_p, x_clear_errors): Add prototypes
297 -- should be moved into separate header.
298 (make_shadow_gcs) <x_alloc_nearest_color_for_widget>: Cast first arg.
299 (Start) <pop_up_menu>: Cast second arg.
301 * lwlib.c (P_): Use PROTOTYPES.
302 (safe_strdup): Declare arg const.
303 (lw_modify_all_widgets) <!info>: Return 0.
305 * lwlib-Xm.c (P_): Use PROTOTYPES.
307 * xlwmenu.h, lwlib.h, lwlib-utils.h, lwlib-int.h, lwlib-Xm.h:
308 * lwlib-Xlw.h, lwlib-Xaw.h: Enable prototypes.
310 * lwlib-Xaw.c (xaw_popup_menu): Add EVENT arg.
312 * Makefile.in (lwlib.o): Depend on lwlib-Xlw.h.
313 (lwlib-Xlw.o): Depend on lwlib-Xlw.h.
314 (lwlib-Xaw.o): Depend on lwlib-Xaw.h.
315 (lwlib-Xm.o): Depend on lwlib-Xm.h.
317 2000-03-12 Gerd Moellmann <gerd@gnu.org>
319 * lwlib-Xm.c (make_menubar) [LESSTIF_VERSION]: Don't set
320 XmNresizeHeight and XmNresizeWidth.
322 2000-03-08 Dave Love <fx@gnu.org>
324 * Makefile.in (liblw.a): Don't bother testing for ranlib failing
325 since configure sets it up.
327 2000-03-06 Gerd Moellmann <gerd@gnu.org>
329 * lwlib-Xm.c (make_menubar): Set XmNresizeHeight and
330 XmNresizeWidth resources only if LESSTIF_VERSION is defined.
332 2000-03-05 Gerd Moellmann <gerd@gnu.org>
334 * lwlib-Xm.c (xm_manage_resizing): Rewritten.
336 * lwlib.c (lw_modify_all_widgets): Return non-zero if widget
338 (merge_widget_value): Add parameter CHANGE_P. Set *CHANGE_P
339 to 1 if a change occurs.
341 * lwlib.h (lw_modify_all_widgets): Change prototype.
343 2000-03-04 Gerd Moellmann <gerd@gnu.org>
345 * xlwmenu.c (make_shadow_gcs): Use the widget's colormap instead
346 of the screen's default colormap.
348 2000-02-18 Gerd Moellmann <gerd@gnu.org>
350 * lwlib.c (merge_widget_value): Fix incorrect assignment of
351 safe_strdup'd help string.
353 2000-01-25 Gerd Moellmann <gerd@gnu.org>
355 * lwlib-Xm.c (make_menu_in_widget): Don't add XmNpopdownCallback,
356 add XmNunmapCallback.
357 (xm_unmap_callback): New function.
358 (xm_pull_down_callback): Call pre-activate callback only if
359 parent is the menu bar.
361 2000-01-17 Gerd Moellmann <gerd@gnu.org>
363 * lwlib-Xm.c (xm_arm_callback): New function.
364 (make_menu_in_widget): Set xm_arm_callback as XmNarmCallback and
365 XmNdisarmCallback for buttons (not supported for other widgets).
366 (make_menubar): Set XmNresizeHeight and XmNresizeWidth to False.
368 * lwlib-Xlw.c (highlight_hook): New function.
369 (xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as
370 callback XtNhighlightCallback.
372 * lwlib.c (copy_widget_value_tree): Copy help string.
373 (free_widget_value_tree): Free help string.
374 (merge_widget_value): Handle help string.
375 (allocate_widget_info, lw_register_widget, lw_create_widget):
376 Add parameter HIGHLIGHT_CB.
377 (lw_get_widget_instance): New function.
379 * lwlib-int.h: Add prototype for lw_get_widget_instance.
381 * lwlib.h (_widget_value): Add help string.
383 * xlwmenu.c (xlwMenuResources): All XtNhighlightCallback.
384 (remap_menubar): Call highlight callback.
386 * xlwmenu.h (XtNhighlightCallback): New define.
388 * xlwmenuP.h (_XlwMenu_part): Add `highlight' callback list.
390 1999-10-19 Paul Eggert <eggert@twinsun.com>
392 Add support for large files, plus some locale improvements.
394 * dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
396 Include <config.h> before any system include files.
398 * lwlib-Xm.c, lwlib.c:
399 Do not include <stdlib.h> or <string.h>, as <config.h> does this.
401 1999-10-07 Gerd Moellmann <gerd@gnu.org>
403 * lwlib-Xm.c (make_menu_in_widget, update_one_menu_entry):
404 Use widgets instead of gadgets to be able to set colors.
406 1999-09-17 Richard Stallman <rms@gnu.org>
408 * lwlib-Xaw.c (wm_delete_window): Check all the shell's children,
409 not just the first, to find the dialog box.
411 1999-09-14 Gerd Moellmann <gerd@gnu.org>
413 * lwlib.c (lw_separator_p): Check for new-style separators differently.
415 1999-09-10 Gerd Moellmann <gerd@gnu.org>
417 * lwlib.c (lw_separator_p): Add `--:space' with the same
418 meaning as `--:noLine'.
420 1999-09-06 Gerd Moellmann <gerd@gnu.org>
422 * lwlib.c (lw_separator_p): Add alternative separator type names.
424 1999-09-03 Gerd Moellmann <gerd@gnu.org>
426 * xlwmenu.c (make_shadow_gcs): Call x_alloc_nearest_color_for_widget.
428 1999-07-12 Gerd Moellmann <gerd@gnu.org>
430 * lwlib-Xm.c: Add function prototypes.
432 * lwlib-Xm.c (xm_update_label): Use val->name to look up
433 a label string from resources.
434 (xm_update_label): Add some comments.
436 1999-07-12 Gerd Moellmann <gerd@gnu.org>
438 * xlwmenu.c (all_dashes_p): Removed.
439 (size_menu_item): Call lw_separator_p.
440 (display_menu_item): Ditto.
441 (display_menu): Ditto.
442 (draw_separator): New.
443 (display_menu_item): Call it.
444 (separator_height): New.
445 (size_menu_item): Call it.
447 * lwlib-Xm.c (all_dashes_p): Removed.
448 (make_menu_in_widget): Use lw_separator_p. Set Motif separator type.
450 * lwlib.c (lw_separator_p): New.
452 * lwlib.h (enum menu_separator): New.
454 1999-07-12 Gerd Moellmann <gerd@gnu.org>
456 * lwlib-Xm.c (make_menu_in_widget): Set alignment of menu
457 title after all widgets have been created.
459 1999-07-12 Gerd Moellmann <gerd@gnu.org>
461 * xlwmenu.c (toggle_button_width): Renamed from
462 toggle_or_radio_button_width.
463 (radio_button_width): New.
464 (size_menu_item): Use new functions.
465 (draw_shadow_rhombus): New.
466 (draw_radio): Use radio_button_width and draw_shadow_rhombus.
467 (draw_toggle): Use toggle_button_width.
469 1999-07-12 Gerd Moellmann <gerd@gnu.org>
471 * lwlib-Xm.c (xm_update_toggle): Add callback xm_generic_callback
472 instead of xm_internal_update_other_instances.
474 * lwlib-Xm.c (make_menu_in_widget): Do help button before managing
475 children to get it to the right place.
476 (make_menu_in_widget): Create toggle buttons.
477 (update_one_menu_entry): Update toggle buttons.
479 * xlwmenu.c (size_menu_item): Add parameter button_width.
480 (size_menu): Compute button_width.
481 (toggle_or_radio_button_width): New.
484 (draw_shadow_rectangle): Add parameter `down_p'.
486 * xlwmenuP.h (_window_state): Add button_width.
488 1999-07-12 Gerd Moellmann <gerd@gnu.org>
490 * xlwmenu.c (make_shadow_gcs) ]emacs]: Use x_alloc_nearest_color.
492 * lwlib.c (merge_widget_value): Handle button_type.
493 (copy_widget_value_tree): Copy button_type.
495 * lwlib.h (enum button_type): New.
496 (_widget_value): New member button_type.
498 1999-07-12 Gerd Moellmann <gerd@gnu.org>
500 * lwlib-Xm.c (make_menu_in_widget): Test for menubar widgets
501 using XmNrowColumnType.
503 1999-07-12 Gerd Moellmann <gerd@gnu.org>
505 * xlwmenu.c (abort_gracefully): New.
506 (display_menu): Use it instead of abort.
509 1999-07-12 Gerd Moellmann <gerd@gnu.org>
511 * xlwmenu.c (xlwMenuResources): Change previously unused
513 (size_menu): Take margin into account.
514 (display_menu_item): Ditto.
515 (remap_menubar): Ditto.
516 (draw_arrow): Draw it 3D.
518 1999-07-12 Richard Stallman <rms@gnu.org>
520 * Version 20.4 released.
522 1998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu>
524 * Version 20.3 released.
526 1998-07-30 Paul Eggert <eggert@twinsun.com>
528 * lwlib/Makefile.in (lwlib-utils.o, lwlib.o, lwlib-Xlw.o)
529 (lwlib-Xaw.o, lwlib-Xm.o, lwlib-Xol.o, lwlib-Xolmb.o):
530 Add dependencies to corresponding .c files. for Solaris 2.x VPATH make.
532 1998-04-06 Andreas Schwab <schwab@gnu.org>
534 * lwlib.c: Always declare xmalloc.
535 [USE_XAW]: Include <X11/Xaw/Paned.h>.
536 (lwlib_memset, lwlib_bcopy): Explicitly declare return type.
538 1997-12-20 Richard Stallman <rms@delysid.gnu.org>
540 * lwlib-Xm.c (update_one_menu_entry):
541 Add conditional in case XmNpositionIndex is missing.
543 1997-12-20 Richard Stallman <rms@psilocin.gnu.org>
545 * lwlib-Xm.c (update_one_menu_entry):
546 Add conditional in case XmNpositionIndex is missing.
548 1997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
550 * Version 20.2 released.
552 * xlwmenu.c (motion_event_is_in_menu): Extend the left and
553 top windows by the shadow width.
555 1997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
557 * Version 20.1 released.
559 1997-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
561 * xlwmenu.c (display_menu): If an item is disabled,
562 don't display its submenu (if any).
564 1997-05-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
566 * xlwmenu.c (pop_up_menu): Update the call to x_catch_errors.
568 1997-01-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
570 * xlwmenu.c (fit_to_screen): If new menu would overlap the previous
571 one from the side, try moving it up or down.
573 1996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
575 * Version 19.33 released.
577 * lwlib-Xm.c (update_one_menu_entry): Fix previous change:
578 When XmIsCascadeButton, don't call XmCreateCascadeButtonGadget,
579 just modify the existing one.
581 1996-08-09 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
583 * lwlib.c (merge_widget_value): Undo previous change.
585 * lwlib-Xm.c (update_one_menu_entry): When creating a pulldown
586 in an existing but empty menu item, in order to get a new functional
587 pulldown, the menu item must be switched from an XmPushButtonGadget
588 into a XmCascadeButtonGadget.
590 1996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
592 * Version 19.32 released.
594 1996-07-31 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
596 * lwlib-Xm.c (make_menubar): Turn off menu accelerator.
598 1996-07-24 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
600 * lwlib.c (merge_widget_value) [USE_MOTIF]: Pass along the change
601 flag from merged_contents.
603 1996-07-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
605 * lwlib-Xm.c (xm_update_menu): Fix loop termination test.
607 1996-07-07 Karl Heuer <kwzh@gnu.ai.mit.edu>
609 * lwlib-Xm.h, lwlib-Xm.c, lwlib.h, lwlib.c: Undo previous change.
611 1996-07-03 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
613 * lwlib-Xm.h: Declare lw_motif_menu_related_event_p.
615 * lwlib-Xm.c (lw_motif_menu_related_event_p): A predicate to
616 identify keyboard events intended only for menus.
618 * lwlib.h: Declare lw_toolkit_related_event_p.
620 * lwlib.c (lw_toolkit_related_event_p): A predicate to identify
621 toolkit-specific events.
623 1996-06-07 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
625 * lwlib-Xm.c (make_menu_in_widget): Set mapping delay
626 for cascade buttons to zero.
628 1996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
630 * Version 19.31 released.
632 1996-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
634 * lwlib-Xm.c (destroy_all_children): When freeing a cascade button,
635 free its submenu too.
636 (make_menu_in_widget): Use a cascade button gadget, not a widget.
637 Include Xm/CascadeBG.h.
639 1996-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
641 * Makefile.in (tags): New target.
643 1996-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
645 * Makefile.in (TAGS): Renamed from `tags' and fixed to work.
647 1996-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
649 * Makefile.in (xlwmenu.o): New explicit target.
651 1996-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
653 * lwlib.h (struct widget_value): New field this_one_change.
654 * lwlib.c (merge_widget_value): Set the this_one_change field.
655 * lwlib-Xm.c (destroy_all_children): New arg first_child_to_destroy.
656 (make_menu_in_widget): New arg keep_first_children.
657 (xm_update_menu): Preserve the first children even if later ones
658 have a structural change.
659 (update_one_menu_entry): Use this_one_change field.
661 1996-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
663 * xlwmenu.c (motion_event_is_in_menu): Make x and y signed.
665 1996-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
667 * lwlib.c (lw_window_is_in_menubar) [USE_MOTIF]:
668 With Motif, the window WIN can be the menu bar widget itself.
670 1996-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
672 * lwlib.c (free_widget_value_tree, merge_widget_value):
673 Use XtFree for the toolkit_data.
675 1996-02-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
677 * lwlib.c (lw_internal_update_other_instances): Move static var
678 outside the function, and rename it to lwlib_updating.
680 1996-01-04 Paul Eggert <eggert@twinsun.com>
682 * lwlib.c (instantiate_widget_instance): Renamed from
683 instanciate_widget_instance (spelling correction).
686 1995-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
688 * xlwmenu.c (xlwMenuActionsList): Add "key" and "nothing".
689 (xlwMenuTranslations): Add translations for Key, KeyUp,
690 and for the modifier keysyms.
691 (Nothing, Key): New functions.
693 1995-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
695 * xlwmenu.c (XlwMenuSetValues): Do redisplay if non-null contents
696 get replaced by empty contents.
698 * lwlib.c (merge_widget_value): Treat disappearance of entire contents
699 as a STRUCTURAL_CHANGE.
701 1995-12-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
703 * lwlib-utils.c: Add #undef for index and rindex.
705 1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
707 * Version 19.30 released.
709 1995-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
711 * xlwmenu.c (display_menu_item): Fix previous change.
713 1995-11-04 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
715 * xlwmenu.c (display_menu_item): Don't treat buttons specially.
717 1995-08-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
719 * Makefile.in (RANLIB): Get this var from configure.
721 1995-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
723 * lwlib.c (lw_popup_menu): New arg `event', passed along.
724 * lwlib-Xlw.c (xlw_popup_menu): New arg `event'.
725 * lwlib-Xm.c (xm_popup_menu): New arg `event'.
727 1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
729 * Version 19.29 released.
731 1995-06-11 Richard Stallman <rms@gnu.ai.mit.edu>
733 * lwlib.c (lwlib_toolkit_type): New variable.
735 1995-05-26 Richard Stallman <rms@gnu.ai.mit.edu>
737 * xlwmenu.c (Drag): Do nothing unless menu.popped_up field is set.
739 1995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
741 * xlwmenu.c (XlwMenuInitialize): Cast XCreatePixmapFromBitmapData args.
743 1995-05-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
745 * lwlib.c: Don't use prototype.
746 * lwlib-Xm.c (activate_button, xm_update_cascadebutton): Likewise.
748 1995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
750 * lwlib.c (lw_refigure_widget) [USE_MOTIF]: Fix backward if.
752 1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
754 * Makefile.in (ALL_CFLAGS): Add -I../src.
756 1995-05-03 Morten Welinder <terra+@cs.cmu.edu>
758 * lwlib.c [__osf__]: Include string.h and stdlib.h.
759 [__osf__] (xmalloc): Declared.
761 1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
763 * lwlib-Xm.c (update_one_menu_entry, make_menu_in_widget):
764 Specify more useful names in XmCreatePulldownMenu calls.
766 * lwlib-Xaw.c (xaw_pop_instance): Make x, y, w, h unsigned.
768 * xlwmenu.c (size_menu): Make height and label_width unsigned.
769 (fit_to_screen): Make screen_width and screen_height unsigned.
770 (motion_event_is_in_menu): Make x, y unsigned.
772 1995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
774 * lwlib-utils.c: If HAVE_CONFIG_H, include config.h.
776 * Makefile.in (ALL_CFLAGS): Define HAVE_CONFIG_H.
777 Add -I${srcdir}/../src.
779 1995-04-08 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
781 * lwlib-Xm.c: Remove function prototypes.
782 (xm_pop_down_callback): Call the deactivation callback only when
783 popping down the top level submenu.
785 1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
787 * Makefile.in (lwlib.o): Depend on Makefile.
789 * lwlib-Xm.h: Remove function prototypes.
791 * lwlib-Xm.c (remove_grabs): Use type Widget for `menu'.
793 1995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
795 * Makefile.in (ALL_CFLAGS): Allow include files to be found in
798 1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
800 * Makefile.in (maintainer-clean): Renamed from realclean.
802 1994-11-28 Richard Stallman <rms@bethel>
804 * lwlib-int.h (safe_strdup): Don't use ANSI argument prototype.
806 1994-11-15 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
808 * lwlib.c (lw_refigure_widget): Use the macro USE_XAW rather than XAW.
810 1994-11-08 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
812 * lwlib-Xm.c (make_menu_in_widget): Differentiate a separator
813 entry ("--") from a title.
814 (xm_pop_down_callback): Filter all but the last pop down callbacks.
816 1994-11-07 Paul Reilly <pmr@duality.gnu.ai.mit.edu>
818 * lwlib-Xm.c (update_one_menu_entry): Use the parent of the
819 cascade button as the parent of the pulldown, rather than the
820 cascade button itself. This works around a Motif SIGSEGV in the
821 function `InSharedMenuHierarchy'.
823 1994-10-29 Richard Stallman <rms@duality.gnu.ai.mit.edu>
825 * xlwmenu.c (xlwmenu_default_font): New global variable.
826 (XlwMenuInitialize): Use xlwmenu_default_font to default
827 the font if necessary. Make mw, itself, an argument.
829 1994-10-26 Richard Stallman <rms@duality.gnu.ai.mit.edu>
831 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
833 1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
835 * xlwmenu.c (xlwmenu_default_font): New global variable.
836 (XlwMenuInitialize): Use xlwmenu_default_font to default
837 the font if necessary. Make mw, itself, an argument.
839 * xlwmenu.c (pop_up_menu): Pass a Display * to x_catch_errors, etc.
841 1994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
843 * xlwmenu.c (fit_to_screen): Don't put the menu off the left or top.
845 1994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
847 * xlwmenu.c (display_menu_item): Add support for displaying the
848 title in pop up menus.
850 * lwlib.c (lw_set_main_areas): Use xm_set_main_areas().
851 (lw_manage_resizing): Use xm_manage_resizing() for Emacs/Motif.
853 1994-09-25 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
855 * lwlib-Xaw.c (xaw_create_main): New function to support the
856 toolkit independent creation of the main Emacs widget. *
857 lwlib-Xlw.c (xlw_create_menubar): When compiling under Emacs, set
858 resizing resources to disable showGrip and to enable both
859 resizeToPreferred and allowShellResize.
861 * lwlib-Xm.h: Declare xm_set_main_areas, xm_manage_resizing.
863 * lwlib-Xm.c: (make_menu_in_widget): Add support for displaying a
864 title in pop up menus.
865 (make_main, xm_set_main_areas, xm_manage_resizing): New functions to
866 create and manage a Motif Main Window widget.
868 * xlwmenu.c: Add #include <X11/ObjectP.h> for X11R4.
870 1994-09-18 Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
872 * lwlib-Xm.c (make_dialog): When there is more than two pushbuttons,
873 set XmPACK_TIGHT and XmHORIZONTAL to the rowcolumn. Also add a
876 1994-09-16 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
878 * lwlib-Xm.c (make_main): New function to support toolkit
879 independent creation of the main Emacs widget.
880 (make_destroyed_instance): Use safe_strdup() instead of strdup().
882 * lwlib-int.h: Declare safe_strdup.
884 * lwlib.c (lw_refigure_widget): New function. Handle geometry
885 management inside lwlib instead of in Emacs.
886 (lw_window_is_in_menubar): New function. Determine if the pointer
888 (lw_set_main_areas): New function. Set the main window widgets for
891 * lwlib.h: Declare lw_refigure_widget(), lw_window_is_in_menubar(),
894 * xlwmenu.h: Define Xt{Ns,CS}howGrip, Xt{Nr,CR}esizeToPreferred, and
897 * xlwmenu.c (Start): Use pop_up_menu() to post the submenus.
898 (Select): Remove the pointer grab when popping down a menubar submenu.
899 (pop_up_menu): Handle popping up submenus from a menubar, i.e. when
900 the menu widget parent is not a shell widget.
902 1994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
904 * xlwmenu.c (pop_up_menu): Clear next_release_must_exit.
905 (Start): Clear next_release_must_exit when popping up the menu.
907 1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
909 * xlwmenu.c (Start): Set menu_post_event or next_release_must_exit.
910 (Select): Do nothing if the menu should be left posted.
912 1994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
914 * xlwmenu.c (make_windows_if_needed, pop_up_menu):
915 Enable mouse motion events even when no button down.
917 1994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
919 * xlwmenu.c (pointer_grabbed): New variable.
920 (pop_up_menu): Set the variable.
921 (XlwMenuDestroy): Maybe call XtUngrabPointer.
923 1994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
925 * lwlib.c (max): Function deleted. Define as macro instead,
926 but only if not already defined.
928 1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
930 * xlwmenu.c (xlwMenuResources): Use XtRDimension for shadow thickness.
932 1994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
934 * lwlib-Xaw.c (xaw_pop_instance): Use XtSetValues, not XtMoveWidget.
936 1994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
938 * lwlib.c (lwlib_memset: New function, used instead of memset.
940 * lwlib.c (lwlib_bcopy): New function.
941 * lwlib-utils.c (XtApplyToWidgets): Use lwlib_bcopy.
943 * lwlib.c: Delete definitions for use of alloca.
944 (name_to_widget): Use xmalloc, not alloca.
946 1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
948 * xlwmenu.c (XlwMenuDestroy): Set new var submenu_destroyed.
949 (XlwMenuRedisplay): If it's set, truncate the old_depth to 1.
951 1994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
953 * xrdb-cpp.c: Don't include string.h, unistd.h, stdlib.h.
954 * lwlib-Xaw.c: Don't include string.h, unistd.h, stdlib.h.
955 * lwlib-utils.c (XtApplyToWidgets): Use bcopy, not memcpy.
956 * lwlib-utils.c: Don't include string.h, unistd.h, stdlib.h, memory.h.
957 * xlwmenu.c: Don't include string.h, unistd.h, stdlib.h.
958 * lwlib.c: Don't include string.h, unistd.h, stdlib.h.
959 (safe_strdup): No longer static.
960 * lwlib-Xm.c: Use safe_strdup, not strdup.
962 * xlwmenu.c (string_width): No longer static.
964 1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
966 * xlwmenuP.h (struct _XlwMenu_part): Use Pixel and Cursor
967 for foreground and cursor_shape fields.
969 * xlwmenu.c (XlwMenuSetValues): Check for change of font.
971 1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
973 * Makefile.in: Delete all SRCS variables (unused).
974 (lwlib.o, xrdb-cpp.o): Mention srcdir in dep.
976 1994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
978 * Makefile.in (ALL_CFLAGS): Don't define THIS_IS_X11R4.
980 * xrdb.c: Define HAVE_X11R5 as in xterm.h.
981 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
982 (_XtDisplayInitialize): Test HAVE_X11R5.
984 * dispatch.c: Define HAVE_X11R5 as in xterm.h.
985 Include X11/Xlib.h, X11/cursorfont.h and X11/Xutil.h.
986 (_XtConvertTypeToMask): Conditionalize on HAVE_X11R5.
987 (WouldDispatchEvent): Likewise.
989 1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
991 * lwlib-Xaw.c (xaw_generic_callback): Declare without arg names.
993 1994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
995 * lwlib-Xaw.c (make_dialog): Don't allow any geometry request from the
998 1994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1000 * xlwmenu.c (XlwMenuResize): Don't allow the popup menu to resize
1001 itself. Therefore reset the size to its initial value.
1003 1994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1005 * lwlib-Xaw.c (xaw_update_one_widget): Finish replacing XtVaSetValues.
1006 Don't test for scrollbar widget.
1008 1994-03-14 Frederic Pierresteguy (fp@gnu.ai.mit.edu)
1010 * lwlib-int.h: Declare lw_get_widget_info.
1012 * lwlib.c (lw_get_widget_info): Comment out arg in function decl.
1014 * lwlib-Xaw.h: Comment out args in function decls.
1015 * lwlib-Xaw.c: Convert all function definitions to non-prototype K&R.
1016 (xaw_update_one_widget - case dialogWidgetClass): Call XtSetValues,
1019 1994-03-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
1021 * xlwmenu.c (display_menu_item): Modify parameters to draw_arrow to
1022 right justify the arrow in the pane.
1024 * lwlib.c: If not defined USE_MOTIF and defined USE_LUCID then
1027 * Makefile.in (LUCID_SRCS, LUCID_OBJS): Add the target lwlib-Xaw.[oc].
1029 * lwlib.c, lwlib-int.h: Merged from Lucid 19.9 release.
1030 * lwlib.c (_AIX): Replace the AIXV3 directive.
1031 (USE_XAW): New macro to conditionalize the use of the athena toolkit.
1032 (lw_get_widget_info): New function.
1033 (set_one_value): Handle USE_XAW.
1034 (instanciate_widget_instance): Likewise.
1035 (destroy_one_instance): Likewise.
1036 (lw_pop_all_widgets): Likewise.
1037 (lw_pop_down_all_widgets): Likewise.
1038 (get_one_value): Likewise.
1040 * lwlib-Xaw.c, lwlib-Xaw.h: New files.
1042 1994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1044 * xlwmenu.c (XlwMenuInitialize, XlwMenuDestroy): Undo previous changes.
1046 * lwlib-Xlw.c (xlw_create_menubar, xlw_create_popup_menu):
1047 Use XtCreate..., not XtVaCreate...
1048 No need to copy instance->info->val any more.
1049 (xlw_update_one_widget): Use XtSetValues, not XtVaSetValues.
1051 1994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1053 * xlwmenu.c (pop_up_menu): Call XtUngrabPointer if XtGrabPointer fails.
1055 1994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1057 * Makefile.in (xrdb-cpp.o, lwlib.o): Put ALL_CFLAGS after other flags.
1059 * lwlib-Xlw.c (xlw_create_menubar): Don't call free_widget_value.
1060 Use malloc for allocation.
1061 (xlw_create_popup_menu): Likewise.
1063 1994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1065 * lwlib.c (malloc_cpt): New static variable.
1066 (malloc_widget_value): Increment malloc_cpt when allocating a cell.
1067 (free_widget_value): Really free the cells when the number of
1068 allocated ones is bigger than 25.
1070 * lwlib-Xlw.c (xlw_create_menubar): Call malloc_widget_value and
1071 free_widget_value instead of XtMalloc and XtFree.
1072 (xlw_create_popup_menu): Likewise.
1074 1994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1076 * Makefile.in (ALL_CFLAGS): Specify -Demacs.
1078 * xlwmenu.c (pop_up_menu) [emacs]: Catch and ignore X protocol errors
1081 1994-02-17 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1083 * lwlib-Xlw.c (xlw_create_popup_menu): Pass tem to
1084 XtVaCreateManagedWidget, not instance->info->val.
1085 (xlw_create_menubar): Likewise.
1087 1994-02-15 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1089 * lwlib-Xlw.c (xlw_create_popup_menu): Copy instance->info->val
1090 before calling XtVaCreateManagedWidget and then free the copy.
1091 (xlw_create_menubar): Likewise.
1093 1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1095 * xlwmenu.c (XlwMenuInitialize): Copy mw->menu.contents.
1096 (XlwMenuDestroy): Free mw->menu.contents.
1098 1994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1100 * xlwmenu.c (display_menu_item): Call draw_shadow_rectangle to make
1101 visible/invisible the selection of the menubar items.
1103 1994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1105 * lwlib.c (strcasecmp): Renamed to my_strcasecmp.
1106 (find_in_table): Changed only caller.
1108 1994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
1110 * xlwmenu.c (display_menu_item): When dealing with the menubar,
1111 always call XDrawRectangle to clear the selection after popping down
1114 1994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1116 * lwlib.c: Include ctype.h.
1118 1994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1120 * lwlib.c (strcasecmp): New function.
1122 1994-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1124 * xlwmenu.c, lwlib.c, lwlib-Xlw.c, lwlib-utils.c:
1125 Convert all function definitions to non-prototype K&R.
1127 * lwlib-Xlw.h: Comment out args in function decls.
1128 * lwlib.h: Comment out args in function decls.
1129 * lwlib-utils.h: Comment out args in function decls.
1131 1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1133 * lwlib.c: Include StringDefs.h after lwlib.h.
1135 1994-01-22 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1137 * Makefile (xrdb-cpp.o, lwlib.o): Use $(srcdir) and file name
1139 (dispatch.o, xrdb.o, lwlib-Xm.o): Rules removed; they were
1140 superfluous and didn't work when configured outside srcdir.
1141 The implicit .c.o rule works fine.
1143 1994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1145 * xlwmenu.c (resource_widget_value): Avoid using strdup.
1147 1994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1149 * Makefile.in: New file.
1151 * lwlib-Xolmb.c: Renamed from lwlib-Xol-mb.c.
1152 * lwlib-Xolmb.h: Renamed from lwlib-Xol-mb.h.
1153 * lwlib-XolmbP.h: Renamed from lwlib-Xol-mbP.h.
1155 * lwlib-int.h: Renamed from lwlib-internal.h.
1160 ;; coding: iso-2022-7bit-unix
1163 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002
1164 Free Software Foundation, Inc.
1165 Copying and distribution of this file, with or without modification,
1166 are permitted provided the copyright notice and this notice are preserved.