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