Mercurial > hg > xemacs-beta
view src/ChangeLog @ 2132:34ca43a57692
[xemacs-hg @ 2004-06-16 12:01:17 by malcolmp]
IA-64 compilation and unaligned access fixes.
author | malcolmp |
---|---|
date | Wed, 16 Jun 2004 12:01:19 +0000 |
parents | 13181f978082 |
children | 5c7bc4e019e6 |
line wrap: on
line source
2004-06-15 Malcolm Purvis <malcolmp@xemacs.org> * emacs.c: * malloc.c: lim_data is a long because in some architectures (eg ia-64) an int cannot hold the address range. * mem-limits.h: lim-data is a long. Linux uses getrlimit() instead of ulimit() because ulimit() always returns -1. * file-coding.h (struct Lisp_Coding_System): Moved a field to the end of the structure to work around alignment problems on the ia-64. * file-coding.c (struct convert_eol_coding_system): Added dummy field to work around alignment problems on the ia-64. 2004-06-08 Didier Verna <didier@xemacs.org> * config.h.in (EXTERN_C_BLOCK_BEGIN): Remove. (EXTERN_C_BLOCK_END): Ditto. * nas.c: Use BEGIN_C_DECLS and END_C_DECLS instead. 2004-06-07 Adrian Aichner <adrian@xemacs.org> * device-x.c (x_IO_error_handler): Phrase duplication typo fixes for typos found by xemacs-builds/adrian/typology/phrase-duplication-typo.pl. 2004-06-06 Ilya N. Golubev <gin@mo.msk.ru> * extw-Xt.c (_XT_WAIT_FOR_SOMETHING): Fix: complete macro renaming: #define. 2004-06-03 Didier Verna <didier@xemacs.org> * config.h.in (EXTERN_C_BLOCK_BEGIN): New macro. (EXTERN_C_BLOCK_END): Ditto. * nas.c: Use them around audio headers. * extw-Xt.c: Fix EXTERN_C usage (see 2004-06-02 below). 2004-06-02 Didier Verna <didier@xemacs.org> C++ related fixes. * ExternalClient-Xlib.c (window_has_focus_p): Fix nchild parameter type. * ExternalClient.c (ComputeWindowAttributes): Fix old K&R function prototype. * ExternalClient.c (Destroy): Ditto. * ExternalClient.c (QueryGeometry): Ditto. * ExternalShell.c (EventHandler): Ditto. * ExternalShell.c (ExternalShellDestroy): Ditto. * ExternalShell.c (ChangeManaged): Ditto. * ExternalShell.c (ExternalShellRootGeometryManager): Ditto. * extw-Xt.c: Wrap `fatal' and `_XtWaitForSomething' function prototypes in EXTERN_C. * extw-Xt.c (_XT_WAIT_FOR_SOMETHING): Rename macro (previously _XtWaitForSomething). * extw-Xt.c (extw_wait_for_response): Use it. * nas.c (EXTERN_C): Wrap audio headers inclusion in EXTERN_C. 2004-05-21 Jerry James <james@xemacs.org> * floatfns.c (Ffloat): Add missing return keyword. * number.h: Declare Qbignump, Qratiop, and Qbigfloatp in every case. * number.c: Ditto. * number.c (syms_of_number): Ditto. Declare Fbigfloat_get_precision and Fbigfloat_set_precision. * number.c (Fbigfloat_get_precision): New function. * number.c (Fbigfloat_set_precision): New function. * number.c (vars_of_number): Clarify that default-float-precision of 0 means to create normal floats. Change bigfloat-max-prec to bigfloat-maximum-precision. 2004-05-15 Malcolm Purvis <malcolmp@xemacs.org> * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to replace symbolic color entries with the real colors specified in xpm-color-symbols, before passing the XPM to gtk. * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks, instead of a GTK specific field, so that it is used in by generic code. 2004-05-15 Malcolm Purvis <malcolmp@xemacs.org> * event-gtk.c: * event-gtk.c (gtk_event_to_emacs_event): * menubar-gtk.c: * menubar-gtk.c (gtk_xemacs_menubar_class_init): * menubar-gtk.c (gtk_xemacs_menubar_size_request): * menubar-gtk.c (gtk_xemacs_accel_label_get_type): * menubar-gtk.c (gtk_xemacs_set_accel_keys): * menubar-gtk.c (__activate_menu): * menubar-gtk.c (convert_underscores): * menubar-gtk.c (remove_underscores): * menubar-gtk.c (menu_convert): * menubar-gtk.c (menu_descriptor_to_widget_1): * menubar-gtk.c (menu_descriptor_to_widget): * menubar-gtk.c (menu_can_reuse_widget): * menubar-gtk.c (menu_create_menubar): * menubar-gtk.c (gtk_popup_menu): * menubar-gtk.c (Fgtk_build_xemacs_menu): Added support for Gtk menu bar and menu item mnemonics. 2004-05-10 Jerry James <james@xemacs.org> * config.h.in: Add HAVE_LTDL. * emodules.c: Include LTDL headers, if needed. * emodules.c (vars_of_module): Add LTDL initialization code. * sysdll.c: Remove unused dll_init functions. Add LTDL support. * sysdll.h: Remove dll_init declaration and adjust spacing. 2004-05-05 Chuck Hines <chuck.hines@baesystems.com> * dgif_lib.c (DGifSlurp): Changed do-while to while to stop coredump from deref of NULL ptr (ExtData) 2004-05-05 Jerry James <james@xemacs.org> * number.c: Use DEFINE_BASIC_LRECORD_IMPLEMENTATION instead of DEFINE_LRECORD_IMPLEMENTATION for bignum, ratio, and bigfloat. * number.c (bignum_finalize): Remove; we already do this with an ADDITIONAL_FREE macro in alloc.c. * number.c (ratio_finalize): Ditto. * number.c (bigfloat_finalize): Ditto. * number.c (vars_of_number): Put all initialization of Vbigfloat_max_prec here, but leave some commented until we can dump bignums. * number.c (init_number): Remove Vbigfloat_max_prec initialization. 2004-05-03 Jerry James <james@xemacs.org> * floatfns.c (Fexpt): Don't shadow the global symbol exp. * number.c: Remove unused testing function string_to_bignum and extraneous semicolon; thanks to Vin. * number.h: Add make_floating prototype. 2004-04-20 Malcolm Purvis <malcolmpurvis@optushome.com.au> * console-gtk-impl.h: Include X11.h. * console-gtk-impl.h (struct gtk_device): Use X types for keysym data. * data.c (Fstring_to_number): Cast Ibtye to char* for atoX arg. * device-gtk.c (gtk_init_device): Convert gtkrc filename to extern encoding before use by GTK. * device-gtk.c (Fgtk_grab_pointer): Cast bitmask to expected type. * emacs-marshals.c: INT return type is gint, not guint. * event-gtk.c: Add args to gtk_keysym_to_emacs_keysym() prototype. * event-gtk.c (gtk_event_to_emacs_event): Cast button posn from double to int. * event-gtk.c (gtk_reset_key_mapping): Avoid casts to void* for keysym_map. * frame-gtk.c (gtk_set_initial_frame_size): Avoid '|' of bitfield enum. * frame-gtk.c (gtk_initialize_frame_size): Cast to right type. * frame-gtk.c (gtk_get_frame_parent): Cast to right type. * frame-gtk.c (gtk_set_frame_size): Avoid '|' of bitfield enum. * gccache-gtk.c: mask type is unsigned long, not enum. * gccache-gtk.c (gc_cache_lookup): mask type is unsigned long, not enum. * gccache-gtk.h (gc_cache_lookup): mask type is unsigned long, not enum * glade.c (Fglade_xml_signal_connect): Cast Ibtye to char*. * glyphs-gtk.c: Remove extra definition of Qxface. * glyphs-gtk.c (gtk_print_image_instance): #ifdef, not #if, HAVE_SUBWINDOWS. * glyphs-gtk.c (gtk_finalize_image_instance): cast to right type. * glyphs-gtk.c (gtk_image_instance_equal): #ifdef, not #if, HAVE_SUBWINDOWS. * glyphs-gtk.c (gtk_image_instance_hash): #ifdef, not #if, HAVE_SUBWINDOWS. * glyphs-gtk.c (xbm_instantiate_1): Use Extbyte*, not char*. * glyphs-gtk.c (struct color_symbol): Use Ibyte, not char*. * glyphs-gtk.c (extract_xpm_color_names): Pass correct data to free_cons(). * glyphs-gtk.c (gtk_xpm_instantiate): width, height are gint, not unsigned. Use proper internal strcasecmp function. * glyphs-gtk.c (resource_name_to_resource): Expect image_instance_type, not int. * glyphs-gtk.c (resource_symbol_to_type): Return image_instance_type, not int. * glyphs-gtk.c (gtk_resource_instantiate): Use image_instance_type, not int. * glyphs-gtk.c (cursor_name_to_index): Return GdkCursorType, not gint. * glyphs-gtk.c (cursor_font_instantiate): Use GdkCursorType, not gint. * glyphs-gtk.c (gtk_redisplay_widget): Commented out unused var. * glyphs-gtk.c (BUILD_GLYPH_INST): Use ExtByte, not char* * glyphs-gtk.c (gtk_colorize_image_instance): Cast to enum bitfield. * glyphs.h: typedef image_instance_type. * gtk-glue.c (xemacs_gtklist_to_list): Cast first arg of g_list_foreach() to right type. * gtk-glue.c (xemacs_list_to_array): Cast to cghar*. * gtk-glue.c (gdk_event_to_emacs_event): Cast button posn from double to int. * gtk-xemacs.c (gtk_xemacs_new): Cast constructor return to right type. * gtk-xemacs.c (gtk_xemacs_draw): Cast data to right type. * gui-gtk.c: Removed double definition of Qmenu_no_selection_hook. * menubar-gtk.c (gtk_xemacs_menubar_new): Cast constructor return to right type. * menubar-gtk.c (menu_name_to_accelerator): Remove unnecessary cast to unsigned char. * menubar-gtk.c (remove_underscores): Use Ibyte, char char* * menubar-gtk.c (menu_descriptor_to_widget_1): ditto * menubar-gtk.c (menu_can_reuse_widget): ditto * objects-gtk.c (gtk_initialize_font_instance): Cast to right type. * objects-gtk.c (gtk_find_charset_font): Use Ibyte, not char*. * objects-gtk.c (__get_gtk_font_truename): ditto. * redisplay-gtk.c (gtk_get_gc): Cast mask to right type. * redisplay-gtk.c (gtk_output_string):Font attibs are int, not unsigned. * scrollbar-gtk.c (scrollbar_cb): Cast to right type. * select-gtk.c (gtk_own_selection): Removed unused var selection_time. * sysdll.c (search_linked_libs): Count is unsigned. * sysdll.c (dll_function): Cast function pointer to void*. * ui-byhand.c (generic_toolbar_insert_item): Cast Ibyte to char*. * ui-gtk.c: Macro to hide manipulation of fundamental types. * ui-gtk.c (initialize_dll_cache): Type problems with literal strings. * ui-gtk.c (Fdll_load): Use Ibyte form of strdup. * ui-gtk.c (__allocate_object_storage): Cast during fundamental type test. * ui-gtk.c (type_to_marshaller_type): Cast during fundamental type test. * ui-gtk.c (__dll_mapper): Use CIbyte, not char*. * ui-gtk.c (Fgtk_import_function_internal): Cast during fundamental type test. * ui-gtk.c (Fgtk_call_function): Cast during fundamental type test. * ui-gtk.c (Fgtk_describe_type): Cast during fundamental type test. * ui-gtk.c (gtk_type_to_lisp): Cast during fundamental type test. * ui-gtk.c (lisp_to_gtk_type): Cast during fundamental type test. * ui-gtk.c (lisp_to_gtk_ret_type): Cast during fundamental type test. 2004-04-30 Jerry James <james@xemacs.org> * number.c (vars_of_number): Fix comment. Initialize bigfloat-max-prec when it is possible to do so safely. * number.c (init_number): If bigfloat-max-prec is a bignum, set it only when initialized. 2004-04-19 Jerry James <james@xemacs.org> * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of VALBITS to compute the location of the sign bit. * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use of VALBITS with EMACS_INT_MAX. * events.c (Fevent_timestamp): Ditto. * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to compute the halfway point to timestamp wraparound. * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and EMACS_INT_MIN instead of using VALBITS. * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an incorrect number with VALBITS. * fns.c (Frandom): Use INT_VALBITS instead of VALBITS to compute the denominator. * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to build random numbers. 2004-04-18 Jerry James <james@xemacs.org> * dump-data.c (dumped_data_get): Change return type to char *. * dump-data.h (dumped_data_get): Ditto. 2004-04-15 Jerry James <james@xemacs.org> * signal.c (check_what_happened): Remove check for proper redisplay wrapping. * signal.c (check_quit): Put the check here instead. 2004-04-18 Stephen J. Turnbull <stephen@xemacs.org> * emacs.c (main_1): dumped_data_max_size and dumped_data_align_offset return size_t, so need %u format conversion. 2004-04-18 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in ($(LISP)/finder-inf.el): Force removal. 2004-02-22 Stephen J. Turnbull <stephen@xemacs.org> * console.c (function_key_map): Reference `key-binding'. * keymap.c (Vkey_translation_map): Improve docstring. 2004-04-18 Olivier Galibert <galibert@pobox.com> * emacs.c (main_1): Fix stupid logic error in -si handling. 2004-04-15 Jerry James <james@xemacs.org> * number.c (Foddp): Lisp name should be oddp, not odd. Thanks to Olivier Galibert. 2003-12-07 Olivier Galibert <galibert@pobox.com> * Makefile.in.in: Add in-executable dump file support. * dump-data.h (dumped_data_get): Added. * dump-data.c: Added. * emacs.c (main_1): Add support for -si. * dumper.c (pdump_ram_try): Added. Tries getting the dump file from within the executable itself. (pdump_load): Call pdump_ram_try. 2004-04-15 Jerry James <james@xemacs.org> * data.c (Fstring_to_number): Skip leading '-' when finding the end of a number. 2004-04-14 Jerry James <james@xemacs.org> * data.c (Fstring_to_number): Work around limitations of GMP string to number converting functions. * lread.c (read_atom): Comment fix: the behavior is not random. * number.c (string_to_bignum): Ditto. 2004-04-13 Jerry James <james@xemacs.org> * data.c (Fstring_to_number): Skip leading + sign to avoid triggering random GMP behavior. * lread.c (read_atom): Ditto. * lread.c (isratio_string): Recognize ratio with leading + sign. * number.c (string_to_bignum): Skip leading + sign. 2004-01-30 Glynn Clements <glynn.clements@virgin.net> * device-x.c (x_error_handler): Don't call stderr_out 2004-04-08 Jerry James <james@xemacs.org> * data.c: Use #ifndef for functions unused with new number types. * data.c (digit_to_number): Unused when HAVE_BIGNUM. * number.c: Remove multiply defined symbols Qintegerp & Qnumberp. * number.c (syms_of_number): DEFSUBR(Ffloatingp) was omitted. * print.c (print_internal): g++ thinks that specdepth might be used undefined. It isn't, but the compiler can't tell. 2004-04-07 Jerry James <james@xemacs.org> * number.c (Fevenp): Change the C boolean into Qnil/Qt. Thanks to Robert Royar, Stephen Turnbull, and Hrvoje Niksic. * number.c (Foddp): Ditto. 2004-04-06 Jerry James <james@xemacs.org> * bytecode.c (bytecode_arithcompare): Provide a default case to silence ICC. * bytecode.c (bytecode_arithop): Ditto. * data.c (Fstring_to_number): Use Ibyte instead of char. * data.c (Fmax): Cast from Ibyte to char as needed. * data.c (Flogand): REALLY commit the previous patch to data.c. * doprnt.c (emacs_doprnt_1): Use Ibyte instead of char. * floatfns.c (Ffloor): Provide a default case to silence ICC. * lread.c (parse_integer): Cast from Ibyte to char. * number-gmp.c: Get the qxe_getpid prototype. * number.c (string_to_bignum): Cast from Ibyte to char. * number.c (get_number_type): ICC does not know that abort does not return. * number.c (internal_coerce_number): Ditto. * number.h: Declare get_number_type. 2004-04-06 Jerry James <james@xemacs.org> * number-mp.c (bignum_set_string): Read negative numbers correctly. 2004-04-06 Jerry James <james@xemacs.org> * data.c (Flogand): Fix for --use-union-type. * data.c (Flogior): Ditto. 2004-04-06 Jerry James <james@xemacs.org> * number-mp.c (bignum_to_double): Original algorithm was wrong. 2004-04-06 Stephen J. Turnbull <stephen@xemacs.org> * lisp.h (Other numeric types): Band-aid: #define make_integer. 2004-04-05 Jerry James <james@xemacs.org> * Makefile.in.in (number_objs): New. * Makefile.in.in (objs): Use it. * alloc.c: Make comment more precise. * alloc.c (make_bignum): New function. * alloc.c (make_bignum_bg): New function. * alloc.c (make_ratio): New function. * alloc.c (make_ratio_bg): New function. * alloc.c (make_ratio_rt): New function. * alloc.c (make_bigfloat): New function. * alloc.c (make_bigfloat_bf): New function. * alloc.c (sweep_bignums): New function. * alloc.c (sweep_ratios): New function. * alloc.c (sweep_bigfloats): New function. * alloc.c (gc_sweep): Use the new sweep functions. * alloc.c (Fgarbage_collect): Report collected number objects. * alloc.c (common_init_alloc_early): Initialize number allocators. * bytecode.c (bytecode_negate): Negate more number types. * bytecode.c (bytecode_arithcompare): Compare more number types. * bytecode.c (bytecode_arithop): Operate on more number types. * bytecode.c (execute_optimized_program): Several changes in support of the new number types. * config.h.in: Add SIZEOF_DOUBLE, DOUBLE_BITS, WITH_NUMBER_TYPES, WITH_GMP, WITH_MP, MP_PREFIX, and HAVE_MP_MOVE. * data.c: Add symbol Qnonnegativep. * data.c (Ffixnump): New function. * data.c (Fnatnump): Work with bignums alos. * data.c (Fnonnegativep): New function. * data.c (Fnumberp): Return t for any number type. * data.c (ARITHCOMPARE_MANY): Add cases for the new number types. * data.c (Feqlsign): Work with the new number types. * data.c (Flss): Ditto. * data.c (Fgtr): Ditto. * data.c (Fleq): Ditto. * data.c (Fgeq): Ditto. * data.c (Fneq): Ditto. * data.c (Fzerop): Ditto. * data.c (Fnumber_to_string): Ditto. * data.c (Fstring_to_number): Ditto. * data.c (Fplus): Ditto. * data.c (Fminus): Ditto. * data.c (Ftimes): Ditto. * data.c (Fdiv): New function to produce ratios. * data.c (Fquo): Work with the new number types. * data.c (Fmax): Ditto. * data.c (Fmin): Ditto. * data.c (Flogand): Ditto. * data.c (Flogior): Ditto. * data.c (Flogxor): Ditto. * data.c (Flognot): Ditto. * data.c (Frem): Ditto. * data.c (Fmod): Ditto. * data.c (Fash): Ditto. * data.c (Flsh): Ditto. * data.c (Fadd1): Ditto. * data.c (Fsub1): Ditto. * data.c (syms_of_data): Declare new symbols and Lisp functions. * depend: Regenerate. * doprnt.c: Add converters for the new number types. * doprnt.c (union printf_arg): Add new obj field. * doprnt.c (get_doprnt_args): Use the new converters. * doprnt.c (emacs_doprnt_1): Convert and print the new number types. * emacs.c (main_1): Call syms_of_, vars_of_, and init_number. * floatfns.c (float_to_int): Convert to bignums if necessary. * floatfns.c (extract_float): Extract the new number types. * floatfns.c (Fexpt): Work with bignums. * floatfns.c (Fsqrt): Ditto. * floatfns.c (Fabs): Work with the new number types. * floatfns.c (Ffloat): Ditto. * floatfns.c (Fceiling): Ditto. * floatfns.c (Ffloor): Ditto. * floatfns.c (Fround): Ditto. * floatfns.c (Ftruncate): Ditto. * fns.c (Frandom): Update docstring and accept bignum limits. * fns.c (internal_equalp): Work with the new number types. * general-slots.h: Add new type name symbols. * lisp.h: Include number.h. Add isratio_string prototype. Declare Qnonnegativep and Qnumberp. * lread.c (read_atom): Read ratios. * lread.c (parse_integer): Read bignums. * lread.c (isratio_string): New functions. * lrecord.h (lrecord_type): Add new number type values. * symsinit.h: Declare syms_of_, vars_of_, and init_number. * sysdep.c (seed_random): Set the bignum random seed. 2004-03-30 Zajcev Evgeny <zevlg@yandex.ru> * window.c: Declare `allow_deletion_of_last_visible_frame' extern. * window.c (window_loop): [fix] Take into account `allow-deletion-of-last-visible-frame' variable. * window.c (replace-buffer-in-windows): Ditto. 2004-03-22 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.17 "chayote" is released. 2004-03-20 Adrian Aichner <adrian@xemacs.org> * eval.c: Typo fixes. 2004-03-16 Jerry James <james@xemacs.org> * alloc.c: Make gc_currently_forbidden readable in other files. * lisp.h: Add a declaration for gc_currently_forbidden. * print.c: Add a debug_bindings struct to bind without consing. * print.c (debug_prin1_bindings): New variable. * print.c (output_string): Avoid calling begin_gc_forbidden, which conses, if it is already forbidden. * print.c (print_internal): Do not bump print_depth, which involves consing, when inhibit_non_essential_printing_operations is set, in which case we set print_depth to zero anyway. * print.c (alternate_do_size): New variable. * print.c (alternate_do_string): Dynamically allocated to avoid a buffer overflow bug. * print.c (write_string_to_alternate_debugging_output): Make sure we do not overflow alternate_do_string. * print.c (debug_prin1_exit): New function. Unbind variables bound by debug_prin1. * print.c (debug_prin1): Avoid using internal_bind_int, which conses; use debug_binding instead. Always inhibit quit. * print.c (vars_of_print): Initialize debug_prin1_bindings, alternate_do_size, and alternate_do_string. 2004-03-15 Jerry James <james@xemacs.org> * eval.c (grow_specpdl): Add some specpdl space, even when not debug-on-error or debug-on-signal. 2004-03-08 Lutz Euler <lutz.euler@freenet.de> * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN. 2004-02-26 Jerry James <james@xemacs.org> * console.h (device_metrics): New metrics num_screens, backing_store, save_under. * device-x.c (x_device_system_metrics): Support the new metrics. * device.c: Add symbols for the new metrics. * device.c (Fdevice_system_metric): Support the new metrics. * device.c (Fdevice_system_metrics): Ditto. * device.c (syms_of_device): Define symbols for the new metrics. 2004-02-25 Jerry James <james@xemacs.org> * sysdep.h: Declare interrupt/quit-related symbols as C symbols. * xemacs.def.in.in: Fix placement error in previous patch. 2004-02-25 Jerry James <james@xemacs.org> * general-slots.h: Make Qcritical, Qdelete, Qsearch, and Qsimple visible to modules (all are used by the LDAP module). * lisp.h: Make stuff in QUIT and QUITP visible to modules. * sysdep.h: Make speed_up_interrupts and slow_down_interrupts visible to modules (both are used by the LDAP module). * xemacs.def.in.in: Reflect all of the above additions to the module API. 2004-02-20 Stephen J. Turnbull <stephen@xemacs.org> * bytecode.c (execute_optimized_program): Identify and mark more potential GC locations. Remove dead STATIC_GCPRO_STACK code and CPP constructs. Document GCPRO_STACK usage. * fns.c (Fnthcdr): (Fnth): (Felt): Propagate "This function can GC"s. (Fput): Propagate "This function cannot GC"s. 2004-02-17 Jerry James <james@xemacs.org> * menubar-x.c (protected_menu_item_descriptor_to_widget_value_1): Move begin_gc_forbidden() here so it affects all callers. * menubar-x.c (menu_item_descriptor_to_widget_value): Call protected_menu_item_descriptor_to_widget_value_1 with call_trapping_problems. 2004-02-16 Jerry James <james@xemacs.org> * gui-x.c (wv_set_evalable_slot): Check for eval within redisplay. 2004-02-14 Jerry James <james@xemacs.org> * gui.c (gui_item_value): Remove in_redisplay parameter; check the in_display global variable instead. * gui.c (gui_item_active_p): Ditto. * gui.c (gui_item_selected_p): Ditto. * gui.c (gui_value_equal): Ditto. * gui.c (gui_item_equal_sans_selected): Ditto. * gui.c (gui_item_list_find_selected): Change calls to drop in_redisplay parameter. * gui.c (gui_item_included_p): Ditto. * gui.c (gui_item_equal): Ditto. * gui.h: Change prototypes accordingly. * dialog-msw.c (handle_question_dialog_box): Change calls to drop in_redisplay parameter. * glyphs-gtk.c (gtk_tab_control_redisplay): Ditto. * glyphs-msw.c (mswindows_redisplay_widget): Ditto. * glyphs-msw.c (mswindows_widget_instantiate): Ditto. * glyphs-msw.c (mswindows_button_instantiate): Ditto. * glyphs-msw.c (mswindows_button_redisplay): Ditto. * glyphs-msw.c (mswindows_tab_control_instantiate): Ditto. * glyphs-msw.c (mswindows_tab_control_redisplay): Ditto. * glyphs-widget.c (tab_control_order_only_changed): Ditto. * glyphs-x.c (x_tab_control_redisplay): Ditto. * menubar-msw.c (populate_menu_add_item): Ditto. * menubar.c (Fmenu_find_real_submenu): Ditto. 2004-01-28 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in: Use XE_CFLAGS, not CFLAGS. 2004-01-21 Jerry James <james@xemacs.org> * unicode.c (struct unicode_coding_system): Make one bit fields unsigned. * unicode.c (decode_unicode_char): Ditto. * unicode.c (encode_unicode_char_1): Ditto. * unicode.c (encode_unicode_char): Ditto. * unicode.c (unicode_convert): Ditto. * unicode.c (struct utf_8_detector): Ditto. 2003-11-04 Stephen J. Turnbull <stephen@xemacs.org> * frame-x.c (x_wm_hack_wm_protocols): (x_frame_window_state): Get casts right to avoid aliasing issues. * glyphs.c (process_image_string_instantiator): (Fset_console_type_image_conversion_list): Change identifier to quiet compiler. 2003-11-10 Stephen J. Turnbull <stephen@xemacs.org> * bytecode.c (execute_optimized_program): GCPRO_STACK main loop. 2004-01-16 Malcolm Purvis <malcolmpurvis@optushome.com.au> * ui-gtk.c (__internal_callback_marshal): Marshalling data to return to GTK requires a different API to marshalling data to use as GTK parameters. * ui-gtk.c (lisp_to_gtk_ret_type): New. 2004-01-23 Stephen J. Turnbull <stephen@xemacs.org> * specifier.c (Fvalid_specifier_type_p): Fix docstring typo. 2003-12-29 Malcolm Purvis <malcolmpurvis@optushome.com.au> * sysdll.c (dll_function): Added support for finding symbols in Darwin shared libraries as well in Darwin bundles. * sysdll.c (image_for_address): New. * sysdll.c (my_find_image): New. * sysdll.c (search_linked_libs): New. 2004-01-03 James C. McPherson <james.mcpherson@optusnet.com.au> * doc.c (Fdocumentation_property): GCPROd variables cannot be declared register. * eval.c (Fprog1): Ditto. * eval.c (Fprog2): Ditto. * fns.c (Fnreverse): Ditto. * lread.c (readevalloop): Ditto. 2003-11-29 Jerry James <james@xemacs.org> * emodules.c (emodules_load): Remove dll_error parameter. * sysdll.c: Ditto. * sysdll.h: Ditto. Remove unused DLLEXPORT definitions. * ui-gtk.c (initialize_dll_cache): dll_open now takes a Lisp_Object. * ui-gtk.c (Fdll_load): Ditto. Remove dll_error parameter. 2003-11-18 Jerry James <james@xemacs.org> * config.h.in: Add TYPEOF. * emacs.c (voodoo_free_hook): Revert the previous patch and use TYPEOF instead. * emacs.c (Fkill_emacs): Ditto. * ralloc.c (init_ralloc): Ditto. * ralloc.c (r_alloc_reinit): Ditto. 2003-11-14 Jerry James <james@xemacs.org> * emacs.c (voodoo_free_hook): ICC understands typeof. * emacs.c (Fkill_emacs): Ditto. * ralloc.c (init_ralloc): Ditto. * ralloc.c (r_alloc_reinit): Ditto. 2003-11-14 Jerry James <james@xemacs.org> * config.h.in: Remove last traces of GNU DLD. 2003-11-01 Markus Kaltenbach <makalten@informatik.uni-tuebingen.de> * alloc.c (garbage_collect_1): move kkcc_marking() call inside the while loop containing all the iterative calls for marking weak data structures since the entries on the kkcc_stack need to be processed after every run to mark attached objects 2003-10-16 Jerry James <james@xemacs.org> * realpath.c (qxe_realpath): When a symbolic link to an absolute pathname is found, really start over. 2003-10-21 Stephen J. Turnbull <stephen@xemacs.org> * bytecode.c (execute_optimized_program): Revert Mike's patch temporarily. 2003-10-11 Olivier Galibert <galibert@pobox.com> * window.c (Fdelete_window): Dirty the mirror structure _before_ marking the window deleted. 2003-10-14 Jerry James <james@xemacs.org> * Makefile.in.in (shlib_objs): Remove emodules.o. * Makefile.in.in (objs): Add emodules.o; it always has content now. * emacs.c (main_1): Call vars_of_module to define module-extensions. * emodules.c: Always set Vmodule_load_path and Vmodule_extensions. * emodules.h: Vmodule_load_path is now static. 2003-10-15 Stephen J. Turnbull <stephen@xemacs.org> * mule-charset.c (get_unallocated_leading_byte): #endif->#else. 2003-10-14 Jerry James <james@xemacs.org> * compiler.h: Don't define __GNUC__ if using a non-GNU compiler. Use a consistent spacing scheme. 2003-08-14 Stephen J. Turnbull <stephen@xemacs.org> * mule-charset.c (get_unallocated_leading_byte): Compiler quietus. 2003-10-13 Stephen J. Turnbull <stephen@xemacs.org> * nas.c (AudioLibraryVersionMajor, AudioLibraryVersionMinor): Ensure they are #define'd. 2003-10-13 Stephen J. Turnbull <stephen@xemacs.org> * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom. 2003-10-14 Jerry James <james@xemacs.org> * compiler.h: Check __GNUC_PATCHLEVEL__ definition. * depend: Regenerate. 2003-10-13 Jerry James <james@xemacs.org> * dumper.h: Use {BEGIN,END}_C_DECLS instead of explicit #ifdef. * glyphs-eimage.c: Ditto. * glyphs-gtk.c: Ditto. * glyphs-msw.c: Ditto. * glyphs-x.c: Ditto. * gtk-xemacs.h: Ditto. * libinterface.h: Ditto. * lrecord.h: Ditto. * process.h: Ditto. * symeval.h: Ditto. * sysdll.h: Ditto. * syswindows.h: Ditto. * text.h: Ditto. * lisp.h: Ditto. Move basic compiler defines to compiler.h. Remove redundant definitions. Add MALLOC attribute to xmalloc, xcalloc, etc. Change attribute uses to match new compiler.h. * compiler.h: New file containing basic compiler defines from lisp.h. * s/windowsnt.h (DECLARE_DOESNT_RETURN): Remove definitions now in compiler.h. 2003-10-10 Jerry James <james@xemacs.org> * alloc.c (make_compiled_function): Fix C++ breakage introduced by 2003-07-25 patch. 2003-07-25 Eric Benson <eric_a_benson@yahoo.com> Delay the allocation and initialization of the args array in compiled_function objects from creation until first use, thus avoiding a bug in the portable dumper. See mail with subject "Symbol's value as variable is void: region" in the July 2003 xemacs-beta archives. * alloc.c (make_compiled_function): initialize args, max_args, min_args, and args_in_array to zero. (Fmake_byte_code): Removed allocation and initialization of args array. * bytecode.c (optimize_compiled_function): Added allocation and initialization of args array. * eval.c (function_argcount): Added call to optimize_compiled_function. 2003-10-07 Jerry James <james@xemacs.org> * emodules.c (vars_of_module): Make Vmodule_extensions visible to Lisp. Move assignments next to the corresponding declarations. 2003-09-30 Jerry James <james@xemacs.org> * Makefile.in.in (distclean): xemacs.def.in.in should not be removed. 2003-09-25 Jerry James <james@xemacs.org> * alloc.c (xfree_1): Use this name even when not error checking. * device-tty.c (free_tty_device_struct): Use xfree type parameter, but error-checking version alters the original, not a local copy. * fileio.c (Ffile_name_directory): Don't xfree alloca'd memory; this is in an #if 0, but fix it anyway just in case. * lisp.h: Add a type parameter to the xfree declaration, and remove the alias when ERROR_CHECK_MALLOC is defined. Fix 2 incorrect comments pointing to structure declarations. * tparam.c: Remove unused free macro, and duplicate xmalloc and xrealloc declarations. * ui-gtk.c (CONVERT_RETVAL): Add type parameter to use of xfree, and fix some minor whitespace problems. * xemacs.def.in.in: Unconditionally export xfree_1 * alloc.c: * alloca.c: * buffer.c: * buffer.h: * console-stream.c: * console-tty.c: * device-gtk.c: * device-msw.c: * device-x.c: * dialog-msw.c: * dialog-x.c: * dired-msw.c: * dired.c: * doc.c: * dumper.c: * dynarr.c: * editfns.c: * elhash.c: * emacs.c: * emodules.c: * eval.c: * event-Xt.c: * event-gtk.c: * event-msw.c: * event-stream.c: * extents.c: * file-coding.c: * fileio.c: * filelock.c: * frame-gtk.c: * frame-msw.c: * frame-x.c: * frame.c: * gccache-gtk.c: * glyphs-eimage.c: * glyphs-gtk.c: * glyphs-msw.c: * glyphs-x.c: * gui-x.c: * hash.c: * hftctl.c: * imgproc.c: * insdel.c: * intl-win32.c: * keymap.c: * lstream.c: * mule-coding.c: * nt.c: * ntplay.c: * objects-gtk.c: * objects-msw.c: * objects-tty.c: * objects-x.c: * process.c: * redisplay.c: * regex.c: * scrollbar-gtk.c: * scrollbar-msw.c: * scrollbar-x.c: * select-gtk.c: * select-msw.c: * select-x.c: * specifier.c: * syntax.c: * sysdep.c: * termcap.c: * tests.c: * text.c: * text.h: * toolbar-msw.c: * unicode.c: * xgccache.c: Add type parameter to uses of xfree. 2003-09-27 Stephen J. Turnbull <stephen@xemacs.org> * search.c (trivial_regexp_p): Regexps containing "\{" are nontrivial. Thanks to Manfred Bartz for reporting the bug and Stefan Monnier for suggesting a diagnosis. 2003-09-26 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.16 "celeriac" is released. 2003-09-09 Jerry James <james@xemacs.org> * redisplay.c (point_would_be_visible): Add PARTIALLY parameter to support new Fpos_visible_in_window_p parameter. * redisplay.h: Ditto. * scrollbar.c (scrollbar_reset_cursor): Use new point_would_be_visible parameter. * window.c (Fpos_visible_in_window_p): Add PARTALLY parameter for Emacs compatibility. (window_scroll): Use new point_would_be_visible parameter. 2003-09-21 Jerry James <james@xemacs.org> * device-x.c (x_init_device): dll_open now takes a Lisp_Object. * emacs.c (make_arg_list_1): Remove useless call to dll_init. * emacs.c (main_1): Ditto. * emodules.c: char to CIbyte conversion. * emodules.c (Fload_module): Ditto. * emodules.c (Funload_module): Ditto. * emodules.c (find_make_module): Ditto, and use NULL. * emodules.c (emodules_load): Ditto, and pass Lisp_Objects to and from the sysdll routines. Be careful about string conversions. * emodules.c (reinit_vars_of_module): Use NULL. * objects-msw.c (mswindows_find_charset_font): Fix call to mswindows_list_fonts broken by James LewisMoss' Sept 20 change. * symsinit.h: Do not mangle module initialization function names. * sysdll.c (MAYBE_PREPEND_UNDERSCORE): char to CIbyte conversion. * sysdll.c (dll_init): char to Extbyte conversion. * sysdll.c (dll_open): Take a Lisp_Object, possibly Qnil. * sysdll.c (dll_function): char to CIbyte conversion. * sysdll.c (dll_variable): Ditto. * sysdll.c (dll_error): Return a Lisp_Object, not a string. * sysdll.c (dll_close): Cast appropriately for C++. * sysdll.h: Change prototypes as per sysdll.c changes. * lisp.h: Make eval-related functions visible to modules. * xemacs.def.in.in: Ditto. 2003-09-20 Ilya N. Golubev <gin@mo.msk.ru> * cmdloop.c (Fcommand_loop_1): Allow specifying elisp function for waiting user input while displaying message while in minibuffer. (Vminibuffer_echo_wait_function): New, associated variable... (vars_of_cmdloop): ... initialize it. 2003-09-20 James LewisMoss <dres@lewismoss.org> * console-impl.h (struct console_methods): add third arg to list_fonts * objects.c (Flist_fonts): Add third arg to list-fonts: maxnumber * objects-gtk.c (gtk_list_fonts): Add third (ignored) arg for maxnumber. * objects-msw.c (mswindows_list_fonts): Add third (ignored) arg for maxnumber. * objects-tty.c (tty_list_fonts): Add third (ignored) arg for maxnumber. * objects-x.c (x_list_fonts): Add third arg to specify the maximum fonts recieved from the server. 2003-09-13 Martin Buchholz <martin@xemacs.org> * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor 2003-09-16 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * xemacs.def.in.in: Add lrecord_memory_descriptions. 2003-09-15 Jerry James <james@xemacs.org> * depend: Regenerate. * dumper.h: Use extern "C" for C++ builds. * lrecord.h: Remove duplicated material from dumper.h and include that instead. 2003-09-15 Jerry James <james@xemacs.org> * event-msw.c (debug_mswin_messages): Conditionally compile messages missing from the Cygwin headers. 2003-09-15 Jerry James <james@xemacs.org> * event-msw.c (mswindows_wnd_proc): Use new w32api macros. * syswindows.h: Define w32api macros as 0 for non-Cygwin. * unexcw.c (CHECK_AOUT_POS): Add cast to quiet compiler. * unexcw.c (copy_executable_and_dump_data_section): Ditto. 2002-07-04 Jonathan Harris <jonathan@xemacs.org> * intl-encap-win32.c: * intl-auto-encap-win32.c: * intl-auto-encap-win32.h: Remove GetLongPathNameW - API not available on Win95/NT4 2003-09-15 Jerry James <james@xemacs.org> * syswindows.h: Quiet compiler warnings about struct stat. (W32API_VER): (W32API_INSTALLED_VER): New macros to compare w32api versions. (_SHQUERYRBINFO): Define for w32api < 2.4 only. 2003-09-11 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * alloc.c: Clean up #ifdef USE_KKCC, move stack code to better position. Add lrecord_memory_descriptions table. (KKCC_GC_STACK_FULL): Replace functions with macros. (KKCC_GC_STACK_EMPTY): (kkcc_gc_stack_push): (kkcc_gc_stack_pop): (kkcc_gc_stack_push_lisp_object): (mark_object): Add #ifdef to remove unused code. (garbage_collect_1): Remove some #ifdefs. * dumper.c (pdump): Dump lrecord_memory_descriptions table. * lrecord.h: Add lrecord_memory_descriptions. 2003-09-08 Mike Sperber <mike@xemacs.org> * symbols.c (Fvariable_binding_locus): Add, as per suggestion from RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010 2003-09-03 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.15 "celery" is released. 2003-08-30 Mike Sperber <mike@xemacs.org> * bytecode.c (execute_optimized_program): Remove broken special-case code in Bvarset for buffer-local variables, reverting previous patch to bytecode.c from 2003-08-18 by Jerry James <james@xemacs.org>. 2003-08-28 Jerry James <james@xemacs.org> * emodules.h: Add extern "C" declarations for C++ module builds. * lisp.h: Ditto. * lrecord.h: Ditto. * opaque.h: Ditto. * process.h: Ditto. * symeval.h: Ditto. * text.h: Ditto. * mule-canna.c: Make key_buffer char instead of unsigned char. * mule-canna.c (storeResults): 1st arg is char *, not unsigned char *. * mule-canna.c (Fcanna_initialize): Add casts for C++ builds. * mule-canna.c (Fcanna_finalize): Ditto. * mule-canna.c (Fcanna_touroku_string): Ditto. * mule-canna.c (Fcanna_store_yomi): Ditto. * mule-canna.c (Fcanna_parse): Ditto. * mule-canna.c (Fcanna_query_mode): Ditto, and change buf to unsigned char[] to reduce number of casts. * mule-canna.c (Fcanna_henkan_begin): Ditto. * mule-canna.c (Fcanna_henkan_next): Ditto. * mule-canna.c (mule_make_string): Ditto. * mule-wnnfns.c (Fwnn_open): Ditto. 2003-08-26 Nickolay Pakoulin <npak@ispras.ru> * database.c (berkdb_get): (berkdb_map): Add type casts to satisfy C++ compilers. 2003-08-25 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * alloc.c (kkcc_gc_stack_init): (kkcc_gc_stack_free): (kkcc_gc_stack_realloc): (kkcc_gc_stack_full): (kkcc_gc_stack_empty): (kkcc_gc_stack_push): (kkcc_gc_stack_pop): Remove kkcc_gc_stack_count. (mark_object_maybe_checking_free): Push on stack instead of marking. (garbage_collect_1): Invoke kkcc_marking after finish_marking_*. 2003-08-21 Jerry James <james@xemacs.org> * lrecord.h (DECLARE_MODULE_API_LRECORD): Also define when not ERROR_CHECK_TYPES. 2003-08-19 René Kyllingstad <listmailxemacs@kyllingstad.com> * alloc.c (kkcc_gc_stack_init): (kkcc_gc_stack_realloc): Missing casts for the return value of malloc and realloc. 2003-08-18 Jerry James <james@xemacs.org> * Makefile.in.in (export_lib): New. * Makefile.in.in (xemacs-export.o): New. * Makefile.in.in (otherobjs): Use them. * emodules.c: Remove the EMODULES_DO_NOT_REDEFINE hack. * emodules.c (Fload_module): Document the ".dylib" extension. * emodules.c (emodules_doc_subr): Don't try to find the function associated with an autoload cookie. * emodules.h: Add MODULE_API markers. Other part of EMODULES_DO_NOT_REDEFINE hack removal. Define unstaticpro to unstaticpro_nodump for modules. * general-slots.h: Document and use SYMBOL_MODULE_API. * general.c (SYMBOL_MODULE_API): New. * lisp.h: Ditto. Also define MODULE_API appropriately, and define SYMBOL_MODULE_API. * sysdll.c: Allow Cygin module building. * sysdll.c (dll_open): Use Unicode module names correctly. * sysdll.c (dll_error): Return an informative error message. * lisp-union.h: Add MODULE_API markers. * lrecord.h: Ditto. * mem-limits.h (get_lim_data): Ditto. * opaque.h: Ditto. * process.h: Ditto. * symeval.h: Ditto. * text.h: Ditto. 2003-08-18 Jerry James <james@xemacs.org> * bytecode.c (execute_optimized_program): Setting a buffer-local variable with no default binding sets the default. 2003-08-18 Jerry James <james@xemacs.org> * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions. 2003-08-12 Mike Sperber <mike@xemacs.org> * bytecode.c (GCPRO_STACK): Added. (execute_optimized_program): Use GCPRO_STACK, fixing a space leak: Formerly, the byte-code engine would always hold on to the entire stack memory area, including the stuff above the top. Now, we adjust the GCPRO record via GCPRO_STACK just before a GC may occur. 2003-07-31 René Kyllingstad <listmailxemacs@kyllingstad.com> * event-msw.c (mswindows_enqueue_mouse_button_event): * event-msw.c (mswindows_wnd_proc): enqueue button{4,5}up events for scrollwheel event when mswindows_handle_mousewheel_event doesn't handle it. 2003-07-29 Marcus Crestani <crestani@informatik.uni-tuebingen.de> Markus Kaltenbach <makalten@informatik.uni-tuebingen.de> * README.kkcc: Aligned to the changes. * alloc.c: Implemented the kkcc_gc_stack. (kkcc_gc_stack_init): (kkcc_gc_stack_free): (kkcc_gc_stack_realloc): (kkcc_gc_stack_full): (kkcc_gc_stack_empty): (kkcc_gc_stack_push): (kkcc_gc_stack_pop): (kkcc_gc_stack_push_lisp_object): (mark_object_maybe_checking_free): Push objects on kkcc stack instead of marking. (mark_struct_contents): Push objects on kkcc stack instead of marking. (kkcc_marking): KKCC mark algorithm using the kkcc_gc_stack. (mark_object): Removed KKCC ifdefs. (garbage_collect_1): Push objects on kkcc stack instead of marking. * data.c: Added XD_FLAG_NO_KKCC to ephemeron_description and to weak_list_description. * data.c (finish_marking_weak_lists): Push objects on kkcc stack instead of marking. (continue_marking_ephemerons): Push objects on kkcc stack instead of marking. (finish_marking_ephemerons): Push objects on kkcc stack instead of marking. * elhash.c (finish_marking_weak_hash_tables): Push objects on kkcc stack instead of marking. * eval.c: Added XD_FLAG_NO_KKCC to subr_description. * lisp.h: Added prototype for kkcc_gc_stack_push_lisp_object. * profile.c (mark_profiling_info_maphash): Push keys on kkcc stack instead of marking. 2003-07-30 Jerry James <james@xemacs.org> * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD. 2003-07-24 Mike Sperber <mike@xemacs.org> * lisp.h: * data.c: (init_marking_ephemerons): (continue_marking_ephemerons): (finish_marking_ephemerons): (prune_ephemerons): * alloc.c (garbage_collect_1): Rewrite the ephemeron marker once again to allow ephemerons to be used for implementing simple object finalization. * data.c (Fmake_ephemeron): Fix comments 2003-06-14 Ilya N. Golubev <gin@mo.msk.ru> * .gdbinit (pobj): Fix printing of symbol names. 2003-07-02 Mike Sperber <mike@xemacs.org> * toolbar.c (update_frame_toolbars_geometry): Update the frame size when correct information to compute it is actually available. Moreover, do it right via the frame method if it's available. 2003-06-30 Ilya N. Golubev <gin@mo.msk.ru> * faces.c (complex_vars_of_faces): Fix missing commas in `fonts' initializer. 2003-06-16 Stephen J. Turnbull <stephen@xemacs.org> * data.c (eq_with_ebola_notice): Fix typo in comment. (Ftrue_list_p): Improve docstring. 2003-06-11 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * opaque.c: added opaque_ptr_description 2003-05-22 Stephen J. Turnbull <stephen@xemacs.org> * alloc.c (allocate_big_string_chars): New. (make_uninit_string): Use it. (resize_string): Use it. Bump cons counter on realloc, too. Based on analysis and patch by Martin Buchholz <martin@xemacs.org>: <15409.4809.288773.686482@gargle.gargle.HOWL>. 2003-06-01 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.14 "cassava" is released. 2003-05-20 Jerry James <james@xemacs.org> * regex.c (re_match_2_internal): pos -> charpos to fix shadow warning. 2003-05-22 Stephen J. Turnbull <stephen@xemacs.org> * file-coding.c: DEFSYMBOL Qslightly_unlikely. (detection_result_number_to_symbol): (detection_result_symbol_to_number): Decode/encode corresponding result numbers. (detection_result_number_to_symbol): Use switch to get warnings about unhandled enumerators. (detect_coding_type): Add debug check for 0 detector categories. (undecided_init_coding_stream): Add debug output. 2003-05-15 Stephen J. Turnbull <stephen@xemacs.org> * event-Xt.c (x_to_emacs_keysym): Fix typo in comment. 2003-05-10 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.13 "cauliflower" is released. 2003-05-09 Stephen J. Turnbull <stephen@xemacs.org> * search.c (search_regs): Make comment reflect reality. (clear_search_regs): Unconditionally clear global regs. (set_search_regs): Call clear_search_regs to clear unused regs. (looking_at_1): (string_match_1): (search_buffer): (simple_search): (boyer_moore): Don't call clear_search_regs directly. (Flooking_at): (Fposix_looking_at): (Fstring_match): (Fposix_string_match): (Fsearch_backward): (Fsearch_forward): (Fword_search_backward): (Fword_search_forward): (Fre_search_backward): (Fre_search_forward): (Fposix_search_backward): (Fposix_search_forward): Document that search/match failure preserves match data. (Freplace_match): (Fstore_match_data): Improve docstrings. * regex.c (re_match_2_internal): Init syn1, syn2 to quiet compiler. * regex.h (struct re_registers): Add comment. 2003-05-09 Stephen J. Turnbull <stephen@xemacs.org> Various cleanups against the possibility that <sys/stat.h> does #define stat ... . * lisp.h: Remove struct stat declaration. 2003-05-06 Stephen J. Turnbull <stephen@xemacs.org> * broken-sun.h: Warn about possibility of #define stat. 2000-07-22 Ilya N. Golubev <gin@mo.msk.ru> * lisp.h (filemodestring): Remove * sysfile.h (filemodestring): Put it here * filemode.c (filemodestring): Note in comment where it is declared. 2003-05-09 Martin Buchholz <martin@xemacs.org> * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file. Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs' Result: "temacs can only be run in -batch mode." Fix: Check xemacs executable candidate for directory-ness. 2003-05-06 Martin Buchholz <martin@xemacs.org> * database.c: Berkeley DB wants __STDC__ to be defined. 2003-04-05 Martin Buchholz <martin@xemacs.org> * EmacsFrameP.h (EmacsFramePart): Kludge to allow compiling with Motif1, but linking with Motif2. 2003-05-04 Robert Pluim <rpluim@bigfoot.com> * database.c: Don't use the u_int8_t etc typedefs on FreeBSD, they conflict with <sys/types.h>. 2003-05-02 Andrew Begel <abegel@CS.Berkeley.EDU> * lrecord.h: Added casts from int to enum lrecord_type to support externally defined lrecord types. 2003-05-01 Andrew Begel <abegel@CS.Berkeley.EDU> * text.h (IBYTE_STRING_TO_ALLOCA): Removed a stray backslash from the preceding comment. 2003-05-02 Stephen J. Turnbull <stephen@xemacs.org> * config.h.in (HAVE_INTPTR_T_IN_SYS_TYPES_H): New. lisp.h (intptr_t): Use it. 2003-04-24 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.12 "carrot" is released. 2003-04-24 Matthew O. Persico <persicom@acedsl.com> * unicode.c: Removed trailing commas in some enums; older (Solaris 2.7 cc) compiler produced volumous warnings. * text.c: Replaced char initialization of static Ibyte strcasecmp_charmap[] with octal numeric init. Apparently older (Solaris 2.7 cc) compiler treats quoted octals as signed, causing 256 signed-assigned-to-unsigned warnings. * lrecord.h: Removed trailing commas in some enums; older (Solaris 2.7 cc) compiler produced volumous warnings. * lisp.h: Removed trailing commas in some enums; older (Solaris 2.7 cc) compiler produced volumous warnings. * frame.c: Removed trailing commas in some enums; older (Solaris 2.7 cc) compiler produced volumous warnings. * file-coding.h: Removed trailing commas in some enums; older (Solaris 2.7 cc) compiler produced volumous warnings. 2003-04-17 Stephen J. Turnbull <stephen@xemacs.org> Fix stale match data after failed search bug. * search.c (search_buffer): Don't find null string if repetition count is 0. (string_match_1): (looking_at_1): (search_buffer): (simple_search): (boyer_moore): Clear all search regs as start, not unused ones on success. * regex.c (re_match_2_internal): Fix comment about clearing regs. * search.c (Freplace_match): Document error conditions in docstring. (These actually error now after a failed match.) 2003-04-16 Chris Palmer <chris@nodewarrior.org> * sysdll.c (dll_open): Removed Objective C-ism to fix Mac build. 2003-04-16 Stephen J. Turnbull <stephen@xemacs.org> * menubar-gtk.c (gtk_xemacs_menubar_class_init): (gtk_xemacs_menubar_init): (gtk_xemacs_menubar_size_request): (menu_descriptor_to_widget_1): (menu_descriptor_to_widget): (popdown_menu_cb): (reinit_vars_of_menubar_gtk): * event-gtk.c (emacs_gtk_key_event_handler): (emacs_gtk_button_event_handler): (emacs_gtk_motion_event_handler): (reinit_vars_of_event_gtk): (event_name): Reformat function definitions correctly. 2003-04-16 Stephen J. Turnbull <stephen@xemacs.org> * symsinit.h (reinit_console_type_create_gtk): (reinit_vars_of_menubar_gtk): (reinit_vars_of_event_gtk): Declare. 2003-04-12 Malcolm Purvis <malcolmpurvis@optushome.com.au> * event-gtk.c: Added missing declaration of non_fake_input_wait_mask. 2003-04-04 Daiki Ueno <daiki@xemacs.org> * regex.c (re_match_2_internal): Fix charset/charset_not matching for extended characters. Fixes KNOWN BUG matching ASCII character classes to mule characters. 2003-04-14 Steve Youngs <youngs@xemacs.org> * glyphs.c: * glyphs.c (nothing_instantiate): * glyphs.c (Fmake_glyph_internal): * glyphs.c (Fglyphp): * glyphs.c (glyph_image_instance): * glyphs.c (glyph_image_instance_maybe): * glyphs.c (glyph_width): Work around a problem compiling with --use-union-type using Intel's ICC compiler. From Martin Buchholz <martin@xemacs.org> See <http://list-archive.xemacs.org/xemacs-patches/200301/msg00132.html> 2003-04-08 Mike Sperber <mike@xemacs.org> * Makefile.in.in ($(BLDSRC)/NEEDTODUMP): Depends on $(RAW_EXE). 2003-03-31 Mike Alexander <mta@arbortext.com> * frame-msw.c (mswindows_set_frame_size): Call change_frame_size. 2003-03-25 Jerry James <james@xemacs.org> * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic linking (from Andrew Begel). * sysdll.c: Factor common code into MAYBE_PREPEND_UNDERSCORE. Try DL_LAZY and DL_NOW if RTLD_LAZY and RTLD_NOW are undefined. Add Andrew Begel's support for loading bundles using the Darwin/MacOSX native API. * sysdll.c (dll_function): Use MAYBE_PREPEND_UNDERSCORE. * sysdll.c (dll_variable): Ditto. * sysdll.c (dll_open): Minor whitespace fix. 2003-03-25 Andrew Begel <abegel@cs.berkeley.edu> * emodules.c (vars_of_module): Add .dylib as an acceptable shared library file extension to support MacOS X. 2003-03-22 Stephen J. Turnbull <stephen@xemacs.org> * database.c (Fopen_database): DB_AUTO_COMMIT is invalid in Berkeley db 4.1 unless you have a transaction environment. 2003-03-21 Stephen J. Turnbull <stephen@xemacs.org> * regex.c (re_match_2_internal): Fix matching degenerate word boundaries. 2003-03-09 Ben Wing <ben@xemacs.org> * file-coding.c: * file-coding.c (look_for_coding_system_magic_cookie): Disable new check for the moment since it's all wrong and causes crashes. 2003-03-09 Ben Wing <ben@xemacs.org> * file-coding.c: * file-coding.c (snarf_coding_system): * file-coding.c (look_for_coding_system_magic_cookie): * file-coding.c (vars_of_file_coding): Fix up internal magic-cookie code to also check for `;;;###coding system', already handled by the (redundant) code in files.el. * regex.c (re_match_2_internal): Fix problem with ordering of initializations and statements -- OK in C++, not in C. * search.c (fast_string_match): Indentation. 2003-03-06 Ben Wing <ben@xemacs.org> * Makefile.in.in (build-the-mofo): * Makefile.in.in (.NO_PARALLEL): Removed. * Makefile.in.in (release): Removed. * Makefile.in.in (update-elc-2): Removed. * Makefile.in.in (link_deps): * Makefile.in.in (dump-id.c): New. * Makefile.in.in (load-shadows): Removed. * Makefile.in.in (.PHONY): Removed. * Makefile.in.in (FRC.needtodump): Removed. * Makefile.in.in (temacs_link_args): * Makefile.in.in (obj_src): Order sections in main build process and add comments. Add additional dependencies to try and prevent later steps from happening when failures in earlier steps have occurred. * alloc.c (disksave_object_finalization): Don't arbitrarily clear Vconfigure_info_directory since it messes up separate build/source dirs. * console.c (get_console_variant): * console.c (Fvalid_console_type_p): * console.c (Fconsole_type): * console.h (console_variant): * device-msw.c: * device.c: Add accidentally omitted msprinter console and data descriptions. * print.c: * print.c (write_string_to_stdio_stream_1): * print.c (write_string_to_stdio_stream): * print.c (write_string_to_external_output_va): * print.c (stderr_out): * print.c (stdout_out): * print.c (debug_out): * print.c (fatal): * print.c (write_string_to_alternate_debugging_output): * print.c (debug_prin1): * print.c (ext_print_begin): * print.c (debug_print): * print.c (dpa): * print.c (debug_short_backtrace): * print.c (syms_of_print): * console-msw.c (write_string_to_mswindows_debugging_output): Add clear-left-side functionality to help keep stdio/stderr output from separate sources on separate lines. Generalize the different kinds of debugging output. Add dpa(). * profile.c: * profile.c (vars_of_profile): Add better docs on Unix/Windows differences. * regex.c: * regex.c (RE_TRANSLATE_1): * regex.c (REGEX_ALLOCATE_STACK): * regex.c (RE_MATCH_RELOCATE_MOVEABLE_DATA_POINTERS): * regex.c (RE_SEARCH_RELOCATE_MOVEABLE_DATA_POINTERS): * regex.c (re_search_2): * regex.c (re_match_2_internal): Fix problems with rel-alloc compilation caused by previous patch. * emacs.c (assert_failed): Seg fault rather than abort on Cygwin, since gdb doesn't trap aborts properly. * console-gtk-impl.h: * console-gtk-impl.h (struct gtk_frame): * console-gtk.h: * console-msw.h: * console-x-impl.h: * console-x-impl.h (struct x_frame): * console-x.h: * dialog-gtk.c: * dialog-x.c: * event-msw.c: * frame-gtk.c: * frame-gtk.c (allocate_gtk_frame_struct): * frame-gtk.c (gtk_mark_frame): * frame-x.c: * frame-x.c (allocate_x_frame_struct): * frame-x.c (x_mark_frame): * frameslots.h: * glyphs-gtk.c: * glyphs-x.c: * glyphs-x.c (x_redisplay_widget): * glyphs-x.c (x_button_redisplay): * glyphs-x.c (x_tab_control_redisplay): * gui-gtk.c: * gui-x.c: * gui-x.c (new_lwlib_id): * gui-x.c (struct widget_value_mapper): * gui-x.c (snarf_widget_value_mapper): * gui-x.c (snarf_widget_values_for_gcpro): * gui-x.c (gcpro_popup_callbacks): * gui-x.c (ungcpro_popup_callbacks): * gui-x.c (syms_of_gui_x): * gui-x.c (reinit_vars_of_gui_x): * inline.c: * menubar-gtk.c: * menubar-gtk.c (FRAME_GTK_MENUBAR_DATA): * menubar-gtk.c (set_frame_menubar): * menubar-gtk.c (gtk_update_frame_menubar_internal): * menubar-msw.c: * menubar-x.c: * menubar-x.c (MENUBAR_TYPE): * menubar-x.c (pre_activate_callback): * menubar-x.c (set_frame_menubar): * menubar-x.c (x_update_frame_menubar_internal): * menubar-x.c (x_free_frame_menubars): * menubar-x.c (command_builder_find_menu_accelerator): * menubar-x.c (Faccelerate_menu): * scrollbar-gtk.c: * scrollbar-x.c: * ui-gtk.c: Delete popup-data object. Delete menubar_data field from frames, since its usage is frame-specific. Delete menubar-msw.h, gui-x.h, gui-gtk.h. Clean up handling of lwlib callback data GCPRO'ing and add missing GCPRO recomputation in widget code. 2003-03-01 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (xmalloc): * alloc.c (xcalloc): * alloc.c (xrealloc): * alloc.c (endif): * lisp.h (ALLOCA): * lisp.h (MALLOC_OR_ALLOCA): * lisp.h (DO_REALLOC): * ralloc.c: * ralloc.c (REGEX_MALLOC_CHECK): * ralloc.c (r_alloc): * ralloc.c (r_alloc_free): * ralloc.c (r_re_alloc): * regex.c: * regex.c (REGEX_ALLOCATE): * regex.c (REGEX_REALLOCATE): * regex.c (REGEX_ALLOCATE_STACK): * regex.c (TALLOC): * regex.c (INIT_FAIL_STACK): * regex.c (PUSH_FAILURE_POINT): * regex.c (EXTEND_BUFFER): * regex.c (FREE_STACK_RETURN): * regex.c (regex_compile): * regex.c (re_compile_fastmap): * regex.c (re_search_2): * regex.c (FREE_VARIABLES): * regex.c (re_match): * regex.c (re_match_2): * regex.c (re_match_2_internal): * regex.c (re_comp): * regex.c (regcomp): * regex.c (regexec): * regex.c (regfree): Use ALLOCA() in regex.c to avoid excessive stack allocation. Also fix subtle problem with REL_ALLOC() -- any call to malloc() (direct or indirect) may relocate rel-alloced data, causing buffer text to shift. After any such call, regex must update all its pointers to such data. Add a system, when ERROR_CHECK_MALLOC, whereby regex.c indicates all the places it is prepared to handle malloc()/realloc()/free(), and any calls anywhere in XEmacs outside of this will trigger an abort. * alloc.c (garbage_collect_1): * dialog-msw.c: * dialog-msw.c (dialog_proc): * eval.c: * eval.c (run_post_gc_hook): * eval.c (flagged_a_squirmer): * eval.c (issue_call_trapping_problems_warning): * eval.c (call_trapping_problems): * eval.c (run_hook_trapping_problems): * eval.c (safe_run_hook_trapping_problems): * eval.c (run_hook_with_args_in_buffer_trapping_problems): * eval.c (run_hook_with_args_trapping_problems): * eval.c (va_run_hook_with_args_trapping_problems): * eval.c (va_run_hook_with_args_in_buffer_trapping_problems): * eval.c (record_unwind_protect_restoring_int): * event-stream.c (run_pre_idle_hook): * event-stream.c (pre_command_hook): * event-stream.c (post_command_hook): * general-slots.h: * insdel.c: * insdel.c (signal_first_change): * insdel.c (signal_before_change): * insdel.c (signal_after_change): * lisp.h (POSTPONE_WARNING_ISSUE): * lisp.h: * menubar-msw.c: * menubar-msw.c (unsafe_handle_wm_initmenu_1): * menubar-x.c (pre_activate_callback): Change *run_hook*_trapping_problems to take a warning class, not a string. Factor out code to issue warnings, add flag to call_trapping_problems() to postpone warning issue, and make *run_hook*_trapping_problems issue their own warnings tailored to the hook, postponed in the case of safe_run_hook_trapping_problems() so that the appropriate message can be issued about resetting to nil only when not `quit'. Make record_unwind_protect_restoring_int() non-static. * dumper.c: * dumper.c (pdump_unsupported_dump_type): * dumper.c (pdump_register_sub): * dumper.c (pdump_store_new_pointer_offsets): * dumper.c (pdump_reloc_one): * dumper.c (pdump_dump_root_struct_ptrs): Issue notes about incremental linking problems under Windows. * fileio.c: * fileio.c (barf_or_query_if_file_exists): * fileio.c (Fsysnetunam): * fileio.c (Fencrypt_string): * fileio.c (Fdecrypt_string): * fileio.c (Fdo_auto_save): Mule-ize encrypt/decrypt-string code. * text.h (DEC_IBYTEPTR): * text.h (EI_ALLOC): * text.h (eicpy_lstr): * text.h (eicpy_raw_fmt): * text.h (eicpy_ch): * text.h (eicat_ch): * text.h (eisub_ei): * text.h (eisub_ch): * text.h (eito_external): * text.h (EI_CASECHANGE): Spacing changes. 2003-02-28 Ben Wing <ben@xemacs.org> * m/acorn.h: * m/alliant-2800.h (UNEXEC): * m/alliant.h: * m/altos.h (TERMCAP): * m/amdahl.h: * m/arm.h: * m/att3b.h: * m/aviion.h: * m/clipper.h: * m/cnvrgnt.h: * m/convex.h: * m/cydra5.h: * m/delta.h: * m/delta88k.h: * m/dpx2.h: * m/elxsi.h: * m/ews4800r.h: * m/gould.h: * m/hp800.h: * m/hp9000s300.h: * m/i860.h: * m/ibmps2-aix.h: * m/ibmrs6000.h: * m/ibmrt-aix.h: * m/ibmrt.h: * m/intel386.h: * m/iris4d.h: * m/iris5d.h: * m/iris6d.h: * m/irist.h: * m/m68k.h: * m/masscomp.h: * m/mg1.h: * m/mips-nec.h: * m/mips-siemens.h: * m/mips.h: * m/nh3000.h: * m/nh4000.h: * m/ns32000.h: * m/plexus.h: * m/powerpc.h (N_BADMAG): * m/sequent-ptx.h: * m/sequent.h: * m/sgi-challenge.h: * m/stride.h: * m/tad68k.h: * m/targon31.h: * m/tekxd88.h: * m/template.h: * m/tower32.h: * m/tower32v3.h: * m/ustation.h: * m/wicat.h: * m/xps100.h: * data.c: * data.c (init_data_very_early): * doc.c (get_doc_string): * doc.c (Fsnarf_documentation): * editfns.c (init_editfns): * emacs.c: * emacs.c (main_1): * emacs.c (syms_of_emacs): * lrecord.h (DUMPEDP): * ntheap.c: * process-unix.c: * process-unix.c (unix_init_process): * sysdep.c: * sysdep.c (init_system_name): * unexec.c: Delete all support for bit-rotten CANNOT_DUMP. Just use pdump. 2003-02-28 Ben Wing <ben@xemacs.org> * Makefile.in.in (all): * Makefile.in.in (PROGNAME): Removed. * Makefile.in.in (DUMP_ID): Removed. * Makefile.in.in (DUMP_TARGET): Removed. * Makefile.in.in (RECURSIVE_MAKE): * Makefile.in.in (EXE_TARGET): Removed. * Makefile.in.in (SHELL): Removed. * Makefile.in.in (RM): Removed. * Makefile.in.in (lispdir): Removed. * Makefile.in.in (moduledir): Removed. * Makefile.in.in (.SUFFIXES): Removed. * Makefile.in.in (libsrc): Removed. * Makefile.in.in (etcdir): Removed. * Makefile.in.in (srcdir): Removed. * Makefile.in.in (SRC): New. * Makefile.in.in (lwlib_libs): Removed. * Makefile.in.in (lwlib_deps): Removed. * Makefile.in.in (LWLIB_SRCDIR): * Makefile.in.in (LIBI18N): Removed. * Makefile.in.in (X11_libs): Removed. * Makefile.in.in (LISP): New. * Makefile.in.in (ETC): New. * Makefile.in.in (SRCMODULES): New. * Makefile.in.in (LIB_SRC): New. * Makefile.in.in (BLDSRC): New. * Makefile.in.in (BLDMODULES): New. * Makefile.in.in (ldap_objs): * Makefile.in.in (postgresql_objs): * Makefile.in.in (win32_objs): * Makefile.in.in (cppflags): Removed. * Makefile.in.in (cflags): Removed. * Makefile.in.in (ldflags): Removed. * Makefile.in.in (.c.o): Removed. * Makefile.in.in (.c.i): Removed. * Makefile.in.in (.c.s): Removed. * Makefile.in.in (lwlib_lib): New. * Makefile.in.in (other_files): * Makefile.in.in (LIBES): * Makefile.in.in (mo_file): * Makefile.in.in (mo_dir): Removed. * Makefile.in.in (DO_TEMACS): * Makefile.in.in (RAW_EXE): New. * Makefile.in.in (dump_temacs): * Makefile.in.in (debug_temacs): Removed. * Makefile.in.in (.NO_PARALLEL): * Makefile.in.in (release): * Makefile.in.in (update-elc-2): * Makefile.in.in (.PHONY): * Makefile.in.in (update-elc): Removed. * Makefile.in.in (FRC.needtodump): New. * Makefile.in.in (NEEDTODUMP): Removed. * Makefile.in.in (link_deps): * Makefile.in.in (temacs_deps): * Makefile.in.in (temacs_link_args): * Makefile.in.in (dump-id.c): * Makefile.in.in (obj_src): * Makefile.in.in (fastdump): * Makefile.in.in (all-elc): * Makefile.in.in (TopLevelEmacsShell.o): * Makefile.in.in (TopLevelEmacsShell.c.rtl): * Makefile.in.in (TransientEmacsShell.o): * Makefile.in.in (TransientEmacsShell.c.rtl): * Makefile.in.in (ExternalClient-Xm-shared.o): * Makefile.in.in (ExternalClient-Xt-shared.o): * Makefile.in.in (ExternalClient-Xlib-shared.o): * Makefile.in.in (ExternalClient-Xm-nonshared.o): * Makefile.in.in (ExternalClient-Xt-nonshared.o): * Makefile.in.in (ExternalClient-Xlib-nonshared.o): * Makefile.in.in (extw-Xt-shared.o): * Makefile.in.in (extw-Xlib-shared.o): * Makefile.in.in (extw-Xt-nonshared.o): * Makefile.in.in (extw-Xlib-nonshared.o): * Makefile.in.in (libextcli_Xm.a): * Makefile.in.in (libextcli_Xt.a): * Makefile.in.in (libextcli_Xlib.a): * Makefile.in.in (extw_link_end): * Makefile.in.in (libextcli_Xm.so.1): * Makefile.in.in (libextcli_Xt.so.1): * Makefile.in.in (libextcli_Xlib.so.1): * Makefile.in.in (config.h): * Makefile.in.in (allocax.o): * Makefile.in.in (sunplay.o): * Makefile.in.in (xemacs_res.o): * Makefile.in.in (dortl): * Makefile.in.in (lint): * Makefile.in.in (check-features): * Makefile.in.in (rtcmacs): * Makefile.in.in (run-rtcmacs): * Makefile.in.in (debug-temacs): * Makefile.in.in (PURIFY_FLAGS): * Makefile.in.in (puremacs): * Makefile.in.in (quantmacs): * Makefile.in.in (covmacs): * Makefile.in.in (extraclean): * Makefile.in.in (relock): * Makefile.in.in (install): * Makefile.in.in (depend): * Makefile.in.in (FRC.unicode-encapsulate): New. * Makefile.in.in (unicode-encapsulate): New. Lots o' cleanup. Use names like LISP, SRC instead of lispdir, srcdir, for consistency with xemacs.mak and the conventions in the rest of the file. Eliminate use of ${...} in favor of $(...), to make it easier to move code between this file and xemacs.mak. Fix dependency handling wrt NEEDTODUMP to eliminate problems some people (e.g. Vin) have been seeing with non-GNU makes. Write a long section about the subtle but oh-so-important differences in dependency processing between nmake, make, and GNU make. Add unicode-encapsulate target, from xemacs.mak. * chartab.c (fill_char_table): * chartab.c (put_char_table): * lrecord.h: Fix crash due to attempt to free objects across dump/undump. 2003-02-20 Mike Sperber <mike@xemacs.org> * Makefile.in.in (update-elc-2): Sequentialize dependencies even more. 2003-02-23 Ben Wing <ben@xemacs.org> * eval.c (unbind_to_hairy): damn those off-by-one errors. 2003-02-21 Ben Wing <ben@xemacs.org> * redisplay.c: * redisplay.c (run_post_redisplay_actions): Don't get in an infinite loop running post-redisplay actions. 2003-02-20 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (garbage_collect_1): Make gc_currently_forbidden static. * config.h.in: * lisp.h: Move some stuff to lisp.h. * console-gtk.h: * console-impl.h: * console-impl.h (struct console_methods): * console-msw.h: * console-x.h: * event-Xt.c (emacs_Xt_handle_magic_event): * event-msw.c (emacs_mswindows_drain_queue): * event-msw.c (mswindows_handle_paint): * event-msw.c (emacs_mswindows_event_pending_p): * redisplay-gtk.c: * redisplay-gtk.c (gtk_clear_to_window_end): * redisplay-msw.c: * redisplay-msw.c (mswindows_redisplay_deadbox): * redisplay-msw.c (mswindows_clear_region): * redisplay-msw.c (mswindows_clear_frame): * redisplay-msw.c (console_type_create_redisplay_mswindows): * redisplay-output.c: * redisplay-output.c (redisplay_output_window): * redisplay-output.c (redisplay_redraw_exposed_window): * redisplay-output.c (redisplay_redraw_exposed_area): * redisplay-x.c: * redisplay-x.c (x_generate_shadow_pixels): * gtk-xemacs.c (gtk_xemacs_paint): * gtk-xemacs.c (gtk_xemacs_expose): Remove duplicated code to redraw exposed area. Add deadbox method needed by the generalized redraw code. Defer redrawing if already in redisplay. * frame-msw.c (mswindows_set_frame_size): * event-stream.c (event_stream_drain_queue): * event-stream.c (detect_input_pending): * event-stream.c (Finput_pending_p): * event-stream.c (event_stream_quit_p): * event-stream.c (run_pre_idle_hook): * event-stream.c (Fdiscard_input): * frame.c: Add comments about calling Lisp. * debug.c: * debug.c (FROB): * debug.c (syms_of_debug): * general-slots.h: Move generalish symbols to general-slots.h. * doprnt.c (get_doprnt_args): * doprnt.c (emacs_doprnt_1): reindent. * lisp.h (Dynarr_reset): * lisp.h (Dynarr_add): * lisp.h (Dynarr_increment): * lisp.h (Dynarr_pop): * lisp.h (Dynarr_delete_object): * dynarr.c: * dynarr.c (Dynarr_resize): * dynarr.c (Dynarr_insert_many): * dynarr.c (Dynarr_delete_many): * dynarr.c (Dynarr_memory_usage): Add debug code for locking a dynarr to catch invalid mods. Use in redisplay.c. * eval.c: * eval.c (throw_or_bomb_out): * eval.c (Fsignal): * eval.c (Feval): * eval.c (Ffuncall): * eval.c (set_trapping_problems_flags): * eval.c (call_trapping_problems): * file-coding.c: * file-coding.c (complex_vars_of_file_coding): Define file-name as alias for native not vice-versa. * frame-gtk.c: * frame-gtk.c (syms_of_frame_gtk): * frame-x.c: * frame-x.c (syms_of_frame_x): Move Qwindow_id to general-slots. * dialog-msw.c (handle_question_dialog_box): * glyphs-gtk.c (gtk_tab_control_redisplay): * glyphs-msw.c: * glyphs-msw.c (mswindows_redisplay_widget): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (mswindows_button_instantiate): * glyphs-msw.c (mswindows_button_redisplay): * glyphs-msw.c (mswindows_tab_control_instantiate): * glyphs-msw.c (mswindows_tab_control_redisplay): * glyphs-widget.c: * glyphs-widget.c (widget_normalize): * glyphs-widget.c (tab_control_order_only_changed): * glyphs-widget.c (layout_query_geometry): * glyphs-x.c: * glyphs-x.c (x_widget_instantiate): * glyphs-x.c (x_button_instantiate): * glyphs-x.c (x_progress_gauge_instantiate): * glyphs-x.c (x_tab_control_instantiate): * glyphs-x.c (x_tab_control_redisplay): * gui.c: * gui.c (gui_item_value): * gui.c (gui_item_active_p): * gui.c (gui_item_selected_p): * gui.c (gui_item_list_find_selected): * gui.c (gui_item_included_p): * gui.c (gui_value_equal): * gui.c (gui_item_equal_sans_selected): * gui.c (gui_item_equal): * gui.h: * menubar-msw.c (populate_menu_add_item): * menubar.c (Fmenu_find_real_submenu): Ensure that various glyph functions that eval within redisplay protect the evals. Same for calls to internal_equal(). Modify various functions, e.g. gui_item_*(), to protect evals within redisplay, taking an in_redisplay parameter if it's possible for them to be called both inside and outside of redisplay. * gutter.c: * gutter.c (calculate_gutter_size): * gutter.c (redraw_exposed_gutters): * gutter.c (Fset_default_gutter_position): * gutter.c (gutter_specs_changed): * gutter.c (gutter_geometry_changed_in_window): Defer specifier-changed updating till after redisplay, if necessary, since we need to enter redisplay to do it. * gutter.c (Fredisplay_gutter_area): Do nothing if in redisplay. * lisp.h: Add version of alloca() for use in function calls. * lisp.h (XCADR): Add XCAD[D+]R up to 6 D's, and aliases X1ST, X2ND, etc. * frame.c (invalidate_vertical_divider_cache_in_frame): * frame.c (adjust_frame_size): * frame.c (store_minibuf_frame_prop): * frame.c (Fset_frame_properties): * frame.c (internal_set_frame_size): * frame.c (Fset_frame_height): * frame.c (Fset_frame_pixel_height): * frame.c (Fset_frame_displayable_pixel_height): * frame.c (Fset_frame_width): * frame.c (Fset_frame_pixel_width): * frame.c (Fset_frame_displayable_pixel_width): * frame.c (Fset_frame_size): * frame.c (Fset_frame_pixel_size): * frame.c (Fset_frame_displayable_pixel_size): * frame.c (change_frame_size_1): * frame.c (change_frame_size): * frame.h: * redisplay.c: * redisplay.c (REDISPLAY_PREEMPTION_CHECK \): * redisplay.c (generate_displayable_area): * redisplay.c (regenerate_window): * redisplay.c (enter_redisplay_critical_section): * redisplay.c (exit_redisplay_critical_section): * redisplay.c (redisplay_frame): * redisplay.c (eval_within_redisplay): * redisplay.c (free_display_line): * redisplay.c (Fredisplay_echo_area): * redisplay.c (vars_of_redisplay): * redisplay.h: * signal.c (check_what_happened): * toolbar.c: * toolbar.c (Fset_default_toolbar_position): Redo critical-section code and move from frame.c to redisplay.c. Require that every place inside of redisplay catch errors itself, not at the edge of the critical section (thereby bypassing the rest of redisplay and leaving things in an inconsistent state). Introduce separate means of holding frame-size changes without entering a complete critical section. Introduce "post-redisplay" methods for deferring things till after redisplay. Abort if we enter redisplay reentrantly. Disable all quit checking in redisplay since it's too dangerous. Ensure that all calls to QUIT trigger an abort if unprotected. * redisplay.c: * scrollbar-gtk.c (gtk_update_frame_scrollbars): * scrollbar-x.c (x_update_frame_scrollbars): * scrollbar.c: * scrollbar.c (update_window_scrollbars): Create enter/exit_redisplay_critical_section_maybe() for code that needs to ensure it's in a critical section but doesn't interfere with an existing critical section. * sysdep.c: * sysdep.c (qxe_execve): Use _wexecve() when under Windows NT for Unicode correctness. * text.c: * text.c (new_dfc_convert_now_damn_it): * text.c (new_dfc_convert_malloc): * text.c (find_pos_of_existing_active_dfc_e2c): * text.c (new_dfc_convert_alloca): * text.c (new_dfc_convert_size): * text.c (reinit_vars_of_text): * text.h: * text.h (eicpy_ext_len): * text.h (eicpy_ext): * text.h (eito_external): * text.h (Qx_atom_name_encoding): Add new_dfc() functions, which return an alloca()ed value rather than requiring an lvalue. (Not really used yet; used in another workspace, to come.) Add some macros for SIZED_EXTERNAL. Update the encoding aliases after involved scrutinization of the X manual. * unicode.c: * unicode.c (init_blank_unicode_tables): * unicode.c (init_charset_unicode_tables): * unicode.c (syms_of_unicode): Answer the anonymous but suspiciously Turnbullian questions. Rename parse-unicode-translation-table to load-unicode-mapping-table, as suggested. 2003-02-19 Ben Wing <ben@xemacs.org> * Makefile.in.in (all): New. * Makefile.in.in (EXE_TARGET): * Makefile.in.in (X11_libs): * Makefile.in.in (external_widget_objs): * Makefile.in.in (other_files): * Makefile.in.in (extw_link_beg): Removed. * Makefile.in.in (mo_file): * Makefile.in.in (extw_link_mid): Removed. * Makefile.in.in (extw_link_end): Removed. * Makefile.in.in (temacs_loadup): Removed. * Makefile.in.in (run_temacs): Removed. * Makefile.in.in (dump_temacs): * Makefile.in.in (DO_TEMACS): New. * Makefile.in.in (DO_XEMACS): New. * Makefile.in.in (debug_temacs): * Makefile.in.in (LISP): New. * Makefile.in.in (BATCH): New. * Makefile.in.in (BATCH_PACKAGES): New. * Makefile.in.in (TEMACS_BATCH): New. * Makefile.in.in (XEMACS_BATCH): New. * Makefile.in.in (XEMACS_BATCH_PACKAGES): New. * Makefile.in.in (temacs_loadup_args): New. * Makefile.in.in (dump_temacs_args): New. * Makefile.in.in (run_temacs_args): New. * Makefile.in.in (release): * Makefile.in.in (build-the-mofo): New. * Makefile.in.in (update-elc): New. * Makefile.in.in (update-elc-2): New. * Makefile.in.in (load-shadows): New. * Makefile.in.in (NEEDTODUMP): New. * Makefile.in.in (obj_src): * Makefile.in.in (FRC.update-elc.stamp): Removed. * Makefile.in.in (update-elc.stamp): Removed. * Makefile.in.in (dortl): Removed. * Makefile.in.in (link_deps): New. * Makefile.in.in (temacs_deps): New. * Makefile.in.in (temacs_link_args): New. * Makefile.in.in (dump-id.c): New. * Makefile.in.in (TopLevelEmacsShell.o): * Makefile.in.in (LINT.c): Removed. * Makefile.in.in (LINTFILES): Removed. * Makefile.in.in (LINTINCLUDES): Removed. * Makefile.in.in (LINTFLAGS): Removed. * Makefile.in.in (lint): Removed. * Makefile.in.in (dump_elcs): Removed. * Makefile.in.in (all-elc): New. * Makefile.in.in (dump-elcs): Removed. * Makefile.in.in (run-temacs): Removed. * Makefile.in.in (testdir): Removed. * Makefile.in.in (batch_test_emacs): Removed. * Makefile.in.in (check-temacs): Removed. * Makefile.in.in (rtc_patch.o): Removed. * Makefile.in.in (rtcmacs): Removed. * Makefile.in.in (run-rtcmacs): Removed. * Makefile.in.in (debug-temacs): Removed. * Makefile.in.in (PURIFY_PROG): Removed. * Makefile.in.in (PURIFY_LIBS): Removed. * Makefile.in.in (PURIFY_FLAGS): Removed. * Makefile.in.in (puremacs): Removed. * Makefile.in.in (libextcli_Xlib.a): * Makefile.in.in (QUANTIFY_PROG): Removed. * Makefile.in.in (QUANTIFY_HOME): Removed. * Makefile.in.in (QUANTIFY_FLAGS): Removed. * Makefile.in.in (quantmacs): Removed. * Makefile.in.in (PURECOV_PROG): Removed. * Makefile.in.in (covmacs): Removed. * Makefile.in.in (xemacs_res.o): * Makefile.in.in (clean): Major surgery. Move all stuff related to building anything in the src/ directory from top-level Makefile.in.in to here. Simplify the dependencies. Rearrange into logical subsections. Synchronize the main compile/dump/build-elcs section with xemacs.mak, which is already clean and in good working order. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS, TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so it doesn't need to ignore the return value from dumping. Add .NO_PARALLEL since various aspects of building and dumping must be serialized but do not always have dependencies between them (this is impossible in some cases). Everything related to src/ now gets built in one pass in this directory by just running `make' (except the Makefiles themselves and config.h, paths.h, Emacs.ad.h, and other generated .h files). * console.c (Fvalid_console_type_p): Update list of possibly valid console types. * emacs.c: * emacs.c (check_compatible_window_system): * emacs.c (main_1): * emacs.c (standard_args): * emacs.c (sort_args): * emacs.c (main): Rationalize the specifying and handling of the type of the first frame. This was originally prompted by a workspace in which I got GTK to compile under C++ and in the process fixed it so it could coexist with X in the same build -- hence, a combined TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However, you can't simultaneously *display* more than one kind of device connection -- but getting that to work is not that difficult. Perhaps a project for a bored grad student. I (ben) would do it but don't see the use.) To make sense of this, I added new switches that can be used to specifically indicate the window system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka --use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka --use-gnome, same as --use-gtk]. -nw continues as an alias for -tty. When none have been given, XEmacs checks for other parameters implying particular device types (-t -> tty, -display -> x [or should it have same treatment as DISPLAY below?]), and has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or gtk? perhaps should check whether gnome is running), else MS Windows if it exsits, else TTY if it exists, else stream, and you must be running in batch mode. This also fixes an existing bug whereby compiling with no x, no mswin, no tty, when running non- interactively (e.g. to dump) I get "sorry, must have TTY support". * emacs.c (Frun_emacs_from_temacs): Turn on Vstack_trace_on_error so that errors are debuggable even when occurring extremely early in reinitialization. * emacs.c (pause_so_user_can_read_messages): Try to make sure that the user can see message output under Windows (i.e. it doesn't just disappear right away) regardless of when it occurs, e.g. in the middle of creating the first frame. * emacs.c (Femacs_run_status): * emacs.c (syms_of_emacs): Define new function `emacs-run-status', indicating whether XEmacs is noninteractive or interactive, whether raw, post-dump/pdump-load or run-temacs, whether we are dumping, whether pdump is in effect. * event-stream.c: It's "mommas are fat", not "momas are fat". Fix other typo. * event-stream.c (Fnext_event): Conditionalize in_menu_callback check on HAVE_MENUBARS, because it won't exist on w/o menubar support, * lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it blank only for GCC 2.5 through 2.999999999999999. Declare Vstack_trace_on_error. * profile.c: Need to include "profile.h" to fix warnings. * sheap.c (report_sheap_usage): Don't fatal() when need to rerun Make, just stderr_out() and exit(0). That way we can distinguish between a dumping failing expectedly (due to lack of stack space, triggering another dump) and unexpectedly, in which case, we want to stop building. (or go on, if -K is given) * syntax.c (Fmatching_paren): * syntax.c (find_start_of_comment): * syntax.h: Use ints where they belong, and enum syntaxcode's where they belong, and fix warnings thereby. * syntax.h: Fix crash caused by an edge condition in the syntax-cache macros. * text.h: * text.h (LISP_STRING_TO_ALLOCA): * text.h (alloca_ibytes): Spacing fixes. * xmotif.h: New file, to get around shadowing warnings. * EmacsManager.c: * event-Xt.c: * glyphs-x.c: * gui-x.c: * input-method-motif.c: * xmmanagerp.h: * xmprimitivep.h: Include xmotif.h. * alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC. * config.h.in: * file-coding.h: * fileio.c: * getloadavg.c (getloadavg): * select-x.c: * signal.c (qxe_setitimer): * sysdep.c (total_data_usage): * sysfile.h: * systime.h: * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): * unicode.c (dfc_coding_system_is_unicode): Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead. Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY. * lisp.h: More futile attempts to walk and chew gum at the same time when dealing with subr's that don't return. 2003-02-19 Ben Wing <ben@xemacs.org> * eval.c (unbind_to_hairy): Don't check_quit() unless we're unbinding a real Lisp `unwind-protect' since check_quit() does lots of weird things and not all callers are prepared for it. * frame.c: * frame.c (delete_frame_internal): Make absolutely sure there is no quit checking while we are in a "critical section" during frame deletion. 2003-02-16 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.11 "cabbage" is released. 2003-02-15 Ben Wing <ben@xemacs.org> * Makefile.in.in (dynodump_deps): Don't delete the DOC file. Implement quick-building here: not building the DOC file unless it doesn't exist, as the quick-build docs say. * config.h.in: Style changes. Add HAVE_XLIKE. * emacs.c (main_1): * emacs.c (main): * emacs.c (Fdump_emacs): * emacs.c (voodoo_free_hook): * emacs.c (Fkill_emacs): * emacs.c (assert_failed): * emacs.c (vars_of_emacs): * emacs.c (__sti__iflPNGFile_c___): Nothing but niggly spacing changes -- one space before a paren starting a function-call arglist, please. * make-src-depend: When QUICK_BUILD, don't put lisp.h, config.h, and related as dependencies of all source files, so that changes to these files don't trigger total rebuilding of the src directory. Update info on what's a GTK-only and X-only file and use HAVE_XLIKE for files shared between GTK and X. 2003-02-14 Ben Wing <ben@xemacs.org> * buffer.c: * syntax.c: Move syntax table description from buffer.c to syntax.c. * chartab.c: * chartab.c (set_char_table_dirty): * chartab.c (fill_char_table): * chartab.c (Fmake_char_table): * chartab.c (Fcopy_char_table): * chartab.c (get_range_char_table_1): * chartab.c (get_range_char_table): * chartab.c (put_char_table): * chartab.h: * chartab.h (struct Lisp_Char_Table): Free extra char table entries to avoid excessive garbage. Add flags for dirty and mirror_table_p to char tables. Add a back pointer from mirror tables to the original syntax table. When modifying a syntax table, don't update the mirror table right away, just mark as dirty. Add various asserts to make sure we are dealing with the right type of table (mirror or non-mirror). * font-lock.c: * font-lock.c (find_context): * syntax.c (init_syntax_cache): * syntax.c (setup_syntax_cache): * syntax.c (mark_buffer_syntax_cache): * syntax.c (init_buffer_syntax_cache): * syntax.c (syntax_cache_table_was_changed): * syntax.c (update_syntax_cache): * syntax.c (scan_lists): * syntax.c (scan_sexps_forward): * syntax.c (copy_if_not_already_present): * syntax.c (update_just_this_syntax_table): * syntax.c (update_syntax_table): * syntax.c (vars_of_syntax): * syntax.h: * syntax.h (struct syntax_cache): Add entry to syntax caches for the non-mirror table. Set it appropriately when initializing the syntax table. Use it, not the mirror table, for calls to syntax_match(). Don't create a bogus float each time, just once at startup. Add some asserts, as in chartab.c. * syntax.h (SYNTAX_CODE_FROM_CACHE): When retrieving the syntax code, check the dirty flag and update the mirror tables as appropriate. Add some asserts, as above. 2003-02-14 Ben Wing <ben@xemacs.org> * scrollbar.c (specifier_vars_of_scrollbar): Don't generate fallbacks for TTY's when not HAVE_TTY. 2003-02-13 Martin Buchholz <martin@xemacs.org> Make XEmacs redisplay 10 times faster. If, that is, you're using a slow X connection and MoveOpaque. Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion. Use compress_motion = TRUE. * EmacsFrame.c (emacsFrameClassRec): * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC): * EmacsManager.c (emacsManagerClassRec): * xintrinsicp.h: Make sure XtExposeNoRegion is defined. 2003-02-13 Ben Wing <ben@xemacs.org> * unicode.c (utf_16_detect): Don't get snafued w/division-by-zero. 2003-02-12 Ben Wing <ben@xemacs.org> * profile.c: * profile.c (create_profile_tables): * profile.c (current_profile_function): * profile.c (profile_record_consing): * profile.c (profile_record_about_to_call): * profile.c (profile_record_just_called): * profile.c (sigprof_handler): * profile.c (Fstart_profiling): * profile.c (Fstop_profiling): * profile.c (Fclear_profiling_info): * profile.c (copy_hash_table_or_blank): * profile.c (Fget_profiling_info): * profile.c (set_profiling_info_timing_maphash): * profile.c (Fset_profiling_info): * profile.c (mark_profiling_info_maphash): * profile.c (mark_profiling_info): * profile.c (vars_of_profile): Major reworking. Keep track of new information -- total function timing (includes descendants), GC usage, total GC usage (includes descendants). New functions to be called appropriately from eval.c, alloc.c to keep track of this information. Keep track of when we're actually in a function vs. in its profile, for more accurate timing counts. Track profile overhead separately. Create new mechanism for specifying "internal sections" that are tracked just like regular Lisp functions and even appear in the backtrace if `backtrace-with-internal-sections' is non-nil (t by default for error-checking builds). Add some KKCC information for the straight (non-Elisp) hash table used by profile, which contains Lisp objects in its keys -- but not used yet. Remove old ad-hoc methods for tracking garbage collection, redisplay (which was incorrect anyway when Lisp was called within these sections). Don't record any tick info when blocking under MS Windows, since the timer there is in real time rather than in process time. Make `start-profiling', `stop-profiling' interactive. Be consistent wrt. recursive functions and functions currently on the stack when starting or stopping -- together these make implementing the `total' values extremely difficult. When we start profiling, we act as if we just entered all the functions currently on the stack. Likewise when exiting. Create vars in_profile for tracking time spent inside of profiling, and profiling_lock for setting exclusive access to the main hash table when reading from it or modifying it. (protects against getting screwed up by the signal handle going off at the same time. * profile.h: New file. Create macros for declaring internal profiling sections. * lisp.h: Move profile-related stuff to profile.h. * alloc.c: * alloc.c (INCREMENT_CONS_COUNTER_1): * alloc.c (DECREMENT_CONS_COUNTER): * alloc.c (garbage_collect_1): * alloc.c (vars_of_alloc): Keep track of total consing, for profile. Tell profile when we are consing. Use new profile-section method for noting garbage-collection. * alloc.c (xmalloc): * alloc.c (xcalloc): * alloc.c (xrealloc): * alloc.c (endif): Abort if we attempt to call the allocator reentrantly. * backtrace.h: * backtrace.h (FSET_FAST_UNSAFE): * eval.c: Add info for use by profile in the backtrace frame and transfer PUSH_BACKTRACE/POP_BACKTRACE from eval.c, for use with profile. * elhash.c: Author comment. * eval.c (vars_of_eval): * lisp.h: New Lisp var `backtrace-with-internal-sections'. Set to t when error-checking is on. * eval.c: * eval.c (unwind_to_catch): When unwinding, * eval.c (Fcommand_execute): * eval.c (Feval): * eval.c (Ffuncall): Report to profile when we are about-to-call and just-called wrt. a function. * alloc.c (garbage_collect_1): * eval.c (backtrace_unevalled_args): * eval.c (Fbacktrace): * eval.c (Fbacktrace_frame): Allow for "fake" backtrace frames, for internal sections (used by profile and `backtrace-with-internal-sections'. * event-Xt.c: * event-Xt.c (emacs_Xt_next_event): * event-gtk.c: * event-gtk.c (emacs_gtk_next_event): * event-msw.c: * event-msw.c (mswindows_need_event): * event-tty.c: * event-tty.c (emacs_tty_next_event): Record when we are actually blocking on an event, for profile's sake. * event-stream.c: * event-stream.c (next_event_internal): * event-stream.c (Fnext_event): * event-stream.c (execute_internal_event): * event-stream.c (Fdispatch_event): * event-stream.c (syms_of_event_stream): * event-stream.c (vars_of_event_stream): Record internal profiling sections for getting, dispatching events. * extents.c: * extents.c (map_extents): * extents.c (vars_of_extents): Record internal profiling sections for map_extents. * hash.c: Author comment. * hash.c (grow_hash_table): * hash.h: Add pregrow_hash_table_if_necessary(). (Used in profile code since the signal handler is the main grower but can't allow a realloc(). We make sure, at critical points, that the table is large enough.) * lread.c: * lread.c (Fload_internal): * lread.c (done): New. * lread.c (syms_of_lread): * lread.c (vars_of_lread): Create internal profiling sections for `load' (which may be triggered internally by autoload, etc.). * redisplay.c: * redisplay.c (redisplay_without_hooks): * redisplay.c (vars_of_redisplay): Remove old profile_redisplay_flag. Use new macros to declare internal profiling section for redisplay. * text.c (charbpos_to_bytebpos_func): * text.c (bytebpos_to_charbpos_func): * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): * text.c (vars_of_text): Use new macros to declare internal profiling sections for char-byte conversion and internal-external conversion. SEMI-UNRELATED CHANGES: ----------------------- * text.c: Update the long comments. 2003-02-07 Mike Sperber <mike@xemacs.org> * scrollbar.c (specifier_vars_of_scrollbar): (specifier_vars_of_scrollbar): TTY devices don't have scrollbars. 2003-01-28 Martin Buchholz <martin@xemacs.org> * config.h.in (_ALL_SOURCE): Guard against multiple definition. 2003-02-09 Ben Wing <ben@xemacs.org> * console-stream.c: * console-stream.c (stream_clear_region): * console-stream.c (console_type_create_stream): Abort when any attempts to output a stream console are made. Should be caught sooner. * event-msw.c (mswindows_wnd_proc): Don't redisplay() during sizing when the frame has not yet been initialized completely. * event-stream.c (Fnext_event): * menubar-msw.c (mswindows_handle_wm_initmenupopup): * menubar-x.c (protected_menu_item_descriptor_to_widget_value): * menubar.c: * menubar.h: Restore in_menu_callback. Bind it in menubar-{msw,x}.c when calling filter functions and the like. Conditionalize on it, not in_modal_loop, when issuing error in `next-event', otherwise we bite the dust immediately -- event-msw.c purposely calls Fnext_event() in a modal loop, and knows what it's doing. * redisplay-output.c (redisplay_unmap_subwindows_maybe): * redisplay-output.c (redisplay_unmap_subwindows_except_us): Formatting fixes. * redisplay.c: * redisplay.c (redisplay_frame): * redisplay.c (Fredisplay_echo_area): * redisplay.c (redisplay_no_pre_idle_hook): * redisplay.c (syms_of_redisplay): * redisplay.c (vars_of_redisplay): * window.c (Fwindow_pixel_edges): * window.c (syms_of_window): * winslots.h: Delete lots of carcasses of attempts to add redisplay support for font-lock -- `pre/post-redisplay-hook', unimplemented junk from FSF (redisplay-end-trigger, `window-scroll-functions', `window-size-change-functions'). If we want to port some redisplay support from FSF, port the `fontified' property. * redisplay.c (redisplay_frame): Put in a check here (as well as redisplay_device()) for a stream frame. We can get here directly through Lisp fun `redisplay-frame'. Abort if frame not initialized. * redisplay.c (Fredisplay_echo_area): * redisplay.c (Fforce_cursor_redisplay): Check for stream frames/devices. 2003-02-07 Mike Sperber <mike@xemacs.org> * alloc.c (GC_CHECK_NOT_FREE): Pull this out of USE_KKCC. 2003-02-07 Ben Wing <ben@xemacs.org> * lread.c (Fload_internal): Eliminate printing `done' messages noninteractively since it's now obvious which files are loaded by which others. 2003-02-06 Andrew Begel <abegel@CS.Berkeley.EDU> * sysdll.c: Included lisp.h to define needed alloca_array. 2003-02-07 Jerry James <james@xemacs.org> * sysdep.c (strlwr): Return the parameter. * sysdep.c (strupr): Ditto. Depend on !HAVE_STRUPR. 2003-02-07 Ben Wing <ben@xemacs.org> This contains two related changes: (1) Fix problems with reentrant calling of lwlib and associated crashes when selecting menu items. (2) Improve redisplay handling of preemption. Turn on lazy lock and hold down page-down or page-up and you'll see what I mean. They are related because they both touch on the code that retrieves events and handles the internal queues. * console-msw.h: * event-msw.c: * event-msw.c (mswindows_unmodalize_signal_maybe): * event-msw.c (mswindows_unsafe_pump_events): * event-msw.c (mswindows_pump_outstanding_events): * event-msw.c (mswindows_need_event_in_modal_loop): * event-msw.c (mswindows_drain_windows_queue): * event-msw.c (mswindows_need_event): * event-msw.c (reinit_vars_of_event_mswindows): * event-stream.c (event_stream_protect_modal_loop): * events.h: * events.h (struct event_stream): * menubar-msw.c (struct handle_wm_initmenu): * menubar-msw.c (unsafe_handle_wm_initmenupopup): * menubar-msw.c (unsafe_handle_wm_initmenu): * menubar-msw.c (mswindows_handle_wm_initmenupopup): * menubar-msw.c (mswindows_handle_wm_initmenu): * menubar-x.c: * menubar-x.c (protected_menu_item_descriptor_to_widget_value): * menubar-x.c (pre_activate_callback): * menubar.h: mswindows_protect_modal_loop() has been generalized to event_stream_protect_modal_loop(), and moved to event-stream.c. mswindows_in_modal_loop ->in_modal_loop likewise. Changes in event-msw.c and menubar-msw.c for the new names and calling format (use structures instead of static variables in menubar-msw.c). Delete former in_menu_callback and use in_modal_loop in its place. Remove emacs_mswindows_quit_check_disallowed_p(), superseded by in_modal_loop. Use event_stream_protect_modal_loop() in pre_activate_callback() so that we get no lwlib reentrancy. Rearrange some of the code in event-msw.c to be grouped better. Make mswindows_drain_windows_queue() respect in_modal_loop and do nothing if so. * cmdloop.c (command_loop_3): * event-stream.c (Fnext_event): Don't conditionalize on LWLIB_MENUBARS_LUCID when giving error when in_modal_loop, and give better error. * event-Xt.c (emacs_Xt_next_event): * event-Xt.c (emacs_Xt_drain_queue): * event-gtk.c (emacs_gtk_drain_queue): If in_modal_loop, only retrieve process and timeout events. Don't retrieve any X events because processing them can lead to reentrancy in lwlib -> death. * event-stream.c: * event-stream.c (check_event_stream_ok): * event-stream.c (event_stream_handle_magic_event): * event-stream.c (event_stream_format_magic_event): * event-stream.c (event_stream_compare_magic_event): * event-stream.c (event_stream_hash_magic_event): * event-stream.c (event_stream_add_timeout): * event-stream.c (event_stream_remove_timeout): * event-stream.c (event_stream_select_console): * event-stream.c (event_stream_unselect_console): * event-stream.c (event_stream_select_process): * event-stream.c (event_stream_unselect_process): * event-stream.c (event_stream_create_io_streams): * event-stream.c (event_stream_delete_io_streams): * event-stream.c (event_stream_current_event_timestamp): * event-stream.c (event_stream_next_event): Remove unused parameter to check_event_stream_ok() and change all callers. * lisp.h: * event-stream.c (maybe_do_auto_save): * event-stream.c (emacs_handle_focus_change_preliminary): * event-stream.c (emacs_handle_focus_change_final): * event-stream.c (detect_input_pending): * event-stream.c (maybe_read_quit_event): * event-stream.c (remove_quit_p_event): * event-stream.c (event_stream_quit_p): * event-stream.c (event_stream_next_event): * event-stream.c (sit_for_unwind): * event-stream.c (Faccept_process_output): * event-stream.c (Fsleep_for): * event-stream.c (Fsit_for): * event-stream.c (maybe_kbd_translate): * event-stream.c (command_builder_find_leaf_no_mule_processing): * event-stream.c (reinit_vars_of_event_stream): Rearrange some functions for increased clarity -- in particular, group all the input-pending/QUIT-related stuff together, and put right next to next-event stuff, to which it's related. Add the concept of "HOW_MANY" -- when asking whether user input is pending, you can ask if at least HOW_MANY events are pending, not just if any are. Add parameter to detect_input_pending() for this. Change recursive_sit_for from a Lisp_Object (which could only be Qt or Qnil) to an int, like it should be. * event-Xt.c: * event-Xt.c (THIS_IS_X): * event-gtk.c: * event-gtk.c (THIS_IS_GTK): * event-xlike-inc.c: New file. Abstract out similar code in event_{Xt/gtk}_pending_p() and write only once, using include-file tricks. Rewrite this function to implement HOW_MANY and only process events when not in_modal_loop. * event-msw.c (emacs_mswindows_event_pending_p): Implement HOW_MANY and only process events when not in_modal_loop. * event-tty.c: * event-tty.c (tty_timeout_to_emacs_event): * event-tty.c (emacs_tty_event_pending_p): Implement HOW_MANY. * redisplay.c: * redisplay.c (QUEUED_EVENTS_REQUIRED_FOR_PREEMPTION): * redisplay.c (init_redisplay): * redisplay.c (vars_of_redisplay): Add var `max-preempts' to control maximum number of preempts. (#### perhaps not useful) Rewrite preemption check so that, rather than preempting when any user events are available, only preempt when a certain number (currently 4) of them are backed up. This effectively allows redisplay to proceed to completion in the presence of a fast auto-repeat (usually the auto-repeating is generated dynamically as necessary), and you get much better display behavior with lazy-lock active. * event-unixoid.c: Comment changes. * event-stream.c (command_event_p_cb): * event-stream.c (Fdiscard_input): Rewrite discard-input much more simply and safely using the drain-queue functions. I think the old version might loop forever if called when in_modal_loop. SEMI-UNRELATED CHANGES: ----------------------- * event-stream.c (run_pre_idle_hook): Turn QUIT-checking back on when running the pre-idle hook so it can be quit out of. * indent.c: Document exact functioning of `vertical-motion' better, and its differences from GNU Emacs. 2003-02-06 Ben Wing <ben@xemacs.org> * unicode.c: * unicode.c (struct utf_16_detector): * unicode.c (utf_16_detect): * unicode.c (struct utf_8_detector): * unicode.c (utf_8_detect): UTF-8 detector was totally bogus and detected almost anything as UTF-8. UTF-16 detector got overly happy with 0x2028's (line separator, also space+paren). 2003-02-06 Ben Wing <ben@xemacs.org> * lread.c (Fload_internal): Oops. Plain C can't handle declarations intermixed with statements. 2003-02-06 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (GC_CHECK_NOT_FREE): * alloc.c (mark_object_maybe_checking_free): * alloc.c (mark_with_description): * alloc.c (mark_object): Implement tail-recursion in KKCC when the last-marked object is a Lisp object, to avoid stack-overflow errors when marking long lists. Factor out some duplicated error-checking into macros. 2003-02-05 Ben Wing <ben@xemacs.org> * Makefile.in.in (update-elc.stamp): NOBYTECOMPILE -> BYTECOMPILE_CHANGE. * esd.c (esd_play_sound_data): Warning fixes. * fns.c: * fns.c (mark_bit_vector): * fns.c (Frequire): * fns.c (vars_of_fns): Eliminate bogus require-prints-loading-message; use already existent load-always-display-messages instead. Make sure `load' knows we are coming from `require'. * lread.c: * lread.c (READCHARFUN_MAYBE): * lread.c (Fload_internal): * lread.c (PRINT_LOADING_MESSAGE_1): * lread.c (PRINT_LOADING_MESSAGE): * lread.c (vars_of_lread): Turn on `load-warn-when-source-newer' by default. Change loading message to indicate when we are `require'ing. Eliminate purify_flag hacks to display more messages; instead, loadup and friends specify this explicitly with `load-always-display-messages'. Add spaces when batch to clearly indicate recursive loading. Fassoc() does not GC so no need to gcpro. * gui-x.c: * gui-x.c (snarf_widget_values_for_gcpro): * gui-x.c (gcpro_popup_callbacks): * gui-x.h: * menubar-x.c: * menubar-x.c (pre_activate_callback): * menubar-x.c (set_frame_menubar): Fix up crashes when selecting menubar items due to lack of GCPROing of callbacks in lwlib structures. * eval.c (Fbacktrace): * lisp.h: * print.c: * print.c (canonicalize_printcharfun): Don't canonicalize to selected-frame when noninteractive, or backtraces get all screwed up as some values are printed through the stream console and some aren't. Export canonicalize_printcharfun() and use in Fbacktrace(). 2003-02-05 Stephen J. Turnbull <stephen@xemacs.org> * config.h.in: New symbol: DLSYM_NEEDS_UNDERSCORE. 2003-01-09 Stephen J. Turnbull <stephen@xemacs.org> * config.h.in: Restore USE_XFONTSET. 2003-02-04 Ben Wing <ben@xemacs.org> * s/windowsnt.h: * s/windowsnt.h (HAVE_STRLWR): Windows has strupr(), strlwr(). Comment fixes. 2003-02-04 Ben Wing <ben@xemacs.org> * text.h: Style fixes. 2003-01-31 Stephen J. Turnbull <stephen@xemacs.org> * alloc.c (mark_object_maybe_checking_free): C macro syntax requires paren to immediately follow definiendum. 2003-01-30 Stephen J. Turnbull <stephen@xemacs.org> * file-coding.c (vars_of_file_coding): Fprovide here ... (syms_of_file_coding): ... not here. Dem's da rules. 2003-01-23 Stephen J. Turnbull <stephen@xemacs.org> * toolbar-msw.c: * menubar-gtk.c (menu_descriptor_to_widget_1): * nt.c (mswindows_link): * event-msw.c (output_alt_keyboard_state): Change C++ style comments to C style. 2003-01-22 Vin Shelton <acs@xemacs.org> * events.h: Change illegal (for C) // comment to /* */ 2003-01-15 Jerry James <james@eecs.ku.edu> * emodules.h: #undef everything we redefine for module code. 2003-01-14 Sergey Okhapkin <sos@prospect.com.ru> * Makefile.in.in (ldflags): re-order sections for gcc 3.2. * s/cygwin.sc: new linker file. 2003-01-11 Mike Sperber <mike@xemacs.org> * window.c (Fdelete_window): Make sure that f->last_nonminibuf_window is set to a live window once we're done. (contains_window): Abstract this code out of Fdelete_window. 2003-01-10 Mike Sperber <mike@xemacs.org> * window.c (Fdelete_other_windows): Prevent crash for combination windows. 2003-01-08 Mike Sperber <mike@xemacs.org> * console.h (CDFW_CONSOLE): Don't lead to a crash if we're dealing with a dead window/frame/device/console. 2002-12-20 Mike Sperber <mike@xemacs.org> * ui-gtk.c: Fix typo from Ben's patch: emacs_ffi_data is a typedef, not a struct. emacs_gtk_object_data is a typedef, not a struct. * gtk-glue.c (gdk_event_to_emacs_event): Fix typos from Ben's patch: le -> emacs_event + rearrange the code. * event-gtk.c (gtk_event_to_emacs_event): Fix typos from Ben's patch: ..._UNDERLYING_GDK_EVENT -> ..._GDK_EVENT, ev -> key_event. * device-gtk.c: Fix typo from Ben's patch: x_keysym_map_hash_table -> x_keysym_map_hashtable. 2002-12-19 Mike Sperber <mike@xemacs.org> * menubar-x.c (set_frame_menubar): Initialize protect_me field of popup_data. 2002-12-16 Ben Wing <ben@xemacs.org> Major cleanup of KKCC, etc. KKCC, pdump-related: -- descriptions are written for all objects. this required some changes in the format of some objects, e.g. extents, popup-data, coding system, lstream, lcrecord-list. -- KKCC now handles weakness in markers, hash tables, elsewhere correctly (formerly, you'd eventually get a stack overflow due to endlessly expanding markers). -- textual changes: lrecord_description -> memory_description, struct_description -> sized_memory_description. -- extensive comment describing descriptions and pdump. -- redo XD_UNION so it works inline and change its format to provide sufficient info for pdump. implement XD_UNION in pdump. also add XD_UNION_DYNAMIC_SIZE, which works like XD_UNION except for when auto-computing structure sizes. -- add support for XD_INDIRECT in description offsets (used by extents). -- add support for "description maps", allowing for indirect descriptions that are retrieved from an object at run-time. this generalizes XD_CODING_SYSTEM_END, XD_SPECIFIER_END, etc., which have now been eliminated. -- add a fifth field "flags" to memory_description, to support flags that can be specified for this particular line. Currently defined flags are XD_FLAG_NO_KKCC (KKCC should ignore this entry; useful for the weakness above in markers, etc.), XD_FLAG_NO_PDUMP (pdump should ignore this entry), XD_FLAG_UNION_DEFAULT_ENTRY (in union maps, this specifies a "default" entry for all remaining values), and XD_FLAG_FREE_LISP_OBJECT (for use with lcrecord-lists). -- clean up the kkcc-itis in events, so that the differences between event data as separate objects and as a union are now minimized to a small number of places. with the new XD_UNION, we no longer need event data as separate objects, so this code is no longer ifdef USE_KKCC, but instead ifdef EVENT_DATA_AS_OBJECTS, not used by default. make sure that we explicitly free the separate event data objects when no longer in use, to maintain the invariant the event processing causes no consing. -- also remove other USE_KKCC ifdefs when not necessary. -- allow for KKCC compilation under MS Windows. -- fix README.kkcc. -- dump_add_root_object -> dump_add_root_lisp_object. -- implement dump_add_root_block and use this to handle dump_add_opaque. -- factor out some code duplicated in kkcc and pdump. Other allocation/object-related: -- change various *slots.h so MARKED_SLOT() call no longer includes semicolon. -- free_marker() takes a Lisp_Object not a direct pointer. -- make bit vectors lcrecords, like vectors, and eliminate code that essentially duplicated the lcrecord handling. -- additional asserts in FREE_FIXED_TYPE, formerly duplicated in the various callers of this. -- all lcrecord allocation functions now zero out the returned lcrecords. unnecessary calls to zero_lcrecord removed. add long comment describing these functions. -- extract out process and coding system slots, like for buffers, frames, etc. -- lcrecords now set the type of items sitting on the free list to lcrecord_type_free. -- changes to the way that gap arrays are allocated, for kkcc's benefit -- now, one single memory block with a stretchy array on the end, instead of a separate block holding the array. Error-checking-related: -- now can compile with C++ under MS Windows. clean up compile errors discovered that way. (a few were real problems) -- add C++ error-checking code to verify problems with mismatched GCPRO/UNGCPRO. (there were a few in the kkcc code.) add long comment about how to catch insufficient GCPRO (yes, it's possible using C++). -- add debug_p4(), a simple object printer, when debug_print() doesn't work. -- add dp() and db() as short synonyms of debug_print(), debug_backtrace(). -- `print' tries EXTREMELY hard to avoid core dumping when printing when crashing or from debug_print(), and tries as hard as it reasonably can in other situations. -- Correct the message output upon crashing to be more up-to-date. Event-related: -- document event-matches-key-specifier-p better. -- generalize the dispatch queues formerly duplicated in the various event implementations. add event methods to drain pending events. generalize and clean up QUIT handling, removing event-specific quit processing. allow arbitrary keystrokes, not just ASCII, to be the QUIT char. among other things, this should fix some longstanding bugs in X quit handling. long comment describing the various event queues. -- implement delaying of XFlush() if there are pending expose events. SOMEONE PLEASE TRY THIS OUT. -- Fix `xemacs -batch -l dunnet' under Cygwin. Try to fix under MS Windows but not quite there yet. Other: -- class -> class_ and no more C++ games with this item. new -> new_ in the lwlib code, so far not elsewhere. -- use `struct htentry' not `struct hentry' in elhash.c to avoid debugger confusion with hash.c. -- new macros ALIST_LOOP_3, ALIST_LOOP_4. * README.kkcc: * alloc.c: * alloc.c (deadbeef_memory): * alloc.c (allocate_lisp_storage): * alloc.c (copy_lisp_object): * alloc.c (ALLOCATE_FIXED_TYPE_1): * alloc.c (FREE_FIXED_TYPE): * alloc.c (make_vector_internal): * alloc.c (make_bit_vector_internal): * alloc.c (make_key_data): * alloc.c (make_button_data): * alloc.c (make_motion_data): * alloc.c (make_process_data): * alloc.c (make_timeout_data): * alloc.c (make_magic_data): * alloc.c (make_magic_eval_data): * alloc.c (make_eval_data): * alloc.c (make_misc_user_data): * alloc.c (struct string_chars_block): * alloc.c (mark_lcrecord_list): * alloc.c (make_lcrecord_list): * alloc.c (alloc_managed_lcrecord): * alloc.c (free_managed_lcrecord): * alloc.c (alloc_automanaged_lcrecord): * alloc.c (staticpro_1): * alloc.c (staticpro): * alloc.c (lispdesc_indirect_count_1): * alloc.c (lispdesc_indirect_description_1): * alloc.c (lispdesc_one_description_line_size): * alloc.c (lispdesc_structure_size): * alloc.c (mark_object_maybe_checking_free): * alloc.c (mark_with_description): * alloc.c (mark_struct_contents): * alloc.c (mark_object): * alloc.c (tick_lcrecord_stats): * alloc.c (free_cons): * alloc.c (free_key_data): * alloc.c (free_button_data): * alloc.c (free_motion_data): * alloc.c (free_process_data): * alloc.c (free_timeout_data): * alloc.c (free_magic_data): * alloc.c (free_magic_eval_data): * alloc.c (free_eval_data): * alloc.c (free_misc_user_data): * alloc.c (free_marker): * alloc.c (compact_string_chars): * alloc.c (gc_sweep): * alloc.c (garbage_collect_1): * alloc.c (Fgarbage_collect): * alloc.c (common_init_alloc_early): * alloc.c (init_alloc_early): * alloc.c (init_alloc_once_early): * buffer.c: * buffer.c (mark_buffer): * buffer.c (MARKED_SLOT): * buffer.c (cleanup_buffer_undo_lists): * buffer.c (Fget_file_buffer): * buffer.h (MARKED_SLOT): * bufslots.h: * bytecode.c: * callint.c: * casetab.c: * chartab.c: * chartab.c (symbol_to_char_table_type): * cmdloop.c: * cmdloop.c (Fcommand_loop_1): * config.h.in (new): * conslots.h: * console-gtk-impl.h (struct gtk_frame): * console-impl.h: * console-impl.h (struct console): * console-impl.h (MARKED_SLOT): * console-impl.h (CONSOLE_QUIT_EVENT): * console-msw-impl.h (XM_BUMPQUEUE): * console-msw.c (write_string_to_mswindows_debugging_output): * console-msw.h: * console-stream-impl.h: * console-stream-impl.h (struct stream_console): * console-stream.c: * console-stream.c (stream_init_console): * console-stream.h: * console-tty.c: * console-tty.h: * console-x.h: * console.c: * console.c (mark_console): * console.c (MARKED_SLOT): * console.c (allocate_console): * console.c (get_console_variant): * console.c (create_console): * console.c (delete_console_internal): * console.c (Fset_input_mode): * console.c (Fcurrent_input_mode): * console.c (common_init_complex_vars_of_console): * console.h: * console.h (console_variant): * console.h (device_metrics): * data.c: * data.c (Faref): * data.c (Faset): * data.c (decode_weak_list_type): * database.c: * debug.c (xemacs_debug_loop): * debug.c (FROB): * debug.c (Fadd_debug_class_to_check): * debug.c (Fdelete_debug_class_to_check): * debug.c (Fset_debug_classes_to_check): * debug.c (Fset_debug_class_types_to_check): * debug.c (Fdebug_types_being_checked): * debug.h (DASSERT): * device-gtk.c: * device-impl.h (struct device): * device-impl.h (MARKED_SLOT): * device-msw.c: * device-x.c: * device-x.c (x_init_device_class): * device-x.c (x_comp_visual_info): * device-x.c (x_try_best_visual_class): * device-x.c (x_init_device): * device-x.c (construct_name_list): * device-x.c (x_get_resource_prefix): * device-x.c (Fx_get_resource): * device-x.c (Fx_display_visual_class): * device.c: * device.c (MARKED_SLOT): * device.c (allocate_device): * device.c (Fmake_device): * device.c (delete_device_internal): * device.c (Fset_device_class): * device.h: * devslots.h: * devslots.h (MARKED_SLOT): * dialog-msw.c: * dired-msw.c (mswindows_ls_sort_fcn): * dired-msw.c (mswindows_get_files): * dired-msw.c (mswindows_format_file): * doprnt.c (parse_doprnt_spec): * dumper.c: * dumper.c (struct): * dumper.c (dump_add_root_block): * dumper.c (dump_add_root_struct_ptr): * dumper.c (dump_add_root_lisp_object): * dumper.c (pdump_struct_list_elt): * dumper.c (pdump_get_entry_list): * dumper.c (pdump_backtrace): * dumper.c (pdump_bump_depth): * dumper.c (pdump_register_sub): * dumper.c (pdump_register_object): * dumper.c (pdump_register_struct_contents): * dumper.c (pdump_register_struct): * dumper.c (pdump_store_new_pointer_offsets): * dumper.c (pdump_dump_data): * dumper.c (pdump_reloc_one): * dumper.c (pdump_allocate_offset): * dumper.c (pdump_scan_by_alignment): * dumper.c (pdump_dump_root_blocks): * dumper.c (pdump_dump_rtables): * dumper.c (pdump_dump_root_lisp_objects): * dumper.c (pdump): * dumper.c (pdump_load_finish): * dumper.c (pdump_file_get): * dumper.c (pdump_resource_get): * dumper.c (pdump_load): * editfns.c (save_excursion_restore): * editfns.c (user_login_name): * editfns.c (save_restriction_restore): * elhash.c: * elhash.c (htentry): * elhash.c (struct Lisp_Hash_Table): * elhash.c (HTENTRY_CLEAR_P): * elhash.c (LINEAR_PROBING_LOOP): * elhash.c (check_hash_table_invariants): * elhash.c (mark_hash_table): * elhash.c (hash_table_equal): * elhash.c (print_hash_table_data): * elhash.c (free_hentries): * elhash.c (make_general_lisp_hash_table): * elhash.c (decode_hash_table_weakness): * elhash.c (decode_hash_table_test): * elhash.c (Fcopy_hash_table): * elhash.c (resize_hash_table): * elhash.c (pdump_reorganize_hash_table): * elhash.c (find_htentry): * elhash.c (Fgethash): * elhash.c (Fputhash): * elhash.c (remhash_1): * elhash.c (Fremhash): * elhash.c (Fclrhash): * elhash.c (copy_compress_hentries): * elhash.c (elisp_maphash_unsafe): * elhash.c (finish_marking_weak_hash_tables): * elhash.c (prune_weak_hash_tables): * elhash.h: * emacs.c: * emacs.c (main_1): * emacs.c (main): * emacs.c (shut_down_emacs): * emodules.h (dump_add_root_lisp_object): * eval.c: * eval.c (unwind_to_catch): * eval.c (maybe_signal_error_1): * eval.c (maybe_signal_continuable_error_1): * eval.c (maybe_signal_error): * eval.c (maybe_signal_continuable_error): * eval.c (maybe_signal_error_2): * eval.c (maybe_signal_continuable_error_2): * eval.c (maybe_signal_ferror): * eval.c (maybe_signal_continuable_ferror): * eval.c (maybe_signal_ferror_with_frob): * eval.c (maybe_signal_continuable_ferror_with_frob): * eval.c (maybe_syntax_error): * eval.c (maybe_sferror): * eval.c (maybe_invalid_argument): * eval.c (maybe_invalid_constant): * eval.c (maybe_invalid_operation): * eval.c (maybe_invalid_change): * eval.c (maybe_invalid_state): * eval.c (Feval): * eval.c (call_trapping_problems): * eval.c (call_with_suspended_errors): * eval.c (warn_when_safe_lispobj): * eval.c (warn_when_safe): * eval.c (vars_of_eval): * event-Xt.c: * event-Xt.c (maybe_define_x_key_as_self_inserting_character): * event-Xt.c (x_to_emacs_keysym): * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (emacs_Xt_enqueue_focus_event): * event-Xt.c (emacs_Xt_format_magic_event): * event-Xt.c (emacs_Xt_compare_magic_event): * event-Xt.c (emacs_Xt_hash_magic_event): * event-Xt.c (emacs_Xt_handle_magic_event): * event-Xt.c (Xt_timeout_to_emacs_event): * event-Xt.c (Xt_process_to_emacs_event): * event-Xt.c (signal_special_Xt_user_event): * event-Xt.c (emacs_Xt_next_event): * event-Xt.c (emacs_Xt_event_handler): * event-Xt.c (emacs_Xt_drain_queue): * event-Xt.c (emacs_Xt_event_pending_p): * event-Xt.c (check_if_pending_expose_event): * event-Xt.c (reinit_vars_of_event_Xt): * event-Xt.c (vars_of_event_Xt): * event-gtk.c: * event-gtk.c (IS_MODIFIER_KEY): * event-gtk.c (emacs_gtk_format_magic_event): * event-gtk.c (emacs_gtk_compare_magic_event): * event-gtk.c (emacs_gtk_hash_magic_event): * event-gtk.c (emacs_gtk_handle_magic_event): * event-gtk.c (gtk_to_emacs_keysym): * event-gtk.c (gtk_timeout_to_emacs_event): * event-gtk.c (gtk_process_to_emacs_event): * event-gtk.c (dragndrop_data_received): * event-gtk.c (signal_special_gtk_user_event): * event-gtk.c (emacs_gtk_next_event): * event-gtk.c (gtk_event_to_emacs_event): * event-gtk.c (generic_event_handler): * event-gtk.c (emacs_shell_event_handler): * event-gtk.c (emacs_gtk_drain_queue): * event-gtk.c (emacs_gtk_event_pending_p): * event-gtk.c (reinit_vars_of_event_gtk): * event-gtk.c (vars_of_event_gtk): * event-msw.c: * event-msw.c (struct winsock_stream): * event-msw.c (winsock_reader): * event-msw.c (winsock_writer): * event-msw.c (mswindows_enqueue_dispatch_event): * event-msw.c (mswindows_enqueue_misc_user_event): * event-msw.c (mswindows_enqueue_magic_event): * event-msw.c (mswindows_enqueue_process_event): * event-msw.c (mswindows_enqueue_mouse_button_event): * event-msw.c (mswindows_enqueue_keypress_event): * event-msw.c (mswindows_dequeue_dispatch_event): * event-msw.c (emacs_mswindows_drain_queue): * event-msw.c (mswindows_need_event_in_modal_loop): * event-msw.c (mswindows_need_event): * event-msw.c (mswindows_wm_timer_callback): * event-msw.c (dde_eval_string): * event-msw.c (Fdde_alloc_advise_item): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * event-msw.c (remove_timeout_mapper): * event-msw.c (emacs_mswindows_remove_timeout): * event-msw.c (emacs_mswindows_event_pending_p): * event-msw.c (emacs_mswindows_format_magic_event): * event-msw.c (emacs_mswindows_compare_magic_event): * event-msw.c (emacs_mswindows_hash_magic_event): * event-msw.c (emacs_mswindows_handle_magic_event): * event-msw.c (emacs_mswindows_select_console): * event-msw.c (emacs_mswindows_unselect_console): * event-msw.c (reinit_vars_of_event_mswindows): * event-msw.c (vars_of_event_mswindows): * event-stream.c: * event-stream.c (mark_command_builder): * event-stream.c (reset_command_builder_event_chain): * event-stream.c (allocate_command_builder): * event-stream.c (copy_command_builder): * event-stream.c (command_builder_append_event): * event-stream.c (event_stream_event_pending_p): * event-stream.c (event_stream_force_event_pending): * event-stream.c (maybe_read_quit_event): * event-stream.c (event_stream_drain_queue): * event-stream.c (remove_quit_p_event): * event-stream.c (event_stream_quit_p): * event-stream.c (echo_key_event): * event-stream.c (maybe_kbd_translate): * event-stream.c (execute_help_form): * event-stream.c (event_stream_generate_wakeup): * event-stream.c (enqueue_dispatch_event): * event-stream.c (enqueue_magic_eval_event): * event-stream.c (Fenqueue_eval_event): * event-stream.c (enqueue_misc_user_event): * event-stream.c (enqueue_misc_user_event_pos): * event-stream.c (next_event_internal): * event-stream.c (Fnext_event): * event-stream.c (Faccept_process_output): * event-stream.c (execute_internal_event): * event-stream.c (munge_keymap_translate): * event-stream.c (command_builder_find_leaf_no_mule_processing): * event-stream.c (command_builder_find_leaf): * event-stream.c (lookup_command_event): * event-stream.c (is_scrollbar_event): * event-stream.c (execute_command_event): * event-stream.c (Fdispatch_event): * event-stream.c (Fread_key_sequence): * event-stream.c (dribble_out_event): * event-stream.c (vars_of_event_stream): * event-tty.c (tty_timeout_to_emacs_event): * event-tty.c (emacs_tty_next_event): * event-tty.c (emacs_tty_drain_queue): * event-tty.c (reinit_vars_of_event_tty): * event-unixoid.c: * event-unixoid.c (find_tty_or_stream_console_from_fd): * event-unixoid.c (read_event_from_tty_or_stream_desc): * event-unixoid.c (drain_tty_devices): * event-unixoid.c (poll_fds_for_input): * events.c: * events.c (deinitialize_event): * events.c (zero_event): * events.c (mark_event): * events.c (print_event_1): * events.c (print_event): * events.c (event_equal): * events.c (event_hash): * events.c (Fmake_event): * events.c (Fdeallocate_event): * events.c (Fcopy_event): * events.c (map_event_chain_remove): * events.c (character_to_event): * events.c (event_to_character): * events.c (Fevent_to_character): * events.c (format_event_object): * events.c (upshift_event): * events.c (downshift_event): * events.c (event_upshifted_p): * events.c (Fevent_live_p): * events.c (Fevent_type): * events.c (Fevent_timestamp): * events.c (CHECK_EVENT_TYPE): * events.c (CHECK_EVENT_TYPE2): * events.c (CHECK_EVENT_TYPE3): * events.c (Fevent_key): * events.c (Fevent_button): * events.c (Fevent_modifier_bits): * events.c (event_x_y_pixel_internal): * events.c (event_pixel_translation): * events.c (Fevent_process): * events.c (Fevent_function): * events.c (Fevent_object): * events.c (Fevent_properties): * events.c (syms_of_events): * events.c (vars_of_events): * events.h: * events.h (struct event_stream): * events.h (struct Lisp_Key_Data): * events.h (KEY_DATA_KEYSYM): * events.h (EVENT_KEY_KEYSYM): * events.h (struct Lisp_Button_Data): * events.h (EVENT_BUTTON_BUTTON): * events.h (struct Lisp_Motion_Data): * events.h (EVENT_MOTION_X): * events.h (struct Lisp_Process_Data): * events.h (EVENT_PROCESS_PROCESS): * events.h (struct Lisp_Timeout_Data): * events.h (EVENT_TIMEOUT_INTERVAL_ID): * events.h (struct Lisp_Eval_Data): * events.h (EVENT_EVAL_FUNCTION): * events.h (struct Lisp_Misc_User_Data): * events.h (EVENT_MISC_USER_FUNCTION): * events.h (struct Lisp_Magic_Eval_Data): * events.h (EVENT_MAGIC_EVAL_INTERNAL_FUNCTION): * events.h (struct Lisp_Magic_Data): * events.h (EVENT_MAGIC_UNDERLYING): * events.h (EVENT_MAGIC_GDK_EVENT): * events.h (struct Lisp_Event): * events.h (XEVENT_CHANNEL): * events.h (SET_EVENT_TIMESTAMP_ZERO): * events.h (SET_EVENT_CHANNEL): * events.h (SET_EVENT_NEXT): * events.h (XSET_EVENT_TYPE): * events.h (struct command_builder): * extents.c: * extents.c (gap_array_adjust_markers): * extents.c (gap_array_recompute_derived_values): * extents.c (gap_array_move_gap): * extents.c (gap_array_make_gap): * extents.c (gap_array_insert_els): * extents.c (gap_array_delete_els): * extents.c (gap_array_make_marker): * extents.c (gap_array_delete_marker): * extents.c (gap_array_move_marker): * extents.c (make_gap_array): * extents.c (free_gap_array): * extents.c (extent_list_num_els): * extents.c (extent_list_insert): * extents.c (mark_extent_auxiliary): * extents.c (allocate_extent_auxiliary): * extents.c (decode_extent_at_flag): * extents.c (verify_extent_mapper): * extents.c (symbol_to_glyph_layout): * extents.c (syms_of_extents): * faces.c: * file-coding.c: * file-coding.c (struct_detector_category_description =): * file-coding.c (detector_category_dynarr_description_1): * file-coding.c (struct_detector_description =): * file-coding.c (detector_dynarr_description_1): * file-coding.c (MARKED_SLOT): * file-coding.c (mark_coding_system): * file-coding.c (coding_system_extra_description_map): * file-coding.c (coding_system_description): * file-coding.c (allocate_coding_system): * file-coding.c (symbol_to_eol_type): * file-coding.c (Fcoding_system_aliasee): * file-coding.c (set_coding_stream_coding_system): * file-coding.c (struct convert_eol_coding_system): * file-coding.c (struct undecided_coding_system): * file-coding.c (undecided_mark_coding_stream): * file-coding.c (coding_category_symbol_to_id): * file-coding.c (struct gzip_coding_system): * file-coding.c (coding_system_type_create): * file-coding.h: * file-coding.h (struct Lisp_Coding_System): * file-coding.h (CODING_SYSTEM_SLOT_DECLARATION): * file-coding.h (coding_system_variant): * file-coding.h (struct coding_system_methods): * file-coding.h (DEFINE_CODING_SYSTEM_TYPE_WITH_DATA): * file-coding.h (INITIALIZE_CODING_SYSTEM_TYPE_WITH_DATA): * file-coding.h (struct coding_stream): * fileio.c (Fsubstitute_in_file_name): * floatfns.c: * fns.c: * fns.c (base64_encode_1): * frame-gtk.c: * frame-gtk.c (Fgtk_start_drag_internal): * frame-impl.h (struct frame): * frame-impl.h (MARKED_SLOT): * frame-msw.c: * frame-x.c: * frame-x.c (Fcde_start_drag_internal): * frame-x.c (Foffix_start_drag_internal): * frame.c: * frame.c (MARKED_SLOT): * frame.c (allocate_frame_core): * frame.c (delete_frame_internal): * frame.c (Fmouse_position_as_motion_event): * frameslots.h: * frameslots.h (MARKED_SLOT_ARRAY): * free-hook.c: * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-x.c: * glyphs-x.c (convert_EImage_to_XImage): * glyphs.c: * glyphs.c (process_image_string_instantiator): * glyphs.c (mark_image_instance): * glyphs.c (allocate_image_instance): * glyphs.c (unmap_subwindow): * glyphs.c (map_subwindow): * glyphs.c (syms_of_glyphs): * glyphs.c (specifier_type_create_image): * glyphs.h: * glyphs.h (struct text_image_instance): * glyphs.h (struct Lisp_Image_Instance): * gmalloc.c: * gmalloc.c ("C"): * gpmevent.c (Freceive_gpm_event): * gpmevent.c (gpm_next_event_cb): * gpmevent.c (vars_of_gpmevent): * gtk-glue.c (gdk_event_to_emacs_event): * gtk-xemacs.c (gtk_xemacs_class_init): * gui-msw.c: * gui-msw.c (mswindows_handle_gui_wm_command): * gui-msw.c (mswindows_translate_menu_or_dialog_item): * gui-x.c: * gui-x.c (mark_popup_data): * gui-x.c (snarf_widget_value_mapper): * gui-x.c (gcpro_popup_callbacks): * gui-x.c (ungcpro_popup_callbacks): * gui-x.c (free_popup_widget_value_tree): * gui-x.c (popup_selection_callback): * gui-x.h: * gui-x.h (struct popup_data): * gui.c: * gui.c (allocate_gui_item): * gutter.c (decode_gutter_position): * hash.c (NULL_ENTRY): * indent.c (vmotion_1): * indent.c (vmotion_pixels): * input-method-motif.c (res): * input-method-xlib.c (IMInstantiateCallback): * input-method-xlib.c (XIM_init_device): * input-method-xlib.c (res): * intl-encap-win32.c: * intl-encap-win32.c (qxeSHGetDataFromIDList): * intl-win32.c: * intl-win32.c (mswindows_multibyte_cp_type): * intl-win32.c (struct mswindows_multibyte_coding_system): * keymap.c: * keymap.c (make_key_description): * keymap.c (keymap_store): * keymap.c (get_keyelt): * keymap.c (keymap_lookup_1): * keymap.c (define_key_parser): * keymap.c (key_desc_list_to_event): * keymap.c (event_matches_key_specifier_p): * keymap.c (meta_prefix_char_p): * keymap.c (ensure_meta_prefix_char_keymapp): * keymap.c (Fdefine_key): * keymap.c (struct raw_lookup_key_mapper_closure): * keymap.c (raw_lookup_key): * keymap.c (raw_lookup_key_mapper): * keymap.c (lookup_keys): * keymap.c (lookup_events): * keymap.c (Flookup_key): * keymap.c (struct map_keymap_unsorted_closure): * keymap.c (map_keymap_unsorted_mapper): * keymap.c (map_keymap_sorted): * keymap.c (map_keymap_mapper): * keymap.c (map_keymap): * keymap.c (accessible_keymaps_mapper_1): * keymap.c (Faccessible_keymaps): * keymap.c (Fsingle_key_description): * keymap.c (raw_keys_to_keys): * keymap.c (format_raw_keys): * keymap.c (where_is_recursive_mapper): * keymap.c (where_is_internal): * keymap.c (describe_map_mapper_shadow_search): * keymap.c (keymap_lookup_inherited_mapper): * keymap.c (describe_map_mapper): * keymap.h (event_matches_key_specifier_p): * lisp.h: * lisp.h (this): * lisp.h (RETURN_NOT_REACHED): * lisp.h (struct Lisp_Vector): * lisp.h (struct Lisp_Bit_Vector): * lisp.h (UNGCPRO_1): * lisp.h (NUNGCPRO): * lisp.h (NNUNGCPRO): * lisp.h (DECLARE_INLINE_HEADER): * lrecord.h: * lrecord.h (struct lrecord_header): * lrecord.h (struct lcrecord_header): * lrecord.h (lrecord_type): * lrecord.h (struct lrecord_implementation): * lrecord.h (RECORD_DUMPABLE): * lrecord.h (memory_description_type): * lrecord.h (data_description_entry_flags): * lrecord.h (struct memory_description): * lrecord.h (struct sized_memory_description): * lrecord.h (XD_INDIRECT): * lrecord.h (XD_IS_INDIRECT): * lrecord.h (XD_DYNARR_DESC): * lrecord.h (DEFINE_BASIC_LRECORD_IMPLEMENTATION): * lrecord.h (MAKE_LRECORD_IMPLEMENTATION): * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): * lrecord.h (alloc_lcrecord_type): * lstream.c: * lstream.c (Lstream_new): * lstream.c (lisp_buffer_marker): * lstream.h: * lstream.h (lstream_implementation): * lstream.h (DEFINE_LSTREAM_IMPLEMENTATION): * lstream.h (DEFINE_LSTREAM_IMPLEMENTATION_WITH_DATA): * marker.c: * marker.c (copy_marker_1): * mem-limits.h: * menubar-gtk.c: * menubar-gtk.c (gtk_popup_menu): * menubar-msw.c: * menubar-msw.c (mswindows_popup_menu): * menubar-x.c (make_dummy_xbutton_event): * menubar-x.c (command_builder_operate_menu_accelerator): * menubar-x.c (menu_accelerator_safe_compare): * menubar-x.c (menu_accelerator_safe_mod_compare): * mule-charset.c: * mule-charset.c (make_charset): * mule-charset.c (Fcharset_property): * mule-coding.c: * mule-coding.c (ccs_description_1): * mule-coding.c (ccs_description =): * mule-coding.c (ccsd_description_1): * mule-coding.c (ccsd_description =): * nt.c (getpwnam): * nt.c (init_mswindows_environment): * nt.c (get_cached_volume_information): * nt.c (mswindows_is_executable): * nt.c (read_unc_volume): * nt.c (mswindows_access): * nt.c (mswindows_link): * nt.c (mswindows_fstat): * nt.c (mswindows_stat): * nt.c (mswindows_executable_type): * nt.c (Fmswindows_short_file_name): * nt.c (Fmswindows_long_file_name): * objects-impl.h (struct Lisp_Color_Instance): * objects-impl.h (struct Lisp_Font_Instance): * objects-tty.c: * objects-x.c (allocate_nearest_color): * objects.c: * objects.c (Fmake_color_instance): * objects.c (Fmake_font_instance): * objects.c (font_instantiate): * opaque.c: * opaque.c (make_opaque): * opaque.c (make_opaque_ptr): * opaque.c (reinit_opaque_early): * opaque.c (init_opaque_once_early): * print.c: * print.c (printing_badness): * print.c (printing_major_badness): * print.c (print_internal): * print.c (debug_p4): * print.c (dp): * print.c (debug_backtrace): * process-nt.c (nt_create_process): * process-nt.c (get_internet_address): * process-unix.c: * process-unix.c (struct unix_process_data): * process-unix.c (get_internet_address): * process-unix.c (unix_alloc_process_data): * process-unix.c (unix_create_process): * process-unix.c (try_to_initialize_subtty): * process-unix.c (unix_kill_child_process): * process-unix.c (process_type_create_unix): * process.c: * process.c (mark_process): * process.c (MARKED_SLOT): * process.c (make_process_internal): * process.c (Fprocess_tty_name): * process.c (decode_signal): * process.h: * procimpl.h: * procimpl.h (struct process_methods): * procimpl.h (struct Lisp_Process): * rangetab.c: * realpath.c (readlink_and_correct_case): * redisplay-x.c (x_window_output_end): * redisplay-x.c (x_redraw_exposed_area): * redisplay-x.c (x_clear_frame): * redisplay.c: * redisplay.h: * redisplay.h (struct rune_dglyph): * redisplay.h (struct rune): * scrollbar.c: * scrollbar.c (create_scrollbar_instance): * specifier.c: * specifier.c (specifier_empty_extra_description_1): * specifier.c (make_specifier_internal): * specifier.c (decode_locale_type): * specifier.c (decode_how_to_add_specification): * specifier.h: * specifier.h (struct specifier_methods): * specifier.h (DEFINE_SPECIFIER_TYPE_WITH_DATA): * specifier.h (INITIALIZE_SPECIFIER_TYPE_WITH_DATA): * symbols.c: * symbols.c (Fsetplist): * symbols.c (default_value): * symbols.c (decode_magic_handler_type): * symbols.c (handler_type_from_function_symbol): * symbols.c (Fdefvaralias): * symbols.c (init_symbols_once_early): * symbols.c (reinit_symbols_early): * symsinit.h: * sysdep.c (sys_subshell): * sysdep.c (tty_init_sys_modes_on_device): * syswindows.h: * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): * text.c (reinit_eistring_early): * text.c (init_eistring_once_early): * text.c (reinit_vars_of_text): * text.h: * text.h (INC_IBYTEPTR_FMT): * text.h (DEC_IBYTEPTR_FMT): * toolbar.c: * toolbar.c (decode_toolbar_position): * tooltalk.c: * ui-gtk.c: * unexnt.c: * unexnt.c (_start): * unexnt.c (unexec): * unexnt.c (get_section_info): * unicode.c: * unicode.c (vars_of_unicode): * window.c: * window.c (allocate_window): * window.c (new_window_mirror): * window.c (update_mirror_internal): * winslots.h: 2003-01-08 Andy Piper <andy@xemacs.org> * unexcw.c (copy_executable_and_dump_data_section): Set the stack reserve size during unexec(). 2002-12-17 Daiki Ueno <daiki@xemacs.org> * process-unix.c (unix_create_process): Set pipe write descriptor non-blocking. 2003-01-04 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.10 "burdock" is released. 2002-12-15 Ben Wing <ben@xemacs.org> * ChangeLog: Combine all ChangeLog files. * ChangeLog.1, ChangeLog.2: Deleted. * window.c (Fset_window_point): Correct to FSF behavior. This fixes some bugs in GNUS reported by Jeff Miller. 2002-12-14 Ben Wing <ben@xemacs.org> * frame.c (enter_redisplay_critical_section): * frame.c (exit_redisplay_critical_section): Inhibit GC during critical sections. 2002-12-12 Andy Piper <andy@xemacs.org> * sheap.c (report_sheap_usage): fixup calculation. 2002-12-03 John Paul Wallington <jpw@shootybangbang.com> * alloc.c (garbage_collection_messages): New variable. (vars_of_alloc): Declare and initialise it. (garbage_collect_1): Respect it. 2002-12-02 Mike Sperber <mike@xemacs.org> * The Great Window Configuration rewrite: Re-implement window configuration functionality in Emacs Lisp. * window.h (Fcurrent_window_configuration): Don't export anymore. (Qcurrent_window_configuration): Declare. (Qset_window_configuration): Declare. * event-stream.c (execute_help_form): * bytecode.c (execute_rare_opcode): Call out to Lisp to save window excursion. * window.c (Qcurrent_window_configuration): Declare. (Qwindow_configurationp): (Vwindow_configuration_free_list): (Qset_window_configuration): (Qtemp_buffer_show_hook): (struct saved_window): (struct window_config): (SAVED_WINDOW_N): (XWINDOW_CONFIGURATION): (wrap_window_configuration): (WINDOW_CONFIGURATIONP): (CHECK_WINDOW_CONFIGURATION): (mark_window_config): (sizeof_window_config_for_n_windows): (sizeof_window_config): (print_window_config): (saved_window_equal): (window_config_equal): (Fwindow_configuration_p): (mark_windows_in_use_closure): (mark_windows_in_use): (free_window_configuration): (Fset_window_configuration): (count_windows): (saved_window_index): (save_window_save): (Fcurrent_window_configuration): (Fsave_window_excursion): Remove. (mark_window_as_deleted): Rectify comment about `set-window-configuration'. (Fset_window_buffer): Reinstate code not activated because of old implementation of window configurations. (temp_output_buffer_show): Don't run `temp-buffer-show-hook' anymore---this wasn't supposed to happen anyway according to the documentation of `temp-buffer-show-function'. (reinit_vars_of_window): Don't do the window configuration stuff no more (vars_of_window): Don't set up `temp-buffer-show-hook' any more. 2002-12-02 Greg Allen <greg_allen@westlb-systems.co.uk> * database.c: Fix open_database. Berkeley DB API has changed in 4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html 2002-11-25 Mike Sperber <mike@xemacs.org> * frame.c (frame_conversion_internal): Convert pixel_to_char argument to an enum; allow additional option CHAR_TO_DISPLAYABLE_PIXEL. * frame.c (Fset_frame_pixel_height): Make `set-frame-pixel-height' conform to `frame-pixel-height'. (Fset_frame_displayable_pixel_height): New function, equivalent to old `set-frame-pixel-height'. (Fset_frame_width): Make `set-frame-pixel-width conform to `frame-pixel-width'. (Fset_frame_displayable_pixel_width): New function, equivalent to old `set-frame-pixel-width'. (Fset_frame_pixel_size): Make `set-frame-pixel-size conform to `frame-pixel-height' and `frame-pixel-width'. (Fset_frame_displayable_pixel_size): New function, equivalent to old `set-frame-size'. 2002-11-30 Ben Wing <ben@xemacs.org> * eval.c: * eval.c (signal_call_debugger): Fix up C debugger entrance -- first output the error message, then stack trace, then exiting message, then force debugger. * frame-msw.c (mswindows_init_frame_1): Use EQ not EQUAL to avoid QUIT tripping. * toolbar-msw.c (mswindows_clear_toolbar): Indentation fixes. 2002-11-27 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (garbage_collect_1): Better redisplay-related assert. * elhash.c (xhash_table): Comment change. * eval.c: * eval.c (signal_call_debugger): * eval.c (throw_or_bomb_out): * eval.c (check_proper_critical_section_gc_protection): * eval.c (Fsignal): * eval.c (Feval): * eval.c (Ffuncall): * eval.c (flagged_a_squirmer): * eval.c (call_trapping_problems): * eval.c (warning_will_be_discarded): * eval.c (warn_when_safe_lispobj): * eval.c (warn_when_safe): * eval.c (vars_of_eval): Don't generate large warning strings (e.g. backtraces) when they will be discarded. Implement debug-on-error as documented -- it will enter the debugger and crash when an uncaught signal happens noninteractively and we are --debug. Better redisplay-related asserts. * frame-msw.c (mswindows_init_frame_1): * frame.c (enter_redisplay_critical_section): * lisp.h: * redisplay.c (redisplay_frame): * scrollbar-gtk.c (gtk_update_frame_scrollbars): * scrollbar-x.c (x_update_frame_scrollbars): * signal.c (check_quit): * sysdep.c: * sysdep.c (qxe_interruptible_open): Fix up documentation related to QUIT (which CANNOT garbage-collect under any circumstances), and to redisplay critical sections. * lread.c: * lread.c (Fload_internal): * lread.c (PRINT_LOADING_MESSAGE_1): * lread.c (locate_file_open_or_access_file): * lread.c (locate_file_in_directory_mapper): * lread.c (vars_of_lread): Add load-ignore-out-of-date-elc-files, load-always-display-messages, load-show-full-path-in-messages for more robust package compilation and debugging. * profile.c: * profile.c (create_call_count_profile_table): * profile.c (profile_increase_call_count): * profile.c (Fstart_profiling): * profile.c (Fclear_profiling_info): * profile.c (get_profiling_info_timing_maphash): * profile.c (Fget_profiling_info): * profile.c (set_profiling_info_timing_maphash): * profile.c (Fset_profiling_info): * profile.c (Fprofiling_active_p): * profile.c (syms_of_profile): * profile.c (vars_of_profile): Overhaul profile code. Change format to include call count and be extensible for further info. Remove call-count-profile-table. Add set-profiling-info. See related profile.el changes (which SHOULD ABSOLUTELY be in the core! Get rid of xemacs-devel and xemacs-base packages *yesterday*!). 2002-11-22 Ben Wing <ben@xemacs.org> * fileio.c: Fix crashes due to incorrectly ported code from FSF. * realpath.c: Don't return EIO when a filename is incorrect, since the I/O error gets passed all the way up. Clean up this file and avoid using macros as a poor-man's dispatch mechanism -- it just makes it impossible to follow the code. 2002-11-17 Ben Wing <ben@xemacs.org> * s/cygwin32.h: * s/cygwin32.h (TEXT_START): -fvtable-thunks is obsolete in GCC 3 and generates warnings. * s/mingw32.h: * s/windowsnt.h: Comment fixes. 2002-11-17 Ben Wing <ben@xemacs.org> * emodules.h: Fix warnings from redefining symbols. * eval.c: * eval.c (call_with_condition_handler): * eval.c (run_post_gc_hook): * eval.c (Ffuncall): Fix C++ errors -- no automatic casting between function pointers and void *, function declarations inside of functions not allowed. * event-Xt.c (emacs_Xt_enqueue_focus_event): Warning fixes. * fileio.c (Ffile_truename): Warning fixes. Use LOCAL_TO_WIN32_FILE_FORMAT rather than duplicating it. * glyphs-x.c: * glyphs-x.c (x_map_subwindow): Fix style. * intl-auto-encap-win32.c: * intl-auto-encap-win32.h: * intl-encap-win32.c: * intl-encap-win32.c (qxeRegConnectRegistry): * syswindows.h (RegConnectRegistry): DdeCreateStringHandle needs to be manual due to new Cygwin bug. * intl-win32.c: * intl-win32.c (wcscmp): * intl-win32.c (wcslen): wcslen/wcscmp don't seem to exist under G++ 3, Cygwin. * lisp.h: * lisp-union.h: * lisp-disunion.h: * process-unix.c (unix_send_process): Ugh, C needs volatile and C++ must not have volatile. Remove previous volatile hacks, which don't seem to be working any more. * sheap.c (STATIC_HEAP_SLOP): Try to get a working Cygwin build with old unexec. * sheap.c (more_static_core): No NL's in literals allowed. * symbols.c (Fset): Fix C++ errors. * syswindows.h: * syswindows.h (struct): * syswindows.h (tagNMDATETIMEFORMATW): * syswindows.h (tagNMTTDISPIFNOA): * syswindows.h (tagNMTTDISPINFOW): Fix Cygwin complaints now that some missing structs have been added. 2002-10-14 Jerry James <james@xemacs.org> * alloc.c: Unconditionally use LISP_FLOAT_TYPE code. * bytecode.c: Ditto. * data.c: Ditto. * ecrt0.c: Ditto. * emacs.c: Ditto. * event-stream.c: Ditto. * floatfns.c: Ditto. * lisp.h: Ditto. * lread.c: Ditto. * print.c: Ditto. * config.h.in: Remove LISP_FLOAT_TYPE entry. * s/windowsnt.h: Remove LISP_FLOAT_TYPE definition. 2002-10-10 Stephen J. Turnbull <stephen@xemacs.org> * emacs.c (shut_down_emacs): Improve crash message. 2002-10-17 Raymond Toy <toy@rtp.ericsson.se> * nas.c: Update for NAS 1.6 and later, from Jon Trulson. Was using the NAS private array SoundFileInfo that no longer exists in NAS 1.6 and later. Preserve backward compatibility with NAS 1.5a and earlier. This is broken for some versions between 1.5a and 1.5f. 2002-10-20 Stephen Turnbull <steve@tleepslib1> * ExternalClient.c (externalClientRealize): Suppress "unused" warning. 2002-10-19 Stephen Turnbull <stephen@xemacs.org> * extw-Xt.c (isMine): Suppress signed-unsigned compare warning. 2002-10-19 Stephen Turnbull <stephen@xemacs.org> * mule-canna.c (Fcanna_touroku_string): (Fcanna_change_mode): (Fcanna_do_function): Fix "unused variable" warnings. 2002-10-18 Stephen Turnbull <stephen@xemacs.org> * event-Xt.c (enqueue_focus_event): Prototype it. 2002-10-24 Andy Piper <andy@xemacs.org> * glyphs-widget.c (layout_query_geometry): add in fiddle factor. Include border text in width layout calculation. (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10. 2002-10-24 John Paul Wallington <jpw@shootybangbang.com> * fns.c (Frequire): Add optional `noerror' argument. 2002-10-24 Andy Piper <andy@xemacs.org> * glyphs-widget.c (layout_query_geometry): only resize dynamically if static sizes haven't been set. 2002-09-21 Stephen J. Turnbull <stephen@xemacs.org> * extents.c (Fset_extent_property): Document `syntax-table' property. 2002-08-20 Ben Sigelman <bhsigelm@cs.brown.edu> * event-Xt.c (drain_X_queue): loop over while(XEventsQueued()) instead of while(XtAppPending()&XtIMXEvent). Upon a gdm logout, the xemacs process did not exit, but looped infinitely here. This fixes that problem. 2002-10-04 Stephen J. Turnbull <stephen@xemacs.org> * regex.c (re_match_2_internal): Declare num_nonshy_regs in enclosing scope. 2002-09-09 Stephen J. Turnbull <stephen@xemacs.org> * search.c (clear_unused_search_regs): New static function. (search_buffer): (simple_search): (boyer_moore): Use it. Fixes "stale match data" bug reported by Martin Stjernholm. Minor clarifications in comments. * regex.c (re_match_2_internal): Ensure no stale submatches. 2002-09-26 Golubev I. N. <gin@mo.msk.ru> * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed widget. 2002-09-22 Mike Sperber <mike@xemacs.org> * specifier.c (specifier_add_spec): Don't do anything if NILP (inst_list)---otherwise, assertions in the rest of the specifier code get violated. 2002-09-20 Mike Sperber <mike@xemacs.org> (This partially gets back my patch from 2002-07-20 without the bug.) * process-unix.c (child_setup): Remove Ben's comment noting confusion over the file descriptors >= 3: close_process_descs() doesn't close all. Fix fd range to go up to MAXDESC-1 instead of 64. (unix_create_process): Call begin_dont_check_for_quit to inhibit unwanted interaction (and thus breaking of X event synchronicity) in the child. 2002-08-08 Jerry James <james@xemacs.org> * Makefile.in.in: ldap.o and postgresql.o have moved. * alloc.c (unstaticpro_nodump_1): New function. * alloc.c (unstaticpro_nodump): Ditto. * depend: Regenerate. * eldap.c: Move to modules/ldap. * eldap.h: Ditto. * emacs.c (main_1): Call LDAP and PostgreSQL initialization functions only if they are not modules. * emodules.c: Define EMODULES_DO_NOT_REDEFINE to skip changes to core functions and macros made in emodules.h. * emodules.c (unloading_module): New variable to flag when a module unload is in progress. * emodules.c (emodules_list): New member unload, to hold a function for doing module cleanup at unload time. * emodules.c (Fload_module): Note that users should not call this function directly. * emodules.c (Funload_module): Ditto. Compile it. Call the module's unload function if it has one. * emodules.c (emodules_load): Stop working around formerly broken build_string() declaration. Update load-history for module unloading. * emodules.c (syms_of_module): Add new symbols. * emodules.c (vars_of_module): Add unloading-module. Make Vmodule_extensions use the new format. * emodules.h: Block paths from module code into the dump_add* functions. * emodules.h (EMODULES_VERSION): New version. * fileio.c: Add Qfile_name_nondirectory for use in emodules.c. * inline.c: eldap.h and postgresql.h have moved. * lisp.h: Add unstaticpro_nodump, unloading_module, Qmodule, and Qfile_name_sans_extension declarations. * lisp.h (Dynarr_delete_object): New macro. * lrecord.h (UNDEF_LRECORD_IMPLEMENTATION): New macro. * lrecord.h (UNDEF_EXTERNAL_LRECORD_IMPLEMENTATION): New macro. * postgresql.c: Move to modules/postgresql. * postgresql.h: Ditto. * symbols.c (reject_constant_symbols): Allow it if we are unloading a module. * symbols.c (Fset): Allow unbinding constant value forward symbols if we are unloading a module. * symbols.c (defsubr): Update the load history for modules. * symbols.c (defsubr_macro): Ditto. * symbols.c (defvar_magic): Ditto. 2002-08-29 Jerry James <james@xemacs.org> * eldap.c: Put #endif tokens in a comment. * eldap.c (Fldap_status): * eldap.c (syms_of_eldap): * eldap.h: Change to Fldap_live_p to match Lisp name. 2002-08-19 Andy Piper <andy@xemacs.org> * fileio.c (Ffile_truename): on cygwin using win32 normalize to win32 format. * realpath.c (xrealpath): normalize drive spec also so that dir sep chars are not mixed on cygwin. 2002-09-01 Mike Alexander <mta@arbortext.com> * event-msw.c (winsock_closer): Use closesocket, not CloseHandle to close a socket. 2002-08-31 Seiichi Ikiuo <ikiuo@polyphony.co.jp> * file-coding.h (detection_result): fix DET_LOWEST. * mule-coding.c (big5_detector): Add member 'seen_euc_char'. (big5_detect): It was made not to become the trouble of EUC. (iso2022_detector): Add member 'longest_even_high_byte'. (iso2022_detect): Fix checking for even/odd_high_byte_group. The judgment of EUC is changed. * unicode.c: Add DETECTOR_CATEGORY utf_8_bom. (utf_8_detector): Add member byteno, first_byte and second_byte. (utf_8_detect): The judgment of UTF-8-BOM is added. 2002-08-30 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.9 "brussels sprouts" is released. 2002-08-29 Jerry James <james@xemacs.org> * lisp.h: structrures -> structures. 2002-08-21 Jerry James <james@xemacs.org> * getloadavg.c: Substitute syssignal.h for signal.h. * malloc.c: Ditto. * unexhp9k3.c: Ditto. * syssignal.h: Put NSIG setting code for SVR4 here. * s/usg5-4.h: Don't include signal.h. Remove NSIG setting code, since signal.h has not yet been included. 2002-08-16 Steve Youngs <youngs@xemacs.org> * config.h.in (XEMACS_EXTRA_NAME): New. * emacs.c (vars_of_emacs): Use it. 2002-08-22 Stephen J. Turnbull <stephen@xemacs.org> * eval.c (do_autoload): GCPRO both arguments and a local Lisp_Object. * callint.c (Fcall_interactively): * eval.c (function_argcount): (Fmacroexpand_internal): (Fcommand_execute): (Feval): (Ffuncall): * keymap.c (get_keymap): * lisp.h (do_autoload): Add comment that do_autoload GCPROs both arguments. 2002-08-20 Stephen J. Turnbull <stephen@xemacs.org> * extents.c (SOE_DEBUG): Warn not to use this until debugging functions are rewritten. 2001-08-13 Dmitry Astapov <adept@umc.com.ua> * event-Xt.c (maybe_define_x_key_as_self_inserting_character): Don't bogusly reinitialize ascii_character property. 2002-08-13 David Bush <David.Bush@intel.com> * device-msw.c: Correct initialization list for devmode_description Add dumpable flag to msprinter-settings for USE_KKCC * dialog-msw.c: Add dumpable flag to mswindows-dialog-id for USE_KKCC * event-msw.c (mswindows_enqueue_misc_user_event): With USE_KKCC use mutator macros to set event parameters * event-msw.c (mswindows_enqueue_magic_event): With USE_KKCC use mutator macros to set event parameters * event-msw.c (mswindows_enqueue_process_event): With USE_KKCC use mutator macros to set event parameters * event-msw.c (mswindows_enqueue_mouse_button_event): Reorder event setup so event type is set first to support USE_KKCC. For USE_KKCC use mutator macros to set event parameters * event-msw.c (mswindows_enqueue_keypress_event): With USE_KKCC use mutator macros to set event parameters * event-msw.c (mswindows_dequeue_dispatch_event): With USE_KKCC use accessor to get and mutator macros to set event parameters * event-msw.c (mswindows_cancel_dispatch_event): With USE_KKCC use accessor macros to get event parameters * event-msw.c (mswindows_wm_timer_callback): With USE_KKCC use mutator macros to set event parameters * event-msw.c (mswindows_dde_callback): With USE_KKCC use mutator macros to set event parameters * event-msw.c (mswindows_wnd_proc): With USE_KKCC use mutator macros to set event parameters * event-msw.c (emacs_mswindows_remove_timeout): With USE_KKCC use mutator macros to set event parameters * event-msw.c (emacs_mswindows_format_magic_event): With USE_KKCC use accessor macro to access magic event type * event-msw.c (emacs_mswindows_compare_magic_event): With USE_KKCC use accessor macro to access magic event type * event-msw.c (emacs_mswindows_hash_magic_event): With USE_KKCC use accessor macro to access magic event type * event-msw.c (emacs_mswindows_handle_magic_event): With USE_KKCC use accessor macro to access magic event type and event data * event-msw.c (emacs_mswindows_quit_p): With USE_KKCC use event accessor and mutator macros to get/set event parameters * gui-msw.c (mswindows_handle_gui_wm_command): For USE_KKCC use mutator macros to set event parameters. Make the event data type match the event type. * menubar-msw.c (mswindows_popup_menu): With USE_KKCC use accessor macros to extract button position 2002-08-12 David Bush <David.Bush@intel.com> * events.c: Use DEFINE_BASIC_LRECORD_IMPLEMENTATION instead of DEFINE_LRECORD_IMPLEMENTATION for the new event data objects to cause the objects to be flagged as basic. 2002-08-08 Jerry James <james@xemacs.org> * s/linux.h: Turn ORDINARY_LINK on for Linux. 2002-08-02 Marcus Crestani <crestani@informatik.uni-tuebingen.de> Additions for USE_KKCC: * tooltalk.c: Add dumpable-flag to tooltalk_message and tooltalk_pattern. * ui-gtk.c: Add dumpable-flag to emacs_ffi and emacs_gtk_object. Add description for emacs_gtk_boxed. 2002-08-12 Mike Sperber <mike@xemacs.org> * event-Xt.c (x_to_emacs_keysym): (enqueue_focus_event): Properly initialize event type for USE_KKCC (due to suggestions from David Bush <David.Bush@intel.com>). 2002-08-06 Jerry James <james@xemacs.org> * window.c (Fsplit_window): Count only half of the divider width against the left window when splitting horizontally. 2002-07-29 Jerry James <james@xemacs.org> * lread.c (locate_file): Any nonnegative return value indicates success if MODE is nonnegative. 2002-08-03 Brian A Palmer <bpalmer@rescomp.Stanford.EDU> * fns.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required argument. 2002-08-03 Steve Youngs <youngs@xemacs.org> * objects-gtk.c: Fix '--with-mule' '--with-gtk' builds. From Vaclav Barta <vbar@comp.cz>. 2002-08-02 Marcus Crestani <crestani@informatik.uni-tuebingen.de> * postgresql.c: Add dumpable-flag to pgconn and pgresult for USE_KKCC. 2002-07-31 Didier Verna <didier@xemacs.org> * file-coding.c (make_coding_system_1): Add missing call to `xfree (newname)'. * fix memory leak introduced by 2002-04-14 Ben Wing <ben@xemacs.org>: alloc.c (Fmake_byte_code): don't xnew_array of size 0. (sweep_compiled_functions): define ADDITIONAL_FREE_compiled_function to free the args field when needed. 2002-07-31 David Bush <David.Bush@intel.com> * eldap.c: Add the dumpable-flag to the USE_KKCC version of DEFINE_LRECORD_IMPLEMENTATION for "ldap" 2002-08-01 Mike Sperber <mike@xemacs.org> * event-stream.c: * event-Xt.c: * events.h: * events.c: * alloc.c: Fix various kkcc-related nits that show up in MULE and union-type builds. 2002-07-31 David Bush <David.Bush@intel.com> * events.c (event_equal): Correct comparison in MS Windows conditional code to use event structure defined for -use-kkcc. 2002-07-29 Sean MacLennan <seanm@seanm.ca> * glyphs-x.c (x_locate_pixmap_file): Test path not to be 0, before using it. 2002-07-29 Jonathan Harris <jonathan@xemacs.org> * s/win32-native.h: Define HAVE_WCHAR_H for native Win32 build. 2002-07-17 Marcus Crestani <crestani@informatik.uni-tuebingen.de> Markus Kaltenbach <makalten@informatik.uni-tuebingen.de> Mike Sperber <mike@xemacs.org> configure flag to turn these changes on: --use-kkcc First we added a dumpable flag to lrecord_implementation. It shows, if the object is dumpable and should be processed by the dumper. * lrecord.h (struct lrecord_implementation): added dumpable flag (MAKE_LRECORD_IMPLEMENTATION): fitted the different makro definitions to the new lrecord_implementation and their calls. Then we changed mark_object, that it no longer needs a mark method for those types that have pdump descritions. * alloc.c: (mark_object): If the object has a description, the new mark algorithm is called, and the object is marked according to its description. Otherwise it uses the mark method like before. These procedures mark objects according to their descriptions. They are modeled on the corresponding pdumper procedures. (mark_with_description): (get_indirect_count): (structure_size): (mark_struct_contents): These procedures still call mark_object, this is needed while there are Lisp_Objects without descriptions left. We added pdump descriptions for many Lisp_Objects: * extents.c: extent_auxiliary_description * database.c: database_description * gui.c: gui_item_description * scrollbar.c: scrollbar_instance_description * toolbar.c: toolbar_button_description * event-stream.c: command_builder_description * mule-charset.c: charset_description * device-msw.c: devmode_description * dialog-msw.c: mswindows_dialog_id_description * eldap.c: ldap_description * postgresql.c: pgconn_description pgresult_description * tooltalk.c: tooltalk_message_description tooltalk_pattern_description * ui-gtk.c: emacs_ffi_description emacs_gtk_object_description * events.c: * events.h: * event-stream.c: * event-Xt.c: * event-gtk.c: * event-tty.c: To write a pdump description for Lisp_Event, we converted every struct in the union event to a Lisp_Object. So we created nine new Lisp_Objects: Lisp_Key_Data, Lisp_Button_Data, Lisp_Motion_Data, Lisp_Process_Data, Lisp_Timeout_Data, Lisp_Eval_Data, Lisp_Misc_User_Data, Lisp_Magic_Data, Lisp_Magic_Eval_Data. We also wrote makro selectors and mutators for the fields of the new designed Lisp_Event and added everywhere these new abstractions. We implemented XD_UNION support in (mark_with_description), so we can describe exspecially console/device specific data with XD_UNION. To describe with XD_UNION, we added a field to these objects, which holds the variant type of the object. This field is initialized in the appendant constructor. The variant is an integer, it has also to be described in an description, if XD_UNION is used. XD_UNION is used in following descriptions: * console.c: console_description (get_console_variant): returns the variant (create_console): added variant initialization * console.h (console_variant): the different console types * console-impl.h (struct console): added enum console_variant contype * device.c: device_description (Fmake_device): added variant initialization * device-impl.h (struct device): added enum console_variant devtype * objects.c: image_instance_description font_instance_description (Fmake_color_instance): added variant initialization (Fmake_font_instance): added variant initialization * objects-impl.h (struct Lisp_Color_Instance): added color_instance_type * objects-impl.h (struct Lisp_Font_Instance): added font_instance_type * process.c: process_description (make_process_internal): added variant initialization * process.h (process_variant): the different process types 2002-07-27 Steve Youngs <youngs@xemacs.org> * XEmacs 21.5.8 "broccoli" is released. 2002-07-25 Steve Youngs <youngs@xemacs.org> * process-unix.c (child_setup): (unix_create_process): Revert Mike's patch of 2002-07-20. 2002-07-20 Mike Sperber <mike@xemacs.org> * eval.c (run_post_gc_hook): Use more correct flags when running post-gc-hook. 2002-07-20 Mike Sperber <mike@xemacs.org> * process-unix.c (child_setup): Don't try to close file descriptors for chid process once again---it's already being done in close_process_descs. (unix_create_process): Call begin_dont_check_for_quit to inhibit unwanted interaction (and thus breaking of X event synchronicity) in the child. 2002-07-15 Jerry James <james@xemacs.org> * lisp.h: Make Qdll_error visible globally. * symbols.c (check_sane_subr): Revert 2002-06-26 change. Check only if !initialized. * symbols.c (check_module_subr): Add parameter. Duplicate check_sane_subr checks, but signal an error instead of asserting. * symbols.c (defsubr): Use check_module_subr parameter. * symbols.c (defsubr_macro): Ditto. 2002-07-09 Mike Sperber <mike@xemacs.org> * config.h.in: Add USE_KKCC variable to enable upcoming new GC algorithms. 2002-07-14 Mike Alexander <mta@arbortext.com> * event-msw.c (mswindows_need_event): Don't wait for a new message if the queue is not empty. Suggested by Paul Moore. 2002-07-08 Stephen J. Turnbull <stephen@xemacs.org> * lisp.h: Declare Fcdr_safe to be callable from C. 2002-07-08 Hrvoje Niksic <hniksic@xemacs.org> * eval.c (Ffunctionp): Return nil for autoloaded macros and keymaps. 2002-07-08 Daiki Ueno <daiki@xemacs.org> * glyphs-x.c (x_unmap_subwindow): Deal with the substantial windows. (x_map_subwindow): Likewise. 2002-07-08 Mike Sperber <mike@xemacs.org> * text.h: Only include wchar.h if we have it; define wcslen prototype if we don't. * config.h.in: Add stub for HAVE_WCHAR_H. * sysdep.c (wcslen): Added definition for systems which don't have it. 2002-07-08 Mike Sperber <mike@xemacs.org> * process.c (Fstart_process_internal): Do error checking before we fork off the child, so the child can't muck with the state of the parent. 2002-07-08 Mike Sperber <mike@xemacs.org> * ralloc.c (init_ralloc): Allocate properly for pdump. * emacs.c (main_1): Revert init_ralloc patch in favor of an easier-to-understand solution. 2002-07-05 David Bush <David.Bush@intel.com> * console-msw-impl.h (struct Lisp_Devmode): Lisp_Devmode is typedef'ed in console-msw.h, don't do it again with the structure definition 2002-06-26 Jerry James <james@xemacs.org> * symbols.c (check_sane_subr): Let the symbol be bound if it is an autoload cookie. 2002-06-24 Andy Piper <andy@xemacs.org> * toolbar-x.c (console_type_create_toolbar_x): declare x_clear_frame_toolbars. * toolbar-gtk.c (console_type_create_toolbar_gtk): ditto. * toolbar-common.h (common_clear_frame_toolbars): ditto. * toolbar-common.c (COMMON_OUTPUT_BUTTONS_LOOP): output button if whole toolbar was cleared. * toolbar-msw.c (mswindows_clear_frame_toolbars): new function. Split out from mswindows_output_frame_toolbars. (mswindows_output_frame_toolbars): move clear pieces to mswindows_output_frame_toolbars. * toolbar-common.c (common_clear_frame_toolbars): new function. Split out from gtk_output_frame_toolbars. (common_output_frame_toolbars): move clear pieces to gtk_clear_frame_toolbars. * console-impl.h (struct console_methods): add clear_frame_toolbars_method. * redisplay.c (redisplay_frame): call update_frame_toolbars_geometry and re-order update_frame_toolbars. * toolbar.h: declare update_frame_toolbars_geometry. * toolbar.c (update_frame_toolbars_geometry): new function. Split out from update_frame_toolbars. Call clear_frame_toolbars. (update_frame_toolbars): only output, do not change geometry. * redisplay.c: add frame_layout_changed. * redisplay.h: add frame_layout_changed. (CLASS_RESET_CHANGED_FLAGS): set it. (GLOBAL_RESET_CHANGED_FLAGS): ditto. (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it. (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto. * device-impl.h (struct device): add frame_layout_changed. (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new. * frame-impl.h (struct frame): add frame_layout_changed. (MARK_FRAME_LAYOUT_CHANGED): new. 2002-07-02 Paul Moore <gustav@morpheus.demon.co.uk> * console-msw.h: * device-msw.c: * device-msw.c (mswindows_init_dde): * device-msw.c (mswindows_delete_device): Initialise extra DDE strings for remote execution, and change DDE initialisation to send ADVISE and REQUEST notifications. * emacs.c (main_1): Add symbols of event_mswindows. * event-msw.c: * event-msw.c (mswindows_dde_callback): * event-msw.c (reinit_vars_of_event_mswindows): * event-msw.c (vars_of_event_mswindows): * event-msw.c (syms_of_event_mswindows): Add DDE support for remote execution. 2002-06-12 Andy Piper <andy@xemacs.org> * glyphs.c (query_string_geometry): check the string. * glyphs-widget.c (widget_logical_unit_height): cope with nil widget names. 2002-06-12 Andy Piper <andy@xemacs.org> * frame-msw.c (msprinter_init_frame_3): calculate the frame size for printing on accurately. 2002-06-09 Rick Rankin <rick_rankin@yahoo.com> * event-msw.c (mswindows_wnd_proc): Add a handler for the WM_ACTIVATE message. Make sure that the frame is visible if the window is visible. This seemss to fix the problem where XEmacs appears to freeze after switching desktops with certain virtual window managers. (debug_output_mswin_message): Added code to output message parameters for WM_WINDOWPOSCHANGED, WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages. 2002-07-05 Jonathan Harris <jonathan@xemacs.org> * emacs.c (main_1): Conditionalise calls to syms_of_dired_mswindows() and vars_of_dired_mswindows() on WIN32_NATIVE instead of redundant HAVE_MSW_C_DIRED 2002-07-03 Mike Sperber <mike@xemacs.org> * emacs.c (main_1): We need to call init_ralloc twice for PDUMP, otherwice ralloc won't do anything for us. 2002-07-01 Mike Sperber <mike@xemacs.org> * process-unix.c (unix_send_process): Mark coding_outstream as non-open upon SIGPIPE. * event-stream.c (execute_internal_event): Reinstate code to deactivate a dead network connection that got lost during the stdout/stderr separation. * event-stream.c (Fnext_event): Reorder switch cases to something that makes sense. 2002-06-27 Olivier Galibert <galibert@pobox.com> * input-method-motif.c: Fix the #includes. 2002-07-02 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.7 "broccoflower" is released. 2002-07-02 Stephen J. Turnbull <stephen@xemacs.org> * frame-impl.h (struct frame): Make comment refer to new file. 2002-06-27 Mike Sperber <mike@xemacs.org> * eval.c (Ffuncall): Run `post-gc-hook' if GC just happened. * alloc.c (garbage_collect_1): Delay running `post-gc-hook' until later. * data.c (prune_weak_boxes): Rewrite for better readability. 2002-06-23 Martin Köbele <martin@mkoebele.de> Jens Müller <jmueller@informatik.uni-tuebingen.de> Mike Sperber <mike@xemacs.org> * lrecord.h (lrecord_type): add lrecord_type_ephemeron to lrecord_type enumeration. * lisp.h (XEPHEMERON): (XEPHEMERON_REF): (XEPHEMERON_NEXT): (XEPHEMERON_FINALIZER): (XSET_EPHEMERON_NEXT): (XSET_EPHEMERON_VALUE): (XSET_EPHEMERON_KEY): (wrap_ephemeron): (EPHEMERONP): (CHECK_EPHEMERON): (CONCHECK_EPHEMERON): (struct ephemeron): Add representation of ephemerons. * alloc.c (garbage_collect_1): (finish_marking_ephemerons): (prune_ephemerons): Call. * data.c: (finish_marking_ephemerons): (prune_ephemerons): (mark_ephemeron): (print_ephemeron): (ephemeron_equal) (ephemeron_hash):: (make_ephemeron): (Fmake_ephemeron): (Fephemeronp): (Fephemeron_ref): (syms_of_data): (vars_of_data): Add implementation of ephemerons 2002-06-28 Steve Youngs <youngs@xemacs.org> * inline.c: Include device-impl.h, extents-impl.h, frame-impl.h, and objects-impl.h to pick up some error_check_* functions. Remove console.h, extents.h, frame.h and objects.h because the *-impl.h files include them. 2002-06-17 Jerry James <james@xemacs.org> * sysdll.c: Remove RTLD_GLOBAL initialization. * sysdll.c (dll_open): Do not use RTLD_GLOBAL. 2002-06-24 Mike Sperber <mike@xemacs.org> * search.c (skip_chars): Fix a crash if NILP(lim). 2002-06-23 Stephen J. Turnbull <stephen@xemacs.org> * unicode.c: More comment and string fiddling. 2002-06-23 Stephen J. Turnbull <stephen@xemacs.org> * unicode.c: Improve top-level comments and many docstrings. (Fparse_unicode_translation_table): Use right function name in error. (unicode_to_ichar): Renamed from unicode_to_char. (Funicode_to_char): (decode_unicode_char): Use new name. (add_charsets_to_precedence_list): Change the dynarr argument instead of the global precedence list. (Funicode_precedence_list): New function. (Fset_language_unicode_precedence_list, Flanguage_unicode_precedence_list, Fset_default_unicode_precedence_list, Fdefault_unicode_precedence_list): Docstrings refer to docstring of Funicode_precedence_list. (set_unicode_conversion): Assert attempts to change Basic Latin (Unicode BMP, row 00). (Fset_unicode_conversion): Signal error on changes to Basic Latin. 2002-06-23 Malcolm Purvis <malcolmpurvis@optushome.com.au> * dialog-gtk.c: * gpmevent.c: * gtk-glue.c: * gtk-xemacs.c: * menubar-gtk.c: Add required #include files to unbreak the build. * event-gtk.c (reinit_vars_of_event_gtk): Reinitialise new stream fields to unbreak the build. 2002-06-22 Stephen J. Turnbull <stephen@xemacs.org> * ExternalShell.c (hack_event_masks_1): Fix signed-unsigned warning. * eldap.c: #include process.h for report_process_error. * editfns.c: #include commands.h for zmacs_region_* declarations. 2002-06-22 Mike Sperber <mike@xemacs.org> * faces.c (face_property_matching_instance): Only set cdr of matchspec if it's actually a cons. * console.h: Define opaque console_methods to unbreak the build. * objects.c (initialize_charset_font_caches): (invalidate_charset_font_caches): Only define if we're MULE. (font_instantiate): Unbreak for non-MULE. 2002-06-20 Ben Wing <ben@xemacs.org> * s/cygwin32.h: Allow pdump to work under Cygwin (mmap is broken, so need to undefine HAVE_MMAP). * s/win32-common.h: * s/win32-common.h (NO_MATHERR): * s/windowsnt.h: Support for fastcall. Add WIN32_ANY for identifying all Win32 variants (Cygwin, native, MinGW). Both of these are properly used in another ws. 2002-06-20 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (disksave_object_finalization): * alloc.c (garbage_collect_1): * balloon-x.c: * balloon-x.c (alloc_color): * balloon-x.c (init): * buffer.c: * buffer.c (Fkill_buffer): * bytecode.c: * callint.c: * cm.c: * cmdloop.c: * cmdloop.c (Frecursive_edit): * cmdloop.c (Fcommand_loop_1): * cmds.c: * console-gtk.c: * console-gtk.h: * console-msw.c: * console-msw.h: * console-msw.h (struct): * console-msw.h (wrap_mswindows_dialog_id): * console-stream.c: * console-stream.h: * console-stream.h (stream_canonicalize_device_connection): * console-tty.c: * console-tty.h: * console-x.c: * console-x.h: * console-x.h (Xt_SET_VALUE): * console.c: * console.c (Fcdfw_console): * console.h: * console.h (CDFW_CONSOLE): * device-gtk.c: * device-gtk.c (gtk_delete_device): * device-gtk.c (Fgtk_display_visual_class): * device-gtk.c (syms_of_device_gtk): * device-gtk.c (vars_of_device_gtk): * device-msw.c: * device-tty.c: * device-x.c: * device-x.c (x_init_device): * device-x.c (x_delete_device): * device-x.c (x_get_resource_prefix): * device-x.c (Fdefault_x_device): * device-x.c (vars_of_device_x): * device.c: * device.c (allocate_device): * device.c (device_console): * device.c (init_global_resources): * device.c (init_device_resources): * device.c (Fdefault_device): * device.c (Fmake_device): * device.c (delete_device_internal): * device.c (call_critical_lisp_code): * device.c (syms_of_device): * device.c (vars_of_device): * device.h: * devslots.h: * dialog-gtk.c: * dialog-msw.c: * dialog-x.c: * dialog.c: * dialog.c (Fmake_dialog_box_internal): * dired-msw.c: * editfns.c: * emacs.c: * event-Xt.c: * event-Xt.c (change_frame_visibility): * event-gtk.c: * event-gtk.c (change_frame_visibility): * event-gtk.c (gtk_event_to_emacs_event): * event-msw.c: * event-stream.c: * event-tty.c: * event-unixoid.c: * events.c: * extents.c: * extents.h: * extents.h (glyph_layout): * faces.c: * faces.c (face_property_matching_instance): * faces.c (init_global_faces): * faces.c (init_device_faces): * faces.c (complex_vars_of_faces): * fileio.c: * fns.c: * frame-gtk.c: * frame-gtk.c (INTERNAL_BORDER_WIDTH): * frame-msw.c: * frame-tty.c: * frame-x.c: * frame.c: * frame.c (decode_frame_or_selected): * frame.h: * frame.h (FW_FRAME): * frame.h (Value): Removed. * frame.h (0): Removed. * glyphs-eimage.c: * glyphs-gtk.c: * glyphs-gtk.c (gtk_locate_pixmap_file): * glyphs-msw.c: * glyphs-widget.c: * glyphs-x.c: * glyphs-x.c (x_locate_pixmap_file): * glyphs.c: * glyphs.c (decode_device_ii_format): * glyphs.c (Fimage_instance_instantiator): * glyphs.c (syms_of_glyphs): * glyphs.h: * gui-gtk.c: * gui-msw.c: * gui-x.c: * gui-x.c (popup_selection_callback): * gui.c: * gutter.c: * input-method-xlib.c: * intl-encap-win32.c: * intl-win32.c: * intl-win32.c (getacp): * intl-win32.c (mswindows_get_registry_charset): * intl-win32.c (syms_of_intl_win32): * intl-win32.c (vars_of_intl_win32): * keymap.c: * lisp.h: * macros.c: * menubar-gtk.c: * menubar-msw.c: * menubar-x.c: * menubar.c: * menubar.h: * minibuf.c: * mule-charset.c: * mule-charset.c (Fset_charset_ccl_program): * nt.c: * objects-gtk.c: * objects-gtk.c (gtk_initialize_font_instance): * objects-gtk.c (gtk_print_font_instance): * objects-gtk.c (gtk_font_instance_truename): * objects-gtk.c (gtk_font_spec_matches_charset): * objects-gtk.c (console_type_create_objects_gtk): * objects-gtk.c (gtk_find_charset_font): * objects-gtk.h: * objects-msw.c: * objects-msw.c (charset_map): * objects-msw.c (font_enum_callback_2): * objects-msw.c (sort_font_list_function): * objects-msw.c (mswindows_enumerate_fonts): * objects-msw.c (parse_font_spec): * objects-msw.c (create_hfont_from_font_spec): * objects-msw.c (initialize_font_instance): * objects-msw.c (mswindows_list_fonts): * objects-msw.c (mswindows_font_instance_truename): * objects-msw.c (mswindows_font_spec_matches_charset_stage_1): * objects-msw.c (mswindows_font_spec_matches_charset_stage_2): * objects-msw.c (mswindows_font_spec_matches_charset): * objects-msw.c (mswindows_find_charset_font): * objects-msw.h: * objects-msw.h (mswindows_color_to_string): * objects-tty.c: * objects-tty.c (tty_font_spec_matches_charset): * objects-tty.c (tty_find_charset_font): * objects-tty.h: * objects-x.c: * objects-x.c (x_initialize_font_instance): * objects-x.c (x_print_font_instance): * objects-x.c (x_font_instance_truename): * objects-x.c (x_font_spec_matches_charset): * objects-x.c (x_find_charset_font): * objects-x.c (console_type_create_objects_x): * objects-x.h: * objects.c: * objects.c (mark_font_instance): * objects.c (Fmake_font_instance): * objects.c (font_validate_matchspec): * objects.c (initialize_charset_font_caches): * objects.c (font_instantiate): * objects.c (reinit_vars_of_objects): * objects.h: * postgresql.c: * print.c: * process.h: * redisplay-gtk.c: * redisplay-msw.c: * redisplay-output.c: * redisplay-tty.c: * redisplay-x.c: * redisplay.c: * redisplay.c (text_cursor_visible_p_changed): * redisplay.h: * scrollbar-gtk.c: * scrollbar-msw.c: * scrollbar-x.c: * scrollbar.c: * select-gtk.c: * select-msw.c: * select-x.c: * select.c: * signal.c: * sound.c: * specifier.c: * specifier.c (print_specifier): * specifier.c (setup_device_initial_specifier_tags): * specifier.c (Fspecifier_matching_instance): * symbols.c: * syntax.c (signal_syntax_table_extent_changed): * sysdep.c: * syssignal.h: * syswindows.h: * toolbar-common.c: * toolbar-gtk.c: * toolbar-msw.c: * toolbar-msw.c (mswindows_clear_toolbar): * toolbar-msw.c (mswindows_free_frame_toolbars): * toolbar-x.c: * toolbar.c: * unicode.c: * window.c: * window.c (decode_window): * window.h: * window.h (WINDOW_XFRAME): * window.h (XWINDOW_FRAME): * window.h (CHECK_LIVE_WINDOW): * window.h (window_divider_width): The following are the major changes made: (1) Separation of various header files into an external and an internal version, similar to the existing separation of process.h and procimpl.h. Eventually this should be done for all Lisp objects. The external version has the same name as currently; the internal adds -impl. The external file has XFOO() macros for objects, but the structure is opaque and defined only in the internal file. It's now reasonable to move all prototypes in lisp.h into the appropriate external file, and this should be done. Currently, separation has been done on extents.h, objects*.h, console.h, device.h, frame.h, and window.h. For c/d/f/w, the most basic properties are available in the external header file, with the macros resolving to functions. In the internal header file, the macros are redefined to directly access the structure. Also, the global MARK_FOO_CHANGED macros have been made into functions so that they can be accessed without needing to include lots of -impl headers -- they are used in almost exclusively in non-time-critical functions, and take up enough time that the function overhead will be negligible. Similarly, the function overhead from making the basic properties mentioned above into functions is negligible, and code that does heavy accessing of c/d/f/w structures inevitably ends up needing the internal header files, anyway. (2) More face changes. -- Major rewrite of objects-msw.c. Now handles wildcard specs properly, rather than "truenaming" (or even worse, signalling an error, which previously happened with some of the fallbacks if you tried to use them in make-font-instance!). -- Split charset matching of fonts into two stages -- one to find a font specifically designed for a particular charset (by examining its registry), the second to find a Unicode font that can support the charset. This needs to proceed as two complete, separate instantiations in order to work properly (otherwise many of the fonts in the HELLO page look wrong). This should also make it easy to support iso10646 (Unicode) fonts under X. -- All default values for fonts are now completely specified in the fallbacks. Stuff from mule-x-init.el has all been moved here, merged with the existing specs, and totally rethought so you get sensible results. (HELLO now looks much better!). -- Generalize the "default X/GTK device" stuff into a per-device-type "default device". -- Add mswindows-{set-}charset-registry. In time, charset<->code-page conversion functions will be removed. -- Wrap protective code around calls to compute device specifier tags, and do this computation before calling the face initialization code because the latter may need these tags to be correctly updated. (3) Other changes. * EmacsFrame.c: * EmacsFrame.c (EmacsFrameSetValues): * glyphs-msw.c: * eval.c: * gui-x.c: * intl-encap-win32.c: * search.c (Fstore_match_data): * search.c: * signal.c: * toolbar-msw.c: * unicode.c: Warning fixes. * config.h.in: #undefs meant to be frobbed by configure *MUST* go inside of #ifndef WIN32_NO_CONFIGURE, and everything else *MUST* go outside! * eval.c (Fbacktrace): Let detailed backtraces be detailed. * specifier.c: Don't override user's print-string-length/print-length settings. * glyphs.c: New function image-instance-instantiator. * config.h.in: * sysdep.c (set_descriptor_non_blocking): * sysdep.c (SIG_PARAM_TYPE): * sysdep.c (struct save_signal): * sysdep.c (save_signal_handlers): * sysdep.c (retry_open): * sysdep.c (qxe_open): Changes for fastcall. * sysdep.c (qxe_rename): * nt.c (mswindows_rename): Fix up a previous botched patch that tried to add support for both EEXIST and EACCES. IF THE BOTCHED PATCH WENT INTO 21.4, THIS FIXUP NEEDS TO GO IN, TOO. * search.c (skip_chars): Fix *evil* crash due to incorrect synching of syntax-cache code with 21.1. THIS SHOULD GO INTO 21.4. 2002-06-07 William M. Perry <wmperry@gnu.org> * frame-x.c (init_x_prop_symbols): Don't attempt to expose the toolbar pixels from the EmacsFrame widget, they no longer exist. (x_frame_properties): Ditto. (x_internal_frame_property_p): Don't check them for internal-ness either. * EmacsFrame.c: Removed references to the resources for toolbar colors. These are now controlled completely by the 'toolbar' face. * EmacsFrameP.h: Removed obsolete toolbar pixel slots. 2002-06-05 Ben Wing <ben@xemacs.org> * README.integral-types: Removed. * README.global-renaming: Added. Stuff specific to the integral types rename was moved to the Internals Manual. The general scripts, suitable for any type of global search-and-replace, were moved to README.global-renaming. (In the internals manual, they need to be munged by replacing @ with @@, and this precludes just cutting and pasting from the source file, which is what people are naturally going to do.) 2002-06-05 Ben Wing <ben@xemacs.org> * abbrev.c (abbrev_match_mapper): * abbrev.c (abbrev_oblookup): * abbrev.c (obarray_has_blank_p): * abbrev.c (abbrev_count_case): * alloc.c (make_uninit_string): * alloc.c (resize_string): * alloc.c (set_string_char): * alloc.c (Fmake_string): * alloc.c (Fstring): * alloc.c (init_string_ascii_begin): * alloc.c (make_string): * alloc.c (build_intstring): * alloc.c (build_string): * alloc.c (build_msg_intstring): * alloc.c (build_msg_string): * alloc.c (make_string_nocopy): * alloc.c (debug_string_purity_print): * alloc.c (garbage_collect_1): * buffer.c: * buffer.c (Fgenerate_new_buffer_name): * buffer.c (directory_is_current_directory): * buffer.c (get_initial_directory): * buffer.c (init_initial_directory): * buffer.h: * buffer.h (struct buffer_text): * buffer.h (VALIDATE_BYTEBPOS_BACKWARD): * buffer.h (VALIDATE_BYTEBPOS_FORWARD): * buffer.h (BYTE_BUF_FETCH_CHAR): * buffer.h (BYTE_BUF_FETCH_CHAR_RAW): * buffer.h (BYTE_BUF_ITEXT_COPY_ICHAR): * buffer.h (BUFFER_TEXT_LOOP): * buffer.h (BUFFER_ALLOC): * bytecode.c (invalid_byte_code): * bytecode.c (READ_INSTRUCTION_CHAR): * bytecode.c (optimize_byte_code): * bytecode.c (compiled_function_instructions): * callint.c (callint_prompt): * callint.c (PROMPT): * casefiddle.c (casify_object): * casefiddle.c (casify_region_internal): * casetab.c (compute_up_or_eqv_mapper): * casetab.c (convert_old_style_syntax_string): * casetab.c (complex_vars_of_casetab): * charset.h: * charset.h (ichar_charset): * charset.h (BREAKUP_ICHAR): * charset.h (struct Lisp_Charset): * charset.h (CHARSET_LEADING_BYTE): * charset.h (struct charset_lookup): * charset.h (ICHAR_FIELD1_MASK): * charset.h (ichar_field1): * charset.h (MIN_ICHAR_FIELD2_OFFICIAL): * charset.h (MIN_ICHAR_FIELD1_OFFICIAL): * charset.h (MIN_ICHAR_FIELD2_PRIVATE): * charset.h (MIN_ICHAR_FIELD1_PRIVATE): * charset.h (MIN_CHAR_OFFICIAL_TYPE9N): * charset.h (BREAKUP_ICHAR_1_UNSAFE): * chartab.c (get_non_ascii_char_table_value): * chartab.c (put_char_table): * chartab.c (map_over_charset_ascii_1): * chartab.c (map_over_charset_row): * chartab.c (map_over_other_charset): * chartab.c (map_char_table): * chartab.c (chartab_instantiate): * chartab.c (check_category_char): * chartab.c (Fcheck_category_at): * chartab.c (Fchar_in_category_p): * chartab.c (word_boundary_p): * chartab.h: * chartab.h (struct chartab_range): * cmds.c: * cmds.c (Fself_insert_command): * cmds.c (internal_self_insert): * console-gtk.h: * console-msw.c (GetConsoleHwnd): * console-msw.c (mswindows_output_console_string): * console-msw.c (Fmswindows_debugging_output): * console-msw.c (write_string_to_mswindows_debugging_output): * console-msw.c (DSTRING): * console-msw.c (DSYMNAME): * console-msw.h: * console-stream.c (stream_text_width): * console-tty.c (tty_init_console): * console-x.c (split_up_display_spec): * console-x.c (x_semi_canonicalize_console_connection): * console-x.h: * console.h (struct console_methods): * console.h (struct console): * data.c (Fsubr_interactive): * data.c (Faref): * device-msw.c (msprinter_default_printer): * device-msw.c (sync_printer_with_devmode): * device-x.c (sanity_check_geometry_resource): * device-x.c (signal_if_x_error): * device-x.c (x_IO_error_handler): * device-x.c (Fx_get_resource_prefix): * dialog-msw.c (button_width): * dialog-msw.c (handle_question_dialog_box): * dired-msw.c (struct): * dired-msw.c (mswindows_get_files): * dired-msw.c (mswindows_format_file): * dired-msw.c (Fmswindows_insert_directory): * dired.c (Fdirectory_files): * dired.c (file_name_completion_stat): * dired.c (file_name_completion): * dired.c (struct user_name): * dired.c (user_name_completion): * dired.c (make_directory_hash_table): * dired.c (Ffile_attributes): * doc.c (unparesseuxify_doc_string): * doc.c (get_doc_string): * doc.c (weird_doc): * doc.c (Fsnarf_documentation): * doc.c (Fsubstitute_command_keys): * doprnt.c (union printf_arg): * doprnt.c (doprnt_2): * doprnt.c (parse_off_posnum): * doprnt.c (parse_doprnt_spec): * doprnt.c (get_doprnt_args): * doprnt.c (emacs_doprnt_1): * doprnt.c (emacs_doprnt_va): * doprnt.c (emacs_doprnt): * doprnt.c (emacs_vsprintf_string_lisp): * doprnt.c (emacs_sprintf_string_lisp): * doprnt.c (emacs_vsprintf_malloc_lisp): * doprnt.c (emacs_sprintf_malloc_lisp): * doprnt.c (emacs_vsprintf_string): * doprnt.c (emacs_sprintf_string): * doprnt.c (emacs_vsprintf_malloc): * doprnt.c (emacs_sprintf_malloc): * doprnt.c (emacs_vsprintf): * doprnt.c (emacs_sprintf): * editfns.c: * editfns.c (init_editfns): * editfns.c (Fchar_to_string): * editfns.c (Fstring_to_char): * editfns.c (Ftemp_directory): * editfns.c (Fuser_login_name): * editfns.c (user_login_name): * editfns.c (Fuser_full_name): * editfns.c (get_home_directory): * editfns.c (Fuser_home_directory): * editfns.c (Fcurrent_time_string): * editfns.c (Fcurrent_time_zone): * editfns.c (Finsert_char): * editfns.c (Fcompare_buffer_substrings): * editfns.c (Fsubst_char_in_region): * editfns.c (Ftranslate_region): * editfns.c (Fchar_equal): * eldap.c (Fldap_open): * emodules.c (emodules_load): * emodules.c (emodules_doc_subr): * emodules.c (emodules_doc_sym): * eval.c (print_subr): * eval.c (build_error_data): * eval.c (signal_error): * eval.c (maybe_signal_error): * eval.c (signal_continuable_error): * eval.c (maybe_signal_continuable_error): * eval.c (signal_error_2): * eval.c (maybe_signal_error_2): * eval.c (signal_continuable_error_2): * eval.c (maybe_signal_continuable_error_2): * eval.c (signal_ferror): * eval.c (maybe_signal_ferror): * eval.c (signal_continuable_ferror): * eval.c (maybe_signal_continuable_ferror): * eval.c (signal_ferror_with_frob): * eval.c (maybe_signal_ferror_with_frob): * eval.c (signal_continuable_ferror_with_frob): * eval.c (maybe_signal_continuable_ferror_with_frob): * eval.c (syntax_error): * eval.c (syntax_error_2): * eval.c (maybe_syntax_error): * eval.c (sferror): * eval.c (sferror_2): * eval.c (maybe_sferror): * eval.c (invalid_argument): * eval.c (invalid_argument_2): * eval.c (maybe_invalid_argument): * eval.c (invalid_constant): * eval.c (invalid_constant_2): * eval.c (maybe_invalid_constant): * eval.c (invalid_operation): * eval.c (invalid_operation_2): * eval.c (maybe_invalid_operation): * eval.c (invalid_change): * eval.c (invalid_change_2): * eval.c (maybe_invalid_change): * eval.c (invalid_state): * eval.c (invalid_state_2): * eval.c (maybe_invalid_state): * eval.c (wtaerror): * eval.c (stack_overflow): * eval.c (out_of_memory): * eval.c (printing_unreadable_object): * eval.c (struct call_trapping_problems): * eval.c (call_trapping_problems): * eval.c (va_call_trapping_problems): * eval.c (calln_trapping_problems): * eval.c (call0_trapping_problems): * eval.c (call1_trapping_problems): * eval.c (call2_trapping_problems): * eval.c (call3_trapping_problems): * eval.c (call4_trapping_problems): * eval.c (call5_trapping_problems): * eval.c (eval_in_buffer_trapping_problems): * eval.c (run_hook_trapping_problems): * eval.c (safe_run_hook_trapping_problems): * eval.c (run_hook_with_args_in_buffer_trapping_problems): * eval.c (run_hook_with_args_trapping_problems): * eval.c (va_run_hook_with_args_trapping_problems): * eval.c (va_run_hook_with_args_in_buffer_trapping_problems): * eval.c (warn_when_safe): * event-Xt.c (x_keysym_to_character): * event-Xt.c (x_to_emacs_keysym): * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (check_for_tty_quit_char): * event-gtk.c (gtk_to_emacs_keysym): * event-gtk.c (dragndrop_data_received): * event-gtk.c (check_for_tty_quit_char): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * event-stream.c (allocate_command_builder): * event-stream.c (echo_key_event): * event-stream.c (maybe_kbd_translate): * event-stream.c (command_builder_find_leaf_no_mule_processing): * event-stream.c (command_builder_find_leaf): * event-stream.c (lookup_command_event): * event-stream.c (dribble_out_event): * event-unixoid.c (read_event_from_tty_or_stream_desc): * event-unixoid.c (event_stream_unixoid_create_io_streams): * events.c (character_to_event): * events.c (event_to_character): * events.c (Fevent_to_character): * events.c (nth_of_key_sequence_as_event): * events.h: * events.h (struct key_data): * events.h (struct command_builder): * file-coding.c (setup_eol_coding_systems): * file-coding.c (make_coding_system_1): * file-coding.c (no_conversion_convert): * file-coding.c (convert_eol_convert): * file-coding.c (look_for_coding_system_magic_cookie): * file-coding.h: * fileio.c: * fileio.c (report_file_type_error): * fileio.c (report_error_with_errno): * fileio.c (report_file_error): * fileio.c (lisp_strerror): * fileio.c (Ffile_name_directory): * fileio.c (Ffile_name_nondirectory): * fileio.c (file_name_as_directory): * fileio.c (Ffile_name_as_directory): * fileio.c (directory_file_name): * fileio.c (Fdirectory_file_name): * fileio.c (Fmake_temp_name): * fileio.c (if): * fileio.c (Ffile_truename): * fileio.c (Fsubstitute_in_file_name): * fileio.c (Ffile_name_absolute_p): * fileio.c (check_writable): * fileio.c (Ffile_writable_p): * fileio.c (Ffile_symlink_p): * fileio.c (a_write): * filelock.c (struct): * filelock.c (MAKE_LOCK_NAME): * filelock.c (fill_in_lock_file_name): * filelock.c (lock_file_1): * filelock.c (current_lock_owner): * filelock.c (lock_if_free): * filelock.c (lock_file): * filelock.c (unlock_file): * filelock.c (Ffile_locked_p): * fns.c: * fns.c (Fstring_lessp): * fns.c (concat): * fns.c (split_string_by_ichar_1): * fns.c (split_external_path): * fns.c (split_env_path): * fns.c (Fsplit_string_by_char): * fns.c (Fsplit_path): * fns.c (Ffillarray): * fns.c (mapcar1): * fns.c (ADVANCE_INPUT): * fns.c (base64_encode_1): * fns.c (STORE_BYTE): * fns.c (base64_decode_1): * fns.c (Fbase64_encode_region): * fns.c (Fbase64_encode_string): * fns.c (Fbase64_decode_region): * fns.c (Fbase64_decode_string): * fns.c (vars_of_fns): * font-lock.c (struct context_cache): * font-lock.c (find_context): * frame-gtk.c (gtk_set_frame_text_value): * frame-gtk.c (gtk_set_title_from_ibyte): * frame-gtk.c (gtk_set_icon_name_from_ibyte): * frame-gtk.c (console_type_create_frame_gtk): * frame-msw.c (mswindows_set_title_from_ibyte): * frame-msw.c (console_type_create_frame_mswindows): * frame-x.c (color_to_string): * frame-x.c (x_set_frame_text_value): * frame-x.c (x_set_title_from_ibyte): * frame-x.c (x_set_icon_name_from_ibyte): * frame-x.c (x_cde_transfer_callback): * frame-x.c (Fx_window_id): * frame-x.c (console_type_create_frame_x): * frame.c: * frame.c (allocate_frame_core): * frame.c (Fmake_frame): * frame.c (generate_title_string): * frame.c (update_frame_title): * frame.c (init_frame): * glyphs-eimage.c (my_jpeg_output_message): * glyphs-eimage.c (gif_instantiate): * glyphs-msw.c (struct color_symbol): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (struct): * glyphs-msw.c (resource_name_to_resource): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (charset_of_text): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-x.c (x_locate_pixmap_file): * glyphs-x.c (x_xface_instantiate): * glyphs-x.c (safe_XLoadFont): * glyphs-x.c (font_instantiate): * glyphs.c (print_image_instance): * glyphs.c (signal_image_error): * glyphs.c (signal_image_error_2): * glyphs.c (signal_double_image_error): * glyphs.c (signal_double_image_error_2): * glyphs.c (query_string_geometry): * glyphs.c (query_string_font): * glyphs.c (display_table_entry): * glyphs.h: * gpmevent.c (tty_get_foreign_selection): * gui-x.c (menu_separator_style_and_to_external): * gui-x.c (add_accel_and_to_external): * gui-x.c (button_item_to_widget_value): * gui-x.h: * gui.c (separator_string_p): * gui.c (gui_name_accelerator): * gui.h: * hpplay.c (player_error_internal): * indent.c (column_at_point): * indent.c (string_column_at_point): * indent.c (byte_spaces_at_point): * indent.c (Fmove_to_column): * insdel.c (gap_left): * insdel.c (gap_right): * insdel.c (make_gap): * insdel.c (fixup_internal_substring): * insdel.c (buffer_insert_string_1): * insdel.c (buffer_insert_raw_string_1): * insdel.c (buffer_insert_c_string_1): * insdel.c (buffer_insert_emacs_char_1): * insdel.c (buffer_insert_c_char_1): * insdel.c (buffer_delete_range): * insdel.c (buffer_replace_char): * insdel.h: * intl-win32.c (convert_multibyte_to_internal_malloc): * keymap.c (make_key_description): * keymap.c (keymap_lookup_directly): * keymap.c (keymap_store): * keymap.c (define_key_check_and_coerce_keysym): * keymap.c (Fdefine_key): * keymap.c (Flookup_key): * keymap.c (map_keymap_sort_predicate): * keymap.c (Fkey_description): * keymap.c (Ftext_char_description): * keymap.c (describe_map): * keymap.c (vars_of_keymap): * line-number.c (insert_invalidate_line_number_cache): * line-number.h: * lisp-disunion.h: * lisp-union.h: * lisp.h: * lisp.h (struct): * lisp.h (struct Lisp_String): * lisp.h (XCHAR): * lisp.h (DECLARE_INLINE_HEADER): * lread.c: * lread.c (readchar): * lread.c (unreadchar): * lread.c (Fload_internal): * lread.c (locate_file_map_suffixes): * lread.c (locate_file_in_directory_mapper): * lread.c (locate_file_construct_suffixed_files_mapper): * lread.c (readevalloop): * lread.c (read0): * lread.c (read_escape): * lread.c (read_atom_0): * lread.c (read_atom): * lread.c (parse_integer): * lread.c (read_bit_vector): * lread.c (read_structure): * lread.c (reader_nextchar): * lread.c (read1): * lread.c (isfloat_string): * lread.c (sequence_reader): * lread.c (read_list_conser): * lread.c (read_list): * lread.c (read_vector): * lread.c (read_compiled_function): * lrecord.h: * lstream.c: * lstream.c (Lstream_really_write): * lstream.c (Lstream_read_1): * lstream.c (struct filedesc_stream): * lstream.c (filedesc_writer): * lstream.c (filedesc_stream_set_pty_flushing): * lstream.c (lisp_string_reader): * lstream.c (lisp_string_rewinder): * lstream.c (lisp_buffer_reader): * lstream.c (lisp_buffer_writer): * lstream.h: * lstream.h (Lstream_get_ichar): * md5.c (Fmd5): * menubar-msw.c: * menubar-msw.c (mswindows_translate_menu_or_dialog_item): * menubar-msw.c (displayable_menu_item): * menubar-msw.c (populate_menu_add_item): * menubar-msw.c (mswindows_char_is_accelerator): * menubar-x.c (menu_item_descriptor_to_widget_value_1): * menubar.c (Fnormalize_menu_item_name): * minibuf.c (scmp_1): * minibuf.c (regexp_ignore_completion_p): * minibuf.c (Fall_completions): * minibuf.c (echo_area_append): * minibuf.c (echo_area_message): * minibuf.c (message_internal): * minibuf.c (message_append_internal): * minibuf.c (message_1): * minibuf.c (message_append_1): * mule-ccl.c: * mule-ccl.c (CCL_WRITE_CHAR): * mule-ccl.c (CCL_WRITE_STRING): * mule-ccl.c (CCL_MAKE_CHAR): * mule-charset.c (make_charset): * mule-charset.c (Fmake_charset): * mule-coding.c (shift_jis_convert): * mule-coding.c (Fdecode_shift_jis_char): * mule-coding.c (Fencode_shift_jis_char): * mule-coding.c (big5_convert): * mule-coding.c (decode_big5_char): * mule-coding.c (Fdecode_big5_char): * mule-coding.c (Fencode_big5_char): * mule-coding.c (charset_by_attributes_or_create_one): * mule-coding.c (iso2022_decode): * mule-coding.c (iso2022_encode): * mule-wnnfns.c (Fwnn_dict_list): * mule-wnnfns.c (Fwnn_fuzokugo_get): * mule-wnnfns.c (m2w): * ndir.h: * nt.c: * nt.c (getpwnam): * nt.c (parse_root): * nt.c (get_long_basename): * nt.c (mswindows_get_long_filename): * nt.c (is_unc_volume): * nt.c (nt_get_resource): * nt.c (init_mswindows_environment): * nt.c (volume_info_data): * nt.c (lookup_volume_info): * nt.c (add_volume_info): * nt.c (get_cached_volume_information): * nt.c (get_volume_info): * nt.c (is_exec): * nt.c (mswindows_opendir): * nt.c (mswindows_readdir): * nt.c (open_unc_volume): * nt.c (read_unc_volume): * nt.c (unc_volume_file_attributes): * nt.c (mswindows_access): * nt.c (mswindows_link): * nt.c (mswindows_rename): * nt.c (mswindows_unlink): * nt.c (mswindows_fstat): * nt.c (mswindows_stat): * nt.c (mswindows_getdcwd): * nt.c (open_input_file): * nt.c (open_output_file): * nt.c (mswindows_executable_type): * nt.c (Fmswindows_short_file_name): * nt.c (Fmswindows_long_file_name): * nt.c (init_nt): * objects-gtk.c (gtk_parse_nearest_color): * objects-gtk.c (gtk_font_spec_matches_charset): * objects-gtk.c (gtk_find_charset_font): * objects-gtk.h: * objects-msw.c (hexval): * objects-msw.c (mswindows_string_to_color): * objects-msw.c (match_font): * objects-msw.c (font_enum_callback_2): * objects-msw.c (create_hfont_from_font_spec): * objects-msw.c (initialize_font_instance): * objects-msw.c (mswindows_list_fonts): * objects-msw.c (mswindows_font_instance_truename): * objects-msw.c (mswindows_font_spec_matches_charset_stage_1): * objects-msw.c (mswindows_font_spec_matches_charset): * objects-tty.c (tty_initialize_font_instance): * objects-tty.c (tty_font_spec_matches_charset): * objects-tty.c (tty_find_charset_font): * objects-x.c (x_font_instance_properties): * objects-x.c (x_font_spec_matches_charset): * objects-x.c (x_find_charset_font): * objects.c (font_spec_matches_charset): * objects.h: * postgresql.c (init_postgresql_from_environment): * print.c: * print.c (write_string_to_stdio_stream): * print.c (std_handle_out_va): * print.c (stderr_out): * print.c (stdout_out): * print.c (debug_out): * print.c (fatal): * print.c (output_string): * print.c (write_string_1): * print.c (write_string): * print.c (write_c_string): * print.c (write_fmt_string): * print.c (write_fmt_string_lisp): * print.c (stderr_out_lisp): * print.c (Fwrite_char): * print.c (float_to_string): * print.c (print_string): * print.c (print_internal): * print.c (print_symbol): * print.c (Falternate_debugging_output): * print.c (write_string_to_alternate_debugging_output): * print.c (Fexternal_debugging_output): * process-nt.c (mswindows_compare_env): * process-nt.c (nt_create_process): * process-nt.c (nt_send_process): * process-unix.c: * process-unix.c (allocate_pty): * process-unix.c (relocate_fd): * process-unix.c (child_setup): * process-unix.c (unix_create_process): * process-unix.c (unix_send_process): * process-unix.c (unix_process_send_eof): * process-unix.c (unix_kill_child_process): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): * process.c (read_process_output): * process.c (send_process): * process.c (status_message): * process.c (decode_signal): * process.c (getenv_internal): * process.c (putenv_internal): * process.c (Fgetenv): * process.c (egetenv): * process.c (eputenv): * process.c (init_xemacs_process): * procimpl.h: * realpath.c: * realpath.c (mswindows_readlink_and_correct_case): * realpath.c (cygwin_readlink_and_correct_case): * realpath.c (mswindows_abs_start): * realpath.c (qxe_realpath): * redisplay-gtk.c: * redisplay-gtk.c (separate_textual_runs): * redisplay-gtk.c (gtk_text_width): * redisplay-gtk.c (gtk_output_display_block): * redisplay-gtk.c (gtk_output_string): * redisplay-msw.c (separate_textual_runs): * redisplay-msw.c (mswindows_output_cursor): * redisplay-msw.c (mswindows_output_string): * redisplay-msw.c (mswindows_output_display_block): * redisplay-msw.c (mswindows_text_width): * redisplay-output.c (redisplay_output_layout): * redisplay-tty.c: * redisplay-tty.c (tty_text_width): * redisplay-tty.c (tty_output_display_block): * redisplay-tty.c (tty_output_ibyte_string): * redisplay-tty.c (tty_output_ichar_dynarr): * redisplay-tty.c (substitute_in_dynamic_color_string): * redisplay-tty.c (set_foreground_to): * redisplay-tty.c (set_background_to): * redisplay-x.c: * redisplay-x.c (separate_textual_runs): * redisplay-x.c (x_text_width): * redisplay-x.c (x_output_display_block): * redisplay-x.c (x_output_string): * redisplay.c: * redisplay.c (position_redisplay_data_type): * redisplay.c (struct prop_block): * redisplay.c (redisplay_text_width_ichar_string): * redisplay.c (redisplay_text_width_string): * redisplay.c (redisplay_frame_text_width_string): * redisplay.c (add_ichar_rune_1): * redisplay.c (add_ichar_rune): * redisplay.c (add_ibyte_string_runes): * redisplay.c (ADD_NEXT_OCTAL_RUNE_CHAR): * redisplay.c (add_octal_runes): * redisplay.c (add_control_char_runes): * redisplay.c (add_disp_table_entry_runes_1): * redisplay.c (add_propagation_runes): * redisplay.c (add_glyph_rune): * redisplay.c (create_text_block): * redisplay.c (create_overlay_glyph_block): * redisplay.c (generate_formatted_string_db): * redisplay.c (add_string_to_fstring_db_runes): * redisplay.c (generate_fstring_runes): * redisplay.c (create_string_text_block): * redisplay.c (decode_mode_spec): * redisplay.c (init_redisplay): * redisplay.h: * redisplay.h (struct rune): * regex.c: * regex.c (RE_TRANSLATE_1): * regex.c (itext_ichar): * regex.c (INC_IBYTEPTR): * regex.c (PATFETCH_RAW): * regex.c (PATUNFETCH): * regex.c (regex_compile): * regex.c (compile_range): * regex.c (compile_extended_range): * regex.c (re_compile_fastmap): * regex.c (re_search_2): * regex.c (re_match_2_internal): * search.c: * search.c (TRANSLATE): * search.c (fixup_search_regs_for_string): * search.c (fast_string_match): * search.c (byte_scan_buffer): * search.c (scan_buffer): * search.c (byte_find_next_ichar_in_string): * search.c (skip_chars): * search.c (trivial_regexp_p): * search.c (search_buffer): * search.c (simple_search): * search.c (boyer_moore): * search.c (wordify): * search.c (Freplace_match): * search.c (Fregexp_quote): * select-common.h (lisp_data_to_selection_data): * select-gtk.c (atom_to_symbol): * select-x.c (x_atom_to_symbol): * select-x.c (hack_motif_clipboard_selection): * select-x.c (Fx_store_cutbuffer_internal): * sound.h (sound_perror): * symbols.c (intern_int): * symbols.c (intern): * symbols.c (intern_converting_underscores_to_dashes): * symbols.c (oblookup): * symbols.c (hash_string): * symbols.c (init_symbols_once_early): * symbols.c (defsymbol_massage_name_1): * symbols.c (defsymbol_nodump): * symbols.c (defsymbol): * symbols.c (defvar_magic): * syntax.c (struct lisp_parse_state): * syntax.c (syntax_match): * syntax.c (WORD_BOUNDARY_P): * syntax.c (scan_words): * syntax.c (find_start_of_comment): * syntax.c (Fforward_comment): * syntax.c (scan_lists): * syntax.c (Fbackward_prefix_chars): * syntax.c (scan_sexps_forward): * syntax.c (complex_vars_of_syntax): * syntax.h: * sysdep.c: * sysdep.c (sys_subshell): * sysdep.c (get_eof_char): * sysdep.c (init_system_name): * sysdep.c (qxe_open): * sysdep.c (qxe_interruptible_open): * sysdep.c (qxe_fopen): * sysdep.c (qxe_chdir): * sysdep.c (qxe_mkdir): * sysdep.c (qxe_opendir): * sysdep.c (qxe_readdir): * sysdep.c (qxe_rmdir): * sysdep.c (qxe_allocating_getcwd): * sysdep.c (qxe_access): * sysdep.c (qxe_eaccess): * sysdep.c (qxe_lstat): * sysdep.c (qxe_readlink): * sysdep.c (qxe_stat): * sysdep.c (qxe_chmod): * sysdep.c (qxe_link): * sysdep.c (qxe_rename): * sysdep.c (qxe_symlink): * sysdep.c (qxe_unlink): * sysdep.c (qxe_execve): * sysdep.c (qxe_getpwnam): * sysdep.c (qxe_ctime): * sysdep.h: * sysdir.h: * sysdir.h (qxe_allocating_getcwd): * sysfile.h: * sysfile.h (DECLARE_INLINE_HEADER): * sysproc.h: * syspwd.h: * systime.h: * syswindows.h: * syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR): * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): * syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT): * syswindows.h (LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR): * syswindows.h (file_data): * syswindows.h (DECLARE_INLINE_HEADER): * termcap.c (tgetent): * tests.c (Ftest_data_format_conversion): * text.c: * text.c (qxesprintf): * text.c (qxestrcasecmp): * text.c (ascii_strcasecmp): * text.c (qxestrcasecmp_c): * text.c (qxestrcasecmp_i18n): * text.c (qxestrncasecmp): * text.c (ascii_strncasecmp): * text.c (qxestrncasecmp_c): * text.c (qxestrncasecmp_i18n): * text.c (qxememcmp): * text.c (qxememcmp4): * text.c (qxememcasecmp): * text.c (qxememcasecmp4): * text.c (qxetextcmp): * text.c (qxetextcmp_matching): * text.c (qxetextcasecmp): * text.c (qxetextcasecmp_matching): * text.c (lisp_strcasecmp): * text.c (convert_ibyte_string_into_ichar_dynarr): * text.c (convert_ibyte_string_into_ichar_string): * text.c (convert_ichar_string_into_ibyte_dynarr): * text.c (convert_ichar_string_into_malloced_string): * text.c (COPY_TEXT_BETWEEN_FORMATS): * text.c (copy_text_between_formats): * text.c (copy_buffer_text_out): * text.c (find_charsets_in_ibyte_string): * text.c (find_charsets_in_ichar_string): * text.c (ibyte_string_displayed_columns): * text.c (ichar_string_displayed_columns): * text.c (ibyte_string_nonascii_chars): * text.c (eistr_casefiddle_1): * text.c (eito_malloc_1): * text.c (eicmp_1): * text.c (eicpyout_malloc_fmt): * text.c (skip_ascii): * text.c (bytecount_to_charcount_fun): * text.c (charcount_to_bytecount_fun): * text.c (struct): * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): * text.c (non_ascii_set_itext_ichar): * text.c (non_ascii_itext_ichar): * text.c (non_ascii_valid_ichar_p): * text.c (non_ascii_itext_copy_ichar): * text.c (Lstream_get_ichar_1): * text.c (Lstream_fput_ichar): * text.c (Lstream_funget_ichar): * text.c (Fmake_char): * text.c (Fchar_charset): * text.c (Fchar_octet): * text.c (Fsplit_char): * text.c (lookup_composite_char): * text.c (composite_char_string): * text.c (Fcomposite_char_string): * text.c (reinit_vars_of_text): * text.h: * text.h (MAX_ICHAR_LEN): * text.h (ibyte_first_byte_p): * text.h (ibyte_leading_byte_p): * text.h (ichar_multibyte_p): * text.h (ichar_ascii_p): * text.h (ichar_16_bit_fixed_p): * text.h (ichar_to_raw): * text.h (valid_ibyteptr_p): * text.h (assert_valid_ibyteptr): * text.h (INC_IBYTEPTR): * text.h (INC_IBYTEPTR_FMT): * text.h (DEC_IBYTEPTR): * text.h (DEC_IBYTEPTR_FMT): * text.h (VALIDATE_IBYTEPTR_BACKWARD): * text.h (VALIDATE_IBYTEPTR_FORWARD): * text.h (validate_ibyte_string_backward): * text.h (itext_ichar_len): * text.h (INC_BYTECOUNT): * text.h (simple_itext_ichar): * text.h (itext_ichar): * text.h (valid_ichar_p): * text.h (CHAR_INTP): * text.h (ASSERT_VALID_BYTE_STRING_INDEX_UNSAFE): * text.h (LISP_STRING_TO_ALLOCA): * text.h (alloca_ibytes): * text.h (struct): * text.h (EI_ALLOC): * text.h (eicpy_lstr_off): * text.h (eicpy_raw_fmt): * text.h (eicpy_rawz_fmt): * text.h (eicpy_ch): * text.h (eireset): * text.h (eito_alloca): * text.h (DECLARE_INLINE_HEADER): * text.h (eigetch): * text.h (eicat_c): * text.h (eicat_raw): * text.h (eicat_rawz): * text.h (eicat_ch): * text.h (eisub_1): * text.h (eisub_ch): * text.h (EI_CASECHANGE): * text.h (DFC_LISP_STRING_USE_CONVERTED_DATA): * text.h (GET_STRERROR): * toolbar-common.c (common_output_toolbar_button): * tooltalk.c (check_status): * tooltalk.c (tt_message_arg_bval_vector): * ui-gtk.c (lisp_to_gtk_type): * unexnt.c (unexec): * unexnt.c (get_bss_info_from_map_file): * unicode.c: * unicode.c (sledgehammer_check_from_table): * unicode.c (sledgehammer_check_to_table): * unicode.c (set_unicode_conversion): * unicode.c (ichar_to_unicode): * unicode.c (unicode_to_char): * unicode.c (Fchar_to_unicode): * unicode.c (Funicode_to_char): * unicode.c (decode_unicode_char): * unicode.c (encode_unicode_char): * unicode.c (unicode_convert): * win32.c (urlify_filename): * win32.c (tstr_to_local_file_format): * win32.c (mswindows_canonicalize_filename): * win32.c (mswindows_lisp_error_1): * win32.c (Fmswindows_cygwin_to_win32_path): Text/char naming rationalization. [a] distinguish between "charptr" when it refers to operations on the pointer itself and when it refers to operations on text; and [b] use consistent naming for everything referring to internal format, i.e. Itext == text in internal format Ibyte == a byte in such text Ichar == a char as represented in internal character format thus e.g. set_charptr_emchar -> set_itext_ichar The pre and post tags on either side of this change are: pre-internal-format-textual-renaming post-internal-format-textual-renaming See the Internals Manual for details of exactly how this was done, how to handle the change in your workspace, etc. 2002-06-04 Andy Piper <andy@xemacs.org> * glyphs-widget.c (widget_logical_unit_height): don't try and determine geometry of nil strings. 2002-06-03 Andy Piper <andy@xemacs.org> * frame.c (frame_conversion_internal): add conversion appropriate for setting frame dimensions in pixels. * console.h (struct console_methods): add device-specific widget layout functions. * emacs.c (main_1): initialize glyph vars. * event-Xt.c (handle_focus_event_1): call handle_focus_event_2 (handle_focus_event_2): new function. Allow focus to be set to a particular window and widget. (enqueue_focus_event): new function. Create a synthetic focus event. (emacs_Xt_handle_magic_event): call handle_focus_event_2. * frame.c (Fset_frame_pixel_height): new function. Allow pixel-based sizing. Does the right thing on character-oriented displays. (Fset_frame_pixel_width): ditto. (Fset_frame_pixel_size): ditto. (syms_of_frame): declare. * general-slots.h: add :vertically-justify and :horizontally-justify. * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix. (mswindows_widget_border_width): new function. (mswindows_combo_box_instantiate): set border widths. (console_type_create_glyphs_mswindows): declare. * glyphs-widget.c: (check_valid_justification): allow vertical and horizontal justification. (widget_border_width): new function. Call device methods. (widget_instance_border_width): ditto. (logical_unit_height): new function. Determine the height of a logical-unit. Logical units are intended to provide grid-like layout for subcontrols in a layout. If the layout is :vertically-justify top then subcontrols will be positioned on logical-unit boundaries, thus allowing adjacent subcontrols to line up. (widget_logical_unit_height): ditto for widgets. (redisplay_widget): misc cleanup. (widget_spacing): new function. Call device specific methods. Intended to be the default gap between adjacent widgets. (widget_query_geometry): use new spacing functions to determine appropriate geometry. (initialize_widget_image_instance): initialize horizontal and vertical justification. (widget_instantiate): use logica-units where appropriate for sizing large widgets. (button_query_geometry): use widget_instance_border_width. (tree_view_query_geometry): ditto. (tab_control_query_geometry): ditto. (edit_field_query_geometry): new function. (layout_update): pick up :justify, :horizontally-justify and :vertically-justify none of which worked previously. :justify is used as a fallback for both horizontal and vertical justification. (layout_query_geometry): use logical units to size appropriately. (layout_layout): ditto. (Fwidget_logical_to_character_width): new function. Allow users to convert from logical units to characters so that frame sizes can be set appropriately. (Fwidget_logical_to_character_height): ditto. (syms_of_glyphs_widget): declare. (image_instantiator_edit_fields): add edit_field_query_geometry. (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and :horizontally-justify. (specifier_vars_of_glyphs_widget): new function. Declare Vwidget_border_width which is not yet used. * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events. (x_widget_border_width): new function. (x_widget_instantiate): create a sensible name for widgets. (console_type_create_glyphs_x): declare x_widget_border_width. * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro. (struct Lisp_Image_Instance): add :vertically-justify and :horizontally-justify. (LAYOUT_JUSTIFY_TOP): new. (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new. (ROUND_UP): new macro. Round argument up to next integral interval. * redisplay-output.c (redisplay_output_layout): misc formatting. * symsinit.h: declare specifier_vars_of_glyphs_widget. 2002-05-16 Mathias Grimmberger <mgri@zaphod.sax.de> * sysdep.c (sys_rename): Make sys_rename work for the case where Windows rename sets errno to EACCES if target file exists. 2002-05-21 Jonathan Harris <jonathan@xemacs.org> * device-msw.c (mswindows_handle_page_setup_dialog_box): Fix detection of metric units to work on Win95 2002-05-25 Andy Piper <andy@xemacs.org> * select-x.c (vars_of_select_x): Fix docstring of x-selection-strict-motif-ownership 2002-05-07 Nix <nix@esperi.demon.co.uk> Supersedes 2002-04-17 patch. * process.h (PROCESS_LIVE_P): Use the process status as evidence of health, not the state of the input stream. (PROCESS_READABLE_P): Say if the process is readable from. (It may be dead nonetheless.) (CHECK_READABLE_PROCESS): Test for that condition. * process.c (create_process): Use PROCESS_READABLE_P. (read_process_output, set_process_filter): Likewise. * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS. (Fset_process_input_coding_system, Fprocess_coding_system): Likewise. This code is #if 0'd, this is not the time to add new functions: * process.c (Fprocess_readable_p): Report readability status. * process.c (Qprocess_readable_p): New, associated symbol... * process.c (syms_of_process): ... initialize it. 2002-05-06 Andy Piper <andy@xemacs.org> * process.h (PROCESS_LIVE_P): revert previous change because of tty problems. 2002-04-27 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code. 2002-04-26 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus behavior. * config.h.in: pull in 21.5.x change to stop alloca warnings under cygwin. 2002-06-02 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * process.c (remove_process): Don't invalidate the process marker after the process has died to make point synchronization in `call-process-internal' possible. 2002-06-01 Ben Wing <ben@xemacs.org> * buffer.c (init_initial_directory): Fix bug noted by someone. * console-tty.h: * device.h (struct device): * emacs.c: * filelock.c: * nt.c: * process-nt.c: * process-unix.c: * process.c: * redisplay-tty.c: * sysdep.c: * sysproc.h: * win32.c: Redo problem with syssignal.h/sysproc.h dependence noted by Didier -- rather than require one included before the other (error-prone), just include syssignal.h from sysproc.h where it's needed. * inline.c: Include sysfile.h due to inline funs in that header. * extents.c (Fset_extent_parent): Fix bug noted by Andrew Cohen <cohen@andy.bu.edu>. * process-unix.c (unix_open_network_stream): * process-unix.c (unix_open_multicast_group): Fix other bug noted by Andrew Cohen <cohen@andy.bu.edu>. * process.c (syms_of_process): Add process-has-separate-stderr-p, used by call-process-internal. 2002-05-28 Martin Köbele <mkoebele@mkoebele.de>, Jens Müller <jmueller@informatik.uni-tuebingen.de> * lrecord.h (lrecord_type): Add lrecord_type_weak_box to lrecord_type enumeration. * alloc.c (garbage_collect_1): Call prune_weak_boxes(). * lisp.h (struct weak_box): * data.c: (prune_weak_boxes): (mark_weak_box): (print_weak_box): (weak_box_equal): (weak_box_hash): (make_weak_box): (Fmake_weak_box): (Fweak_box_ref): (Fweak_boxp): (syms_of_data): (vars_of_data): Add implementation of weak boxes. 2002-05-29 Ben Wing <ben@xemacs.org> * event-msw.c: Oops, paren in wrong place. Oops, manifest constant needed earlier than defined. 2002-05-29 Didier Verna <didier@xemacs.org> * process-unix.c (unix_canonicalize_host_name): change gai_error to gai_err to avoid shadow declaration. * process-unix.c (unix_open_network_stream): ditto. 2002-05-28 Didier Verna <didier@xemacs.org> * emacs.c: comment the inclusion order of syssignal.h and sysproc.h. * filelock.c: ditto. * nt.c: ditto. * sysproc.h: ditto. * process-nt.c: ditto. * process-unix.c: include syssignal.h before sysproc.h. * process.c: ditto. * sysdep.c: ditto. * win32.c: ditto. 2002-05-28 Ben Wing <ben@xemacs.org> ================================================================ ALLOW SEPARATION OF STDOUT AND STDERR IN PROCESSES ================================================================ Standard output and standard error can be processed separately in a process. Each can have its own buffer, its own mark in that buffer, and its filter function. You can specify a separate buffer for stderr in `start-process' to get things started, or use the new primitives: set-process-stderr-buffer process-stderr-buffer process-stderr-mark set-process-stderr-filter process-stderr-filter Also, process-send-region takes a 4th optional arg, a buffer. Currently always uses a pipe() under Unix to read the error output. (#### Would a PTY be better?) * sysdep.h: * sysproc.h: * unexfreebsd.c (unexec): * unexsunos4.c (unexec): * nt.c (init_user_info): * emacs.c: * emacs.c (main_1): * callproc.c: * symsinit.h: * sysdep.c: * sysdep.c (wait_for_termination): * Makefile.in.in (objs): * process-unix.c (child_setup): Delete callproc.c. Move child_setup() to process-unix.c. wait_for_termination() now only needed on a few really old systems. * console-msw.h: * event-Xt.c (emacs_Xt_select_process): * event-Xt.c (emacs_Xt_unselect_process): * event-Xt.c (emacs_Xt_create_io_streams): * event-Xt.c (emacs_Xt_delete_io_streams): * event-Xt.c (debug_process_finalization): * event-Xt.c (reinit_vars_of_event_Xt): * event-msw.c (get_process_stderr_waitable): * event-msw.c (emacs_mswindows_select_process): * event-msw.c (emacs_mswindows_unselect_process): * event-msw.c (emacs_mswindows_create_io_streams): * event-msw.c (emacs_mswindows_delete_io_streams): * event-msw.c (debug_process_finalization): * event-msw.c (reinit_vars_of_event_mswindows): * event-msw.c (vars_of_event_mswindows): * event-msw.c (lstream_type_create_mswindows_selectable): * event-stream.c (event_stream_select_process): * event-stream.c (event_stream_unselect_process): * event-stream.c (event_stream_create_io_streams): * event-stream.c (event_stream_delete_io_streams): * event-stream.c (Faccept_process_output): * event-tty.c (emacs_tty_select_process): * event-tty.c (emacs_tty_unselect_process): * event-tty.c (emacs_tty_create_io_streams): * event-tty.c (emacs_tty_delete_io_streams): * event-tty.c (reinit_vars_of_event_tty): * event-unixoid.c: * event-unixoid.c (get_process_infd): * event-unixoid.c (get_process_errfd): * event-unixoid.c (event_stream_unixoid_select_process): * event-unixoid.c (event_stream_unixoid_unselect_process): * event-unixoid.c (event_stream_unixoid_create_io_streams): * event-unixoid.c (event_stream_unixoid_delete_io_streams): * events.h: * events.h (struct event_stream): * process-nt.c: * process-nt.c (struct nt_process_data): * process-nt.c (nt_create_process): * process-nt.c (get_internet_address): * process-nt.c (nt_open_network_stream): * process-unix.c: * process-unix.c (struct unix_process_data): * process-unix.c (UNIX_DATA): * process-unix.c (close_process_descs_mapfun): * process-unix.c (close_process_descs): * process-unix.c (connect_to_file_descriptor): * process-unix.c (process_signal_char): * process-unix.c (unix_alloc_process_data): * process-unix.c (unix_init_process_io_handles): * process-unix.c (unix_create_process): * process-unix.c (io_failure): Removed. * process-unix.c (unix_tooltalk_connection_p): * process-unix.c (unix_set_window_size): * process-unix.c (unix_reap_exited_processes): * process-unix.c (unix_deactivate_process): * process-unix.c (unix_kill_child_process): * process.c: * process.c (mark_process): * process.c (get_process_streams): * process.c (get_process_from_usid): * process.c (get_process_selected_p): * process.c (set_process_selected_p): * process.c (make_process_internal): * process.c (init_process_io_handles): * process.c (create_process): * process.c (Fstart_process_internal): * process.c (Fopen_multicast_group_internal): * process.c (process_setup_for_insertion): * process.c (read_process_output): * process.c (Fset_process_stderr_buffer): * process.c (Fprocess_stderr_mark): * process.c (set_process_filter): * process.c (Fset_process_filter): * process.c (Fset_process_stderr_filter): * process.c (Fprocess_stderr_filter): * process.c (exec_sentinel_unwind): * process.c (exec_sentinel): * process.c (status_notify): * process.c (Fprocess_send_eof): * process.c (deactivate_process): * process.c (syms_of_process): * process.c (vars_of_process): * process.h: * procimpl.h: * procimpl.h (struct process_methods): * procimpl.h (struct Lisp_Process): * procimpl.h (DATA_ERRSTREAM): Rewrite the process methods to handle a separate channel for error input. Create Lstreams for reading in the error channel. Many process methods need change. In general the changes are fairly clear as they involve duplicating what's used for reading the normal stdout and changing for stderr -- although tedious, as such changes are required throughout the entire process code. Rewrote the code that reads process output to do two loops, one for stdout and one for stderr. * gpmevent.c (get_process_infd): * gpmevent.c (Fgpm_enable): * tooltalk.c: * tooltalk.c (init_tooltalk): set_process_filter takes an argument for stderr. ================================================================ NEW ERROR-TRAPPING MECHANISM ================================================================ Totally rewrite error trapping code to be unified and support more features. Basic function is call_trapping_problems(), which lets you specify, by means of flags, what sorts of problems you want trapped. these can include -- quit -- errors -- throws past the function -- creation of "display objects" (e.g. buffers) -- deletion of already-existing "display objects" (e.g. buffers) -- modification of already-existing buffers -- entering the debugger -- gc -- errors->warnings (ala suspended errors) etc. All other error funs rewritten in terms of this one. Various older mechanisms removed or rewritten. * window.c (mark_window_as_deleted): * window.c (Fdelete_window): * window.c (Fset_window_configuration): * insdel.c (prepare_to_modify_buffer): * insdel.c (buffer_insert_string_1): * console.c (create_console): * buffer.c (finish_init_buffer): * device.c (allocate_device): * device.c (Fmake_device): * frame.c: * frame.c (Fmake_frame): * frame.c (allocate_frame_core): * frame.c (setup_normal_frame): * frame.c (delete_frame_internal): * window.c (Fsplit_window): * device.c (delete_device_internal): * console.c (delete_console_internal): * buffer.c (Fkill_buffer): When creating a display object, added call to note_object_created(), for use with trapping_problems mechanism. When deleting, call check_allowed_operation() and note_object deleted(). The trapping-problems code records the objects created since the call-trapping-problems began. Those objects can be deleted, but none others (i.e. previously existing ones). * bytecode.c (execute_rare_opcode): * cmdloop.c: * cmdloop.c (initial_command_loop): * cmdloop.c (Frecursive_edit): * cmdloop.c (call_command_loop): internal_catch takes another arg. * eval.c: Add long comments describing the "five lists" used to maintain state (backtrace, gcpro, specbind, etc.) in the Lisp engine. * backtrace.h: * eval.c (current_warning_level): * eval.c (call_debugger): * eval.c (signal_call_debugger): * eval.c (Fwhen): * eval.c (Fcatch): * eval.c (internal_catch): * eval.c (unwind_to_catch): * eval.c (throw_or_bomb_out): * eval.c (condition_bind_unwind): * eval.c (condition_case_1): * eval.c (Fcall_with_condition_handler): * eval.c (call_with_condition_handler): * eval.c (Fsignal): * eval.c (check_catchlist_sanity): * eval.c (check_specbind_stack_sanity): * eval.c (signal_quit): * eval.c (Feval): * eval.c (run_hook_list_with_args): * eval.c (run_hook): * eval.c (get_inhibit_flags): * eval.c (check_allowed_operation): * eval.c (note_object_created): * eval.c (note_object_deleted): * eval.c (struct call_trapping_problems): * eval.c (flagged_a_squirmer): * eval.c (call_trapping_problems_2): * eval.c (call_trapping_problems_1): * eval.c (call_trapping_problems): * eval.c (struct va_call_trapping_problems): * eval.c (va_call_trapping_problems_1): * eval.c (va_call_trapping_problems): * eval.c (call_with_suspended_errors): * eval.c (struct calln_trapping_problems): * eval.c (calln_trapping_problems_1): * eval.c (calln_trapping_problems): * eval.c (call1_trapping_problems): * eval.c (call2_trapping_problems): * eval.c (call3_trapping_problems): * eval.c (call4_trapping_problems): * eval.c (call5_trapping_problems): * eval.c (eval_in_buffer_trapping_problems_1): * eval.c (eval_in_buffer_trapping_problems): * eval.c (run_hook_trapping_problems): * eval.c (safe_run_hook_trapping_problems_1): * eval.c (safe_run_hook_trapping_problems): * eval.c (struct run_hook_with_args_in_buffer_trapping_problems): * eval.c (run_hook_with_args_in_buffer_trapping_problems_1): * eval.c (run_hook_with_args_in_buffer_trapping_problems): * eval.c (va_run_hook_with_args_trapping_problems): * eval.c (va_run_hook_with_args_in_buffer_trapping_problems): * eval.c (reinit_vars_of_eval): * eval.c (vars_of_eval): Implement trapping-problems mechanism, eliminate old mechanisms or redo in terms of new one. * frame.c (enter_redisplay_critical_section): * frame.c (exit_redisplay_critical_section): * gutter.c (redraw_exposed_gutters): * gutter.c (Fset_default_gutter_position): * gutter.c (Fredisplay_gutter_area): Flush out the concept of "critical display section", defined by the in_display() var. Use an internal_bind() to get it reset, rather than just doing it at end, because there may be a non-local exit. * event-msw.c (struct mswindows_protect_modal_loop): * event-msw.c (mswindows_protect_modal_loop_1): * event-msw.c (mswindows_protect_modal_loop): * event-msw.c (mswindows_unmodalize_signal_maybe): * event-msw.c (mswindows_pump_outstanding_events): * event-msw.c (mswindows_need_event): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * event-msw.c: * event-msw.c (vars_of_event_mswindows): * event-msw.c (struct ntpipe_slurp_stream_shared_data): * event-msw.c (struct ntpipe_shove_stream): * event-stream.c (pre_command_hook): * event-stream.c (post_command_hook): * event-stream.c (vars_of_event_stream): * event-stream.c (run_pre_idle_hook): * console-msw.h: * device.c (call_critical_lisp_code): Rewrite. * dialog-msw.c (dialog_proc): * frame.c (adjust_frame_size): * frame.h: * intl.c (init_intl): * toolbar.c (Fset_default_toolbar_position): * toolbar.c (update_toolbar_button): * menubar-msw.c (unsafe_handle_wm_initmenu_1): * menubar-msw.c (mswindows_handle_wm_initmenupopup): * menubar-msw.c (mswindows_handle_wm_initmenu): * redisplay.c: * redisplay.c (call_redisplay_end_triggers): * redisplay.c (redisplay_frame): * redisplay.c (redisplay_no_pre_idle_hook): * redisplay.c (eval_within_redisplay): * redisplay.c (Fredisplay_echo_area): * alloc.c (garbage_collect_1): * menubar-x.c: * menubar-x.c (menu_item_descriptor_to_widget_value_1): * menubar-x.c (struct menu_item_descriptor_to_widget_value): * menubar-x.c (protected_menu_item_descriptor_to_widget_value_1): * menubar-x.c (protected_menu_item_descriptor_to_widget_value): * menubar-x.c (pre_activate_callback): Make use of new trapping-errors stuff and rewrite code based on old mechanisms. * glyphs-widget.c (widget_query_geometry): * glyphs-widget.c (layout_query_geometry): * redisplay.h: Protect calling Lisp in redisplay. * insdel.c (signal_first_change): * insdel.c (signal_before_change): * insdel.c (signal_after_change): Protect hooks against deleting existing buffers. * frame-msw.c (mswindows_init_frame_1): Use EQ, not EQUAL in hash tables whose keys are just numbers. Otherwise we run into stickiness in redisplay because internal_equal() can QUIT. ================================================================ SIGNAL, C-G CHANGES ================================================================ Here we change the way that C-g interacts with event reading. The idea is that a C-g occurring while we're reading a user event should be read as C-g, but elsewhere should be a QUIT. The former code did all sorts of bizarreness -- requiring that no QUIT occurs anywhere in event-reading code (impossible to enforce given the stuff called or Lisp code invoked), and having some weird system involving enqueue/dequeue of a C-g and interaction with Vquit_flag -- and it didn't work. Now, we simply enclose all code where we want C-g read as an event with {begin/end}_dont_check_for_quit(). This completely turns off the mechanism that checks (and may remove or alter) C-g in the read-ahead queues, so we just get the C-g normal. Signal.c documents this very carefully. * cmdloop.c (Fcommand_loop_1): Correct use of dont_check_for_quit to new scheme, remove old out-of-date comments. * event-stream.c (maybe_echo_keys): * event-stream.c (enqueue_command_event_1): * event-stream.c (next_event_internal): * event-stream.c (Fnext_event): * event-stream.c (Fnext_command_event): * event-stream.c (Fdispatch_non_command_events): * event-stream.c (Fdiscard_input): * event-stream.c (Fsleep_for): * event-stream.c (Fsit_for): * event-stream.c (wait_delaying_user_input): * event-stream.c (execute_internal_event): * event-stream.c (lookup_command_event): * event-stream.c (Fread_key_sequence): * event-stream.c: * event-stream.c (event_stream_next_event): Fix C-g handling to actually work. * device-x.c (get_device_from_display): * device-x.c (x_error_handler): * device-x.c (x_IO_error_handler): Disable quit checking when err out. * signal.c: * signal.c (handle_async_timeout_signal): * signal.c (check_what_happened): * signal.c (begin_dont_check_for_quit): * signal.c (check_quit): Cleanup. Add large descriptive comment. * process-unix.c (unix_open_network_stream): * process-unix.c (unix_open_multicast_group): * process-nt.c (nt_open_network_stream): * sysdep.c (retry_read_1): * sysdep.c (retry_write_1): Use QUIT instead of REALLY_QUIT. It's not necessary to use REALLY_QUIT and just confuses the issue. * lisp.h (INTERNAL_QUITP): Comment quit handlers. ================================================================ CONS CHANGES ================================================================ free_cons() now takes a Lisp_Object not the result of XCONS(). car and cdr have been renamed so that they don't get used directly; go through XCAR(), XCDR() instead. * alloc.c (Fcons): * alloc.c (free_cons): * alloc.c (free_list): * alloc.c (free_alist): * dired.c (file_name_completion_unwind): * dired.c (user_name_completion_unwind): * editfns.c (save_excursion_save): * editfns.c (save_excursion_restore): * editfns.c (save_restriction_restore): * emodules.c (module_load_unwind): * fns.c: * fns.c (delq_no_quit_and_free_cons): * fns.c (merge_pred_function): * fns.c (tweaked_internal_equal): * glyphs-msw.c (extract_xpm_color_names): * glyphs-x.c (extract_xpm_color_names): * glyphs.c (image_instantiate_cache_result): * glyphs.c (image_instance_changed): * keymap.c (traverse_keymaps): * minibuf.c (read_minibuffer_internal_unwind): * search.c (free_created_dynarrs): * eval.c (specbind_unwind_local): * lread.c (various): * lisp.h (struct Lisp_Cons): * lisp.h (cons_car): Correct free_cons calling convention: now takes Lisp_Object, not Lisp_Cons * chartab.c (word_boundary_p): Eliminate direct use of ->car, ->cdr, should be black box. * callint.c (quotify_args): Rewrote using EXTERNAL_LIST_LOOP to avoid use of Lisp_Cons. ================================================================ USE INTERNAL-BIND-* ================================================================ * eval.c (restore_lisp_object): * eval.c (restore_int): Cleanups of these funs. * alloc.c (begin_gc_forbidden): * fileio.c: * fileio.c (close_file_unwind): * fileio.c (Fdo_auto_save): * undo.c: * undo.c (Fprimitive_undo): * specifier.c: * specifier.c (unlock_ghost_specifiers_protected): * specifier.c (set_specifier_caching): * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): * profile.c (struct get_profiling_info_closure): * profile.c (Fget_profiling_info): * lread.c: * lread.c (load_unwind): * lread.c (Fload_internal): * lread.c (read0): * lread.c (read1): * lread.c (read_list_conser): * lread.c (read_vector): * lread.c (read_compiled_function): * redisplay.c (Fredraw_frame): * redisplay.c (Fredisplay_frame): * redisplay.c (Fredraw_device): * redisplay.c (Note): New. * redisplay.c (Fredisplay_device): * redisplay.c (redisplay_without_hooks): * menubar-x.c (pre_activate_callback): * macros.c (Fexecute_kbd_macro): Rewrote to use internal_bind_int() and internal_bind_lisp_object() in place of whatever varied and cumbersome mechanisms were formerly there. ================================================================ SPECBIND SANITY ================================================================ * backtrace.h: - Improved comments * backtrace.h (SPECBIND): * backtrace.h (SPECBIND_FAST_UNSAFE): * backtrace.h (UNBIND_TO_GCPRO): * backtrace.h (UNBIND_TO): * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY): * bytecode.c (execute_optimized_program): * eval.c (grow_specpdl): * eval.c (specbind): * eval.c (specbind_magic): * eval.c (record_unwind_protect): * eval.c (unbind_to_1): * eval.c (unbind_to_hairy): Add new mechanism check_specbind_stack_sanity() for sanity checking code each time the catchlist or specbind stack change. Removed older prototype of same mechanism. ================================================================ MISC ================================================================ * lisp.h: * insdel.c: * window.c: * device.c: * console.c: * buffer.c: Fleshed out authorship. * device-msw.c (mswindows_handle_page_setup_dialog_box): Correct bad Unicode-ization. * print.c (debug_print_no_newline): * print.c (debug_backtrace): Be more careful when not initialized or in fatal error handling. * search.c (looking_at_1): * search.c (string_match_1): * search.c (search_buffer): * search.c (Fstore_match_data): Eliminate running_asynch_code, an FSF holdover. * alloc.c (vars_of_alloc): * alloc.c: Added comments about gc-cons-threshold. * dialog-x.c: * dialog-x.c (dbox_descriptor_to_widget_value): Use begin_gc_forbidden() around code to build up a widget value tree, like in menubar-x.c. * gui.c (gui_item_id_hash): Use Qunbound not Qnil as the default for gethash. * lisp-disunion.h: * lisp-union.h: Added warnings on use of VOID_TO_LISP(). * lisp.h: Use ERROR_CHECK_STRUCTURES to turn on ERROR_CHECK_TRAPPING_PROBLEMS and ERROR_CHECK_TYPECHECK * lisp.h (assert_with_message): Add assert_with_message. * lisp.h (GCPRO1_ARRAY): * lisp.h (NGCPRO1_ARRAY): * lisp.h (NNGCPRO1_ARRAY): Add macros for gcproing entire arrays. (You could do this before but it required manual twiddling the gcpro structure.) * lisp.h: Add prototypes for new functions defined elsewhere. 2002-05-23 Ben Wing <ben@xemacs.org> * Makefile.in.in (objs): * Makefile.in.in (Emacs.ad.h): * Makefile.in.in (alloca.o): Removed. * Makefile.in.in (allocax.o): New. Add alloca.o. Ensure that alloca.s doesn't compile into alloca.o, but allocax.o (not that it's currently used or anything.) * EmacsFrame.c (Xt_StringToScrollBarPlacement): * abbrev.c (abbrev_oblookup): * alloc.c: * alloc.c (allocate_lisp_storage): * alloc.c (recompute_funcall_allocation_flag): * alloc.c (recompute_need_to_garbage_collect): * alloc.c (common_init_alloc_once_early): * alloca.c: * alloca.c (hdr): * alloca.c (xemacs_c_alloca): * callint.c (Fcall_interactively): * callproc.c (Fold_call_process_internal): * config.h.in: * config.h.in (XEMACS_WANTS_C_ALLOCA): * device-msw.c (msprinter_default_printer): * device-msw.c (Fmswindows_printer_list): * device-x.c (x_init_device): * dired.c (Fdirectory_files): * dired.c (file_name_completion_stat): * doc.c (get_doc_string): * editfns.c (Fformat_time_string): * emacs.c (main_1): * emodules.c (emodules_load): * eval.c (Ffuncall): * event-Xt.c (x_to_emacs_keysym): * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): * event-stream.c (Fnext_event): * file-coding.c (setup_eol_coding_systems): * fileio.c: * fileio.c (Fdirectory_file_name): * fileio.c (if): * fileio.c (Fsubstitute_in_file_name): * fileio.c (Fencrypt_string): * fileio.c (Fdecrypt_string): * filelock.c (MAKE_LOCK_NAME): * filelock.c (lock_file_1): * filelock.c (current_lock_owner): * filelock.c (lock_file): * fns.c (concat): * fns.c (mapcar1): * fns.c (Fbase64_encode_region): * fns.c (Fbase64_encode_string): * fns.c (Fbase64_decode_region): * fns.c (Fbase64_decode_string): * glyphs-gtk.c (gtk_xface_instantiate): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (mswindows_widget_property): * glyphs-msw.c (mswindows_combo_box_property): * glyphs-x.c (x_xface_instantiate): * gui-x.c (add_accel_and_to_external): * input-method-xlib.c (EmacsXtCvtStringToXIMStyles): * intl-win32.c (Fmswindows_get_valid_keyboard_layouts): * lisp.h: * lisp.h (alloca_new): * lisp.h (NOTE): New. * lisp.h (MAX_STRING_ASCII_BEGIN): * lread.c (Fload_internal): * lread.c (locate_file_map_suffixes): * menubar-gtk.c (menu_descriptor_to_widget_1): * menubar-msw.c (mswindows_translate_menu_or_dialog_item): * menubar.c (Fnormalize_menu_item_name): * mule-wnnfns.c (Fwnn_open): * nt.c (init_mswindows_environment): * objects-msw.c (mswindows_string_to_color): * objects-msw.c (mswindows_font_instance_truename): * process-nt.c (nt_create_process): * realpath.c (cygwin_readlink_and_correct_case): * redisplay-gtk.c: * redisplay-gtk.c (gtk_text_width): * redisplay-gtk.c (gtk_output_string): * redisplay-output.c: * redisplay-output.c (compare_runes_2): * redisplay-x.c: * redisplay-x.c (x_text_width): * redisplay-x.c (x_output_string): * redisplay.c (generate_displayable_area): * redisplay.c (regenerate_window): * search.c (wordify): * search.c (Fregexp_quote): * select-msw.c (mswindows_own_selection): * sysdep.c (sys_subshell): * sysdep.c (init_system_name): * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): * syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT): * text.c (convert_emchar_string_into_malloced_string): * text.h: * text.h (EI_ALLOC): * text.h (eito_alloca): * text.h (EI_CASECHANGE): * text.h (DFC_ALLOCA_USE_CONVERTED_DATA): * text.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA): * text.h (GET_STRERROR): * ui-byhand.c (Fgtk_curve_get_vector): * ui-byhand.c (Fgtk_curve_set_vector): Fix Raymond Toy's crash. Repeat to self: 2^21 - 1 is NOT the same as (2 << 21) - 1. Fix crashes due to excessive alloca(). replace alloca() with ALLOCA(), which calls the C alloca() [which uses xmalloc()] when the size is too big. Insert in various places calls to try to flush the C alloca() stored info if there is any. Add MALLOC_OR_ALLOCA(), for places that expect to be alloca()ing large blocks. This xmalloc()s when too large and records an unwind-protect to free -- relying on the caller to unbind_to() elsewhere in the function. Use it in concat(). Use MALLOC instead of ALLOCA in select-msw.c. 2002-05-21 Jonathan Harris <jonathan@xemacs.org> * device-msw.c (mswindows_handle_page_setup_dialog_box): Fix detection of metric units to work on Win95 2002-05-17 Stephen J. Turnbull <stephen@xemacs.org> * eldap.c (print_ldap): swap arguments of write_c_string. 2002-05-16 Ben Wing <ben@xemacs.org> * bytecode.c (execute_rare_opcode): * editfns.c: * editfns.c (save_restriction_save): * editfns.c (save_restriction_restore): * editfns.c (Fsave_restriction): * lisp.h: * lread.c (Feval_region): Fix save-restriction to use markers rather than pseudo-markers (integers representing the amount of text on either side of the region). That way, all inserts are handled correctly, not just those inside old restriction. Add buffer argument to save_restriction_save(). * process.c: * process.c (process_setup_for_insertion): * process.c (read_process_output): * process.c (status_notify): Clean up very dirty and kludgy code that outputs into a buffer -- use proper unwind protects, etc. * font-lock.c (find_context): Do save-restriction/widen around the function -- otherwise, incorrect results will ensue when a buffer has been narrowed before a call to e.g. `buffer-syntactic-context' -- something that happens quite often. * fileio.c: * fileio.c (Fmake_temp_name): * fileio.c (syms_of_fileio): Look for a handler for make-temp-name. * window.c: * window.c (allocate_window): * window.c (Fset_window_point): * window.c (unshow_buffer): * window.c (Fset_window_buffer): * window.c (make_dummy_parent): * winslots.h: Try to solve this annoying problem: have two frames displaying the buffer, in different places; in one, temporarily switch away to another buffer and then back -- and you've lost your position; it's reset to the other one in the other frame. My current solution involves window-level caches of buffers and points (also a cache for window-start); when set-window-buffer is called, it looks to see if the buffer was previously visited in the window, and if so, uses the most recent point at that time. (It's a marker, so it handles changes.) #### Note: It could be argued that doing it on the frame level would be better -- e.g. if you visit a buffer temporarily through a grep, and then go back to that buffer, you presumably want the grep's position rather than some previous position provided everything was in the same frame, even though the grep was in another window in the frame. However, doing it on the frame level fails when you have two windows on the same frame. Perhaps we keep both a window and a frame cache, and use the frame cache if there are no other windows on the frame showing the buffer, else the window's cache? This is probably something to be configurable using a specifier. Suggestions please please please? * window.c (window_scroll): * window.c (Fmove_to_window_line): Clean up a bit code that deals with the annoyance of window-point vs. point. 2002-05-16 Stephen J. Turnbull <stephen@xemacs.org> * select.c (Fown_selection_internal): * select.c (Fget_selection_internal): Revert Jerry James's 2002-04-23 patch. 2002-05-14 Ben Wing <ben@xemacs.org> * font-lock.c (find_context): Don't use off the beginning position to initiate syntax cache. 2002-05-14 Ben Wing <ben@xemacs.org> * text.c (copy_buffer_text_out): Fix bug leading to crashes with multibyte text. * win32.c (Fmswindows_shell_execute): Fix crash due to errant xfree(). 2002-05-14 Ben Wing <ben@xemacs.org> * callproc.c (Fold_call_process_internal): Use Fget_buffer_create() with a string buffer, as documented. * extents.c (signal_extent_changed): indentation. * lstream.c (lisp_buffer_reader): fix a bug in selective-display handling; not the crash we're seeing. * marker.c: * marker.c (byte_marker_position): * marker.c (set_byte_marker_position): delete superfluous error-checking -- it's already there in bytebpos_to_membpos() and vice-versa. 2002-05-13 Ben Wing <ben@xemacs.org> * config.h.in: * font-lock.c: Reenable font-lock code since it's used by mouse.el. The flag for this exists in config.h.in but not currently controllable through configure. 2002-05-13 Adrian Aichner <adrian@xemacs.org> * callproc.c: Process-related docstring improvements spurred by Norbert Koch. 2002-05-09 Ben Wing <ben@xemacs.org> * doprnt.c (emacs_doprnt_1): Use make_int() not make_char() when error about bad charval, or abort will occur. * extents.c (signal_extent_changed): Loop over children, not ourself -- avoid infinite loop. * lisp-disunion.h: * lisp-union.h: Rename make_char() to make_char_1 for error-checking purposes. * lread.c (read_escape): Syntax error if escape is outside of ISO-8859-1 range. Remove hopelessly broken (and unworkable) FSF_KEYS code. * mule-coding.c (Fdecode_shift_jis_char): * search.c (skip_chars): Spacing changes. * text.h: New make_char() -- verify that the char value is legal. 2002-04-23 Jerry James <james@xemacs.org> * select.c (Fown_selection_internal): Document connection with interprogram-cut-function. * select.c (Fget_selection_internal): return Qnil if XEmacs owns the selection and it does not need coercion. Document connection with interprogram-paste-function. 2002-05-06 Jonathan Harris <jonathan@xemacs.org> * console-msw.h: * event-msw.c (mswindows_wnd_proc): Condition references to menu accelerator functions on HAVE_MENUBARS. * frame-msw.c (mswindows_init_frame_3): Remove obsolete runemacs hack which called ShowWindow() twice. * intl-auto-encap-win32.c: * intl-auto-encap-win32.h: * intl-encap-win32.c: Use handwritten version of GetEnvironmentStrings() in intl-encap-win32.c. * ntproc.c: Removed. * s/windowsnt.h: Disable .data section renaming hack when using portable dumping. Force _WIN32_WINNT = 0x0400 since intl-auto-encap-win32.[ch] requires this. 2002-05-05 Ben Wing <ben@xemacs.org> * Makefile.in.in (batch_test_emacs): Fix so that packages are around when testing. * abbrev.c (struct abbrev_match_mapper_closure): * abbrev.c (abbrev_match_mapper): * abbrev.c (abbrev_match): * abbrev.c (Fexpand_abbrev): * alloc.c (deadbeef_memory): * alloc.c (STRING_FULLSIZE): * alloc.c (sledgehammer_check_ascii_begin): * alloc.c (make_uninit_string): * alloc.c (set_string_char): * alloc.c (init_string_ascii_begin): * alloc.c (make_string_nocopy): * alloc.c (compact_string_chars): * alloc.c (debug_string_purity_print): * buffer.c (mark_buffer): * buffer.c (print_buffer): * buffer.c (finish_init_buffer): * buffer.c (Fother_buffer): * buffer.c (Fkill_buffer): * buffer.h: * buffer.h (struct buffer_text): * buffer.h (struct buffer): * buffer.h (BYTE_BUF_BEG): * buffer.h (BYTE_BUF_BEGV): * buffer.h (BYTE_BUF_ZV): * buffer.h (BYTE_BUF_Z): * buffer.h (BYTE_BUF_PT): * buffer.h (INC_BYTEBPOS): * buffer.h (make_charbpos): * buffer.h (BYTE_BUF_FETCH_CHAR_RAW): * buffer.h (BYTE_BUF_CHARPTR_COPY_EMCHAR): * buffer.h (SET_BOTH_BUF_BEGV): * buffer.h (SET_BOTH_BUF_ZV): * buffer.h (BOTH_BUF_SET_PT): * buffer.h (BUF_NARROWED): * buffer.h (BYTE_BUF_CEILING_OF_IGNORE_ACCESSIBLE): * buffer.h (BYTE_BUF_FLOOR_OF_IGNORE_ACCESSIBLE): * bytecode.c (optimize_compiled_function): * bytecode.c (print_compiled_function): * bytecode.c (Fcompiled_function_annotation): * callint.c (Fcall_interactively): * casefiddle.c: * casefiddle.c (casify_object): * casefiddle.c (casify_region_internal): * casetab.c: * casetab.c (STRING256_P): * casetab.c (print_case_table): * casetab.c (allocate_case_table): * casetab.c (Fmake_case_table): * casetab.c (case_table_char): * casetab.c (Fget_case_table): * casetab.c (Fput_case_table): * casetab.c (Fput_case_table_pair): * casetab.c (Fcopy_case_table): * casetab.c (compute_canon_mapper): * casetab.c (compute_up_or_eqv_mapper): * casetab.c (recompute_case_table): * casetab.c (convert_old_style_syntax_string): * casetab.c (set_case_table): * casetab.c (Fset_standard_case_table): * casetab.c (syms_of_casetab): * casetab.c (complex_vars_of_casetab): * casetab.h: * casetab.h (struct Lisp_Case_Table): * charset.h: * charset.h (emchar_charset): * charset.h (leading_byte_private_p): * charset.h (private_leading_byte_prefix): * charset.h (CHARSET_PRIVATE_P): * charset.h (EMCHAR_FIELD1_MASK): * charset.h (emchar_field1): * charset.h (MIN_EMCHAR_FIELD2_OFFICIAL): * charset.h (MIN_EMCHAR_FIELD1_OFFICIAL): * charset.h (MIN_EMCHAR_FIELD2_PRIVATE): * charset.h (MIN_EMCHAR_FIELD1_PRIVATE): * charset.h (MIN_CHAR_OFFICIAL_TYPE9N): * charset.h (BREAKUP_EMCHAR_1_UNSAFE): * charset.h (BREAKUP_EMCHAR): * chartab.c: * chartab.c (char_table_entry_hash): * chartab.c (decode_char_table_range): * chartab.c (encode_char_table_range): * chartab.c (struct ptemap): * chartab.c (print_table_entry): * chartab.c (print_char_table): * chartab.c (char_table_equal): * chartab.c (char_table_hash): * chartab.c (set_char_table_default): * chartab.c (fill_char_table): * chartab.c (Freset_char_table): * chartab.c (Fmake_char_table): * chartab.c (get_non_ascii_char_table_value): * chartab.c (Fchar_table_default): * chartab.c (Fget_char_table): * chartab.c (copy_mapper): * chartab.c (copy_char_table_range): * chartab.c (get_range_char_table): * chartab.c (Fget_range_char_table): * chartab.c (put_char_table): * chartab.c (Fput_char_table): * chartab.c (Fremove_char_table): * chartab.c (map_over_charset_ascii_1): * chartab.c (map_over_charset_control_1): * chartab.c (map_over_charset_row): * chartab.c (map_over_other_charset): * chartab.c (map_char_table): * chartab.c (slow_map_char_table_fun): * chartab.c (Fmap_char_table): * chartab.c (check_category_char): * chartab.c (CATEGORY_SET): * chartab.c (word_boundary_p): * chartab.c (syms_of_chartab): * chartab.h: * chartab.h (struct Lisp_Char_Table): * cmds.c: * cmds.c (internal_self_insert): * console-msw.h: * console-stream.c (stream_clear_region): * console-stream.c (stream_ring_bell): * console-x.c (x_semi_canonicalize_console_connection): * console.c (find_nonminibuffer_frame_not_on_console_predicate): * console.h: * data.c (eq_with_ebola_notice): * data.c (Faref): * data.c (Faset): * device-msw.c (print_devmode): * device.c (find_nonminibuffer_frame_not_on_device_predicate): * device.h: * device.h (struct pixel_to_glyph_translation_cache): * dialog-msw.c (dialog_proc): * dialog-x.c (maybe_run_dbox_text_callback): * dired-msw.c: * dired-msw.c (mswindows_get_files): * dired.c: * dired.c (Fdirectory_files): * dired.c (file_name_completion): * dired.c (user_name_completion): * doc.c (unparesseuxify_doc_string): * doprnt.c (emacs_doprnt_1): * dumper.c: * dumper.c (PDUMP_READ_ALIGNED): * dumper.c (pdump_structure_size): * dumper.c (pdump): * dumper.c (pdump_load_finish): * editfns.c: * editfns.c (Fstring_to_char): * editfns.c (Ftranslate_region): * editfns.c (Fdelete_region): * editfns.c (widen_buffer): * editfns.c (Fnarrow_to_region): * editfns.c (save_restriction_restore): * elhash.c (print_hash_table_data): * elhash.c (print_hash_table): * elhash.c (Finternal_hash_value): * emacs.c: * emacs.c (main_1): * emacs.c (standard_args): * eval.c (print_subr): * eval.c (Fuser_variable_p): * eval.c (backtrace_specials): * eval.c (Fbacktrace): * event-Xt.c (USE_CHARSET): * event-Xt.c (x_keysym_to_character): * event-Xt.c (emacs_Xt_format_magic_event): * event-gtk.c (emacs_gtk_format_magic_event): * event-msw.c (mswindows_wnd_proc): * event-msw.c (mswindows_find_frame): * event-msw.c (FROB): * event-msw.c (emacs_mswindows_format_magic_event): * event-stream.c (external_debugging_print_event): * event-stream.c (command_builder_find_leaf): * event-stream.c (dribble_out_event): * events.c (print_event_1): * events.c (print_event): * events.c (nth_of_key_sequence_as_event): * events.c (Fevent_next): * events.c (Fset_event_next): * events.h: * extents.c: * extents.c (stack_of_extents): * extents.c (memxpos_to_startind): * extents.c (buffer_or_string_bytexpos_to_startind): * extents.c (buffer_or_string_bytexpos_to_endind): * extents.c (gap_array_adjust_markers): * extents.c (gap_array_move_gap): * extents.c (extent_list_locate_from_pos): * extents.c (extent_list_at): * extents.c (soe_dump): * extents.c (soe_move): * extents.c (extent_endpoint_byte): * extents.c (extent_endpoint_char): * extents.c (signal_single_extent_changed): * extents.c (signal_extent_changed): * extents.c (signal_extent_property_changed): * extents.c (extent_attach): * extents.c (extent_detach): * extents.c (extent_in_region_p): * extents.c (map_extents): * extents.c (adjust_extents): * extents.c (adjust_extents_for_deletion): * extents.c (extent_find_end_of_run): * extents.c (extent_find_beginning_of_run): * extents.c (extent_fragment_update): * extents.c (print_extent_1): * extents.c (print_extent): * extents.c (extent_remprop): * extents.c (extent_endpoint_external): * extents.c (Fextent_length): * extents.c (Fnext_extent_change): * extents.c (Fprevious_extent_change): * extents.c (Fset_extent_parent): * extents.c (set_extent_endpoints_1): * extents.c (set_extent_endpoints): * extents.c (set_extent_openness): * extents.c (make_extent): * extents.c (Fmake_extent): * extents.c (Fset_extent_endpoints): * extents.c (Fextent_in_region_p): * extents.c (Fmap_extents): * extents.c (struct slow_map_extent_children_arg): * extents.c (slow_map_extent_children_function): * extents.c (Fmap_extent_children): * extents.c (struct extent_at_arg): * extents.c (decode_extent_at_flag): * extents.c (extent_at): * extents.c (Fextent_at): * extents.c (Fextents_at): * extents.c (struct verify_extents_arg): * extents.c (verify_extent_modification): * extents.c (struct process_extents_for_insertion_arg): * extents.c (process_extents_for_insertion_mapper): * extents.c (process_extents_for_insertion): * extents.c (struct process_extents_for_deletion_arg): * extents.c (process_extents_for_deletion): * extents.c (report_extent_modification_mapper): * extents.c (report_extent_modification): * extents.c (set_extent_invisible): * extents.c (Fset_extent_face): * extents.c (Fset_extent_mouse_face): * extents.c (set_extent_glyph): * extents.c (Fset_extent_begin_glyph_layout): * extents.c (Fset_extent_end_glyph_layout): * extents.c (Fset_extent_priority): * extents.c (Fset_extent_property): * extents.c (extent_properties): * extents.c (ADD_PROP): * extents.c (Fextent_properties): * extents.c (do_highlight): * extents.c (run_extent_copy_paste_internal): * extents.c (run_extent_copy_function): * extents.c (run_extent_paste_function): * extents.c (run_extent_paste_function_char): * extents.c (insert_extent): * extents.c (struct add_string_extents_arg): * extents.c (add_string_extents_mapper): * extents.c (struct add_string_extents_the_hard_way_arg): * extents.c (add_string_extents_the_hard_way_mapper): * extents.c (add_string_extents): * extents.c (struct splice_in_string_extents_arg): * extents.c (splice_in_string_extents_mapper): * extents.c (struct splice_in_string_extents_the_hard_way_arg): * extents.c (splice_in_string_extents_the_hard_way_mapper): * extents.c (splice_in_string_extents): * extents.c (copy_string_extents_mapper): * extents.c (copy_string_extents): * extents.c (get_char_property): * extents.c (get_char_property_char): * extents.c (Fget_text_property): * extents.c (Fget_char_property): * extents.c (struct put_text_prop_arg): * extents.c (put_text_prop_mapper): * extents.c (put_text_prop_openness_mapper): * extents.c (put_text_prop): * extents.c (Fput_text_property): * extents.c (Fadd_text_properties): * extents.c (Fremove_text_properties): * extents.c (next_single_property_change): * extents.c (previous_single_property_change): * extents.h: * extents.h (struct extent): * faces.c (print_face): * faces.c (update_face_inheritance_mapper): * faces.c (ensure_face_cachel_complete): * faces.c (face_cachel_charset_font_metric_info): * file-coding.c (print_coding_system): * file-coding.c (print_coding_system_in_print_method): * file-coding.c (chain_print): * file-coding.c (no_conversion_convert): * file-coding.c (undecided_print): * file-coding.c (gzip_print): * file-coding.h (DECLARE_CODING_SYSTEM_TYPE): * file-coding.h (DECODE_ADD_BINARY_CHAR): * fileio.c (Ffile_truename): * fileio.c (expand_and_dir_to_file): * fns.c (print_bit_vector): * fns.c (Flength): * fns.c (Fstring_lessp): * fns.c (Fsplit_path): * fns.c (Ffillarray): * fns.c (Fbase64_encode_string): * fns.c (Fbase64_decode_string): * font-lock.c: * font-lock.c (find_context): * frame-gtk.c (gtk_set_frame_text_value): * frame-msw.c (mswindows_get_mouse_position): * frame-msw.c (mswindows_get_frame_parent): * frame-x.c: * frame-x.c (x_set_frame_text_value): * frame.c: * frame.c (allocate_frame_core): * frame.c (Fignore_event): * frame.h: * glade.c (connector): * glyphs-gtk.c: * glyphs-gtk.c (convert_EImage_to_GDKImage): * glyphs-gtk.c (gtk_print_image_instance): * glyphs-gtk.c (gtk_locate_pixmap_file): * glyphs-msw.c (mswindows_locate_pixmap_file): * glyphs-msw.c (mswindows_print_image_instance): * glyphs-msw.c (charset_of_text): * glyphs-msw.h: * glyphs-x.c (LISP_DEVICE_TO_X_SCREEN): * glyphs-x.c (convert_EImage_to_XImage): * glyphs-x.c (x_print_image_instance): * glyphs-x.c (x_locate_pixmap_file): * glyphs.c (check_instance_cache_mapper): * glyphs.c (print_image_instance): * glyphs.c (query_string_font): * glyphs.c (check_valid_xbm_inline): * glyphs.c (display_table_entry): * glyphs.h: * gui-msw.c (mswindows_handle_gui_wm_command): * gui-x.c (mark_widget_value_mapper): * gui-x.c (popup_selection_callback): * gui.h: * gutter.h (GUTTER_POS_LOOP): * hash.h: * indent.c: * indent.c (column_at_point): * indent.c (string_column_at_point): * indent.c (byte_spaces_at_point): * indent.c (Fcurrent_indentation): * indent.c (Fmove_to_column): * insdel.c (BYTE_BUF_GPT): * insdel.c (SET_BYTE_BUF_GPT): * insdel.c (SET_END_SENTINEL): * insdel.c (set_buffer_point): * insdel.c (gap_left): * insdel.c (gap_right): * insdel.c (move_gap): * insdel.c (merge_gap_with_end_gap): * insdel.c (make_gap): * insdel.c (signal_before_change): * insdel.c (signal_after_change): * insdel.c (buffer_insert_string_1): * insdel.c (buffer_delete_range): * insdel.c (buffer_replace_char): * insdel.c (make_string_from_buffer_1): * insdel.c (init_buffer_text): * intl-win32.c: * intl-win32.c (Fmswindows_get_valid_code_pages): * intl-win32.c (Fmswindows_get_console_code_page): * intl-win32.c (Fmswindows_set_console_code_page): * intl-win32.c (Fmswindows_get_console_output_code_page): * intl-win32.c (Fmswindows_set_console_output_code_page): * intl-win32.c (Fmswindows_get_code_page_charset): * intl-win32.c (Fmswindows_get_valid_keyboard_layouts): * intl-win32.c (Fmswindows_get_keyboard_layout): * intl-win32.c (Fmswindows_set_keyboard_layout): * intl-win32.c (mswindows_multibyte_to_unicode_print): * intl.c: * intl.c (Fignore_defer_gettext): * keymap.c (print_keymap): * keymap.c (keymap_lookup_directly): * keymap.c (keymap_store): * keymap.c (define_key_check_and_coerce_keysym): * keymap.c (Fdefine_key): * keymap.c (Flookup_key): * keymap.c (map_keymap_mapper): * keymap.c (Fkey_description): * lisp-disunion.h: * lisp-disunion.h (VALMASK): * lisp-disunion.h (VOID_TO_LISP): * lisp-union.h: * lisp-union.h (union Lisp_Object): * lisp-union.h (XPNTRVAL): * lisp-union.h (XREALINT): * lisp-union.h (INTP): * lisp.h: * lisp.h (DECLARE_POINTER_TYPE_ARITH_COUNT): * lisp.h (MAX_ALIGN_SIZE): * lisp.h (struct Lisp_String): * lisp.h (set_lispstringp_length): * lisp.h (XSET_STRING_LENGTH): * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): * lisp.h (SYMBOL_IS_KEYWORD): * lread.c: * lrecord.h: * lrecord.h (DECLARE_LRECORD): * lrecord.h (DECLARE_EXTERNAL_LRECORD): * lrecord.h (DECLARE_NONRECORD): * lstream.c (aligned_sizeof_lstream): * lstream.c (Lstream_really_write): * lstream.c (make_lisp_buffer_stream_1): * lstream.c (make_lisp_buffer_input_stream): * lstream.c (lisp_buffer_reader): * lstream.c (lisp_buffer_writer): * lstream.h: * marker.c (print_marker): * marker.c (byte_marker_position): * marker.c (marker_position): * marker.c (set_byte_marker_position): * marker.c (set_marker_position): * marker.c (Fbuffer_has_markers_at): * menubar-gtk.c (__torn_off_sir): * menubar-gtk.c (__activate_menu): * menubar-gtk.c (__generic_button_callback): * menubar-msw.c: * menubar-x.c (pre_activate_callback): * menubar-x.c (command_builder_operate_menu_accelerator): * menubar-x.c (command_builder_find_menu_accelerator): * menubar.c: * menubar.c (Fnormalize_menu_item_name): * minibuf.c: * minibuf.c (Ftry_completion): * minibuf.c (Fall_completions): * minibuf.c (Fminibuffer_prompt): * minibuf.c (Fminibuffer_prompt_width): * minibuf.c (echo_area_append): * mule-ccl.c: * mule-ccl.c (CCL_WRITE_CHAR): * mule-ccl.c (CCL_WRITE_STRING): * mule-ccl.c (CCL_MAKE_CHAR): * mule-ccl.c (ccl_driver): * mule-charset.c (Fmake_charset): * mule-charset.c (Fcharset_from_attributes): * mule-coding.c (byte_shift_jis_two_byte_1_p): * mule-coding.c (byte_shift_jis_two_byte_2_p): * mule-coding.c (byte_shift_jis_katakana_p): * mule-coding.c (shift_jis_convert): * mule-coding.c (Fdecode_shift_jis_char): * mule-coding.c (Fencode_shift_jis_char): * mule-coding.c (byte_big5_two_byte_1_p): * mule-coding.c (byte_big5_two_byte_2_p): * mule-coding.c (big5_convert): * mule-coding.c (decode_big5_char): * mule-coding.c (Fencode_big5_char): * mule-coding.c (charset_by_attributes_or_create_one): * mule-coding.c (iso2022_decode): * mule-coding.c (iso2022_encode): * mule-coding.c (iso2022_print): * mule-coding.c (iso2022_detect): * mule-wnnfns.c (m2w): * nas.c: * objects-msw.c (mswindows_string_to_color): * objects-msw.c (mswindows_font_spec_matches_charset): * objects-x.c (x_font_instance_properties): * opaque.c (aligned_sizeof_opaque): * postgresql.c (print_pgconn): * postgresql.c (print_pgresult): * print.c: * print.c (output_string): * print.c (write_string_1): * print.c (write_string): * print.c (write_c_string): * print.c (write_eistring): * print.c (write_fmt_string): * print.c (write_fmt_string_lisp): * print.c (stderr_out_lisp): * print.c (Fterpri): * print.c (Fprint): * print.c (print_error_message): * print.c (print_vector_internal): * print.c (print_cons): * print.c (print_string): * print.c (print_internal): * print.c (print_float): * print.c (print_symbol): * process-nt.c (nt_create_process): * process-unix.c (close_process_descs_mapfun): * process.c (print_process): * process.c (get_process_from_usid): * process.c (Fstart_process_internal): * process.c (status_message): * process.c (status_notify): * process.c (Fprocess_connection): * process.c (getenv_internal): * process.c (putenv_internal): * process.h: * profile.c (get_profiling_info_maphash): * profile.c (mark_profiling_info_maphash): * rangetab.c (print_range_table): * rangetab.c (unified_range_table_copy_data): * rangetab.c (align_the_damn_table): * redisplay-gtk.c: * redisplay-gtk.c (separate_textual_runs): * redisplay-gtk.c (gtk_output_display_block): * redisplay-msw.c (separate_textual_runs): * redisplay-msw.c (mswindows_output_display_block): * redisplay-output.c: * redisplay-output.c (ADJ_CHARPOS): * redisplay-output.c (redisplay_move_cursor): * redisplay-output.c (redisplay_update_line): * redisplay-x.c (separate_textual_runs): * redisplay-x.c (x_output_display_block): * redisplay.c: * redisplay.c (position_redisplay_data_type): * redisplay.c (struct prop_block): * redisplay.c (generate_display_line): * redisplay.c (add_hscroll_rune): * redisplay.c (add_emchar_rune_1): * redisplay.c (add_blank_rune): * redisplay.c (add_octal_runes): * redisplay.c (add_control_char_runes): * redisplay.c (add_disp_table_entry_runes_1): * redisplay.c (add_propagation_runes): * redisplay.c (add_glyph_rune): * redisplay.c (create_text_block): * redisplay.c (add_margin_blank): * redisplay.c (generate_modeline): * redisplay.c (generate_fstring_runes): * redisplay.c (create_string_text_block): * redisplay.c (generate_string_display_line): * redisplay.c (generate_displayable_area): * redisplay.c (REGEN_INC_FIND_START_END): * redisplay.c (regenerate_window_extents_only_changed): * redisplay.c (regenerate_window_incrementally): * redisplay.c (point_visible): * redisplay.c (point_at_center): * redisplay.c (update_internal_cache_list): * redisplay.c (UPDATE_CACHE_RETURN): * redisplay.c (pixel_to_glyph_translation): * redisplay.h: * redisplay.h (struct rune): * redisplay.h (struct display_line): * redisplay.h (struct extent_fragment): * regex.c: * regex.c (RE_TRANSLATE_1): * regex.c (charptr_emchar): * regex.c (INC_CHARPTR_FMT): * regex.c (SYNTAX): * regex.c (EXTEND_BUFFER): * regex.c (regex_compile): * regex.c (compile_range): * regex.c (compile_extended_range): * regex.c (re_compile_fastmap): * regex.c (re_search): * regex.c (re_search_2): * regex.c (REGEX_PREFETCH): * regex.c (WORDCHAR_P): * regex.c (re_match): * regex.c (re_match_2): * regex.c (re_match_2_internal): * regex.c (re_compile_pattern): * regex.c (re_comp): * regex.c (make-backup-files): Removed. * regex.c (version-control): Removed. * regex.c (trim-versions-without-asking): Removed. * regex.c (End): Removed. * regex.h: * regex.h (RE_LISP_SHORT_CONTEXT_ARGS_DECL): * scrollbar-msw.c (mswindows_free_scrollbar_instance): * scrollbar-msw.c (mswindows_handle_scrollbar_event): * scrollbar-msw.c (mswindows_handle_mousewheel_event): * search.c: * search.c (matcher_overflow): * search.c (compile_pattern_1): * search.c (compile_pattern): * search.c (fixup_search_regs_for_buffer): * search.c (looking_at_1): * search.c (Fposix_looking_at): * search.c (string_match_1): * search.c (fast_string_match): * search.c (byte_scan_buffer): * search.c (scan_buffer): * search.c (byte_find_next_newline_no_quit): * search.c (byte_find_next_emchar_in_string): * search.c (find_before_next_newline): * search.c (skip_chars): * search.c (search_command): * search.c (trivial_regexp_p): * search.c (search_buffer): * search.c (simple_search): * search.c (boyer_moore): * search.c (set_search_regs): * search.c (wordify): * search.c (Freplace_match): * search.c (match_limit): * search.c (Fmatch_data): * search.c (Fstore_match_data): * select-x.c (hack_motif_clipboard_selection): * select-x.c (Fx_store_cutbuffer_internal): * specifier.c (print_specifier): * specifier.c (aligned_sizeof_specifier): * specifier.c (recompute_cached_specifier_everywhere_mapfun): * specifier.h: * specifier.h (DECLARE_SPECIFIER_TYPE): * symbols.c (Fintern): * symsinit.h: * syntax.c: * syntax.c (struct lisp_parse_state): * syntax.c (find_defun_start): * syntax.c (Fset_syntax_table): * syntax.c (init_syntax_cache): * syntax.c (update_syntax_cache): * syntax.c (Fchar_syntax): * syntax.c (charset_syntax): * syntax.c (syntax_match): * syntax.c (Fmatching_paren): * syntax.c (WORD_BOUNDARY_P): * syntax.c (scan_words): * syntax.c (find_start_of_comment): * syntax.c (find_end_of_comment): * syntax.c (Fforward_comment): * syntax.c (scan_lists): * syntax.c (char_quoted): * syntax.c (Fbackward_prefix_chars): * syntax.c (scan_sexps_forward): * syntax.c (Fparse_partial_sexp): * syntax.c (copy_to_mirrortab): * syntax.c (copy_if_not_already_present): * syntax.c (update_just_this_syntax_table): * syntax.c (update_syntax_table): * syntax.c (syms_of_syntax): * syntax.c (vars_of_syntax): * syntax.c (complex_vars_of_syntax): * syntax.h: * syntax.h (SYNTAX_CODE): * syntax.h (SYNTAX_FROM_CODE): * syntax.h (SYNTAX_PREFIX): * syntax.h (struct syntax_cache): * syswindows.h: * tests.c (Ftest_data_format_conversion): * text.c: * text.c (convert_emchar_string_into_malloced_string): * text.c (COPY_TEXT_BETWEEN_FORMATS): * text.c (copy_buffer_text_out): * text.c (find_charsets_in_intbyte_string): * text.c (find_charsets_in_emchar_string): * text.c (intbyte_string_displayed_columns): * text.c (emchar_string_displayed_columns): * text.c (intbyte_string_nonascii_chars): * text.c (eicpyout_malloc_fmt): * text.c (skip_ascii): * text.c (charcount_to_bytecount_fun): * text.c (charbpos_to_bytebpos_func): * text.c (bytebpos_to_charbpos_func): * text.c (buffer_mule_signal_inserted_region): * text.c (buffer_mule_signal_deleted_region): * text.c (get_buffer_range_char): * text.c (get_buffer_range_byte): * text.c (get_string_pos_char): * text.c (get_string_range_char): * text.c (get_buffer_or_string_pos_char): * text.c (get_buffer_or_string_pos_byte): * text.c (get_buffer_or_string_range_char): * text.c (get_buffer_or_string_range_byte): * text.c (buffer_or_string_accessible_begin_char): * text.c (buffer_or_string_accessible_end_char): * text.c (buffer_or_string_accessible_begin_byte): * text.c (buffer_or_string_accessible_end_byte): * text.c (buffer_or_string_absolute_begin_char): * text.c (buffer_or_string_absolute_end_char): * text.c (buffer_or_string_absolute_begin_byte): * text.c (buffer_or_string_absolute_end_byte): * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): * text.c (non_ascii_set_charptr_emchar): * text.c (non_ascii_charptr_emchar): * text.c (non_ascii_valid_emchar_p): * text.c (non_ascii_charptr_copy_emchar): * text.c (Lstream_get_emchar_1): * text.c (Fmake_char): * text.c (Fchar_charset): * text.c (Fchar_octet): * text.c (Fsplit_char): * text.c (lookup_composite_char): * text.c (Fmake_composite_char): * text.c (Fcomposite_char_string): * text.h: * text.h (rep_bytes_by_first_byte): * text.h (byte_ascii_p): * text.h (intbyte_leading_byte_p): * text.h (emchar_multibyte_p): * text.h (emchar_ascii_p): * text.h (assert_valid_charptr): * text.h (INC_CHARPTR): * text.h (INC_CHARPTR_FMT): * text.h (DEC_CHARPTR_FMT): * text.h (VALIDATE_CHARPTR_BACKWARD): * text.h (validate_intbyte_string_backward): * text.h (simple_charptr_copy_emchar): * text.h (charptr_emchar): * text.h (valid_emchar_p): * text.h (CHAR_INTP): * text.h (eicpy_lstr): * text.h (eicpy_raw_fmt): * text.h (eicpy_raw): * text.h (eicpy_rawz_fmt): * text.h (eicpy_rawz): * text.h (eicpyout_alloca): * text.h (eicat_lstr): * text.h (GET_STRERROR): * tooltalk.c (tooltalk_message_callback): * tooltalk.c (tooltalk_pattern_callback): * ui-byhand.c (__generic_toolbar_callback): * ui-byhand.c (__emacs_gtk_ctree_recurse_internal): * ui-gtk.c (emacs_gtk_object_printer): * ui-gtk.c (__internal_callback_destroy): * ui-gtk.c (__internal_callback_marshal): * ui-gtk.c (emacs_gtk_boxed_printer): * ui-gtk.c (gtk_type_to_lisp): * unicode.c (sledgehammer_check_from_table): * unicode.c (sledgehammer_check_to_table): * unicode.c (set_unicode_conversion): * unicode.c (emchar_to_unicode): * unicode.c (unicode_to_char): * unicode.c (recalculate_unicode_precedence): * unicode.c (Fchar_to_unicode): * unicode.c (encode_unicode_char): * unicode.c (unicode_convert): * unicode.c (unicode_print): * win32.c: * win32.c (tstr_to_local_file_format): * win32.c (mswindows_lisp_error_1): * win32.c (Fmswindows_shell_execute): * window.c (print_window): * window.c (print_window_config): * window.c (Fcurrent_pixel_column): Another big Ben patch. -- FUNCTIONALITY CHANGES: add partial support for 8-bit-fixed, 16-bit-fixed, and 32-bit-fixed formats. not quite done yet. (in particular, needs functions to actually convert the buffer.) NOTE: lots of changes to regex.c here. also, many new *_fmt() inline funs that take an Internal_Format argument. redo syntax cache code. make the cache per-buffer; keep the cache valid across calls to functions that use it. also keep it valid across insertions/deletions and extent changes, as much as is possible. eliminate the junky regex-reentrancy code by passing in the relevant lisp info to the regex routines as local vars. add general mechanism in extents code for signalling extent changes. fix numerous problems with the case-table implementation; yoshiki never properly transferred many algorithms from old-style to new-style case tables. redo char tables to support a default argument, so that mapping only occurs over changed args. change many chartab functions to accept Lisp_Object instead of Lisp_Char_Table *. comment out the code in font-lock.c by default, because font-lock.el no longer uses it. we should consider eliminating it entirely. Don't output bell as ^G in console-stream when not a TTY. add -mswindows-termination-handle to interface with i.c, so we can properly kill a build. add more error-checking to buffer/string macros. add some additional buffer_or_string_() funs. -- INTERFACE CHANGES AFFECTING MORE CODE: switch the arguments of write_c_string and friends to be consistent with write_fmt_string, which must have printcharfun first. change BI_* macros to BYTE_* for increased clarity; similarly for bi_* local vars. change VOID_TO_LISP to be a one-argument function. eliminate no-longer-needed CVOID_TO_LISP. -- char/string macro changes: rename MAKE_CHAR() to make_emchar() for slightly less confusion with make_char(). (The former generates an Emchar, the latter a Lisp object. Conceivably we should rename make_char() -> wrap_char() and similarly for make_int(), make_float().) Similar changes for other *CHAR* macros -- we now consistently use names with `emchar' whenever we are working with Emchars. Any remaining name with just `char' always refers to a Lisp object. rename macros with XSTRING_* to string_* except for those that reference actual fields in the Lisp_String object, following conventions used elsewhere. rename set_string_{data,length} macros (the only ones to work with a Lisp_String_* instead of a Lisp_Object) to set_lispstringp_* to make the difference clear. try to be consistent about caps vs. lowercase in macro/inline-fun names for chars and such, which wasn't the case before. we now reserve caps either for XFOO_ macros that reference object fields (e.g. XSTRING_DATA) or for things that have non-function semantics, e.g. directly modifying an arg (BREAKUP_EMCHAR) or evaluating an arg (any arg) more than once. otherwise, use lowercase. here is a summary of most of the macros/inline funs changed by all of the above changes: BYTE_*_P -> byte_*_p XSTRING_BYTE -> string_byte set_string_data/length -> set_lispstringp_data/length XSTRING_CHAR_LENGTH -> string_char_length XSTRING_CHAR -> string_emchar INTBYTE_FIRST_BYTE_P -> intbyte_first_byte_p INTBYTE_LEADING_BYTE_P -> intbyte_leading_byte_p charptr_copy_char -> charptr_copy_emchar LEADING_BYTE_* -> leading_byte_* CHAR_* -> EMCHAR_* *_CHAR_* -> *_EMCHAR_* *_CHAR -> *_EMCHAR CHARSET_BY_ -> charset_by_* BYTE_SHIFT_JIS* -> byte_shift_jis* BYTE_BIG5* -> byte_big5* REP_BYTES_BY_FIRST_BYTE -> rep_bytes_by_first_byte char_to_unicode -> emchar_to_unicode valid_char_p -> valid_emchar_p 2002-04-30 Charles G. Waldman <cgw@xemacs.org> * sysdep.c (sys_siglist): change "signum" to "signal" 2001-04-21 Martin Buchholz <martin@xemacs.org> * s/darwin.h: New file. Thanks to Greg Parker <gparker@cs.stanford.edu>. 2002-04-23 Andreas Jaeger <aj@suse.de> * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x which use lib64 for 64-bit libs. (START_FILES): Likewise. 2002-02-11 Mike Sperber <mike@xemacs.org> * device-x.c: (x_IO_error_handler): (x_init_device): Temporarily keep device in static variable `device_being_initialized' so we can recover gracefully from internal XOpenDevice failure. (XOpenDevice is documented to return NULL on failure, but sometimes calls the IO error handler instead.) 2002-01-31 John H. Palmieri <palmieri@math.washington.edu> * dired.c (Ffile_name_all_completions): Change documentation -- remove reference to completion-ignored-extensions. * dired.c (vars_of_dired): Change documentation for completion-ignored-extensions -- remove reference to file-name-all-completions. 2002-03-06 Jerry James <james@xemacs.org> * emodules.c (emodules_load): Fix multiple loading of same module. 2002-01-25 Andrew Begel <abegel@cs.berkeley.edu> * sysdll.c (dll_open): Changed to use RTLD_NOW instead of RTLD_LAZY to avoid incorrect symbol binding when using nested shared libraries on Solaris. 2002-02-12 Stephen J. Turnbull <stephen@xemacs.org> * fileio.c (Ffind_file_name_handler): Improve docstring. 2002-01-20 Stephen J. Turnbull <stephen@xemacs.org> * fns.c (Fmapconcat): Improve docstring. 2002-01-03 Eric Gillespie, Jr. <epg@pretzelnet.org> * device-gtk.c: Add prototype for emacs_gtk_selection_clear_event_handle. (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD selection. Setup signal handler for "selection_clear_event" (emacs_gtk_selection_clear_event_handle). * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle other applications owning the clipboard (based on x_handle_selection_clear). 2001-12-23 William M. Perry <wmperry@gnu.org> * menubar-gtk.c (gtk_popup_menu) Add sanity checks, fix crash. 2002-01-04 Martin Buchholz <martin@xemacs.org> * keymap.c (define_key_alternate_name): Parenthesize EQ. 2001-12-17 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.4.6 "Common Lisp" is released. Change intbyte_strcmp -> qxestrcmp_c (duplicated functionality). -- INTERFACE CHANGES AFFECTING LESS CODE: use DECLARE_INLINE_HEADER in various places. remove '#ifdef emacs' from XEmacs-only files. eliminate CHAR_TABLE_VALUE(), which duplicated the functionality of get_char_table(). add BUFFER_TEXT_LOOP to simplify iterations over buffer text. define typedefs for signed and unsigned types of fixed sizes (INT_32_BIT, UINT_32_BIT, etc.). create ALIGN_FOR_TYPE as a higher-level interface onto ALIGN_SIZE; fix code to use it. add charptr_emchar_len to return the text length of the character pointed to by a ptr; use it in place of charcount_to_bytecount(..., 1). add emchar_len to return the text length of a given character. add types Bytexpos and Charxpos to generalize Bytebpos/Bytecount and Charbpos/Charcount, in code (particularly, the extents code and redisplay code) that works with either kind of index. rename redisplay struct params with names such as `charbpos' to e.g. `charpos' when they are e.g. a Charxpos, not a Charbpos. eliminate xxDEFUN in place of DEFUN; no longer necessary with changes awhile back to doc.c. split up big ugly combined list of EXFUNs in lisp.h on a file-by-file basis, since other prototypes are similarly split. rewrite some "*_UNSAFE" macros as inline funs and eliminate the _UNSAFE suffix. move most string code from lisp.h to text.h; the string code and text.h code is now intertwined in such a fashion that they need to be in the same place and partially interleaved. (you can't create forward references for inline funs) 2002-04-30 Charles G. Waldman <cgw@xemacs.org> * sysdep.c (sys_siglist): change "signum" to "signal" 2002-04-24 Andy Piper <andy@xemacs.org> * redisplay.c (create_text_block): Don't actually add propagation data if the line ends after we have added a glyph. * lisp.h (Dynarr_end): Fix definition. 2002-04-22 Andy Piper <andy@xemacs.org> * extents.c (extent_fragment_update): check for glyphs we have previously displayed. * extents.c (print_extent_1): warning removal. * extents.h: change prototype. * redisplay-output.c (redisplay_normalize_glyph_area): calculate widths correctly for wide glyphs. * redisplay.c (position_redisplay_data_type): add end_glyph_width. * redisplay.c (prop_type): add PROP_GLYPH. * redisplay.c (struct prop_block): add glyph type * redisplay.c (add_glyph_rune): when adding part of a glyph add it to the propagation data. * redisplay.c (create_text_block): if there is a glyph in the propagation data use it to salt extent_fragment_update. * redisplay.c (create_string_text_block): ditto. 2002-04-13 Nix <nix@esperi.demon.co.uk> * redisplay.h (struct rune): Add ascent, descent, and yoffset fields. * redisplay-output.c (compare_runes): Compare them. * redisplay.c: Update copyright date. * redisplay.c (pos_data): Add need_baseline_computation field. * redisplay.c (add_glyph_rune): Update ascent, descent, and need_baseline_computation; zero yoffset. Set max_pixmap_height for all pixmaps, not just automatically positioned ones. * redisplay.c (calculate_yoffset): New, compute yoffset values. * redisplay.c (calculate_baseline): New, compute textual baseline. * redisplay.c (add_glyph_rune): Call them. * redisplay.c (create_text_block): Likewise. * redisplay.c (create_overlay_glyph_block): Likewise. * redisplay.c (add_margin_runes): Likewise. * redisplay.c (create_string_text_block): Likewise. Fix tabdamage. * redisplay.h: (redisplay_calculate_display_boxes): Change prototype. * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset. * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset. * redisplay-msw.c (mswindows_output_string): Likewise. * redisplay-msw.c (mswindows_output_display_block): Pass yoffset. * redisplay-gtk.c (gtk_output_display_block): Likewise. * redisplay-x.c (x_output_display_block): Likewise. 2002-04-02 Andy Piper <andy@xemacs.org> * dired-msw.c (mswindows_get_files): * nt.c (mswindows_stat): SetErrorMode() so that file errors are completely handled by XEmacs. Suggested by Thomas Vogler <mail@thomas-vogler.de>. 2002-04-01 Andy Piper <andy@xemacs.org> * emacs.c (Fkill_emacs): Only output message box in interactive mode. 2002-03-14 Mike Alexander <mta@arbortext.com> * event-msw.c (mswindows_unwait_process): New, remove process from wait list * process-nt.c (nt_finalize_process_data): Call mswindows_unwait_process * console-msw.h: Declare mswindows_unwait_process 2002-03-20 Andy Piper <andy@xemacs.org> * menubar-msw.c (mswindows_popup_menu): warning removal. * dialog-msw.c (dialog_popped_down): ditto. 2002-02-13 Andy Piper <andy@xemacs.org> * event-msw.c (mswindows_wnd_proc): only mark the frame visible if we did in fact enqueue the XM_MAPFRAME event. 2002-02-06 Adrian Aichner <adrian@xemacs.org> * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER operation. * src/buffer.c (kill_buffer): Undedicate windows showing BUF before replacing them. * redisplay.c (mark_redisplay): Remove call to update_frame_window_mirror. * src/window.c (undedicate_windows): Use it. * src/window.h: Add prototype. 2002-01-03 Andy Piper <andy@xemacs.org> * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive letters. (xrealpath): ditto. 2001-12-11 Andy Piper <andy@xemacs.org> * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p. * dialog-msw.c (mswindows_make_dialog_box_internal): set popup_up_p. * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto. * menubar-msw.c (mswindows_handle_wm_command): ditto. * menubar-msw.c (mswindows_popup_menu): ditto. 2001-11-24 Andy Piper <andy@xemacs.org> * window.c (Fsplit_window): Doc return type. 2001-07-30 Adrian Aichner <adrian@xemacs.org> * event-msw.c: Typo fix. * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after magic XM_MAPFRAME event has been sent. 2001-11-23 Andy Piper <andy@xemacs.org> * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events. 2001-11-21 Andy Piper <andy@xemacs.org> * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with mouse events outside the frame. 2001-11-15 Andy Piper <andy@xemacs.org> (Fmswindows_shell_execute): fix handling of URL's under cygwin (again). 2001-11-14 Andy Piper <andy@xemacs.org> * nt.c (REG_ROOT): change registry key to XEmacs. 2001-10-29 Andy Piper <andy@xemacs.org> * dialog-msw.c (handle_directory_dialog_box): quit if the user cancels. 2002-04-15 Ben Wing <ben@xemacs.org> * process.c: Need sysdep.h for environ. 2002-04-14 Ben Wing <ben@xemacs.org> * lisp.h: Add support for strong type-checking of Bytecount, Bytebpos, Charcount, Charbpos, and others, by making them classes, overloading the operators to provide integer-like operation and carefully controlling what operations are allowed. Not currently enabled in C++ builds because there are still a number of compile errors, and it won't really work till we merge in my "8-bit-Mule" workspace, in which I make use of the new types Charxpos, Bytexpos, Memxpos, representing a "position" either in a buffer or a string. (This is especially important in the extent code.) * abbrev.c: * abbrev.c (abbrev_oblookup): * alloc.c (STRING_CHARS_BLOCK_SIZE): * alloc.c (allocate_string_chars_struct): * alloc.c (make_uninit_string): * alloc.c (set_string_char): * alloc.c (build_intstring): * eval.c (record_unwind_protect_restoring_lisp_object): * eval.c (record_unwind_protect_restoring_int): * buffer.c (init_initial_directory): * buffer.h (BI_BUF_PTR_BYTE_POS): * buffer.h (real_charbpos_to_bytebpos): * editfns.c (Fuser_full_name): * editfns.c (Finsert_char): * fns.c (Ffillarray): * text.h: * text.h (REP_BYTES_BY_FIRST_BYTE_1): * text.h (simple_set_charptr_emchar): * text.h (DECLARE_INLINE_HEADER): * text.h (endif): Warning fixes, some of them related to new C++ strict type checking of Bytecount, Charbpos, etc. * dired.c (file_name_completion): Caught an actual error due to strong type checking -- char len being passed when should be byte len. * alloc.c: * alloc.c (DECREMENT_CONS_COUNTER): * alloc.c (memory_full): * alloc.c (Fmake_byte_code): * alloc.c (garbage_collect_1): * alloc.c (recompute_need_to_garbage_collect): * alloc.c (common_init_alloc_once_early): * backtrace.h: * backtrace.h (SPECBIND_FAST_UNSAFE): * bytecode.c: * bytecode.c (execute_optimized_program): * bytecode.c (mark_compiled_function): * bytecode.h: * bytecode.h (struct Lisp_Compiled_Function): * eval.c: * eval.c (handle_compiled_function_with_and_rest): * eval.c (funcall_compiled_function): * eval.c (Feval): * eval.c (Ffuncall): * eval.c (function_argcount): * sysdep.c (total_data_usage): Further optimize Ffuncall: -- process arg list at compiled-function creation time, converting into an array for extra-quick access at funcall time. -- rewrite funcall_compiled_function to use it, and inline this function. -- change the order of check for magic stuff in SPECBIND_FAST_UNSAFE to be faster. -- move the check for need to garbage collect into the allocation code, so only a single flag needs to be checked in funcall. * buffer.c (Fstring_char_byte_converion_info): * buffer.c (syms_of_buffer): * symbols.c: * symbols.c (intern_converting_underscores_to_dashes): add debug funs to check on mule optimization info in buffers and strings. * eval.c (init_eval_semi_early): * emacs.c (main_1): * text.c (reinit_eistring_once_early): * regex.c (vars_of_regex): * scrollbar-msw.c (vars_of_scrollbar_mswindows): * search.c (vars_of_search): Fix evil crashes due to eistrings not properly reinitialized under pdump. Redo a bit some of the init routines; convert some complex_vars_of() into simple vars_of(), because they didn't need complex processing. * callproc.c: * callproc.c (call_process_kill): * callproc.c (call_process_cleanup): * callproc.c (Fold_call_process_internal): * callproc.c (child_setup): * callproc.c (syms_of_callproc): * callproc.c (getenv): Removed. * emacs.c: * emacs.c (main_1): * event-stream.c (check_event_stream_ok): * event-stream.c (init_event_stream): * nt.c: * nt.c (init_mswindows_environment): * nt.c (Fmswindows_long_file_name): * nt.c (init_nt): * process.c: * process.c (init_process_io_handles): * process.c (Fstart_process_internal): * process.c (getenv_internal): * process.c (putenv_internal): * process.c (getenv): New. * process.c (DEFUN): * process.c (Fgetenv): * process.c (egetenv): * process.c (init_xemacs_process): * process.c (syms_of_process): * process.c (vars_of_process): * process.h: * sysdep.c (wait_for_termination): * sysdep.c (init_baud_rate): * sysdep.c (emacs_get_tty): * sysdep.c (emacs_set_tty): * sysdep.c (tty_init_sys_modes_on_device): * sysdep.h: * syssignal.h: * syswindows.h: * ntproc.c: Delete. Hallelujah, praise the Lord, there is no god but Allah!!! fix so that processes can be invoked in bare temacs -- thereby eliminating any need for callproc.c. (currently only eliminated under NT.) remove all crufty and unnecessary old process code in ntproc.c and elsewhere. move non-callproc-specific stuff (mostly environment) into process.c, so callproc.c can be left out under NT. * console-tty.c (tty_init_console): * doc.c: * doc.c (unparesseuxify_doc_string): * doc.c (get_doc_string): * doc.c (Fsnarf_documentation): * file-coding.c: * file-coding.c (coding_reader): * file-coding.c (set_coding_character_mode): * file-coding.c (make_coding_stream_1): * file-coding.c (make_coding_output_stream): * file-coding.c (detect_coding_stream): * file-coding.h: * file-coding.h (struct coding_stream): * file-coding.h (LSTREAM_FL_NO_CLOSE_OTHER): * lstream.c: * lstream.c (Lstream_read_1): * lstream.c (Lstream_read): * lstream.c (Lstream_fgetc): * lstream.h (lstream_implementation): fix doc string handling so it works with Japanese, etc docs. change handling of "character mode" so callers don't have to manually set it (quite error-prone). * event-msw.c (init_event_mswindows_late): spacing fixes. * lread.c: * lread.c (pas_de_holgazan_ici): * lread.c (load_force_doc_string_unwind): * lread.c (readevalloop): * lread.c (read_list_conser): * lread.c (read_vector): eliminate unused crufty vintage-19 "FSF defun hack" code. * lrecord.h: improve pdump description docs. * buffer.c: * ntheap.c: * ntheap.c (round_to_next): * ntheap.c (get_data_start): * ntheap.c (get_data_end): * ntheap.c (allocate_heap): * ntheap.c (sbrk): * ntheap.c (recreate_heap): * unexnt.c: * unexnt.c (_start): * unexnt.c (unexec): * unexnt.c (get_bss_info_from_map_file): * unexnt.c (get_section_info): * unexnt.c (copy_executable_and_dump_data_section): * unexnt.c (dump_bss_and_heap): * unexnt.c (read_in_bss): * unexnt.c (map_in_heap): * win32.c: * win32.c (mswindows_get_module_file_name): * emacs.c (make_arg_list_1): * emacs.c (Fdump_emacs): Mule-ize some unexec and startup code. It was pseudo-Mule-ized before by simply always calling the ...A versions of functions, but that won't cut it -- eventually we want to be able to run properly even if XEmacs has been installed in a Japanese directory. (The current problem is the timing of the loading of the Unicode tables; this will eventually be fixed.) Go through and fix various other places where the code was not Mule-clean. Provide a function mswindows_get_module_file_name() to get our own name without resort to PATH_MAX and such. Add a big comment in main() about the problem with Unicode table load timing that I just alluded to. * emacs.c (guts_of_fatal_error_signal): * emacs.c (mswindows_handle_hardware_exceptions_1): When error-checking is enabled (interpreted as "user is developing XEmacs"), don't ask user to "pause to read messages" when a fatal error has occurred, because it will wedge if we are in an inner modal loop (typically when a menu is popped up) and make us unable to get a useful stack trace in the debugger. * text.c (update_entirely_ascii_p_flag): * text.c (charbpos_to_bytebpos_func): * text.c (bytebpos_to_charbpos_func): Correct update_entirely_ascii_p_flag to actually work. * lisp.h: * symsinit.h: declarations for above changes. 2002-04-13 Jonathan Harris <jonathan@xemacs.org> * unexnt.c (_start): * unexnt.c (unexec): * unexnt.c (map_in_heap): Clean up one remaining file where nonintercepted Windows calls were being used. 2002-04-07 William M. Perry <wmperry@gnu.org> * event-gtk.c: * device-gtk.c: * glyphs-gtk.c: * frame-gtk.c: * gtk-xemacs.c: * menubar-gtk.c: * redisplay-gtk.c: Need to include device.h and window.h in a few places. Not sure which .h has changed that was transparently pulling them in before, but... 2002-03-06 Jerry James <james@xemacs.org> * emodules.c (emodules_load): Fix multiple loading of same module. 2002-04-05 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.6 "bok choi" is released. 2002-04-03 Ben Wing <ben@xemacs.org> * console-tty.c (tty_init_console): * eval.c: * eval.c (restore_lisp_object): * eval.c (restore_int): * eval.c (record_unwind_protect_restoring_int): * event-unixoid.c (read_event_from_tty_or_stream_desc): * file-coding.c (coding_reader): * file-coding.c (make_coding_stream_1): * file-coding.c (make_coding_input_stream): * file-coding.c (make_coding_output_stream): * file-coding.c (detect_coding_stream): * file-coding.h: * file-coding.h (DETECTOR_HAS_METHOD): * file-coding.h (struct coding_stream): * lisp.h: * print.c (Fprin1): * print.c (Fprin1_to_string): * print.c (Fprinc): * print.c (Fprint): * print.c (print_internal): * print.c (debug_print_no_newline): * print.c (debug_backtrace): * sysdep.c (total_data_usage): Fix data corruption error in print.c from print_depth becoming negative. Borrow primitives internal_bind_int, internal_bind_lisp_object from my stderr-proc ws, soon to be integrated; use them to properly bind print_depth et al. First fix for TTY problem. The basic problem is I switched things so that the TTY I/O is filtered through a coding system, for the support of kterm and such, that speak JIS or similar encodings. (#### I ***swear*** I had this working way back in 19.12.) Anyway, this introduced buffering issues, in which instead of one char being read, it tried to read 1024 chars. I tried setting the stdin descriptor non-blocking, but it doesn't appear to work on Cygwin. (#### Andy, do you know anything about this?) So I fixed it elsewhere. If you get weirdness on the TTY, look in console-tty.c and see how it gets the coding system; maybe there's a way to change it (and if not, there should be!). Also fix warning in sysdep.c. 2002-03-31 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (INCREMENT_CONS_COUNTER): * alloc.c (xmalloc): * alloc.c (xcalloc): * alloc.c (xrealloc): * alloc.c (Fmemory_limit): * alloc.c (Fmemory_usage): * alloc.c (common_init_alloc_once_early): * alloc.c (syms_of_alloc): * alloc.c (vars_of_alloc): * bytecode.c: * bytecode.c (Ffetch_bytecode): * chartab.c (symbol_to_char_table_type): * chartab.c (Fget_range_char_table): * chartab.c (check_valid_char_table_value): * data.c (Faref): * data.c (Faset): * data.c (Fquo): * data.c (Fmod): * data.c (decode_weak_list_type): * data.c (encode_weak_list_type): * elhash.c (decode_hash_table_weakness): * elhash.c (decode_hash_table_test): * emacs.c (main): * eval.c: * eval.c (Feval): * eval.c (Ffuncall): * event-Xt.c (x_to_emacs_keysym): * event-unixoid.c: * event-unixoid.c (poll_fds_for_input): * extents.c (decode_extent_at_flag): * extents.c (symbol_to_glyph_layout): * file-coding.c (symbol_to_eol_type): * file-coding.c (Fcoding_system_aliasee): * file-coding.c (coding_category_symbol_to_id): * fileio.c (report_file_type_error): * fileio.c (Fsubstitute_in_file_name): * fns.c: * fns.c (Fcompare_strings): * fns.c (internal_equalp): * fns.c (syms_of_fns): * glyphs.c (process_image_string_instantiator): * gutter.c (decode_gutter_position): * lisp-union.h: * lisp.h: * lisp.h (RETURN_NOT_REACHED): * mule-charset.c (Fcharset_property): * nt.c (mswindows_stat): * process-unix.c (unix_create_process): * process.c (decode_signal): * specifier.c (decode_locale_type): * specifier.c (decode_how_to_add_specification): * symbols.c (decode_magic_handler_type): * symbols.c (handler_type_from_function_symbol): * sysdep.c: * sysdep.c (start_of_data): * sysdep.c (total_data_usage): * sysdep.h (total_data_usage): * text.c: * text.c (qxestrncasecmp_i18n): * text.c (qxememcmp4): * text.c (qxememcasecmp4): * text.c (qxetextcmp): * text.c (qxetextcmp_matching): * text.c (qxetextcasecmp): * text.c (qxetextcasecmp_matching): * text.c (lisp_strcasecmp_i18n): * text.c (eicmp_1): * toolbar.c (decode_toolbar_position): * toolbar.c (Fset_default_toolbar_position): Try to implement GC triggering based on percentage of total memory usage. Not currently activated (percentage set to 0) because not quite working. Add `memory-usage' primitive to return XEmacs' idea of its memory usage. Add primitive compare-strings, compatible with FSF 21.1 -- can compare any part of two strings, optionally ignoring case. Improve qxe() functions in text.c for text comparison. Use RETURN_NOT_REACHED to try to avoid warnings about unreachable code. Add volatile_make_int() to fix warning in unix_send_process(). 2002-03-31 Ben Wing <ben@xemacs.org> * s/windowsnt.h: Use new ERROR_CHECK_ALL; not related to DEBUG_XEMACS. 2002-03-31 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (resize_string): * alloc.c (make_string): * alloc.c (make_string_nocopy): * alloc.c (common_init_alloc_once_early): * backtrace.h: * buffer.c: * buffer.c (print_buffer): * buffer.c (Fkill_buffer): * buffer.h: * buffer.h (membpos_to_bytebpos): * bytecode.c (print_compiled_function): * callproc.c (Fold_call_process_internal): * casetab.c (print_case_table): * charset.h (CHARSET_BY_LEADING_BYTE): * charset.h (MAKE_CHAR): * charset.h (breakup_char_1): * chartab.c: * chartab.c (print_chartab_range): * chartab.c (print_chartab_two_byte_charset): * chartab.c (print_char_table): * chartab.c (Fchar_table_p): * chartab.c (Fchar_table_type_list): * chartab.c (Fvalid_char_table_type_p): * chartab.c (Fchar_table_type): * chartab.c (Fput_char_table): * chartab.c (check_category_char): * cmdloop.c: * config.h.in: * console-msw.c (GetConsoleHwnd): * console-stream.c: * console-tty.c: * console-tty.c (tty_init_console): * console.c: * console.c (print_console): * console.h (error_check_console_type): * data.c (print_weak_list): * device-msw.c: * device-msw.c (mswindows_handle_page_setup_dialog_box): * device-msw.c (print_devmode): * device.c: * device.c (print_device): * device.h (error_check_device_type): * dired-msw.c: * dired-msw.c (Fmswindows_insert_directory): * dired.c: * dumper.c: * dumper.c (pdump_file_get): * dumper.c (pdump_resource_get): * dumper.c (pdump_load): * editfns.c: * editfns.c (save_excursion_save): * eldap.c (print_ldap): * elhash.c: * elhash.c (check_hash_table_invariants): * elhash.c (print_hash_table_data): * elhash.c (print_hash_table): * elhash.c (free_hentries): * emacs.c (vars_of_emacs): * eval.c: * eval.c (internal_catch): * eval.c (unwind_to_catch): * eval.c (condition_case_1): * eval.c (check_error_state_sanity): * event-Xt.c: * event-Xt.c (x_to_emacs_keysym): * event-gtk.c (gtk_to_emacs_keysym): * event-msw.c: * event-msw.c (mswindows_wnd_proc): * event-stream.c: * events.c: * events.c (print_event): * events.c (transfer_event_chain_pointer): * extents.c (print_extent_1): * extents.c (print_extent): * faces.c (print_face): * file-coding.c: * file-coding.c (print_coding_system_in_print_method): * file-coding.c (coding_closer): * file-coding.c (make_coding_stream_1): * file-coding.c (make_coding_input_stream): * file-coding.c (make_coding_output_stream): * file-coding.c (encode_decode_coding_region): * file-coding.c (chain_init_coding_streams_1): * file-coding.c (undecided_convert): * file-coding.c (detect_coding_stream): * file-coding.h: * file-coding.h (_coding_system_data): * file-coding.h (XSETCODING_SYSTEM_OF_TYPE): * file-coding.h (struct coding_stream): * fileio.c: * frame-msw.c: * frame.c: * frame.c (print_frame): * frame.h: * frame.h (error_check_frame_type): * glyphs-gtk.c: * glyphs-gtk.c (gtk_print_image_instance): * glyphs-gtk.c (write_lisp_string_to_temp_file): * glyphs-msw.c: * glyphs-msw.c (mswindows_print_image_instance): * glyphs-msw.c (mswindows_progress_gauge_redisplay): * glyphs-shared.c: * glyphs-widget.c: * glyphs-x.c (x_print_image_instance): * glyphs-x.c (x_progress_gauge_redisplay): * glyphs.c: * glyphs.c (print_image_instance): * glyphs.c (print_glyph): * glyphs.h: * glyphs.h (GLYPH_CACHEL_WIDTH): * glyphs.h (GLYPH_CACHEL_GLYPH): * insdel.c (fixup_internal_substring): * insdel.c (buffer_insert_lisp_string_1): * intl-auto-encap-win32.c: * intl-auto-encap-win32.c (qxeGetLongPathName): * intl-auto-encap-win32.h: * intl-encap-win32.c: * intl-encap-win32.c (qxeDefMDIChildProc): * intl-win32.c (mswindows_multibyte_to_unicode_print): * keymap.c (print_keymap): * lisp-union.h: * lisp-union.h (wrap_pointer_1): * lisp.h: * lread.c (Fload_internal): * lrecord.h: * lrecord.h (MAKE_LRECORD_IMPLEMENTATION): * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): * lrecord.h (wrap_record_1): * lstream.c (print_lstream): * lstream.h (error_check_lstream_type): * macros.c: * marker.c: * marker.c (print_marker): * marker.c (unchain_marker): * marker.c (bi_marker_position): * marker.c (set_bi_marker_position): * md5.c: * md5.c (Fmd5): * menubar-x.c: * menubar-x.c (command_builder_operate_menu_accelerator): * menubar.c: * mule-coding.c (iso2022_print): * mule-coding.c (FROB): * ntproc.c (_DebPrint): * ntproc.c (new_child): * ntproc.c (create_child): * ntproc.c (find_child_console): * ntproc.c (kill_will_disappear_soon): * objects-gtk.c (gtk_print_color_instance): * objects-gtk.c (gtk_print_font_instance): * objects-msw.c: * objects-msw.c (mswindows_font_instance_truename): * objects-x.c: * objects-x.c (x_print_color_instance): * objects-x.c (x_print_font_instance): * objects.c: * objects.c (print_color_instance): * objects.c (print_font_instance): * opaque.c: * opaque.c (print_opaque): * opaque.c (print_opaque_ptr): * print.c: * print.c (write_string_1): * print.c (default_object_printer): * print.c (internal_object_printer): * print.c (print_internal): * process-nt.c (send_signal_the_95_way): * process-nt.c (get_internet_address): * process-unix.c (unix_send_process): * process.c: * process.c (print_process): * process.c (init_process_io_handles): * rangetab.c: * rangetab.c (print_range_table): * redisplay-msw.c: * redisplay-output.c (sync_display_line_structs): * redisplay.c: * redisplay.c (ensure_modeline_generated): * redisplay.c (redisplay_without_hooks): * redisplay.c (sledgehammer_check_redisplay_structs_1): * regex.c: * regex.c (re_match_2_internal): * scrollbar-msw.c: * select-msw.c: * select-msw.c (mswindows_selection_data_type_name): * signal.c: * specifier.c: * specifier.c (print_specifier): * specifier.h: * specifier.h (_specifier_data): * symbols.c (mark_symbol_value_buffer_local): * symbols.c (print_symbol_value_magic): * sysdep.c: * syswindows.h: * syswindows.h (ERROR_WHEN_NONINTERCEPTED_FUNS_USED): * text.c: * text.c (bytecount_to_charcount): * text.c (charcount_to_bytecount): * text.c (charbpos_to_bytebpos_func): * text.c (bytebpos_to_charbpos_func): * text.c (dfc_convert_to_external_format): * text.c (dfc_convert_to_internal_format): * text.c (Lstream_get_emchar_1): * text.h: * text.h (DECLARE_INLINE_HEADER): * toolbar-msw.c: * tooltalk.c (print_tooltalk_message): * tooltalk.c (print_tooltalk_pattern): * ui-gtk.c (ffi_object_printer): * ui-gtk.c (emacs_gtk_object_printer): * ui-gtk.c (emacs_gtk_boxed_printer): * unicode.c: * unicode.c (Fchar_to_unicode): * unicode.c (unicode_print): * unicode.c (syms_of_unicode): * window.c: * window.c (print_window): * window.c (print_window_config): Redo error-checking macros: ERROR_CHECK_TYPECHECK -> ERROR_CHECK_TYPES, ERROR_CHECK_CHARBPOS -> ERROR_CHECK_TEXT, add ERROR_CHECK_DISPLAY, ERROR_CHECK_STRUCTURES. Document these in config.h.in. Fix code to follow docs. Fix *_checking_assert() in accordance with new names. Attempt to fix periodic redisplay crash freeing display line structures. Add first implementation of sledgehammer redisplay check. Redo print_*() to use write_fmt_string(), write_fmt_string_lisp(). Fix bug in md5 handling. Rename character-to-unicode to char-to-unicode; same for unicode-to-char{acter}. Move chartab documentation to `make-char-table'. Some header cleanup. Clean up remaining places where nonintercepted Windows calls are being used. 2002-03-29 Jonathan Harris <jonathan@xemacs.org> * device-msw.c (plist_get_margin): Add arg specifying mm or inches * device-msw.c (plist_set_margin): Fix multiplicand used for mm * device-msw.c (mswindows_handle_page_setup_dialog_box): Detect and handle case where machine is set up for metric units * intl-auto-encap-win32.c: * intl-auto-encap-win32.h: * intl-encap-win32.c: Add Get & SetLocaleInfo from winnls.h 2002-03-29 William M. Perry <wmperry@gnu.org> * ui-gtk.c (Fgtk_import_function_internal): (emacs_gtk_object_finalizer): (build_gtk_object): (build_gtk_boxed): Use wrap_emacs_*() instead of wrap_*() for gtk_boxed, gtk_object, ffi 2002-03-24 Ben Wing <ben@xemacs.org> * Makefile.in.in (gui_objs): * Makefile.in.in (objs): Always include gui.c, to fix compile error when TTY-only. * EmacsFrame.c (EmacsFrameSetValues): * abbrev.c: * abbrev.c (abbrev_match_mapper): * abbrev.c (Fexpand_abbrev): * alloc.c: * alloc.c (malloc_warning): * alloc.c (allocate_lisp_storage): * alloc.c (Fcons): * alloc.c (noseeum_cons): * alloc.c (make_float): * alloc.c (make_vector): * alloc.c (Fvector): * alloc.c (make_bit_vector_internal): * alloc.c (make_bit_vector): * alloc.c (make_bit_vector_from_byte_vector): * alloc.c (Fbit_vector): * alloc.c (make_compiled_function): * alloc.c (Fmake_symbol): * alloc.c (allocate_event): * alloc.c (Fmake_marker): * alloc.c (noseeum_make_marker): * alloc.c (mark_string): * alloc.c (string_plist_ptr): * alloc.c (allocate_string_chars_struct): * alloc.c (make_uninit_string): * alloc.c (resize_string): * alloc.c (set_string_char): * alloc.c (Fmake_string): * alloc.c (init_string_ascii_begin): * alloc.c (make_string_nocopy): * alloc.c (make_lcrecord_list): * alloc.c (allocate_managed_lcrecord): * alloc.c (ADDITIONAL_FREE_marker): * alloc.c (verify_string_chars_integrity): * alloc.c (compact_string_chars): * alloc.c (debug_string_purity_print): * alloc.c (UNMARK_string): * alloc.c (common_init_alloc_once_early): * buffer.c (Fdecode_buffer): * buffer.c (finish_init_buffer): * buffer.c (Fother_buffer): * buffer.c (Fcurrent_buffer): * buffer.c (Fbury_buffer): * buffer.c (common_init_complex_vars_of_buffer): * buffer.h (wrap_buffer): * buffer.h (buffer_or_string_charbpos_to_bytebpos): * buffer.h (buffer_or_string_bytebpos_to_charbpos): * buffer.h (buffer_or_string_charbpos_to_membpos): * buffer.h (buffer_or_string_membpos_to_charbpos): * bytecode.c (execute_optimized_program): * bytecode.h (wrap_compiled_function): * callint.c: * callint.c (Fcall_interactively): * callproc.c: * callproc.c (call_process_cleanup): * callproc.c (Fold_call_process_internal): * casetab.c: * casetab.c (allocate_case_table): * casetab.c (set_case_table): * casetab.h (wrap_case_table): * charset.h (wrap_charset): * chartab.c: * chartab.c (mark_char_table): * chartab.c (print_char_table): * chartab.c (Fmake_char_table): * chartab.c (make_char_table_entry): * chartab.c (copy_char_table_entry): * chartab.c (Fcopy_char_table): * chartab.h: * chartab.h (wrap_char_table_entry): * chartab.h (struct Lisp_Char_Table): * chartab.h (wrap_char_table): * cmds.c (Fpoint_at_bol): * console-msw.c: * console-msw.c (DSYMNAME): * console-msw.h (wrap_devmode): * console-msw.h (wrap_mswindows_dialog_id): * console-tty.c (tty_init_console): * console-tty.c (decode_tty_console): * console-x.c: * console-x.c (x_semi_canonicalize_console_connection): * console-x.h: * console.c (allocate_console): * console.c (create_console): * console.c (delete_console_internal): * console.c (common_init_complex_vars_of_console): * console.h (wrap_console): * data.c: * data.c (Faref): * data.c (Faset): * data.c (make_weak_list): * database.c: * database.c (wrap_database): * database.c (print_database): * database.c (finalize_database): * database.c (Fopen_database): * device-gtk.c (decode_gtk_device): * device-gtk.c (gtk_init_device): * device-gtk.c (gtk_delete_device): * device-msw.c (ensure_not_printing): * device-msw.c (Fmsprinter_get_settings): * device-msw.c (Fmsprinter_select_settings): * device-msw.c (Fmsprinter_apply_settings): * device-msw.c (finalize_devmode): * device-msw.c (allocate_devmode): * device-x.c: * device-x.c (decode_x_device): * device-x.c (x_init_device): * device-x.c (x_delete_device): * device-x.c (x_error_handler): * device-x.c (x_IO_error_handler): * device.c (allocate_device): * device.c (Fset_device_selected_frame): * device.c (Fmake_device): * device.c (delete_device_internal): * device.c (Fset_device_class): * device.h (wrap_device): * dialog-msw.c (handle_question_dialog_box): * doc.c: * doc.c (weird_doc): * doc.c (kludgily_ignore_lost_doc_p): * doc.c (verify_doc_mapper): * doprnt.c: * doprnt.c (NEXT_ASCII_BYTE): * doprnt.c (emacs_doprnt_1): * dumper.c (pdump_reloc_one): * dynarr.c (Dynarr_insert_many): * editfns.c (Fstring_to_char): * editfns.c (user_login_name): * editfns.c (Fuser_real_login_name): * editfns.c (Ftranslate_region): * eldap.c (make_ldap): * eldap.h (wrap_ldap): * elhash.c (make_general_lisp_hash_table): * elhash.c (Fcopy_hash_table): * elhash.h (wrap_hash_table): * emacs.c (mswindows_handle_hardware_exceptions_1): * eval.c: * eval.c (Fuser_variable_p): * eval.c (throw_or_bomb_out): * eval.c (Fsignal): * eval.c (restore_current_warning_level): * eval.c (call_with_suspended_errors_1): * eval.c (call_with_suspended_errors): * eval.c (maybe_signal_error_1): * eval.c (maybe_signal_continuable_error_1): * eval.c (eval_in_buffer_trapping_errors): * eval.c (warn_when_safe_lispobj): * eval.c (warn_when_safe): * eval.c (vars_of_eval): * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (handle_focus_event_1): * event-Xt.c (change_frame_visibility): * event-Xt.c (handle_map_event): * event-Xt.c (handle_client_message): * event-Xt.c (emacs_Xt_handle_magic_event): * event-Xt.c (emacs_Xt_select_process): * event-Xt.c (emacs_Xt_select_console): * event-Xt.c (emacs_Xt_unselect_console): * event-Xt.c (emacs_Xt_next_event): * event-gtk.c (handle_focus_event_1): * event-gtk.c (change_frame_visibility): * event-gtk.c (handle_map_event): * event-gtk.c (handle_client_message): * event-gtk.c (emacs_gtk_handle_magic_event): * event-gtk.c (emacs_gtk_select_process): * event-gtk.c (emacs_gtk_select_console): * event-gtk.c (emacs_gtk_unselect_console): * event-gtk.c (dragndrop_data_received): * event-gtk.c (emacs_gtk_next_event): * event-gtk.c (gtk_event_to_emacs_event): * event-gtk.c (emacs_shell_event_handler): * event-msw.c (make_ntpipe_input_stream): * event-msw.c (make_ntpipe_output_stream): * event-msw.c (make_winsock_stream_1): * event-msw.c (mswindows_enqueue_process_event): * event-msw.c (emacs_mswindows_next_event): * event-msw.c (get_process_input_waitable): * event-msw.c (emacs_mswindows_select_process): * event-stream.c (wrap_command_builder): * event-stream.c (event_stream_next_event): * event-stream.c (echo_key_event): * event-stream.c (munge_keymap_translate): * event-stream.c (pre_command_hook): * event-stream.c (dribble_out_event): * event-tty.c (emacs_tty_next_event): * event-unixoid.c (read_event_from_tty_or_stream_desc): * events.c: * events.c (print_event_1): * events.c (print_event): * events.c (nth_of_key_sequence_as_event): * events.c (format_event_object): * events.c (Fevent_window): * events.h: * events.h (wrap_timeout): * events.h (wrap_event): * extents.c: * extents.c (allocate_extent_auxiliary): * extents.c (mark_extent_info): * extents.c (allocate_extent_info): * extents.c (decode_buffer_or_string): * extents.c (buffer_or_string_extent_info): * extents.c (buffer_or_string_extent_info_force): * extents.c (print_extent_2): * extents.c (extent_fragment_update): * extents.c (Fnext_extent): * extents.c (Fprevious_extent): * extents.c (Fnext_e_extent): * extents.c (Fprevious_e_extent): * extents.c (Fset_extent_parent): * extents.c (set_extent_endpoints_1): * extents.c (copy_extent): * extents.c (destroy_extent): * extents.c (Fmake_extent): * extents.c (Fcopy_extent): * extents.c (slow_map_extents_function): * extents.c (slow_map_extent_children_function): * extents.c (extent_at_mapper): * extents.c (report_extent_modification_mapper): * extents.c (Fextent_properties): * extents.c (Fforce_highlight_extent): * extents.c (run_extent_copy_paste_internal): * extents.c (insert_extent): * extents.c (splice_in_string_extents): * extents.c (put_text_prop_mapper): * extents.c (put_text_prop_openness_mapper): * extents.c (put_text_prop): * extents.h (wrap_extent): * extents.h (wrap_extent_auxiliary): * extents.h (wrap_extent_info): * faces.c: * faces.c (face_property_matching_instance): * faces.c (Fmake_face): * faces.c (init_device_faces): * faces.c (init_frame_faces): * faces.c (ensure_face_cachel_contains_charset): * faces.c (add_face_cachel): * faces.c (get_builtin_face_cache_index): * faces.c (get_extent_fragment_face_cache_index): * faces.c (update_frame_face_values): * faces.c (complex_vars_of_faces): * faces.h (wrap_face): * faces.h (FACE_PROPERTY_INSTANCE): * faces.h (FACE_FONT): * file-coding.c: * file-coding.c (setup_eol_coding_systems): * file-coding.c (make_coding_system_1): * file-coding.c (Fcopy_coding_system): * file-coding.c (make_coding_stream_1): * file-coding.c (convert_eol_print): * file-coding.c (convert_eol_putprop): * file-coding.c (convert_eol_getprop): * file-coding.c (detected_coding_system): * file-coding.c (complex_vars_of_file_coding): * file-coding.h: * file-coding.h (wrap_coding_system): * file-coding.h (XSETCODING_SYSTEM_OF_TYPE): * fileio.c (build_annotations): * fileio.c (auto_save_expand_name_error): * fileio.c (Fdo_auto_save): * filelock.c (lock_file): * fns.c (Fstring_equal): * fns.c (Fstring_lessp): * fns.c (Fstring_modified_tick): * fns.c (bump_string_modiff): * fns.c (Fsubstring): * fns.c (bad_bad_bunny): * fns.c (bad_bad_turtle): * fns.c (Ffillarray): * frame-gtk.c (decode_gtk_frame): * frame-gtk.c (gtk_set_frame_properties): * frame-gtk.c (resize_event_cb): * frame-gtk.c (delete_event_cb): * frame-gtk.c (cleanup_deleted_frame): * frame-gtk.c (gtk_get_mouse_position): * frame-gtk.c (gtk_update_frame_external_traits): * frame-msw.c: * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_set_frame_properties): * frame-msw.c (error_frame_unsizable): * frame-tty.c (tty_schedule_frame_select): * frame-x.c: * frame-x.c (decode_x_frame): * frame-x.c (x_wm_maybe_store_wm_command): * frame-x.c (x_set_frame_properties): * frame-x.c (x_get_mouse_position): * frame-x.c (x_update_frame_external_traits): * frame.c (allocate_frame_core): * frame.c (setup_normal_frame): * frame.c (setup_minibuffer_frame): * frame.c (Fmake_frame): * frame.c (adjust_frame_size): * frame.c (device_selected_frame): * frame.c (Flast_nonminibuf_frame): * frame.c (Fset_frame_selected_window): * frame.c (Fnext_frame): * frame.c (Fprevious_frame): * frame.c (other_visible_frames): * frame.c (delete_frame_internal): * frame.c (Fdelete_frame): * frame.c (Fmouse_pixel_position): * frame.c (Fmouse_position): * frame.c (store_minibuf_frame_prop): * frame.c (dissect_as_face_setting): * frame.c (Fset_frame_properties): * frame.c (Fframe_property): * frame.c (Fframe_properties): * frame.c (Fset_frame_height): * frame.c (Fset_frame_width): * frame.c (Fset_frame_size): * frame.c (frame_conversion_internal): * frame.c (change_frame_size_1): * frame.c (update_frame_icon): * frame.h (wrap_frame): * free-hook.c (Freally_free): * general-slots.h: * glyphs-eimage.c: * glyphs-eimage.c (png_instantiate): * glyphs-gtk.c (extract_xpm_color_names): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-gtk.c (gtk_redisplay_widget): * glyphs-msw.c (init_image_instance_from_dibitmap): * glyphs-msw.c (extract_xpm_color_names): * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (init_image_instance_from_xbm_inline): * glyphs-widget.c (check_valid_item_list): * glyphs-x.c (extract_xpm_color_names): * glyphs-x.c (x_xpm_instantiate): * glyphs-x.c (x_redisplay_widget): * glyphs.c: * glyphs.c (check_window_subwindow_cache): * glyphs.c (allocate_image_instance): * glyphs.c (decode_error_behavior_flag): * glyphs.c (encode_error_behavior_flag): * glyphs.c (invalidate_glyph_geometry_maybe): * glyphs.c (image_going_to_add): * glyphs.c (allocate_glyph): * glyphs.c (glyph_image_instance_maybe): * glyphs.c (Fglyph_width): * glyphs.c (Fglyph_ascent): * glyphs.c (Fglyph_descent): * glyphs.c (Fglyph_height): * glyphs.c (set_glyph_dirty_p): * glyphs.c (glyph_baseline): * glyphs.c (glyph_contrib_p): * glyphs.c (glyph_query_geometry): * glyphs.c (glyph_do_layout): * glyphs.c (update_glyph_cachel_data): * glyphs.c (mark_glyph_cachels_as_clean): * glyphs.c (unmap_subwindow): * glyphs.c (map_subwindow): * glyphs.c (add_glyph_animated_timeout): * glyphs.c (disable_glyph_animated_timeout): * glyphs.h: * glyphs.h (IMAGE_SPECIFIERP): * glyphs.h (wrap_image_instance): * glyphs.h (wrap_glyph): * gpmevent.c: * gpmevent.c (struct __gpm_state): * gpmevent.c (store_gpm_state): * gpmevent.c (restore_gpm_state): * gpmevent.c (clear_gpm_state): * gpmevent.c (Freceive_gpm_event): * gpmevent.c (turn_off_gpm): * gpmevent.c (tty_get_foreign_selection): * gpmevent.c (tty_selection_exists_p): * gpmevent.c (tty_own_selection): * gpmevent.c (tty_get_mouse_position): * gpmevent.c (tty_set_mouse_position): * gpmevent.c (gpm_event_pending_p): * gpmevent.c (gpm_next_event_cb): * gpmevent.c (hook_event_callbacks_once): * gpmevent.c (hook_console_methods_once): * gpmevent.c (Fgpm_enabled_p): * gpmevent.c (Fgpm_enable): * gpmevent.c (vars_of_gpmevent): * gpmevent.c (syms_of_gpmevent): * gtk-xemacs.c (smash_scrollbar_specifiers): * gtk-xemacs.c (smash_toolbar_specifiers): * gui-msw.c (mswindows_handle_gui_wm_command): * gui-x.c: * gui-x.c (gcpro_popup_callbacks): * gui-x.c (popup_selection_callback): * gui-x.c (button_item_to_widget_value): * gui-x.h (wrap_popup_data): * gui.c: * gui.c (FROB): * gui.c (gui_item_add_keyval_pair): * gui.c (allocate_gui_item): * gui.c (make_gui_item_from_keywords_internal): * gui.c (update_gui_item_keywords): * gui.c (gui_parse_item_keywords_no_errors): * gui.c (gui_item_display_flush_right): * gui.c (print_gui_item): * gui.c (finalize_gui_item): * gui.c (gui_error): * gui.c (gui_error_2): * gui.h (wrap_gui_item): * gutter.c (output_gutter): * gutter.h (GUTTER_SPECIFIERP): * indent.c: * indent.c (last_visible_position): * indent.c (string_column_at_point): * indent.c (Findent_to): * indent.c (Fcurrent_indentation): * indent.c (Fmove_to_column): * input-method-xlib.c: * input-method-xlib.c (XIM_init_device): * input-method-xlib.c (XIM_init_frame): * insdel.c: * insdel.c (begin_multiple_change): * insdel.c (signal_first_change): * insdel.c (signal_before_change): * insdel.c (signal_after_change): * insdel.c (prepare_to_modify_buffer): * insdel.c (buffer_insert_string_1): * insdel.c (barf_if_buffer_read_only): * keymap.c: * keymap.c (keymap_lookup_directly): * keymap.c (keymap_store): * keymap.c (make_keymap): * keymap.c (define_key_check_and_coerce_keysym): * keymap.c (key_desc_list_to_event): * keymap.c (Fdefine_key): * keymap.c (Flookup_key): * keymap.c (get_relevant_keymaps): * keymap.c (minor_mode_keymap_predicate): * keymap.c (map_keymap_sort_predicate): * keymap.c (Fkey_description): * keymap.c (Fsingle_key_description): * keymap.c (where_is_to_char): * keymap.c (format_raw_keys): * keymap.c (where_is_recursive_mapper): * keymap.c (where_is_internal): * keymap.h (wrap_keymap): * lisp-disunion.h: * lisp-union.h (XPNTRVAL): * lisp-union.h (make_int): * lisp-union.h (make_char): * lisp-union.h (wrap_pointer_1): * lisp.h: * lisp.h (dynarr): * lisp.h (error_behavior): * lisp.h (wrap_cons): * lisp.h (struct Lisp_String): * lisp.h (wrap_string): * lisp.h (set_string_char): * lisp.h (wrap_vector): * lisp.h (wrap_bit_vector): * lisp.h (struct Lisp_Symbol): * lisp.h (SYMBOL_IS_KEYWORD): * lisp.h (wrap_symbol): * lisp.h (XSYMBOL_NEXT): * lisp.h (wrap_subr): * lisp.h (wrap_marker): * lisp.h (wrap_float): * lisp.h (FLOATP): * lisp.h (wrap_weak_list): * lisp.h (wrap_lcrecord_list): * lread.c (Fread_from_string): * lrecord.h: * lrecord.h (wrap_toolbar_button): * lrecord.h (wrap_record_1): * lstream.c (Lstream_delete): * lstream.c (make_stdio_stream_1): * lstream.c (make_filedesc_stream_1): * lstream.c (make_lisp_string_input_stream): * lstream.c (make_fixed_buffer_input_stream): * lstream.c (make_fixed_buffer_output_stream): * lstream.c (make_resizing_buffer_output_stream): * lstream.c (make_dynarr_output_stream): * lstream.c (make_lisp_buffer_stream_1): * lstream.h (wrap_lstream): * marker.c (mark_marker): * marker.c (Fmarker_buffer): * marker.c (init_buffer_markers): * menubar-gtk.c (__generic_button_callback): * menubar-gtk.c (menu_descriptor_to_widget_1): * menubar-msw.c (mswindows_handle_wm_command): * menubar-x.c (pre_activate_callback): * menubar-x.c (set_frame_menubar): * menubar-x.c (x_popup_menu): * menubar.c (Fnormalize_menu_item_name): * minibuf.c: * minibuf.c (Ftry_completion): * minibuf.c (Fall_completions): * minibuf.c (clear_echo_area_internal): * minibuf.c (echo_area_append): * minibuf.c (echo_area_status): * mule-canna.c (Fcanna_touroku_string): * mule-canna.c (Fcanna_change_mode): * mule-canna.c (Fcanna_do_function): * mule-ccl.c (Fccl_execute): * mule-charset.c: * mule-charset.c (print_charset): * mule-charset.c (make_charset): * mule-charset.c (Fmake_charset): * mule-charset.c (Fcharset_id): * mule-charset.c (syms_of_mule_charset): * mule-wnnfns.c (Fwnn_inspect): * native-gtk-toolbar.c (gtk_output_toolbar): * objects-msw.c: * objects-msw.c (mswindows_print_color_instance): * objects-msw.c (mswindows_color_instance_equal): * objects-msw.c (mswindows_color_instance_hash): * objects-msw.c (mswindows_print_font_instance): * objects-msw.c (mswindows_font_instance_truename): * objects-msw.c (mswindows_font_spec_matches_charset): * objects-tty.c: * objects-tty.c (tty_font_spec_matches_charset): * objects-x.c (x_font_instance_truename): * objects.c: * objects.c (finalose): * objects.c (Fmake_color_instance): * objects.c (font_instance_equal): * objects.c (font_instance_hash): * objects.c (Fmake_font_instance): * objects.c (Flist_fonts): * objects.c (reinit_vars_of_objects): * objects.h (COLOR_SPECIFIERP): * objects.h (FONT_SPECIFIERP): * objects.h (FACE_BOOLEAN_SPECIFIERP): * objects.h (wrap_color_instance): * objects.h (wrap_font_instance): * opaque.c (make_opaque): * opaque.h (wrap_opaque): * opaque.h (wrap_opaque_ptr): * postgresql.c (make_pgconn): * postgresql.c (make_pgresult): * postgresql.h (wrap_pgconn): * postgresql.h (wrap_pgresult): * print.c: * print.c (output_string): * print.c (write_eistring): * print.c (temp_output_buffer_setup): * print.c (print_string): * print.c (print_internal): * print.c (print_symbol): * process-unix.c: * process-unix.c (unix_canonicalize_host_name): * process.c (make_process_internal): * process.c (init_process_io_handles): * process.c (Fprocess_send_region): * process.c (status_message): * process.c (status_notify): * process.c (decode_signal): * process.c (handle_signal): * process.h (PROCESSP): * process.h (wrap_process): * rangetab.c (Fmake_range_table): * rangetab.c (Fcopy_range_table): * rangetab.h (wrap_range_table): * redisplay-gtk.c (gtk_output_display_block): * redisplay-gtk.c (gtk_output_string): * redisplay-gtk.c (gtk_output_pixmap): * redisplay-gtk.c (gtk_clear_to_window_end): * redisplay-gtk.c (gtk_output_eol_cursor): * redisplay-gtk.c (gtk_clear_frame): * redisplay-gtk.c (gtk_flash): * redisplay-msw.c: * redisplay-msw.c (mswindows_output_string): * redisplay-msw.c (mswindows_output_pixmap): * redisplay-msw.c (mswindows_output_display_block): * redisplay-output.c: * redisplay-output.c (compare_runes): * redisplay-output.c (get_cursor_size_and_location): * redisplay-output.c (clear_left_border): * redisplay-output.c (clear_right_border): * redisplay-output.c (output_display_line): * redisplay-output.c (redisplay_output_subwindow): * redisplay-output.c (redisplay_output_layout): * redisplay-output.c (redisplay_output_pixmap): * redisplay-output.c (redisplay_clear_top_of_window): * redisplay-output.c (redisplay_clear_to_window_end): * redisplay-tty.c: * redisplay-tty.c (tty_output_display_block): * redisplay-tty.c (tty_clear_to_window_end): * redisplay-tty.c (tty_turn_on_frame_face): * redisplay-tty.c (tty_turn_off_frame_face): * redisplay-x.c: * redisplay-x.c (x_output_display_block): * redisplay-x.c (x_output_string): * redisplay-x.c (x_output_eol_cursor): * redisplay-x.c (x_clear_frame): * redisplay-x.c (x_flash): * redisplay.c: * redisplay.c (redisplay_text_width_emchar_string): * redisplay.c (redisplay_frame_text_width_string): * redisplay.c (add_emchar_rune_1): * redisplay.c (add_intbyte_string_runes): * redisplay.c (add_disp_table_entry_runes_1): * redisplay.c (add_glyph_rune): * redisplay.c (create_text_block): * redisplay.c (create_overlay_glyph_block): * redisplay.c (create_left_glyph_block): * redisplay.c (create_right_glyph_block): * redisplay.c (generate_formatted_string_db): * redisplay.c (generate_fstring_runes): * redisplay.c (create_string_text_block): * redisplay.c (call_redisplay_end_triggers): * redisplay.c (redisplay_frame): * redisplay.c (start_with_point_on_display_line): * redisplay.c (glyph_to_pixel_translation): * redisplay.c (pixel_to_glyph_translation): * scrollbar-gtk.c (gtk_scrollbar_pointer_changed_in_window): * scrollbar-msw.c (mswindows_handle_mousewheel_event): * scrollbar-x.c (x_scrollbar_pointer_changed_in_window): * scrollbar.c (init_frame_scrollbars): * scrollbar.c (init_device_scrollbars): * scrollbar.h (wrap_scrollbar_instance): * search.c: * search.c (fixup_search_regs_for_string): * search.c (looking_at_1): * search.c (string_match_1): * search.c (bi_find_next_emchar_in_string): * search.c (search_buffer): * search.c (set_search_regs): * search.c (wordify): * search.c (Freplace_match): * search.c (Fstore_match_data): * select-gtk.c (gtk_own_selection): * select-x.c: * sound.c: * sound.c (Fding): * sound.c (vars_of_sound): * specifier.c: * specifier.c (make_specifier_internal): * specifier.c (canonicalize_tag_set): * specifier.c (setup_device_initial_specifier_tags): * specifier.c (NOTE): New. * specifier.c (recompute_one_cached_specifier_in_window): * specifier.c (recompute_one_cached_specifier_in_frame): * specifier.h: * specifier.h (wrap_specifier): * specifier.h (GENERIC_SPECIFIERP): * specifier.h (INTEGER_SPECIFIERP): * specifier.h (NATNUM_SPECIFIERP): * specifier.h (BOOLEAN_SPECIFIERP): * specifier.h (DISPLAYTABLE_SPECIFIERP): * strftime.c (add_num_time_t): * symbols.c: * symbols.c (mark_symbol): * symbols.c (Fintern): * symbols.c (Fintern_soft): * symbols.c (Funintern): * symbols.c (oblookup): * symbols.c (map_obarray): * symbols.c (Fsymbol_name): * symbols.c (set_up_buffer_local_cache): * symbols.c (flush_all_buffer_local_cache): * symbols.c (Fset): * symbols.c (Fdefvaralias): * symbols.c (init_symbols_once_early): * symbols.c (defsubr): * symbols.c (defsubr_macro): * symbols.c (defvar_magic): * symeval.h: * symeval.h (wrap_symbol_value_magic): * syntax.h: * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR): * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR): * text.c (get_buffer_pos_char): * text.c (get_buffer_range_char): * text.c (get_string_pos_byte): * text.c (get_string_range_byte): * text.h: * text.h (eiinit): * text.h (eiinit_malloc): * toolbar-common.c: * toolbar-common.c (common_output_toolbar_button): * toolbar-common.c (common_output_toolbar): * toolbar-common.c (common_clear_toolbar): * toolbar-msw.c: * toolbar-msw.c (mswindows_output_toolbar): * toolbar-msw.c (mswindows_handle_toolbar_wm_command): * toolbar.c (update_toolbar_button): * toolbar.c (init_frame_toolbars): * toolbar.c (init_device_toolbars): * toolbar.h (wrap_toolbar_button): * toolbar.h (TOOLBAR_SPECIFIERP): * tooltalk.c (make_tooltalk_message): * tooltalk.c (make_tooltalk_pattern): * tooltalk.c (init_tooltalk): * tooltalk.h (wrap_tooltalk_message): * tooltalk.h (wrap_tooltalk_pattern): * ui-gtk.c (Fgtk_import_function_internal): * ui-gtk.c (emacs_gtk_object_finalizer): * ui-gtk.c (build_gtk_object): * ui-gtk.c (build_gtk_boxed): * ui-gtk.c (lisp_to_gtk_type): * ui-gtk.h (wrap_emacs_ffi): * ui-gtk.h (wrap_emacs_gtk_object): * ui-gtk.h (wrap_emacs_gtk_boxed): * undo.c (undo_prelude): * vm-limit.c: * vm-limit.c (memory_warnings): * window.c: * window.c (allocate_window): * window.c (window_is_leftmost): * window.c (window_is_rightmost): * window.c (window_is_highest): * window.c (window_is_lowest): * window.c (margin_width_internal): * window.c (Fnext_window): * window.c (Fprevious_window): * window.c (Fnext_vertical_window): * window.c (window_loop): * window.c (buffer_window_count): * window.c (Fdelete_other_windows): * window.c (list_windows): * window.c (make_dummy_parent): * window.c (window_pixel_height_to_char_height): * window.c (window_char_height_to_pixel_height): * window.c (window_displayed_height): * window.c (window_pixel_width_to_char_width): * window.c (window_char_width_to_pixel_width): * window.c (change_window_height): * window.c (Fmove_to_window_line): * window.c (wrap_window_configuration): * window.c (Fcurrent_window_configuration): * window.h (wrap_window): * window.h (wrap_window_mirror): Eliminate XSETFOO. Replace all usages with wrap_foo(). Make symbol->name a Lisp_Object, not Lisp_String *. Eliminate nearly all uses of Lisp_String * in favor of Lisp_Object, and correct macros so most of them favor Lisp_Object. Create new error-behavior ERROR_ME_DEBUG_WARN -- output warnings, but at level `debug' (usually ignored). Use it when instantiating specifiers, so problems can be debugged. Move log-warning-minimum-level into C so that we can optimize ERROR_ME_DEBUG_WARN. Fix warning levels consistent with new definitions. Add default_ and parent fields to char table; not yet implemented. New fun Dynarr_verify(); use for further error checking on Dynarrs. Rearrange code at top of lisp.h in conjunction with dynarr changes. Fix eifree(). Use Eistrings in various places (format_event_object(), where_is_to_char(), and callers thereof) to avoid fixed-size strings buffers. New fun write_eistring(). Reindent and fix GPM code to follow standards. Set default MS Windows font to Lucida Console (same size as Courier New but less interline spacing, so more lines fit). Increase default frame size on Windows to 50 lines. (If that's too big for the workspace, the frame will be shrunk as necessary.) Fix problem with text files with no newlines (). (Change `convert-eol' coding system to use `nil' for autodetect, consistent with make-coding-system.) Correct compile warnings in vm-limit.c. Fix handling of reverse-direction charsets to avoid errors when opening (e.g.) mule-ucs/lisp/reldata/uiso8859-6.el. Recode some object printing methods to use write_fmt_string() instead of a fixed buffer and sprintf. Turn on display of png comments as warnings (level `info'), now that they're unobtrusive. Revamped the sound documentation. Fixed bug in redisplay w.r.t. hscroll/truncation/continuation glyphs causing jumping up and down of the lines, since they're bigger than the line size. (It was seen most obviously when there's a horizontal scroll bar, e.g. do C-h a glyph or something like that.) The problem was that the glyph-contrib-p setting on glyphs was ignored even if it was set properly, which it wasn't until now. 2002-03-14 Mike Alexander <mta@arbortext.com> * event-msw.c (mswindows_unwait_process): New, remove process from wait list * process-nt.c (nt_finalize_process_data): Call mswindows_unwait_process * console-msw.h: Declare mswindows_unwait_process 2002-03-21 William M. Perry <wmperry@gnu.org> * event-gtk.c (emacs_gtk_force_event_pending): Bogus definition that does nothing right now. (reinit_vars_of_event_gtk): Register a force_event_pending handler. This seems to cure the crashes at startup caused by the progress bar. 2002-03-21 Malcolm Purvis <malcolmpurvis@optushome.com.au> * event-gtk.c (emacs_gtk_format_magic_event): Fixed compilation typos. 2002-03-20 Ben Wing <ben@xemacs.org> * chartab.c: * chartab.c (Fcheck_category_at): * chartab.c (Fchar_in_category_p): Fix bugs in implementation and doc strings. * config.h.in (type_checking_assert_at_line): Add foo_checking_assert_at_line() macros. Not clear whether these are actually useful, though; I'll take them out if not. * symsinit.h: * emacs.c: * emacs.c (main_1): Some improvements to the timeline. Rearrange a bit the init calls. Add call for reinit_vars_of_object_mswindows() and declare in symsinit.h. * event-Xt.c: * event-Xt.c (emacs_Xt_format_magic_event): * event-Xt.c (describe_event_window): * event-Xt.c (describe_event): * event-Xt.c (emacs_Xt_event_handler): * event-Xt.c (reinit_vars_of_event_Xt): * event-gtk.c: * event-gtk.c (emacs_gtk_format_magic_event): * event-gtk.c (reinit_vars_of_event_gtk): * event-msw.c: * event-msw.c (emacs_mswindows_format_magic_event): * event-msw.c (reinit_vars_of_event_mswindows): * event-stream.c: * event-stream.c (event_stream_operation): * event-stream.c (check_event_stream_ok): * event-stream.c (event_stream_handle_magic_event): * event-tty.c: * event-tty.c (emacs_tty_format_magic_event): * event-tty.c (reinit_vars_of_event_tty): * events.c: * events.c (event_equal): * events.c (event_hash): * events.c (format_event_object): * events.h: * events.h (struct event_stream): * events.h (union magic_data): Introduce new event methods for printing, comparing, and hashing magic events, to avoid event-type-specific stuff that had crept into events.c. (And was crashing, since the channel in MS Windows magic events may be nil.) Implement the methods in event-{tty,gtk,Xt,mswindows}.c. Make wrapping functions event_stream_{compare,hash,format}_magic_event() to check if everything's OK and call the actual callback. Fix events.c to use the new methods. Add a new event-stream-operation EVENT_STREAM_NOTHING -- event stream not actually required to be able to do anything, just be open. (#### This event-stream-operation stuff needs to be rethought.) Fixed describe_event() in event-Xt.c to print its output to a stream, not always to stderr, so it can be used elsewhere. (e.g. in print-event when a magic event is encountered?) * lisp.h: * lisp.h (XCHAR_1): * lisp.h (XCHAR): * lisp.h (XINT_1): * lisp.h (XCHAR_OR_INT_1): * lrecord.h: * lrecord.h (DECLARE_LRECORD): * lrecord.h (DECLARE_EXTERNAL_LRECORD): * lrecord.h (DECLARE_NONRECORD): * lrecord.h (XRECORD): * lrecord.h (wrap_record_1): * lrecord.h (wrap_record): Define new assert_at_line(), for use in asserts inside of inline functions. The assert will report the line and file of the inline function, which is almost certainly not what you want as it's useless. what you want to see is where the pseudo-macro was called from. So, when error-checking is on, we pass in the line and file into the macros, for accurate printout using assert_at_line(). Happens only when error-checking is defined so doesn't slow down non-error-checking builds. Fix XCHAR, XINT, XCHAR_OR_INT, XFOO, and wrap_foo() in this fashion. * lstream.c: * lstream.c (resizing_buffer_stream_ptr): * lstream.h: Add resizing_buffer_to_lisp_string(). * objects-gtk.c (gtk_find_charset_font): Fix typo. * objects-msw.c: * objects-msw.c (create_hfont_from_font_spec): * objects-msw.c (initialize_font_instance): * objects-msw.c (mswindows_font_spec_matches_charset_stage_1): * objects-msw.c (mswindows_font_spec_matches_charset): * objects-msw.c (reinit_vars_of_object_mswindows): * objects-msw.c (vars_of_objects_mswindows): Implement a smarter way of determining whether a font matches a charset. Formerly we just looked at the "script" element of the font spec, converted it to a code page, and compared it with the code page derived from the charset. Now, as well as doing this, we ask the font for the list of unicode ranges it supports, see what range the charset falls into (#### bogus! need to do this char-by-char), and see if any of the font's supported ranges include the charset's range. also do some caching in Vfont_signature_data of previous inquiries. * charset.h: * text.c (Fmake_char): * mule-charset.c (get_charset_limits): New fun; extracted out of Fmake_char() and declare prototype in charset.h. * text.h: introduce assert_by_line() to make REP_BYTES_BY_FIRST_BYTE report the file and line more accurately in an assertion failure. * unicode.c (char_to_unicode): make non-static (used in objects-msw.c), declare in charset.h. 2002-03-18 Ben Wing <ben@xemacs.org> * process.c: * process.c (init_process_io_handles): Obey coding-system-for-{read,write} if set. 2002-03-18 Ben Wing <ben@xemacs.org> * fns.c: * fns.c (Frequire): * fns.c (vars_of_fns): * lread.c: * lread.c (Fload_internal): * lread.c (PRINT_LOADING_MESSAGE_1): Add variable require-prints-loading-message to cause loading messages to get printed when a file is loading during a `require', which normally doesn't happen. This can be set using env var XEMACSDEBUG to debug problems with non-interactive compilation. Modify load-internal so it prints "Requiring: ..." instead of "Loading: ..." when appropriate. 2002-03-16 Ben Wing <ben@xemacs.org> * cm.c (cmgoto): * file-coding.c: * file-coding.c (detection_result_symbol_to_number): fix warnings. 2002-03-16 IKEYAMA Tomonori <tomonori@suiyokai.org> * unicode.c (add_charsets_to_precedence_list): Fix passing wrong argument to XCHARSET_LEADING_BYTE. 2002-03-15 Jonathan Harris <jhar@tardis.ed.ac.uk> * intl-encap-win32.c (copy_shfileinfoa_to_shfileinfow): Take size parameter and assert it's big enough. * intl-encap-win32.c (qxeSHGetFileInfo): Deal with the case where no fileinfo structure is passed in. 2002-03-14 Jonathan Harris <jhar@tardis.ed.ac.uk> * intl-encap-win32.c: Remove EncryptFile, DecryptFile & mciGetDeviceIDFromElementID - APIs are not available on Win98 * intl-auto-encap-win32.c: ditto * intl-auto-encap-win32.h: ditto * intl-encap-win32.c: Remove 'dir' command. 2002-03-13 William M. Perry <wmperry@gnu.org> * ui-gtk.c (__allocate_object_storage): Make static to avoid warnings. (type_to_marshaller_type): Ditto. * symsinit.h: Added some missing *_gtk_* functions to avoid warnings. * select-gtk.c: Add extern definitions of lisp_to_time and time_to_lisp to avoid warnings. * redisplay-gtk.c (gtk_flash): reorder select/poll stuff to avoid warning about 'poll' being implicitly defined. Mirrors change made to redisplay-x.c some time ago. (gtk_bevel_area): Fix unused variable warning. * gtk-xemacs.c (smash_face_fallbacks): ifdef this out to avoid warnings. * glyphs-gtk.c (write_lisp_string_to_temp_file): Fix 'grpro3' typo. (gtk_locate_pixmap_file): Use split_external_path instead of decode_path. * gccache-gtk.c (gc_cache_hash): Fix signed/unsigned warning. * event-gtk.c: event-mods.h no longer needed. event-gtk.h is. * emacs-marshals.c (our_string_hash): Make this function static to avoid warnings. * device-gtk.c (gtk_event_name): Fix signed/unsigned warning. * event-gtk.h: New header file to hold declarations from event-gtk.c that are used in other files. The quest to remove compilation warnings from GTK files begins. 2002-03-15 Ben Wing <ben@xemacs.org> * config.h.in: * sysdep.c: * sysdep.c (get_process_times_1): * sysfile.h: * systime.h: add HAVE_SYS_TIMES_H and use it to include sys/times.h, used for struct tms in new POSIX() function times(). 2002-03-15 Ben Wing <ben@xemacs.org> * .cvsignore: ignore .tmp files that are getting auto-created by VC. * Makefile.in.in (release): * Makefile.in.in (fastdump): * Makefile.in.in (dynodump_deps): * Makefile.in.in (dump-elcs): * Makefile.in.in (batch_test_emacs): * Makefile.in.in (run-rtcmacs): Use -no-packages to avoid problems with package files shadowing core files (e.g. unicode.el in mule-ucs). * alloc.c (disksave_object_finalization): * emacs.c: * emacs.c (argmatch): * emacs.c (main_1): * emacs.c (standard_args): * emacs.c (vars_of_emacs): * lisp.h: add new -no-packages. make sure list of args for sorting is actually correct. clean up arg parsing code. 2002-03-12 Ben Wing <ben@xemacs.org> * The Great Mule Merge: placeholder. 2002-01-31 John H. Palmieri <palmieri@math.washington.edu> * dired.c (Ffile_name_all_completions): Change documentation -- remove reference to completion-ignored-extensions. * dired.c (vars_of_dired): Change documentation for completion-ignored-extensions -- remove reference to file-name-all-completions. 2002-03-05 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.5 "beets" is released. 2002-03-04 Stephen J. Turnbull <stephen@xemacs.org> * fileio.c (Fwrite_region_internal): Document use of start == Qnil. 2001-09-04 Daiki Ueno <ueno@unixuser.org> * insdel.c (prepare_to_modify_buffer): Don't call the function ask-user-about-supersession-threat when CLASH_DETECTION is set. 2002-02-13 Ben Wing <ben@xemacs.org> * event-stream.c (reset_key_echo): * event-stream.c (reset_this_command_keys): * event-stream.c (execute_command_event): If console is dead as a result of C-x 5 0, then post-command stuff needs to be careful and do only non-console-specific stuff. 2002-02-11 Mike Sperber <mike@xemacs.org> * device-x.c: (x_IO_error_handler): (x_init_device): Temporarily keep device in static variable `device_being_initialized' so we can recover gracefully from internal XOpenDevice failure. (XOpenDevice is documented to return NULL on failure, but sometimes calls the IO error handler instead.) 2002-02-12 Stephen J. Turnbull <stephen@xemacs.org> * fileio.c (Ffind_file_name_handler): Improve docstring. 2002-01-20 Stephen J. Turnbull <stephen@xemacs.org> * fns.c (Fmapconcat): Improve docstring. 2002-01-03 Eric Gillespie, Jr. <epg@pretzelnet.org> * device-gtk.c: Add prototype for emacs_gtk_selection_clear_event_handle. (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD selection. Setup signal handler for "selection_clear_event" (emacs_gtk_selection_clear_event_handle). * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle other applications owning the clipboard (based on x_handle_selection_clear). 2002-02-02 William M. Perry <wmperry@gnu.org> * winslots.h: New toolbar_shadow_thickness slot. * toolbar.c (Vtoolbar_shadow_thickness): New specifier to control thickness of toolbar shadows instead of relying on X resourcs. (toolbar_shadows_changed): New function to redraw toolbars if the thickness specifier is changed. (specifier_vars_of_toolbar): Arrange for caching and defaults for toolbar-shadow-thickness. * toolbar-x.c: Use the new redisplay-based toolbar code. * toolbar-common.c (__prepare_button_area): Look at toolbar-shadow-thickness specifier instead of window-system specific stuff. * gtk-xemacs.c (smash_scrollbar_specifiers): New function to set the toolbar-shadow-thickness specifier from GTK styles. * frameslots.h: New toolbar_shadow_thickness slot. * glyphs-gtk.c (extract_xpm_color_names): Resurrect the xpm color symbols stuff because the GTK XPM libraries do very weird things if you don't specify the transparency at all. Reverting the patch of 12/22/01. 2002-01-26 Stephen J. Turnbull <stephen@xemacs.org> * ChangeLog (2001-09-19 Ben Wing): Entry dosed with Dramamine. * README.integral-types: New file excised from ChangeLog. 2002-01-19 Jan Vroonhof <jan@xemacs.org> * cmdloop.c: New variable Qdisabled_command_loop. Move Vdisabled_command_loop declaration here. * cmdloop.c (syms_of_cmdloop): Declare Qdisabled_command_loop. * eval.c (Fcommand_execute): Use the value of the symbol not the value of the value as the hook to run. * event-stream.c: Remove declaration of Vdisabled_command_loop * lisp.h: Declare Qdisabled_command_loop 2002-01-15 Adrian Aichner <adrian@xemacs.org> * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW to fix problem switching between virtual desktops under virtuawin virtual window manager. 2002-01-10 Stephen J. Turnbull <stephen@xemacs.org> * mule-charset.c (global): (syms_of_mule_charset): (complex_vars_of_mule_charset): Declare and initialize Vcharset_latin_iso8859_15. * mule-charset.h (LEADING_BYTE_OFFICIAL_1): Add LATIN_ISO8859_15. 2002-01-08 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.4 "bamboo" is released. 2001-07-22 Stephen J. Turnbull <stephen@xemacs.org> * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup. * process-unix.c (unix_canonicalize_host_name): sysdep.c (init_system_name): Use it to conditionally support IPv6 canonicalization. 2002-01-04 Martin Buchholz <martin@xemacs.org> * keymap.c (define_key_alternate_name): Parenthesize EQ. 2001-12-22 William M. Perry <wmperry@gnu.org> * glyphs-gtk.c (gtk_xpm_instantiate): Don't bother doing the xpm-color-symbols checks, they are impossible to implement with GTK's XPM implementation. :( 2001-12-13 William M. Perry <wmperry@gnu.org> * select-gtk.c (gtk_own_selection): Update to follow the new method signature. Ignore owned_p as it appears to only be used for motif hacks. * redisplay-gtk.c (gtk_output_string): Fixed some warnings about signed/unsigned comparison. (gtk_output_gdk_pixmap): Remove clipping code as per change by andy@xemacs.org to the X11 code. (gtk_output_pixmap): Make this follow the output_pixmap method conventions and expose it. (gtk_output_horizontal_line): Renamed from output_hline, and expose it in our method structure. (gtk_ring_bell): Don't ring the bell if volume <= 0 * toolbar-gtk.c (gtk_output_toolbar_button): (gtk_output_frame_toolbars): (gtk_redraw_exposed_toolbars): (gtk_redraw_frame_toolbars): These are now just aliases for the common_XXX() routines in toolbar-common.c * toolbar-common.c: New common toolbar implementation. This file uses only the redisplay_XXX() functions and device methods to draw the toolbar, and so should be portable across all windowing systems (other than tty, and even then I imagine text-based stuff would work if you had a way to select it). 2001-12-11 Andy Piper <andy@xemacs.org> * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p. * dialog-msw.c (mswindows_make_dialog_box_internal): set popup_up_p. * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto. * menubar-msw.c (mswindows_handle_wm_command): ditto. * menubar-msw.c (mswindows_popup_menu): ditto. 2001-11-24 Andy Piper <andy@xemacs.org> * window.c (Fsplit_window): Doc return type. 2001-07-30 Adrian Aichner <adrian@xemacs.org> * event-msw.c: Typo fix. * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after magic XM_MAPFRAME event has been sent. 2001-11-23 Andy Piper <andy@xemacs.org> * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events. 2001-11-21 Andy Piper <andy@xemacs.org> * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with mouse events outside the frame. 2001-11-15 Andy Piper <andy@xemacs.org> (Fmswindows_shell_execute): fix handling of URL's under cygwin (again). 2001-11-14 Andy Piper <andy@xemacs.org> * nt.c (REG_ROOT): change registry key to XEmacs. 2001-10-29 Andy Piper <andy@xemacs.org> * dialog-msw.c (handle_directory_dialog_box): quit if the user cancels. 2001-12-16 Torsten Duwe <duwe@caldera.de> * search.c (Freplace_match): Add missing sub-expression functionality. * buffer.c (decode_buffer): Add a check for pointer type to decode_buffer, before gcc's CSE optimization reorders a dereference in front of the allow_string test. 2001-11-16 Darryl Okahata <darrylo@xemacs.org> * window.c (window_loop): Fix bug that sometimes prevented window_loop() from iterating across multiple devices. Also, at Ben's request, changed infloop-detecting code to abort() instead of silently terminating window_loop(). 2001-11-21 Stephen J. Turnbull <stephen@xemacs.org> Based on analysis and patch by Simon Josefson <jas@extundo.com>. * editfns.c (make_time): New function. (Fencode_time): Use it instead of wasteful_word_to_lisp. * lisp.h (make_time): Prototype and comment it. * dired.c (wasteful_word_to_lisp): Deprecate. (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp(). 2001-10-31 Kyle Jones <kyle_jones@wonderworks.com> * fileio.c (auto_save_1): Use current coding system, not escape-quoted. 2001-11-13 Ben Wing <ben@xemacs.org> * window.c: * window.c (window_truncation_on): * window.c (syms_of_window): truncate-partial-width-windows should respect the buffer being displayed, like other redisplay vars. 2001-11-13 Hirokazu FUKUI <hfukui@sannet.ne.jp> * event-stream.c (Fread_key_sequence): save current buffer. 2001-10-29 Andrew Begel <abegel@eecs.berkeley.edu> * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300). 2001-10-29 Andrew Begel <abegel@eecs.berkeley.edu> * alloc.c (lcrecord_stats): Add space for types defined in modules. 2001-12-18 Adrian Aichner <adrian@xemacs.org> * .cvsignore: Sort lines, add dump-id.c. 2001-12-13 William M. Perry <wmperry@gnu.org> * glyphs-gtk.c (gtk_map_subwindow): Make sure that we always call gtk_fixed_put, even if the size allocations are the same. (gtk_subwindow_instantiate): Fixed compilation warnings. 2001-10-26 Mike Alexander <mta@arbortext.com> * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle. 2001-10-25 Andy Piper <andy@xemacs.org> * ChangeLog: * dialog-msw.c (handle_directory_proc): new function. (handle_directory_dialog_box): new fucntion. (handle_file_dialog_box): use new directory dialog support. (mswindows_make_dialog_box_internal): ditto. * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event handling. (mswindows_find_frame): make global. * fileio.c (Fexpand_file_name): build fix. * general-slots.h: add Qdirectory. * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus handling. * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with cygwin not leaving win32 paths unchanged. * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the cygwin runtime to do path conversion. (Fmswindows_shell_execute): fix cygwin handling of URLs. (syms_of_win32): add new function. * window.c (window_loop): build fix. 2001-10-15 Andy Piper <andy@xemacs.org> (Fmswindows_shell_execute): fix handling of URL's under cygwin. 2001-08-30 Daiki Ueno <ueno@unixuser.org> * process-unix.c (unix_open_multicast_group): Remove too much conversion between host and network byte order. 2001-09-19 Ben Wing <ben@xemacs.org> * abbrev.c (abbrev_match_mapper): * abbrev.c (abbrev_oblookup): * abbrev.c (obarray_has_blank_p): * abbrev.c (abbrev_count_case): * abbrev.c (Fexpand_abbrev): * alloc.c (xmalloc): * alloc.c (xcalloc): * alloc.c (xmalloc_and_zero): * alloc.c (xrealloc): * alloc.c (deadbeef_memory): * alloc.c (allocate_lisp_storage): * alloc.c (alloc_lcrecord): * alloc.c (size_vector): * alloc.c (vector_hash): * alloc.c (make_vector_internal): * alloc.c (make_vector): * alloc.c (make_bit_vector_internal): * alloc.c (make_bit_vector): * alloc.c (make_bit_vector_from_byte_vector): * alloc.c (Fmake_marker): * alloc.c (noseeum_make_marker): * alloc.c (make_uninit_string): * alloc.c (resize_string): * alloc.c (set_string_char): * alloc.c (Fmake_string): * alloc.c (Fstring): * alloc.c (make_string): * alloc.c (build_string): * alloc.c (build_translated_string): * alloc.c (make_string_nocopy): * alloc.c (make_lcrecord_list): * alloc.c (tick_lcrecord_stats): * alloc.c (garbage_collect_1): * alloc.c (malloced_storage_size): * alloc.c (fixed_type_block_overhead): * blocktype.c (Blocktype_newf): * blocktype.h: * blocktype.h (Blocktype_declare): * buffer.c: * buffer.c (Fkill_buffer): * buffer.c (compute_buffer_text_usage): * buffer.c (struct): * buffer.c (reinit_vars_of_buffer): * buffer.c (directory_is_current_directory): * buffer.h: * buffer.h (struct buffer_text): * buffer.h (struct buffer): * buffer.h (VALID_CHARPTR_P): * buffer.h (REAL_INC_CHARBYTEBPOS): * buffer.h (INC_CHARBYTEBPOS): * buffer.h (DEC_CHARPTR): * buffer.h (VALIDATE_CHARPTR_FORWARD): * buffer.h (charptr_n_addr): * buffer.h (simple_set_charptr_emchar): * buffer.h (charptr_emchar): * buffer.h (set_charptr_emchar): * buffer.h (charptr_copy_char): * buffer.h (BI_BUF_BEG): * buffer.h (BI_BUF_PTR_BYTE_POS): * buffer.h (BUF_PTR_BYTE_POS): * buffer.h (BI_BUF_BYTE_ADDRESS): * buffer.h (BUF_BYTE_ADDRESS): * buffer.h (BI_BUF_BYTE_ADDRESS_BEFORE): * buffer.h (BUF_BYTE_ADDRESS_BEFORE): * buffer.h (valid_membpos_p): * buffer.h (bytebpos_to_membpos): * buffer.h (membpos_to_bytebpos): * buffer.h (membpos_to_charbpos): * buffer.h (buffer_or_string_bytebpos_to_membpos): * buffer.h (buffer_or_string_membpos_to_bytebpos): * buffer.h (buffer_or_string_charbpos_to_bytebpos): * buffer.h (VALID_BYTEBPOS_P): * buffer.h (ASSERT_VALID_BYTEBPOS_UNSAFE): * buffer.h (VALIDATE_BYTEBPOS_BACKWARD): * buffer.h (VALIDATE_BYTEBPOS_FORWARD): * buffer.h (INC_BYTEBPOS): * buffer.h (DEC_BYTEBPOS): * buffer.h (prev_bytebpos): * buffer.h (next_bytebpos): * buffer.h (BYTEBPOS_INVALID): * buffer.h (real_charbpos_to_bytebpos): * buffer.h (real_bytebpos_to_charbpos): * buffer.h (charbpos_to_bytebpos): * buffer.h (make_charbpos): * buffer.h (BUF_FETCH_CHAR): * buffer.h (BUF_CHARPTR_COPY_CHAR): * buffer.h (union): * buffer.h (DFC_LISP_STRING_USE_CONVERTED_DATA): * buffer.h (BUF_CEILING_OF): * buffer.h (BUF_FLOOR_OF): * buffer.h (BUF_CEILING_OF_IGNORE_ACCESSIBLE): * buffer.h (BUF_FLOOR_OF_IGNORE_ACCESSIBLE): * buffer.h (BUFFER_ALLOC): * buffer.h (intbyte_strcmp): * buffer.h (intbyte_memcmp): * bytecode.c (invalid_byte_code): * bytecode.c (optimize_byte_code): * bytecode.c (compiled_function_hash): * bytecode.c (compiled_function_instructions): * callint.c (check_mark): * callint.c (callint_prompt): * callint.c (PROMPT): * callint.c (Fcall_interactively): * callproc.c (Fold_call_process_internal): * callproc.c (getenv_internal): * callproc.c (Fgetenv): * callproc.c (egetenv): * callproc.c (init_callproc): * casefiddle.c (casify_object): * casefiddle.c (casify_region_internal): * casefiddle.c (casify_word): * chartab.c (char_table_entry_hash): * chartab.c (char_table_hash): * cmds.c (Fforward_char): * cmds.c (Fforward_line): * cmds.c (Fdelete_char): * config.h.in: * console-msw.c (mswindows_output_console_string): * console-msw.c (Fmswindows_debugging_output): * console-msw.c (DSTRING): * console-msw.c (DSYMNAME): * console-msw.c (mswindows_lisp_error): * console-msw.h: * console-x.c (split_up_display_spec): * console-x.c (x_semi_canonicalize_console_connection): * console.c (stuff_buffered_input): * console.h (struct console_methods): * data.c (weak_list_hash): * database.c (berkdb_get): * database.c (berkdb_map): * device-msw.c (msprinter_default_printer): * device-msw.c (hash_devmode): * device-msw.c (Fmswindows_printer_list): * device-x.c (validify_resource_component): * device-x.c (Fx_get_resource_prefix): * device.h (struct pixel_to_glyph_translation_cache): * dialog-msw.c (push_intbyte_string_as_unicode): * dialog-msw.c (handle_question_dialog_box): * dired.c (Fdirectory_files): * dired.c (file_name_completion): * dired.c (struct user_name): * dired.c (user_name_completion): * dired.c (make_directory_hash_table): * dired.c (Ffile_attributes): * doc.c (string_join): * doc.c (Fsnarf_documentation): * doc.c (Fsubstitute_command_keys): * doprnt.c (union printf_arg): * doprnt.c (doprnt_1): * doprnt.c (parse_off_posnum): * doprnt.c (parse_doprnt_spec): * doprnt.c (get_doprnt_args): * doprnt.c (emacs_doprnt_1): * doprnt.c (emacs_doprnt_2): * doprnt.c (emacs_doprnt_c): * doprnt.c (emacs_doprnt_va): * doprnt.c (emacs_doprnt_lisp): * doprnt.c (emacs_doprnt_lisp_2): * doprnt.c (emacs_doprnt_string_c): * doprnt.c (emacs_doprnt_string_va): * doprnt.c (emacs_doprnt_string_lisp): * doprnt.c (emacs_doprnt_string_lisp_2): * dumper.c: * dumper.c (struct): * dumper.c (dump_add_opaque): * dumper.c (pdump_align_stream): * dumper.c (pdump_size_to_align): * dumper.c (pdump_entry_list_elt): * dumper.c (pdump_add_entry): * dumper.c (pdump_get_indirect_count): * dumper.c (pdump_register_sub): * dumper.c (pdump_dump_data): * dumper.c (pdump_reloc_one): * dumper.c (pdump_allocate_offset): * dumper.c (pdump_dump_root_struct_ptrs): * dumper.c (pdump_dump_root_objects): * dumper.c (pdump_load_finish): * dumper.c (pdump_resource_get): * dumper.c (pdump_file_get): * dynarr.c (Dynarr_memory_usage): * editfns.c (Fchar_to_string): * editfns.c (buildmark): * editfns.c (charbpos_clip_to_bounds): * editfns.c (bytebpos_clip_to_bounds): * editfns.c (Fgoto_char): * editfns.c (save_excursion_save): * editfns.c (beginning_of_line_p): * editfns.c (Fchar_after): * editfns.c (Fchar_before): * editfns.c (Fformat_time_string): * editfns.c (Fcurrent_time_string): * editfns.c (Finsert_char): * editfns.c (Fbuffer_substring): * editfns.c (Fbuffer_substring_no_properties): * editfns.c (Finsert_buffer_substring): * editfns.c (Fcompare_buffer_substrings): * editfns.c (Fsubst_char_in_region): * editfns.c (Ftranslate_region): * editfns.c (Fdelete_region): * editfns.c (Fnarrow_to_region): * editfns.c (save_restriction_restore): * editfns.c (transpose_markers): * editfns.c (Ftranspose_regions): * eldap.c (Fldap_open): * eldap.c (Fldap_add): * eldap.c (Fldap_modify): * elhash.c: * elhash.c (struct Lisp_Hash_Table): * elhash.c (HASHCODE): * elhash.c (hash_table_size): * elhash.c (lisp_string_hash): * elhash.c (lisp_object_eql_hash): * elhash.c (lisp_object_equal_hash): * elhash.c (hash_table_hash): * elhash.c (compute_hash_table_derived_values): * elhash.c (make_standard_lisp_hash_table): * elhash.c (make_general_lisp_hash_table): * elhash.c (make_lisp_hash_table): * elhash.c (decode_hash_table_size): * elhash.c (resize_hash_table): * elhash.c (pdump_reorganize_hash_table): * elhash.c (enlarge_hash_table): * elhash.c (find_hentry): * elhash.c (remhash_1): * elhash.c (internal_array_hash): * elhash.c (internal_hash): * elhash.h: * emacs.c (split_string_by_emchar_1): * emacs.c (decode_path): * emacs.c (vars_of_emacs): * emodules.c (emodules_load): * emodules.c (emodules_doc_subr): * emodules.c (emodules_doc_sym): * eval.c (print_subr): * eval.c (build_error_data): * eval.c (signal_error): * eval.c (maybe_signal_error): * eval.c (signal_continuable_error): * eval.c (maybe_signal_continuable_error): * eval.c (signal_error_2): * eval.c (maybe_signal_error_2): * eval.c (signal_continuable_error_2): * eval.c (maybe_signal_continuable_error_2): * eval.c (signal_ferror): * eval.c (maybe_signal_ferror): * eval.c (signal_continuable_ferror): * eval.c (maybe_signal_continuable_ferror): * eval.c (signal_ferror_with_frob): * eval.c (maybe_signal_ferror_with_frob): * eval.c (signal_continuable_ferror_with_frob): * eval.c (maybe_signal_continuable_ferror_with_frob): * eval.c (syntax_error): * eval.c (syntax_error_2): * eval.c (maybe_syntax_error): * eval.c (sferror): * eval.c (sferror_2): * eval.c (maybe_sferror): * eval.c (invalid_argument): * eval.c (invalid_argument_2): * eval.c (maybe_invalid_argument): * eval.c (invalid_constant): * eval.c (invalid_constant_2): * eval.c (maybe_invalid_constant): * eval.c (invalid_operation): * eval.c (invalid_operation_2): * eval.c (maybe_invalid_operation): * eval.c (invalid_change): * eval.c (invalid_change_2): * eval.c (maybe_invalid_change): * eval.c (invalid_state): * eval.c (invalid_state_2): * eval.c (maybe_invalid_state): * eval.c (wtaerror): * eval.c (stack_overflow): * eval.c (out_of_memory): * eval.c (printing_unreadable_object): * eval.c (caught_a_squirmer): * eval.c (eval_in_buffer_trapping_errors): * eval.c (run_hook_trapping_errors): * eval.c (safe_run_hook_trapping_errors): * eval.c (call0_trapping_errors): * eval.c (call1_trapping_errors): * eval.c (call2_trapping_errors): * eval.c (warn_when_safe): * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (describe_event_window): * event-gtk.c (dragndrop_data_received): * event-msw.c (ntpipe_slurp_reader): * event-msw.c (ntpipe_shove_writer): * event-msw.c (struct winsock_stream): * event-msw.c (winsock_initiate_read): * event-msw.c (winsock_reader): * event-msw.c (winsock_writer): * event-msw.c (emacs_mswindows_create_stream_pair): * event-stream.c: * event-stream.c (allocate_command_builder): * event-stream.c (echo_key_event): * event-stream.c (lookup_command_event): * event-stream.c (dribble_out_event): * event-unixoid.c (event_stream_unixoid_create_stream_pair): * events.c (event_hash): * events.c (format_event_object): * events.c (event_pixel_translation): * events.c (Fevent_point): * events.c (Fevent_closest_point): * events.h (struct command_builder): * extents.c: * extents.c (stack_of_extents): * extents.c (membpos_to_startind): * extents.c (bytebpos_to_startind): * extents.c (buffer_or_string_bytebpos_to_startind): * extents.c (buffer_or_string_bytebpos_to_endind): * extents.c (gap_array_adjust_markers): * extents.c (gap_array_move_gap): * extents.c (extent_list_locate_from_pos): * extents.c (extent_list_at): * extents.c (soe_dump): * extents.c (soe_move): * extents.c (extent_endpoint_bytebpos): * extents.c (extent_endpoint_charbpos): * extents.c (extent_changed_for_redisplay): * extents.c (extent_in_region_p): * extents.c (map_extents_bytebpos): * extents.c (map_extents): * extents.c (adjust_extents): * extents.c (adjust_extents_for_deletion): * extents.c (extent_find_end_of_run): * extents.c (extent_find_beginning_of_run): * extents.c (extent_fragment_update): * extents.c (extent_hash): * extents.c (extent_endpoint_external): * extents.c (Fextent_length): * extents.c (Fnext_extent_change): * extents.c (Fprevious_extent_change): * extents.c (set_extent_endpoints_1): * extents.c (set_extent_endpoints): * extents.c (make_extent_internal): * extents.c (copy_extent): * extents.c (Fmake_extent): * extents.c (Fset_extent_endpoints): * extents.c (Fextent_in_region_p): * extents.c (Fmap_extents): * extents.c (struct slow_map_extent_children_arg): * extents.c (slow_map_extent_children_function): * extents.c (Fmap_extent_children): * extents.c (struct extent_at_arg): * extents.c (extent_at_bytebpos): * extents.c (Fextent_at): * extents.c (Fextents_at): * extents.c (struct verify_extents_arg): * extents.c (verify_extent_modification): * extents.c (struct process_extents_for_insertion_arg): * extents.c (process_extents_for_insertion_mapper): * extents.c (process_extents_for_insertion): * extents.c (struct process_extents_for_deletion_arg): * extents.c (process_extents_for_deletion): * extents.c (report_extent_modification_mapper): * extents.c (report_extent_modification): * extents.c (run_extent_copy_paste_internal): * extents.c (run_extent_copy_function): * extents.c (run_extent_paste_function): * extents.c (update_extent): * extents.c (insert_extent): * extents.c (Finsert_extent): * extents.c (struct add_string_extents_arg): * extents.c (add_string_extents_mapper): * extents.c (add_string_extents): * extents.c (struct splice_in_string_extents_arg): * extents.c (splice_in_string_extents_mapper): * extents.c (splice_in_string_extents): * extents.c (copy_string_extents_mapper): * extents.c (copy_string_extents): * extents.c (get_text_property_bytebpos): * extents.c (get_text_property_1): * extents.c (struct put_text_prop_arg): * extents.c (put_text_prop_mapper): * extents.c (put_text_prop_openness_mapper): * extents.c (put_text_prop): * extents.c (Fput_text_property): * extents.c (Fadd_text_properties): * extents.c (Fremove_text_properties): * extents.h: * extents.h (struct extent): * faces.c (face_hash): * file-coding.c: * file-coding.c (detect_eol_type): * file-coding.c (detect_coding_type): * file-coding.c (determine_real_coding_system): * file-coding.c (Fdetect_coding_region): * file-coding.c (decoding_reader): * file-coding.c (decoding_writer): * file-coding.c (mule_decode): * file-coding.c (Fdecode_coding_region): * file-coding.c (encoding_reader): * file-coding.c (encoding_writer): * file-coding.c (mule_encode): * file-coding.c (Fencode_coding_region): * file-coding.c (detect_coding_sjis): * file-coding.c (decode_coding_sjis): * file-coding.c (encode_coding_sjis): * file-coding.c (detect_coding_big5): * file-coding.c (decode_coding_big5): * file-coding.c (encode_coding_big5): * file-coding.c (decode_ucs4): * file-coding.c (detect_coding_ucs4): * file-coding.c (decode_coding_ucs4): * file-coding.c (encode_coding_ucs4): * file-coding.c (detect_coding_utf8): * file-coding.c (decode_coding_utf8): * file-coding.c (encode_coding_utf8): * file-coding.c (detect_coding_iso2022): * file-coding.c (decode_coding_iso2022): * file-coding.c (encode_coding_iso2022): * file-coding.c (decode_coding_no_conversion): * file-coding.c (encode_coding_no_conversion): * file-coding.h (INTBYTE_FIRST_BYTE_P): * fileio.c (normalize_filename): * fileio.c (report_file_type_error): * fileio.c (report_error_with_errno): * fileio.c (report_file_error): * fileio.c (read_allowing_quit): * fileio.c (write_allowing_quit): * fileio.c (Ffile_name_directory): * fileio.c (Ffile_name_nondirectory): * fileio.c (Fmake_temp_name): * fileio.c (Fexpand_file_name): * fileio.c (Ffile_truename): * fileio.c (Fsubstitute_in_file_name): * fileio.c (barf_or_query_if_file_exists): * fileio.c (Ffile_name_absolute_p): * fileio.c (Ffile_symlink_p): * fileio.c (Fdo_auto_save): * filelock.c (MAKE_LOCK_NAME): * filelock.c (fill_in_lock_file_name): * floatfns.c (float_hash): * fns.c (print_bit_vector): * fns.c (bit_vector_hash): * fns.c (size_bit_vector): * fns.c (Flength): * fns.c (Fsafe_length): * fns.c (Fstring_lessp): * fns.c (copy_list): * fns.c (concat): * fns.c (Ffillarray): * fns.c (bytecode_nconc2): * fns.c (Fnconc): * fns.c (mapcar1): * fns.c (Fmapcar): * fns.c (Fmapvector): * fns.c (ADVANCE_INPUT): * fns.c (base64_encode_1): * fns.c (base64_decode_1): * fns.c (XMALLOC_OR_ALLOCA): * fns.c (Fbase64_encode_region): * fns.c (Fbase64_encode_string): * fns.c (Fbase64_decode_region): * fns.c (Fbase64_decode_string): * font-lock.c (struct context_cache): * font-lock.c (font_lock_maybe_update_syntactic_caches): * font-lock.c (beginning_of_defun): * font-lock.c (end_of_defun): * font-lock.c (setup_context_cache): * font-lock.c (find_context): * font-lock.c (Fsyntactically_sectionize): * frame-gtk.c (gtk_set_frame_text_value): * frame-gtk.c (gtk_set_title_from_intbyte): * frame-gtk.c (gtk_set_icon_name_from_intbyte): * frame-gtk.c (console_type_create_frame_gtk): * frame-msw.c (mswindows_set_title_from_intbyte): * frame-msw.c (console_type_create_frame_mswindows): * frame-x.c (x_set_frame_text_value): * frame-x.c (x_set_title_from_intbyte): * frame-x.c (x_set_icon_name_from_intbyte): * frame-x.c (x_set_frame_properties): * frame-x.c (x_cde_transfer_callback): * frame-x.c (console_type_create_frame_x): * frame.c (Fmake_frame): * frame.c (Fmouse_position): * frame.c (generate_title_string): * frame.c (update_frame_title): * gif_io.c (GifStdRead): * gif_io.c (GifStdWrite): * gif_io.c (GifRead): * gif_io.c (GifWrite): * gifrlib.h: * glyphs-eimage.c (jpeg_memory_src): * glyphs-eimage.c (jpeg_instantiate): * glyphs-eimage.c (gif_memory_storage): * glyphs-eimage.c (gif_read_from_memory): * glyphs-eimage.c (gif_instantiate): * glyphs-eimage.c (struct png_memory_storage): * glyphs-eimage.c (png_read_from_memory): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_memory_storage): * glyphs-eimage.c (tiff_memory_read): * glyphs-eimage.c (tiff_instantiate): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (bmp_instantiate): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (mswindows_image_instance_hash): * glyphs-msw.c (mswindows_widget_property): * glyphs-msw.c (mswindows_combo_box_property): * glyphs-x.c (x_image_instance_hash): * glyphs-x.c (write_lisp_string_to_temp_file): * glyphs.c (image_instance_hash): * glyphs.c (incompatible_image_types): * glyphs.c (query_string_geometry): * glyphs.c (query_string_font): * glyphs.c (instantiator_eq_hash): * glyphs.c (glyph_hash): * glyphs.h (struct Lisp_Image_Instance): * gpmevent.c (tty_get_foreign_selection): * gui-x.c (menu_separator_style_and_to_external): * gui-x.c (add_accel_and_to_external): * gui-x.c (button_item_to_widget_value): * gui-x.h: * gui.c (separator_string_p): * gui.c (gui_name_accelerator): * gui.c (gui_item_hash): * gui.h: * gutter.c (gutter_extent_signal_changed_region_maybe): * gutter.h: * hash.c: * hash.c (memory_hash): * hash.c (string_hash): * hash.c (hash_table_size): * hash.c (gethash): * hash.c (make_hash_table): * hash.c (make_general_hash_table): * hash.c (grow_hash_table): * hash.c (puthash): * hash.c (rehash): * hash.c (remhash): * hash.h: * hash.h (struct hash_table): * hpplay.c (player_error_internal): * indent.c: * indent.c (last_visible_position): * indent.c (column_at_point): * indent.c (string_column_at_point): * indent.c (Findent_to): * indent.c (bi_spaces_at_point): * indent.c (Fcurrent_indentation): * indent.c (Fmove_to_column): * indent.c (vmotion_1): * indent.c (vmotion): * indent.c (vertical_motion_1): * indent.c (vmotion_pixels): * indent.c (Fvertical_motion_pixels): * insdel.c: * insdel.c (MAX_CHARBPOS_GAP_SIZE_3): * insdel.c (bytecount_to_charcount): * insdel.c (charcount_to_bytecount): * insdel.c (charbpos_to_bytebpos_func): * insdel.c (bytebpos_to_charbpos_func): * insdel.c (buffer_mule_signal_inserted_region): * insdel.c (buffer_mule_signal_deleted_region): * insdel.c (charbpos_to_bytebpos): * insdel.c (bytebpos_to_charbpos): * insdel.c (get_buffer_pos_char): * insdel.c (get_buffer_pos_byte): * insdel.c (get_buffer_range_char): * insdel.c (get_buffer_range_byte): * insdel.c (get_string_range_char): * insdel.c (get_buffer_or_string_pos_char): * insdel.c (get_buffer_or_string_pos_byte): * insdel.c (get_buffer_or_string_range_char): * insdel.c (get_buffer_or_string_range_byte): * insdel.c (buffer_or_string_accessible_begin_char): * insdel.c (buffer_or_string_accessible_end_char): * insdel.c (buffer_or_string_accessible_begin_byte): * insdel.c (buffer_or_string_accessible_end_byte): * insdel.c (buffer_or_string_absolute_begin_char): * insdel.c (buffer_or_string_absolute_end_char): * insdel.c (buffer_or_string_absolute_begin_byte): * insdel.c (buffer_or_string_absolute_end_byte): * insdel.c (JUST_SET_POINT): * insdel.c (set_buffer_point): * insdel.c (do_marker_adjustment): * insdel.c (adjust_markers): * insdel.c (adjust_markers_for_insert): * insdel.c (gap_left): * insdel.c (gap_right): * insdel.c (move_gap): * insdel.c (merge_gap_with_end_gap): * insdel.c (make_gap): * insdel.c (buffer_signal_changed_region): * insdel.c (buffer_extent_signal_changed_region): * insdel.c (cancel_multiple_change): * insdel.c (begin_multiple_change): * insdel.c (signal_before_change): * insdel.c (signal_after_change): * insdel.c (prepare_to_modify_buffer): * insdel.c (fixup_internal_substring): * insdel.c (buffer_insert_string_1): * insdel.c (buffer_insert_raw_string_1): * insdel.c (buffer_insert_lisp_string_1): * insdel.c (buffer_insert_c_string_1): * insdel.c (buffer_insert_emacs_char_1): * insdel.c (buffer_insert_c_char_1): * insdel.c (buffer_insert_from_buffer_1): * insdel.c (buffer_delete_range): * insdel.c (buffer_replace_char): * insdel.c (make_string_from_buffer_1): * insdel.c (make_string_from_buffer): * insdel.c (make_string_from_buffer_no_extents): * insdel.c (barf_if_buffer_read_only): * insdel.c (find_charsets_in_intbyte_string): * insdel.c (intbyte_string_displayed_columns): * insdel.c (convert_intbyte_string_into_emchar_dynarr): * insdel.c (convert_intbyte_string_into_emchar_string): * insdel.c (convert_emchar_string_into_intbyte_dynarr): * insdel.c (convert_emchar_string_into_malloced_string): * insdel.c (reinit_vars_of_insdel): * insdel.c (init_buffer_text): * insdel.h: * insdel.h (struct buffer_text_change_data): * keymap.c (make_key_description): * keymap.c (make_keymap): * keymap.c (define_key_check_and_coerce_keysym): * keymap.c (Fsingle_key_description): * keymap.c (Ftext_char_description): * keymap.c (vars_of_keymap): * line-number.c (invalidate_line_number_cache): * line-number.c (insert_invalidate_line_number_cache): * line-number.c (delete_invalidate_line_number_cache): * line-number.c (get_nearest_line_number): * line-number.c (add_position_to_cache): * line-number.c (buffer_line_number): * line-number.h: * line-number.h (buffer_line_number): * lisp.h: * lisp.h (DO_REALLOC): * lisp.h (struct): * lisp.h (struct Lisp_Buffer_Cons): * lisp.h (struct Lisp_String): * lisp.h (set_string_char): * lisp.h (struct Lisp_Bit_Vector): * lisp.h (bit_vector_bit): * lisp.h (set_bit_vector_bit): * lisp.h (struct Lisp_Marker): * lisp.h (struct lcrecord_list): * lisp.h (struct overhead_stats): * lread.c: * lread.c (readchar): * lread.c (Fload_internal): * lread.c (read_atom): * lread.c (parse_integer): * lread.c (isfloat_string): * lrecord.h: * lrecord.h (struct lrecord_implementation): * lrecord.h (lrecord_description_type): * lrecord.h (struct struct_description): * lstream.c: * lstream.c (aligned_sizeof_lstream): * lstream.c (sizeof_lstream): * lstream.c (Lstream_flush_out): * lstream.c (Lstream_adding): * lstream.c (Lstream_write_1): * lstream.c (Lstream_write): * lstream.c (Lstream_raw_read): * lstream.c (Lstream_read_more): * lstream.c (Lstream_read): * lstream.c (Lstream_unread): * lstream.c (Lstream_fputc): * lstream.c (stdio_reader): * lstream.c (stdio_writer): * lstream.c (struct filedesc_stream): * lstream.c (filedesc_reader): * lstream.c (filedesc_writer): * lstream.c (filedesc_stream_set_pty_flushing): * lstream.c (lisp_string_reader): * lstream.c (lisp_string_rewinder): * lstream.c (struct fixed_buffer_stream): * lstream.c (make_fixed_buffer_input_stream): * lstream.c (make_fixed_buffer_output_stream): * lstream.c (fixed_buffer_reader): * lstream.c (fixed_buffer_writer): * lstream.c (struct resizing_buffer_stream): * lstream.c (resizing_buffer_writer): * lstream.c (dynarr_writer): * lstream.c (make_lisp_buffer_stream_1): * lstream.c (make_lisp_buffer_input_stream): * lstream.c (make_lisp_buffer_output_stream): * lstream.c (lisp_buffer_reader): * lstream.c (lisp_buffer_writer): * lstream.c (lisp_buffer_stream_startpos): * lstream.h: * lstream.h (lstream_implementation): * lstream.h (struct lstream): * malloc.c: * marker.c (marker_equal): * marker.c (marker_hash): * marker.c (set_marker_internal): * marker.c (bi_marker_position): * marker.c (marker_position): * marker.c (set_bi_marker_position): * marker.c (set_marker_position): * md5.c (Fmd5): * menubar-msw.c (mswindows_translate_menu_or_dialog_item): * menubar-msw.c (displayable_menu_item): * menubar-x.c (menu_item_descriptor_to_widget_value_1): * menubar-x.c (menu_accelerator_junk_on_error): * menubar.c (Fnormalize_menu_item_name): * minibuf.c (scmp_1): * minibuf.c (regexp_ignore_completion_p): * minibuf.c (clear_echo_area_internal): * minibuf.c (echo_area_append): * minibuf.c (echo_area_message): * minibuf.c (message_internal): * minibuf.c (message_append_internal): * minibuf.c (message_1): * minibuf.c (message_append_1): * mule-ccl.c (CCL_WRITE_CHAR): * mule-ccl.c (CCL_WRITE_STRING): * mule-charset.c (non_ascii_set_charptr_emchar): * mule-charset.c (non_ascii_charptr_emchar): * mule-charset.c (non_ascii_charptr_copy_char): * mule-charset.c (Lstream_get_emchar_1): * mule-charset.c (Lstream_fput_emchar): * mule-charset.c (Lstream_funget_emchar): * mule-charset.c (make_charset): * mule-charset.c (lookup_composite_char): * mule-charset.h: * mule-charset.h (LEADING_BYTE_PREFIX_P): * mule-charset.h (INTBYTE_FIRST_BYTE_P): * mule-charset.h (INTBYTE_LEADING_BYTE_P): * mule-charset.h (struct Lisp_Charset): * mule-charset.h (CHARSET_LEADING_BYTE): * mule-charset.h (CHARSET_BY_LEADING_BYTE): * mule-charset.h (REP_BYTES_BY_FIRST_BYTE): * mule-charset.h (CHAR_LEADING_BYTE): * mule-wnnfns.c (Fwnn_dict_list): * mule-wnnfns.c (Fwnn_fuzokugo_get): * mule-wnnfns.c (m2w): * objects-gtk.c (gtk_parse_nearest_color): * objects-gtk.c (gtk_font_spec_matches_charset): * objects-gtk.c (gtk_find_charset_font): * objects-gtk.h: * objects-msw.c (mswindows_font_spec_matches_charset): * objects-tty.c (tty_initialize_font_instance): * objects-tty.c (tty_font_spec_matches_charset): * objects-tty.c (tty_find_charset_font): * objects-x.c (x_font_instance_properties): * objects-x.c (x_font_spec_matches_charset): * objects-x.c (x_find_charset_font): * objects.c (font_spec_matches_charset): * objects.h: * opaque.c (aligned_sizeof_opaque): * opaque.c (sizeof_opaque): * opaque.c (make_opaque): * opaque.c (equal_opaque): * opaque.h: * opaque.h (Lisp_Opaque): * print.c (std_handle_out_external): * print.c (std_handle_out_va): * print.c (write_string_to_stdio_stream): * print.c (output_string): * print.c (write_char_internal): * print.c (write_string_1): * print.c (write_c_string): * print.c (Fwrite_char): * print.c (float_to_string): * print.c (print_string): * print.c (print_internal): * print.c (print_symbol): * print.c (Falternate_debugging_output): * print.c (Fexternal_debugging_output): * process-nt.c (alloc_process_memory): * process-nt.c (run_in_other_process): * process-nt.c (nt_send_process): * process-unix.c (unix_send_process): * process-unix.c (unix_process_send_eof): * process-unix.c (unix_kill_child_process): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): * process.c: * process.c (read_process_output): * process.c (send_process): * process.c (Fprocess_send_region): * process.c (status_notify): * process.c (decode_signal): * procimpl.h: * redisplay-gtk.c (gtk_output_display_block): * redisplay-output.c: * redisplay-output.c (compare_runes): * redisplay-output.c (ADJ_CHARBPOS): * redisplay-output.c (redisplay_move_cursor): * redisplay-output.c (redisplay_output_layout): * redisplay-output.c (redisplay_update_line): * redisplay-tty.c: * redisplay-tty.c (tty_output_intbyte_string): * redisplay-tty.c (tty_output_emchar_dynarr): * redisplay-tty.c (substitute_in_dynamic_color_string): * redisplay-tty.c (set_foreground_to): * redisplay-tty.c (set_background_to): * redisplay.c: * redisplay.c (position_redisplay_data_type): * redisplay.c (struct prop_block): * redisplay.c (redisplay_text_width_string): * redisplay.c (redisplay_frame_text_width_string): * redisplay.c (generate_display_line): * redisplay.c (add_hscroll_rune): * redisplay.c (add_emchar_rune): * redisplay.c (add_intbyte_string_runes): * redisplay.c (add_blank_rune): * redisplay.c (add_disp_table_entry_runes_1): * redisplay.c (add_propagation_runes): * redisplay.c (add_glyph_rune): * redisplay.c (create_text_block): * redisplay.c (create_overlay_glyph_block): * redisplay.c (add_margin_blank): * redisplay.c (generate_formatted_string_db): * redisplay.c (generate_modeline): * redisplay.c (add_string_to_fstring_db_runes): * redisplay.c (generate_fstring_runes): * redisplay.c (create_string_text_block): * redisplay.c (generate_string_display_line): * redisplay.c (generate_displayable_area): * redisplay.c (regenerate_window): * redisplay.c (REGEN_INC_FIND_START_END): * redisplay.c (regenerate_window_extents_only_changed): * redisplay.c (regenerate_window_incrementally): * redisplay.c (regenerate_window_point_center): * redisplay.c (point_visible): * redisplay.c (line_at_center): * redisplay.c (point_at_center): * redisplay.c (redisplay_window): * redisplay.c (call_redisplay_end_triggers): * redisplay.c (window_line_number): * redisplay.c (decode_mode_spec): * redisplay.c (update_internal_cache_list): * redisplay.c (line_start_cache_start): * redisplay.c (line_start_cache_end): * redisplay.c (point_in_line_start_cache): * redisplay.c (point_would_be_visible): * redisplay.c (start_end_of_last_line): * redisplay.c (start_of_last_line): * redisplay.c (end_of_last_line): * redisplay.c (end_of_last_line_may_error): * redisplay.c (start_with_line_at_pixpos): * redisplay.c (start_with_point_on_display_line): * redisplay.c (update_line_start_cache): * redisplay.c (UPDATE_CACHE_RETURN): * redisplay.c (pixel_to_glyph_translation): * redisplay.c (init_redisplay): * redisplay.h: * redisplay.h (struct line_start_cache): * redisplay.h (struct rune): * redisplay.h (struct display_line): * redisplay.h (struct extent_fragment): * regex.c (struct): * regex.c (PATFETCH_EXTENDED): * regex.c (PATFETCH_RAW_EXTENDED): * regex.c (regex_compile): * regex.c (compile_extended_range): * regex.c (re_compile_fastmap): * regex.c (re_match_2_internal): * regex.c (regerror): * regex.h (Elemcount): * scrollbar-gtk.h (struct gtk_scrollbar_data): * scrollbar-msw.c (mswindows_handle_mousewheel_event): * scrollbar-x.h (struct x_scrollbar_data): * scrollbar.c (scrollbar_point): * scrollbar.c (update_scrollbar_instance): * scrollbar.c (scrollbar_reset_cursor): * scrollbar.c (Fscrollbar_page_up): * scrollbar.c (Fscrollbar_vertical_drag): * search.c: * search.c (fixup_search_regs_for_buffer): * search.c (looking_at_1): * search.c (fast_string_match): * search.c (bi_scan_buffer): * search.c (scan_buffer): * search.c (bi_find_next_newline_no_quit): * search.c (find_next_newline_no_quit): * search.c (find_next_newline): * search.c (bi_find_next_emchar_in_string): * search.c (find_before_next_newline): * search.c (skip_chars): * search.c (search_command): * search.c (trivial_regexp_p): * search.c (search_buffer): * search.c (simple_search): * search.c (boyer_moore): * search.c (set_search_regs): * search.c (wordify): * search.c (Freplace_match): * search.c (Fmatch_data): * search.c (Fregexp_quote): * select-common.h (selection_data_to_lisp_data): * select-common.h (lisp_data_to_selection_data): * select-gtk.c (atom_to_symbol): * select-gtk.c (emacs_gtk_selection_handle): * select-x.c (hack_motif_clipboard_selection): * select-x.c (x_reply_selection_request): * select-x.c (x_handle_selection_request): * select-x.c (copy_multiple_data): * select-x.c (x_get_window_property): * select-x.c (receive_incremental_selection): * select-x.c (x_get_window_property_as_lisp_data): * select-x.c (Fx_get_cutbuffer_internal): * select-x.c (Fx_store_cutbuffer_internal): * sheap.c (report_sheap_usage): * sound.c (Fplay_sound): * sound.h (sound_perror): * sound.h (sound_warn): * specifier.c (aligned_sizeof_specifier): * specifier.c (sizeof_specifier): * specifier.c (make_specifier_internal): * symbols.c (intern): * symbols.c (oblookup): * symbols.c (hash_string): * symbols.c (init_symbols_once_early): * symbols.c (defsymbol_massage_name_1): * symbols.c (defsymbol_nodump): * symbols.c (defsymbol): * symbols.c (defvar_magic): * syntax.c: * syntax.c (struct lisp_parse_state): * syntax.c (find_defun_start): * syntax.c (scan_words): * syntax.c (Fforward_word): * syntax.c (find_start_of_comment): * syntax.c (find_end_of_comment): * syntax.c (Fforward_comment): * syntax.c (scan_lists): * syntax.c (char_quoted): * syntax.c (Fbackward_prefix_chars): * syntax.c (scan_sexps_forward): * syntax.c (Fparse_partial_sexp): * syntax.h: * syntax.h (struct syntax_cache): * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR): * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR): * sysdep.c (get_eof_char): * sysdep.c (init_system_name): * sysdep.c (sys_readdir): * sysdep.h: * syswindows.h: * syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR): * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): * syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT): * tests.c (Ftest_data_format_conversion): * toolbar-gtk.c (gtk_output_toolbar_button): * toolbar-x.c (x_output_toolbar_button): * tooltalk.c (check_status): * tooltalk.c (tt_message_arg_bval_vector): * tparam.c: * undo.c: * undo.c (record_insert): * undo.c (record_delete): * undo.c (record_change): * undo.c (record_property_change): * undo.c (Fprimitive_undo): * win32.c (tstr_to_local_file_format): * window.c (Fpos_visible_in_window_p): * window.c (Fwindow_end): * window.c (unshow_buffer): * window.c (Fdelete_other_windows): * window.c (Fselect_window): * window.c (window_scroll): * window.c (Fcenter_to_window_line): * window.c (Fmove_to_window_line): * window.c (sizeof_window_config_for_n_windows): * window.c (sizeof_window_config): * window.c (Fcurrent_pixel_column): * window.h (struct window): The great integral types renaming. Rationalize the names used for various integral types, so that they match their intended uses and follow consist conventions, and eliminate types that were not semantically different from each other. The following global substitutions were made: Memory_Count Bytecount Lstream_Data_Count Bytecount Element_Count Elemcount Hash_Code Hashcode extcount bytecount bufpos charbpos bytind bytebpos memind membpos bufbyte intbyte Extcount Bytecount Bufpos Charbpos Bytind Bytebpos Memind Membpos Bufbyte Intbyte EXTCOUNT BYTECOUNT BUFPOS CHARBPOS BYTIND BYTEBPOS MEMIND MEMBPOS BUFBYTE INTBYTE MEMORY_COUNT BYTECOUNT LSTREAM_DATA_COUNT BYTECOUNT ELEMENT_COUNT ELEMCOUNT HASH_CODE HASHCODE This resulted in some duplications. * lisp.h: removed duplicate declarations of Bytecount. * lstream.h: removed duplicate declaration of Bytecount. Rewrote the comment about this type. * dumper.c: remove duplicate case tag XD_BYTECOUNT, and the accompanying duplicate code, from 4 switchs tatements. [[See README.integral-types in this directory for more details.]] --invalid. See the Internals Manual, under Major Type Changes, and also README.global-renaming. 2001-09-17 Ben Wing <ben@xemacs.org> * fileio.c (normalize_filename): * fileio.c (Fexpand_file_name): Fix various C++ compile errors in Andy's recent code. * callint.c (Fcall_interactively): * editfns.c (Ftemp_directory): * editfns.c (Fuser_full_name): * emacs.c (argmatch): * lread.c (locate_file_map_suffixes): * redisplay-x.c (x_ring_bell): Fix sign-compare warnings. * scrollbar-msw.c: * scrollbar-msw.c (mswindows_handle_scrollbar_event): Fix crash under MS Windows. See comment around line 223 for explanation. 2001-09-08 Andy Piper <andy@xemacs.org> * device-msw.c (mswindows_finish_init_device): remove dde initialization. * device-msw.c (mswindows_init_dde): factor out from mswindows_finish_init_device() * device-msw.c (init_mswindows_very_early): new function initialize but don't enable dde. * emacs.c (main_1): call init_mswindows_very_early. * event-msw.c: * event-msw.c (mswindows_dde_callback): only execute when we are ready. * symsinit.h: declare init_mswindows_very_early. 2001-09-08 Andy Piper <andy@xemacs.org> * fileio.c (normalize_filename): copied from nt.c * (Ffile_name_directory): enable win32 paths under cygwin. * (Ffile_name_nondirectory): ditto. * (directory_file_name): ditto. * (Fexpand_file_name): ditto. * (Ffile_truename): ditto. * (Fsubstitute_in_file_name): ditto. * (Ffile_name_absolute_p): ditto. * (Ffile_readable_p): ditto. 2001-09-07 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.3 "asparagus" is released. 2001-04-19 Glynn Clements <glynn.clements@virgin.net> * input-method-motif.c (XIM_delete_frame): New callback. (XIM_init_frame): Register it. 2001-08-24 Stephen J. Turnbull <stephen@xemacs.org> * buffer.h (valid_char_p): Make negative integers invalid again. 2001-08-13 Ben Wing <ben@xemacs.org> * regex.c: need to include stddef.h for ptrdiff_t on Solaris, when regex.c is compiled as part of lib-src. 2001-06-24 Ben Wing <ben@xemacs.org> * EmacsFrame.c (EmacsFrameSetValues): * alloc.c: * alloc.c (xmalloc): * alloc.c (xcalloc): * alloc.c (xmalloc_and_zero): * alloc.c (xrealloc): * alloc.c (deadbeef_memory): * alloc.c (allocate_lisp_storage): * alloc.c (alloc_lcrecord): * alloc.c (Fmake_list): * alloc.c (size_vector): * alloc.c (vector_hash): * alloc.c (make_vector_internal): * alloc.c (make_vector): * alloc.c (make_bit_vector_internal): * alloc.c (make_bit_vector): * alloc.c (make_bit_vector_from_byte_vector): * alloc.c (Fmake_string): * alloc.c (make_lcrecord_list): * alloc.c (GC_CHECK_LHEADER_INVARIANTS): * alloc.c (tick_lcrecord_stats): * alloc.c (sweep_strings): * alloc.c (UNMARK_string): * alloc.c (ADDITIONAL_FREE_string): * alloc.c (garbage_collect_1): * alloc.c (Fgarbage_collect): * alloc.c (malloced_storage_size): * alloc.c (fixed_type_block_overhead): * backtrace.h: * backtrace.h (SPECPDL_RESERVE): * blocktype.c (Blocktype_newf): * blocktype.h: * blocktype.h (Blocktype_declare): * buffer.c: * buffer.c (compute_buffer_text_usage): * buffer.c (DEFVAR_BUFFER_LOCAL_1): * buffer.h (struct buffer_text): * buffer.h (MAP_INDIRECT_BUFFERS): * buffer.h (valid_char_p): * buffer.h (union): * buffer.h (bufbyte_memcmp): * bytecode.c (optimize_byte_code): * bytecode.c (compiled_function_hash): * callproc.c (Fold_call_process_internal): * chartab.c (char_table_entry_hash): * chartab.c (char_table_hash): * chartab.c (check_category_char): * chartab.c (Fcheck_category_at): * chartab.c (Fchar_in_category_p): * chartab.h: * console-x.c (x_semi_canonicalize_console_connection): * console.h (struct console_methods): * data.c (Faref): * data.c (Faset): * data.c (weak_list_hash): * device-msw.c (msprinter_init_device): * device-msw.c (Fmsprinter_select_settings): * device-msw.c (hash_devmode): * device-msw.c (Fmswindows_printer_list): * device-x.c (validify_resource_component): * device-x.c (Fx_put_resource): * dialog-msw.c: * dialog-msw.c (dialog_proc): * dialog-msw.c (button_width): * dialog-msw.c (ALIGN_TEMPLATE): * dialog-msw.c (handle_question_dialog_box): * dired.c (struct user_name): * dired.c (user_name_completion): * doc.c (get_doc_string): * doc.c (Fsnarf_documentation): * doprnt.c (parse_off_posnum): * doprnt.c (emacs_doprnt_1): * dumper.c: * dumper.c (struct): * dumper.c (dump_add_opaque): * dumper.c (pdump_align_stream): * dumper.c (pdump_size_to_align): * dumper.c (pdump_entry_list_elt): * dumper.c (pdump_add_entry): * dumper.c (pdump_get_indirect_count): * dumper.c (pdump_register_sub): * dumper.c (pdump_dump_data): * dumper.c (pdump_reloc_one): * dumper.c (pdump_allocate_offset): * dumper.c (pdump_dump_root_struct_ptrs): * dumper.c (pdump_dump_root_objects): * dumper.c (pdump_load_finish): * dumper.c (pdump_resource_get): * dumper.c (pdump_file_get): * dynarr.c (Dynarr_memory_usage): * editfns.c (Fformat_time_string): * editfns.c (Fcurrent_time_string): * eldap.c (Fldap_add): * eldap.c (Fldap_modify): * elhash.c: * elhash.c (struct Lisp_Hash_Table): * elhash.c (lisp_string_hash): * elhash.c (lisp_object_eql_hash): * elhash.c (lisp_object_equal_hash): * elhash.c (hash_table_hash): * elhash.c (print_hash_table): * elhash.c (compute_hash_table_derived_values): * elhash.c (make_standard_lisp_hash_table): * elhash.c (make_general_lisp_hash_table): * elhash.c (make_lisp_hash_table): * elhash.c (decode_hash_table_size): * elhash.c (resize_hash_table): * elhash.c (enlarge_hash_table): * elhash.c (remhash_1): * elhash.c (internal_array_hash): * elhash.c (internal_hash): * elhash.h: * emacs.c: * eval.c (grow_specpdl): * event-Xt.c (x_event_to_emacs_event): * event-msw.c: * event-msw.c (ntpipe_slurp_reader): * event-msw.c (ntpipe_shove_writer): * event-msw.c (struct winsock_stream): * event-msw.c (winsock_reader): * event-msw.c (winsock_writer): * event-msw.c (mswindows_need_event): * event-msw.c (assert): * event-msw.c (mswindows_current_layout_has_AltGr): * event-msw.c (debug_output_mswin_message): * events.c (event_hash): * extents.c (extent_list_locate): * faces.c (face_hash): * file-coding.c: * file-coding.c (detect_eol_type): * file-coding.c (detect_coding_type): * file-coding.c (determine_real_coding_system): * file-coding.c (Fdetect_coding_region): * file-coding.c (decoding_reader): * file-coding.c (decoding_writer): * file-coding.c (mule_decode): * file-coding.c (Fdecode_coding_region): * file-coding.c (encoding_reader): * file-coding.c (encoding_writer): * file-coding.c (mule_encode): * file-coding.c (Fencode_coding_region): * file-coding.c (detect_coding_sjis): * file-coding.c (decode_coding_sjis): * file-coding.c (encode_coding_sjis): * file-coding.c (DECODE_BIG5): * file-coding.c (ENCODE_BIG5): * file-coding.c (detect_coding_big5): * file-coding.c (decode_coding_big5): * file-coding.c (encode_coding_big5): * file-coding.c (Fset_ucs_char): * file-coding.c (detect_coding_ucs4): * file-coding.c (decode_coding_ucs4): * file-coding.c (encode_coding_ucs4): * file-coding.c (detect_coding_utf8): * file-coding.c (decode_coding_utf8): * file-coding.c (encode_coding_utf8): * file-coding.c (detect_coding_iso2022): * file-coding.c (decode_coding_iso2022): * file-coding.c (iso2022_designate): * file-coding.c (encode_coding_iso2022): * file-coding.c (decode_coding_no_conversion): * file-coding.c (encode_coding_no_conversion): * fileio.c (read_allowing_quit): * fileio.c (write_allowing_quit): * filelock.c (struct): * filelock.c (LOCK_PID_MAX): * filelock.c (fill_in_lock_file_name): * filelock.c (lock_file_1): * filelock.c (lock_file): * floatfns.c (float_hash): * fns.c (print_bit_vector): * fns.c (bit_vector_hash): * fns.c (size_bit_vector): * fns.c (Flength): * fns.c (Fsafe_length): * fns.c (copy_list): * fns.c (Fnthcdr): * fns.c (Ffillarray): * fns.c (bytecode_nconc2): * fns.c (Fnconc): * fns.c (mapcar1): * fns.c (Fmapcar): * fns.c (Fmapvector): * fns.c (XMALLOC_OR_ALLOCA): * font-lock.c: * font-lock.c (SYNTAX_END_STYLE): * font-lock.c (SINGLE_SYNTAX_STYLE): * font-lock.c (find_context): * frame-x.c (x_set_initial_frame_size): * frame-x.c (Fcde_start_drag_internal): * frame-x.c (Foffix_start_drag_internal): * frame.h (struct frame): * getloadavg.c: * getloadavg.c (getloadavg): * gif_io.c (GifStdRead): * gif_io.c (GifStdWrite): * gif_io.c (GifRead): * gif_io.c (GifWrite): * gifrlib.h: * glyphs-eimage.c (message): * glyphs-eimage.c (our_skip_input_data): * glyphs-eimage.c (jpeg_memory_src): * glyphs-eimage.c (gif_instantiate_unwind): * glyphs-eimage.c (gif_read_from_memory): * glyphs-eimage.c (gif_memory_close): * glyphs-eimage.c (gif_error_func): * glyphs-eimage.c (png_read_from_memory): * glyphs-eimage.c (tiff_memory_read): * glyphs-eimage.c (tiff_memory_write): * glyphs-eimage.c (tiff_memory_seek): * glyphs-eimage.c (tiff_memory_close): * glyphs-eimage.c (tiff_map_noop): * glyphs-eimage.c (tiff_unmap_noop): * glyphs-eimage.c (tiff_memory_size): * glyphs-eimage.c (tiff_error_func): * glyphs-eimage.c (tiff_warning_func): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (xbm_create_bitmap_from_data): * glyphs-msw.c (mswindows_image_instance_hash): * glyphs-shared.c (read_bitmap_data): * glyphs-shared.c (read_bitmap_data_from_file): * glyphs-x.c (x_image_instance_hash): * glyphs-x.c (write_lisp_string_to_temp_file): * glyphs-x.c (check_pointer_sizes): * glyphs-x.c (x_xpm_instantiate): * glyphs-x.c (x_subwindow_instantiate): * glyphs.c (image_instance_hash): * glyphs.c (bitmap_to_lisp_data): * glyphs.c (instantiator_eq_hash): * glyphs.c (glyph_hash): * glyphs.h: * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): * glyphs.h (struct Lisp_Image_Instance): * glyphs.h (struct expose_ignore): * gmalloc.c (_free_internal): * gpmevent.c (tty_get_foreign_selection): * gui-x.c (add_accel_and_to_external): * gui.c (gui_item_display_flush_left): * gui.c (gui_item_display_flush_right): * gui.c (gui_item_hash): * gui.h: * hash.c: * hash.c (memory_hash): * hash.c (string_hash): * hash.c (hash_table_size): * hash.c (gethash): * hash.c (make_hash_table): * hash.c (make_general_hash_table): * hash.c (grow_hash_table): * hash.c (puthash): * hash.c (rehash): * hash.c (remhash): * hash.h: * hash.h (struct hash_table): * hftctl.c (RD_BUF): * imgproc.c (build_EImage_quantable): * insdel.c (bytecount_to_charcount): * keymap.c: * keymap.c (make_keymap): * keymap.c (relevant_map_push): * line-number.c (insert_invalidate_line_number_cache): * linuxplay.c (linux_play_data_or_file): * lisp.h: * lisp.h (DO_REALLOC): * lisp.h (struct Lisp_Bit_Vector): * lisp.h (bit_vector_bit): * lisp.h (set_bit_vector_bit): * lisp.h (struct lcrecord_list): * lisp.h (struct overhead_stats): * lrecord.h: * lrecord.h (struct lrecord_implementation): * lrecord.h (lrecord_description_type): * lrecord.h (struct lrecord_description): * lrecord.h (struct struct_description): * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): * lrecord.h (RECORD_TYPEP): * lrecord.h (DECLARE_EXTERNAL_LRECORD): * lstream.c: * lstream.c (aligned_sizeof_lstream): * lstream.c (sizeof_lstream): * lstream.c (Lstream_flush_out): * lstream.c (Lstream_adding): * lstream.c (Lstream_write_1): * lstream.c (Lstream_write): * lstream.c (Lstream_raw_read): * lstream.c (Lstream_read_more): * lstream.c (Lstream_read): * lstream.c (Lstream_unread): * lstream.c (Lstream_fputc): * lstream.c (stdio_reader): * lstream.c (stdio_writer): * lstream.c (filedesc_reader): * lstream.c (filedesc_writer): * lstream.c (lisp_string_reader): * lstream.c (struct fixed_buffer_stream): * lstream.c (make_fixed_buffer_input_stream): * lstream.c (make_fixed_buffer_output_stream): * lstream.c (fixed_buffer_reader): * lstream.c (fixed_buffer_writer): * lstream.c (struct resizing_buffer_stream): * lstream.c (resizing_buffer_writer): * lstream.c (dynarr_writer): * lstream.c (lisp_buffer_reader): * lstream.c (lisp_buffer_writer): * lstream.h: * lstream.h (lstream_implementation): * lstream.h (struct lstream): * malloc.c: * malloc.c (malloc): * malloc.c (free): * malloc.c (realloc): * md5.c (Fmd5): * menubar-msw.c (displayable_menu_item): * mule-ccl.c (ccl_driver): * mule-charset.c (non_ascii_charptr_copy_char): * mule-charset.c (Lstream_get_emchar_1): * mule-charset.h (struct Lisp_Charset): * mule-charset.h (CHARSET_BY_ATTRIBUTES): * mule-wnnfns.c (m2w): * ntheap.c (recreate_heap): * ntproc.c (find_child_pid): * objects-msw.c (mswindows_string_to_color): * objects-msw.c (mswindows_initialize_color_instance): * objects-msw.c (mswindows_valid_color_name_p): * objects-x.c (x_initialize_font_instance): * objects-x.c (truename_via_FONT_prop): * objects-x.c (x_font_instance_properties): * offix.c (DndDragButtons): * offix.h: * opaque.c (aligned_sizeof_opaque): * opaque.c (sizeof_opaque): * opaque.c (make_opaque): * opaque.c (equal_opaque): * opaque.c (reinit_opaque_once_early): * opaque.h: * opaque.h (Lisp_Opaque): * postgresql.h (message): * process-nt.c (alloc_process_memory): * process-nt.c (run_in_other_process): * process-nt.c (nt_send_process): * process-unix.c (unix_send_process): * rangetab.c (get_range_table): * redisplay-msw.c (mswindows_output_cursor): * redisplay-x.c (x_output_string): * redisplay-x.c (x_output_vertical_divider): * redisplay.c (add_hscroll_rune): * redisplay.c (add_octal_runes): * redisplay.c (add_control_char_runes): * redisplay.c (add_propagation_runes): * redisplay.c (redisplay_window): * redisplay.c (point_in_line_start_cache): * redisplay.c (glyph_to_pixel_translation): * regex.c: * regex.c (init_syntax_once): * regex.c (print_fastmap): * regex.c (print_double_string): * regex.c (struct): * regex.c (PUSH_FAILURE_POINT): * regex.c (POP_FAILURE_POINT): * regex.c (union): * regex.c (SET_REGS_MATCHED): * regex.c (GET_BUFFER_SPACE): * regex.c (regex_compile): * regex.c (compile_range): * regex.c (re_compile_fastmap): * regex.c (re_set_registers): * regex.c (re_search_2): * regex.c (re_match_2_internal): * regex.c (regcomp): * regex.c (regexec): * regex.c (regerror): * regex.h: * regex.h (Element_Count): * regex.h (struct re_pattern_buffer): * regex.h (struct re_registers): * search.c (skip_chars): * select-gtk.c: * select-gtk.c (symbol_to_gtk_atom): * select-gtk.c (atom_to_symbol): * select-gtk.c (PROCESSING_GTK_CODE): * select-gtk.c (emacs_gtk_selection_handle): * select-gtk.c (gtk_get_window_property): * select-gtk.c (receive_incremental_selection): * select-gtk.c (gtk_get_window_property_as_lisp_data): * select-x.c: * select-x.c (symbol_to_x_atom): * select-x.c (PROCESSING_X_CODE): * select-x.c (x_reply_selection_request): * select-x.c (x_handle_selection_request): * select-x.c (copy_multiple_data): * select-x.c (x_get_window_property): * select-x.c (receive_incremental_selection): * select-x.c (x_get_window_property_as_lisp_data): * select-x.c (Fx_get_cutbuffer_internal): * select-x.c (Fx_store_cutbuffer_internal): * sheap.c (report_sheap_usage): * specifier.c (aligned_sizeof_specifier): * specifier.c (sizeof_specifier): * specifier.c (make_specifier_internal): * symbols.c (defsymbol_massage_name_1): * symbols.c (defkeyword_massage_name): * symbols.c (deferror_massage_name_and_message): * sysdep.c (get_eof_char): * sysdep.c (tty_init_sys_modes_on_device): * sysdep.c (init_system_name): * sysdir.h (select): * tests.c (Ftest_data_format_conversion): * tparam.c: * unexaix.c (copy_sym): * unexconvex.c (sptr;): * unexconvex.c (copy_sym): * unexcw.c: * unexcw.c (unexec): * unexcw.c (ALLOC_MASK): * unexcw.c (CHECK_AOUT_POS): * unexcw.c (get_section_info): * unexcw.c (copy_executable_and_dump_data_section): * unexcw.c (dup_file_area): * unexcw.c (write_int_to_bss): * unexec.c (make_hdr): * unexec.c (copy_sym): * window.c (struct window_config): * window.c (mark_window_config): * window.c (sizeof_window_config_for_n_windows): * window.c (sizeof_window_config): * window.c (window_config_equal): * window.c (free_window_configuration): * window.c (Fset_window_configuration): * window.c (count_windows): * window.c (Fcurrent_window_configuration): * window.c (reinit_vars_of_window): * xgccache.c (gc_cache_hash): * xmu.c (XmuCursorNameToIndex): Create types Memory_Count, Element_Count, Hash_Code. The first two are EMACS_INT, the last EMACS_UINT. Use them to replace size_t, and to replace int/unsigned int where appropriate (there are probably more such places). Eliminate size_t and hashcode_t everywhere except in ancillary code that is borrowed from elsewhere. (Use Memory_Count, Element_Count, Hash_Code, Bytecount, Extcount, or EMACS_INT.) Eliminate use of unsigned everywhere except in the same code, when (a) it holds a simple count (rather than a bit flag and such); (b) it refers to an int or long, not something smaller; (c) it's not necessary specifically to call an external API with such a parameter (we treat such parameters like Extbyte, and convert at the point of entry/exit); and (d) there's no reasonable possibility it will refer to a value greater than 2G, or if it could, other things in XEmacs would break. Put parens around all sizeof args in case we decide to macro-ize this. (I don't think it's necessary. Now that we've turned sign-compare warnings back on, we will get warnings wherever the unsigned return value of sizeof might cause problems. That's what the warnings are for, after all.) Eliminate dumper type XD_SIZE_T and replace with XD_MEMORY_COUNT, XD_ELEMENT_COUNT, XD_HASH_CODE. Rename Lstream_data_count to Lstream_Data_Count, following the capitalization conventions used in other types. * elhash.c (hash_table_size): Hash table sizes are signed now, so comment out the two highest (post-2G) numbers in the primes list. * event-msw.c (mswindows_current_layout_has_AltGr): Rewrite to be a bit more correct and fix unsigned problems. * extents.c (extent_hash): * extents.c (set_extent_glyph): * extents.c (Fset_extent_begin_glyph_layout): * extents.c (Fset_extent_end_glyph_layout): * extents.h: * extents.h (set_extent_normal_field): * extents.h (extent_begin_glyph_layout): To eliminate warnings, create set functions for the enum fields in struct extent. * filelock.c: Use pid_t instead of unsigned long to represent a pid. (#### Perhaps a bad idea. Generally using unknown types of this sort is bad.) * gif_io.c: Include lisp.h. * glyphs-eimage.c (jpeg_instantiate): * glyphs-eimage.c (gif_memory_storage): * glyphs-eimage.c (gif_instantiate): * glyphs-eimage.c (struct png_memory_storage): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_memory_storage): * glyphs-eimage.c (tiff_instantiate): Replace Extbyte with more correct UChar_Binary, Extcount with Memory_Count. * glyphs-shared.c (read_bitmap_data): Replace char with Char_ASCII. * gui-x.c: Replace unsigned int with more correct LWLIB_ID for lwlib_id_tick. * hftctl.c: This was trying to include "lisp.h" to encapsulated file functions (where they once were encapsulated, but no more); so include sysfile.h. This only affects read(). * imgproc.c (get_histogram): replace unsigned char with UChar_Binary. * lisp.h: Move basic types to top of file since we need them in some macros just below. * redisplay-x.c: Convert various variables that were declared as unsigned due to return values from X functions to be signed, and create "external" versions of the variables to retrieve the unsigned value, which is then immediately converted to signed. * tparam.c: Eliminate useless non-#ifdef emacs code. * select-common.h: * select-gtk.c: * select-x.c: Abstract out hairy and duplicated code from select-x/gtk.c and put into select-common.h. Use ifdefs to handle the (small number of) differences. * select-x.c (x_reply_selection_request): * select-x.c (x_handle_selection_request): * select-x.c (copy_multiple_data): * select-x.c (x_get_window_property): * select-x.c (receive_incremental_selection): * select-x.c (x_get_window_property_as_lisp_data): * select-x.c (Fx_get_cutbuffer_internal): * select-x.c (Fx_store_cutbuffer_internal): Replace uses of `unsigned char' and `Extbyte' with UChar_Binary. * sysdep.c (init_baud_rate): Fix warning when HAVE_TTY not defined. * glyphs-eimage.c: * postgresql.h: * sysdir.h: Do some hackery to avoid shadowing warnings. * s\esix.h: * m\tad68k.h: Comment out redefinition of select (we don't have our own version anyway, and we play preprocessor games with select in sysdir.h). 2001-08-04 Adrian Aichner <adrian@xemacs.org> * console.c: Fix of compile error on darwin, as suggested by Toby Smith. 2001-07-28 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.2 "artichoke" is released. 2001-07-27 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_progress_gauge_redisplay): * glyphs.c (check_for_ignored_expose): * glyphs.c (find_matching_subwindow): * glyphs.h: * gutter.c (output_gutter): * gutter.c (redraw_exposed_gutter): warning elimination. 2001-07-26 Adrian Aichner <adrian@xemacs.org> * event-Xt.c (handle_map_event): Fix word duplication typos. * glyphs-eimage.c (gif_instantiate): Ditto. * ntproc.c (vars_of_ntproc): Ditto. * process-nt.c (vars_of_process_nt): Ditto. * redisplay-output.c (compare_runes): Ditto. * redisplay.c (create_string_text_block): Ditto. 2001-07-11 Matt Tucker <tuck@whistlingfish.net> * syntax.c (find_start_of_comment): Fix `unbalanced parentheses' bug when dealing with mixed comment styles in c++/java/etc. mode 2001-06-21 Ben Wing <ben@xemacs.org> * dired-msw.c (Fmswindows_insert_directory): Fix problem noted by Michael Sperber with directories containing [] and code that destructively modifies an existing string. 2001-06-18 Ben Wing <ben@xemacs.org> * dumper.c (pdump_dump_root_objects): * dumper.c (pdump_load_finish): wrap_record_1 -> wrap_pointer_1. 2001-06-18 Ben Wing <ben@xemacs.org> * window.c: * window.c (mark_window_as_deleted): * window.c (WINDOW_SLOT): We can't actually zero out everything in the window when deleting it. set-window-configuration assumes that various slots of the deleted window are still accurate. 2001-06-17 Ben Wing <ben@xemacs.org> --------------------------------------------------------------- DOCUMENTATION FIXES: --------------------------------------------------------------- * eval.c (Ffunction_min_args): * eval.c (Ffunction_max_args): Correct documentation. * elhash.c (Fremhash): Doc correction. --------------------------------------------------------------- LISP OBJECT CLEANUP: --------------------------------------------------------------- * bytecode.h (wrap_compiled_function): * buffer.h (wrap_buffer): * casetab.h (wrap_case_table): * chartab.h (wrap_char_table_entry): * chartab.h (wrap_char_table): * console-msw.h (wrap_devmode): * console-msw.h (wrap_mswindows_dialog_id): * console.h (wrap_console): * database.c (wrap_database): * device.h (wrap_device): * eldap.h (wrap_ldap): * elhash.h (wrap_hash_table): * events.h (wrap_timeout): * events.h (wrap_event): * extents.h (wrap_extent): * extents.h (wrap_extent_auxiliary): * extents.h (wrap_extent_info): * faces.h (wrap_face): * file-coding.h (wrap_coding_system): * frame.h (wrap_frame): * glyphs.h (wrap_image_instance): * glyphs.h (wrap_glyph): * gui-x.h (wrap_popup_data): * gui.h (wrap_gui_item): * keymap.h (wrap_keymap): * lisp-disunion.h (wrap_pointer_1): * lisp-union.h (wrap_pointer_1): * lisp.h (wrap_cons): * lisp.h (wrap_string): * lisp.h (wrap_vector): * lisp.h (wrap_bit_vector): * lisp.h (wrap_symbol): * lisp.h (wrap_subr): * lisp.h (wrap_marker): * lisp.h (wrap_float): * lisp.h (wrap_weak_list): * lisp.h (wrap_lcrecord_list): * lrecord.h (wrap_record_1): * lstream.h (wrap_lstream): * mule-charset.h (wrap_charset): * objects.h (wrap_color_instance): * objects.h (wrap_font_instance): * opaque.h (wrap_opaque): * opaque.h (wrap_opaque_ptr): * postgresql.h (wrap_pgconn): * postgresql.h (wrap_pgresult): * process.h (wrap_process): * rangetab.h (wrap_range_table): * specifier.h (wrap_specifier): * toolbar.h (wrap_toolbar_button): * tooltalk.h (wrap_tooltalk_message): * tooltalk.h (wrap_tooltalk_pattern): * ui-gtk.h (wrap_emacs_ffi): * ui-gtk.h (wrap_emacs_gtk_object): * ui-gtk.h (wrap_emacs_gtk_boxed): * lstream.h (wrap_lstream): * device.h (wrap_device): New. * frame.h (wrap_frame): New. * lisp-disunion.h (wrap_object): * lisp-disunion.h (XSETOBJ): * lrecord.h: Add wrap_* to all objects (it was already there for a few of them) -- an expression to encapsulate a pointer into a Lisp object, rather than the inconvenient XSET*. "wrap" was chosen because "make" as in make_int(), make_char() is not appropriate. (It implies allocation. The issue does not exist for ints and chars because they are not allocated.) Full error checking has been added to these expressions. When used without error checking, non-union build, use of these expressions will incur no loss of efficiency. (In fact, XSET* is now defined in terms of wrap_* in a non-union build.) In a union build, you will also get no loss of efficiency provided that you have a decent optimizing compiler, and a compiler that either understands inlines or automatically inlines those particular functions. (And since people don't normally do their production builds on union, it doesn't matter.) Update the sample Lisp object definition in lrecord.h accordingly. * dumper.c (pdump_dump_root_objects): * dumper.c (pdump_load_finish): Fix places in dumper that referenced wrap_object to reference its new name, wrap_pointer_1. * buffer.c (mark_buffer): * buffer.c (reset_buffer_local_variables): * buffer.c (Fbuffer_local_variables): * buffer.c (nuke_all_buffer_slots): * buffer.c (complex_vars_of_buffer): * bufslots.h: * conslots.h: * console.c: * console.c (mark_console): * console.c (nuke_all_console_slots): * console.c (delete_console_internal): * console.c (common_init_complex_vars_of_console): * console.c (complex_vars_of_console): * console.h (struct console): * devslots.h: NEW FILE. * device.c: * device.c (MARKED_SLOT): * device.c (mark_device): * device.c (nuke_all_device_slots): * device.c (allocate_device): * device.c (Fset_device_selected_frame): * device.c (delete_device_internal): * device.c (vars_of_device): * device.h (struct device): * device.h (MARKED_SLOT): * frame.c (nuke_all_frame_slots): * frame.c (allocate_frame_core): * frame.c (delete_frame_internal): * frame.h (struct frame): * frame.h (FRAME_LIVE_P): * frameslots.h: * window.c (mark_window): * window.c (WINDOW_SLOT): * window.c (allocate_window): * window.c (mark_window_as_deleted): * window.c (wrap_window_configuration): * window.c (Fset_window_configuration): * window.h: * window.h (struct window): * window.h (WINDOW_SLOT): * winslots.h: -- Extract out the Lisp objects of `struct device' into devslots.h, just like for the other structures. -- Extract out the remaining (not copied into the window config) Lisp objects in `struct window' into winslots.h; use different macros (WINDOW_SLOT vs. WINDOW_SAVED_SLOT) to differentiate them. -- Eliminate the `dead' flag of `struct frame', since it duplicates information already available in `framemeths', and fix FRAME_LIVE_P accordingly. (Devices and consoles already work this way.) -- In *slots.h, switch to system where MARKED_SLOT is automatically undef'd at the end of the file. (Follows what winslots.h already does.) -- Update the comments at the beginning of *slots.h to be accurate. -- When making any of the above objects dead, zero it out entirely and reset all Lisp object slots to Qnil. (We were already doing this somewhat, but not consistently.) This (1) Eliminates the possibility of extra objects hanging around that ought to be GC'd, (2) Causes an immediate crash if anyone tries to access a structure in one of these objects, (3) Ensures consistent behavior wrt dead objects. * dialog-msw.c: Use internal_object_printer, since this object should not escape. --------------------------------------------------------------- FIXING A CRASH THAT I HIT ONCE (AND A RELATED BAD BEHAVIOR): --------------------------------------------------------------- * eval.c (unwind_to_catch): * eval.c (condition_bind_unwind): * eval.c (condition_case_unwind): * eval.c (condition_case_1): Fix up some comments about the FSF implementation. Fix two nasty bugs: (1) condition_case_unwind frees the conses sitting in the catch->tag slot too quickly, resulting in a crash that I hit. (2) catches need to be unwound one at a time when calling unwind-protect code, rather than all at once at the end; otherwise, incorrect behavior can result. (A comment shows exactly how.) * backtrace.h: Improve comment about FSF differences in the handler stack. --------------------------------------------------------------- FIXING A CRASH THAT I REPEATEDLY HIT WHEN USING THE MOUSE WHEEL UNDER MSWINDOWS: --------------------------------------------------------------- Basic idea: My crash is due either to a dead, non-marked, GC-collected frame inside of a window mirror, or a prematurely freed window mirror. We need to mark the Lisp objects inside of window mirrors. Tracking the lifespan of window mirrors and scrollbar instances is extremely hard, and there may well be lurking bugs where such objects are freed too soon. The only safe way to fix these problems (and it fixes both problems at once) is to make both of these structures Lisp objects. * lrecord.h (lrecord_type): * emacs.c (main_1): * inline.c: * scrollbar-gtk.c (gtk_create_scrollbar_instance): * scrollbar-gtk.c (find_scrollbar_window_mirror): * scrollbar-gtk.c (scrollbar_cb): * scrollbar-gtk.c (gtk_scrollbar_pointer_changed_in_window): * scrollbar-gtk.c (gtk_update_frame_scrollbars): * scrollbar-msw.c: * scrollbar-msw.c (mswindows_create_scrollbar_instance): * scrollbar-msw.c (mswindows_free_scrollbar_instance): * scrollbar-msw.c (mswindows_update_scrollbar_instance_values): * scrollbar-msw.c (mswindows_handle_scrollbar_event): * scrollbar-msw.c (syms_of_scrollbar_mswindows): * scrollbar-msw.c (vars_of_scrollbar_mswindows): * scrollbar-msw.c (complex_vars_of_scrollbar_mswindows): * scrollbar-x.c (find_scrollbar_window_mirror): * scrollbar-x.c (x_update_frame_scrollbars): * scrollbar.c: * scrollbar.c (mark_scrollbar_instance): * scrollbar.c (free_scrollbar_instance): * scrollbar.c (free_frame_scrollbars): * scrollbar.c (create_scrollbar_instance): * scrollbar.c (syms_of_scrollbar): * scrollbar.h: * scrollbar.h (struct scrollbar_instance): * symsinit.h: Make scrollbar instances actual Lisp objects. Mark the window mirrors in them. inline.c needs to know about scrollbar.h now. Record the new type in lrecord.h. Fix up scrollbar-*.c appropriately. Create a hash table in scrollbar-msw.c so that the scrollbar instances stored in scrollbar HWND's are properly GC-protected. Create complex_vars_of_scrollbar_mswindows() to create the hash table at startup, and call it from emacs.c. Don't store the scrollbar instance as a property of the GTK scrollbar, as it's not used and if we did this, we'd have to separately GC-protect it in a hash table, like in MS Windows. * lrecord.h (lrecord_type): * frame.h (struct frame): * frame.c (delete_frame_internal): * frameslots.h: * redisplay.c: * window.c: * window.c (mark_window_mirror): * window.c (new_window_mirror): * window.c (update_frame_window_mirror): * window.c (free_window_mirror): * window.c (find_window_mirror): * window.c (syms_of_window): * window.c (real_window): * window.h (struct window_mirror): Move mark_window_mirror from redisplay.c to window.c. Make window mirrors actual Lisp objects. Tell lrecord.h about them. Change the window mirror member of struct frame from a pointer to a Lisp object, and add XWINDOW_MIRROR in appropriate places. Mark the scrollbar instances in the window mirror. * redisplay.c: * redisplay.h: * alloc.c (garbage_collect_1): Delete mark_redisplay. Don't call mark_redisplay. We now mark frame-specific structures in mark_frame. NOTE: I also deleted an extremely questionable call to update_frame_window_mirrors(). It was extremely questionable before, and now totally impossible, since it will create Lisp objects during redisplay. * frame.c (mark_frame): Mark the scrollbar instances, which are now Lisp objects. Call mark_gutter() here, not in mark_redisplay(). * gutter.c: Update comments about correct marking. --------------------------------------------------------------- ISSUES BROUGHT UP BY MARTIN: --------------------------------------------------------------- * buffer.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA): Put back these macros the way Steve T and I think they ought to be. I already explained in a previous changelog entry why I think these macros should be the way I'd defined them. Once again: We fix these macros so they don't care about the type of their lvalues. The non-C-string equivalents of these already function in the same way, and it's correct because it should be OK to pass in a CBufbyte *, a BufByte *, a Char_Binary *, an UChar_Binary *, etc. The whole reason for these different types is to work around errors caused by signed-vs-unsigned non-matching types. Any possible error that might be caught in a DFC macro would also be caught wherever the argument is used elsewhere. So creating multiple macro versions would add no useful error-checking and just further complicate an already complicated area. As for Martin's "ANSI aliasing" bug, XEmacs is not ANSI-aliasing clean and probably never will be. Unless the board agrees to change XEmacs in this way (and we really don't want to go down that road), this is not a bug. * sound.h (sound_perror): Undo Martin's type change. * signal.c (qxe_setitimer): Fix problem identified by Martin with Linux and g++ due to non-standard declaration of setitimer(). * systime.h: Update the docs for "qxe_" to point out why making the encapsulation explicit is always the right way to go. (setitimer() itself serves as an example.) 2001-06-11 Martin Buchholz <martin@xemacs.org> * buffer.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA): * buffer.h (DFC_C_STRING_MALLOC_USE_CONVERTED_DATA): Revert to doing type-checking on `sink'. * sound.h (sound_perror): Bufbyte -> CBufbyte * sound.h (sound_warn): Bufbyte -> CBufbyte 2001-06-12 Martin Buchholz <martin@xemacs.org> * config.h.in (alloca): All feature test macros must be defined before the first system header file inclusion. So move alloca twiddling after the feature test definitions, but before the first "real" code. 2001-06-11 Martin Buchholz <martin@xemacs.org> * lisp.h (DECIMAL_PRINT_SIZE): Don't use floating point. Sun cc (buggily?) cannot use floating point computations to define a compile-time integral constant. 2001-06-10 Ben Wing <ben@xemacs.org> ------ signal-code changes ------ * data.c (init_data_very_early): * device-tty.c (init_device_tty): * emacs.c (fatal_error_signal): * emacs.c (memory_warning_signal): * floatfns.c (init_floatfns_very_early): * linuxplay.c (linux_play_data_or_file): * nas.c (*): * process-unix.c (unix_init_process): * process-unix.c (unix_create_process): * process-unix.c (unix_send_process): * process-unix.c (unix_deactivate_process): * signal.c (handle_signal_if_fatal): * signal.c (init_signals_very_early): * signal.c (init_interrupts_late): * sunplay.c (play_sound_file): * sunplay.c (play_sound_data): * sysdep.c (save_signal_handlers): * sysdep.c (restore_signal_handlers): * sysdep.c (setup_pty): * syssignal.h (EMACS_SIGNAL): use EMACS_SIGNAL everywhere instead of playing preprocessing games with signal(). * s\windowsnt.h: * s\mingw32.h: * syssignal.h: Remove mswindows signal code from s+m headers and move to syssignal.h as one of the five ways of signal handling, instead of playing preprocessing games. * fileio.c: * sysdep.c (qxe_reliable_signal): Rename sys_do_signal to qxe_reliable_signal. * signal.c (set_timeout_signal): * process-unix.c (close_safely): * profile.c (Fstart_profiling): * profile.c (Fstop_profiling): * signal.c (init_async_timeouts): * signal.c (start_async_timeouts): Create set_timeout_signal(); use instead of just EMACS_SIGNAL to establish a signal handler on a timeout signal; this does special things under Cygwin. * nt.c (init_ntproc): Eliminate term_ntproc(), which is blank; used as a SIGABRT handler, which was wrong anyway. * nt.c: * win32.c: * win32.c (sigmask): * win32.c (mswindows_sigset): * win32.c (mswindows_sighold): * win32.c (mswindows_sigrelse): * win32.c (mswindows_raise): * win32.c (setitimer_helper_proc): * win32.c (syms_of_win32): Move signal code from nt.c to win32.c, since Cygwin needs it too when dealing with timeout signals. * s\cygwin32.h: Define CYGWIN_BROKEN_SIGNALS. ------ other changes ------ * s\mingw32.h: Fix problems with NOT_C_CODE being in the wrong place and excluding defines needed when building Makefile.in.in. * filelock.c: * mule-canna.c: * mule-canna.c (Fcanna_initialize): * mule-canna.c (Fcanna_finalize): * mule-ccl.c: * mule-ccl.h: * ralloc.c: * unexalpha.c: * unexapollo.c: * unexcw.c: * unexelfsgi.c: * unexnt.c: * unexsni.c: * s\aix3-1.h: * s\bsd4-1.h: * s\bsd4-2.h: * s\bsd4-3.h: * s\cxux.h: * s\cygwin32.h: * s\dgux.h: * s\dgux5-4r2.h: * s\dgux5-4r3.h: * s\dgux5-4r4.h: * s\ewsux5r4.h: * s\gnu.h: * s\hpux.h: * s\iris3-5.h: * s\iris3-6.h: * s\irix3-3.h: * s\linux.h: * s\mingw32.h: * s\newsos5.h: * s\nextstep.h: * s\ptx.h: * s\riscix1-1.h: * s\riscix1-2.h: * s\rtu.h: * s\sco4.h: * s\sco5.h: * s\template.h: * s\ultrix.h: * s\umax.h: * s\umips.h: * s\unipl5-0.h: * s\unipl5-2.h: * s\usg5-0.h: * s\usg5-2-2.h: * s\usg5-2.h: * s\usg5-3.h: * s\usg5-4.h: * s\windowsnt.h: * s\xenix.h: Rename 'GNU Emacs' to XEmacs in the copyright and comments. * nas.c (NAS_LITTLE_ENDIAN): * nas.c (XTOOLKIT): * nas.c (nas_play_sound_file): * nas.c (nas_play_sound_data): * nas.c (CatchIoErrorAndJump): * nas.c (DataReadS): * nas.c (DataReadL): * nas.c (readChunk): * nas.c (WaveOpenDataForReading): Stylistic cleanup. Avoid preprocessing games with names such as play_sound_file. 2001-06-08 Ben Wing <ben@xemacs.org> ------ gc-in-window-procedure fixes ------ * alloc.c: * alloc.c (struct post_gc_action): * alloc.c (register_post_gc_action): * alloc.c (run_post_gc_actions): * alloc.c (garbage_collect_1): Create "post-gc actions", to avoid those dreaded "GC during window procedure" problems. * event-msw.c: Abort, clean and simple, when GC in window procedure. We want to flush these puppies out. * glyphs-msw.c: * glyphs-msw.c (finalize_destroy_window): * glyphs-msw.c (mswindows_finalize_image_instance): Use a post-gc action when destroying subwindows. * lisp.h: Declare register_post_gc_action(). * scrollbar-msw.c: * scrollbar-msw.c (unshow_that_mofo): Use a post-gc action when unshowing scrollbar windows, if in gc. * redisplay.c (mark_redisplay): Add comment about the utter evilness of what's going down here. ------ cygwin setitimer fixes ------ * Makefile.in.in (sheap_objs): * Makefile.in.in (profile_objs): * Makefile.in.in (objs): Compile profile.c only when HAVE_SETITIMER. * nt.c (mswindows_sigset): * nt.c (mswindows_sighold): * nt.c (mswindows_sigrelse): * nt.c (mswindows_sigpause): * nt.c (mswindows_raise): * nt.c (close_file_data): Style fixes. * nt.c: Move setitimer() emulation to win32.c, because Cygwin needs it too. * profile.c: * profile.c (Fstart_profiling): * profile.c (Fstop_profiling): Make sure we don't compile if no setitimer(). Use qxe_setitimer() instead of just plain setitimer(). * signal.c: * signal.c (set_one_shot_timer): * signal.c (alarm): Define qxe_setitimer() as an encapsulation around setitimer() -- call setitimer() directly unless Cygwin or MS Win, in which case we use our simulated version in win32.c. * systime.h: * systime.h (struct itimerval): * systime.h (ITIMER_REAL): Prototype mswindows_setitimer() and qxe_setitimer(). Long comment about "qxe" and the policy regarding encapsulation. * win32.c: * win32.c (setitimer_helper_proc): * win32.c (setitimer_helper_period): * win32.c (setitimer_helper): * win32.c (mswindows_setitimer): Move setitimer() emulation here, so Cygwin can use it. Rename a couple of functions and variables to be longer and more descriptive. In setitimer_helper_proc(), send the signal using either mswindows_raise() or (on Cygwin) kill(). If for some reason we are still getting lockups, we'll change the kill() to directly invoke the signal handlers. ------ windows shell fixes ------ * callproc.c: * ntproc.c: Comments about how these two files must die. * callproc.c (init_callproc): On MS Windows, init shell-file-name from SHELL, then COMSPEC, not just COMSPEC. (more correct and closer to FSF.) Don't force a value for SHELL into the environment. (Comments added to explain why not.) * nt.c (init_user_info): Don't shove a fabricated SHELL into the environment. See above. ------ misc fixes ------ * glyphs-shared.c (read_bitmap_data): static. * glyphs-shared.c (read_bitmap_data_from_file): Style correction. 2001-06-06 Ben Wing <ben@xemacs.org> * emodules.c (emodules_load): * tooltalk.c (check_status): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): Fix warnings pointed out by Martin. * lisp.h: Correct usage of CBufbyte. * esd.c (esd_play_sound_file): * esd.c (esd_play_sound_data): indentation changes. * bytecode.c (invalid_byte_code): * eval.c (print_subr): * eval.c (build_error_data): * eval.c (signal_error): * eval.c (maybe_signal_error): * eval.c (signal_continuable_error): * eval.c (maybe_signal_continuable_error): * eval.c (signal_error_2): * eval.c (maybe_signal_error_2): * eval.c (signal_continuable_error_2): * eval.c (maybe_signal_continuable_error_2): * eval.c (signal_ferror): * eval.c (maybe_signal_ferror): * eval.c (signal_continuable_ferror): * eval.c (maybe_signal_continuable_ferror): * eval.c (signal_ferror_with_frob): * eval.c (maybe_signal_ferror_with_frob): * eval.c (signal_continuable_ferror_with_frob): * eval.c (maybe_signal_continuable_ferror_with_frob): * eval.c (syntax_error): * eval.c (syntax_error_2): * eval.c (maybe_syntax_error): * eval.c (sferror): * eval.c (sferror_2): * eval.c (maybe_sferror): * eval.c (invalid_argument): * eval.c (invalid_argument_2): * eval.c (maybe_invalid_argument): * eval.c (invalid_constant): * eval.c (invalid_constant_2): * eval.c (maybe_invalid_constant): * eval.c (invalid_operation): * eval.c (invalid_operation_2): * eval.c (maybe_invalid_operation): * eval.c (invalid_change): * eval.c (invalid_change_2): * eval.c (maybe_invalid_change): * eval.c (invalid_state): * eval.c (invalid_state_2): * eval.c (maybe_invalid_state): * eval.c (wtaerror): * eval.c (stack_overflow): * eval.c (out_of_memory): * eval.c (printing_unreadable_object): * eval.c (caught_a_squirmer): * eval.c (eval_in_buffer_trapping_errors): * eval.c (run_hook_trapping_errors): * eval.c (safe_run_hook_trapping_errors): * eval.c (call0_trapping_errors): * eval.c (call1_trapping_errors): * eval.c (call2_trapping_errors): * eval.c (warn_when_safe): * fileio.c (report_file_type_error): * fileio.c (report_error_with_errno): * fileio.c (report_file_error): Use CBufbyte instead of char for error/warning functions. * linuxplay.c: * linuxplay.c (DONT_ENCAPSULATE): * miscplay.c: * miscplay.c (DONT_ENCAPSULATE): * sgiplay.c: * sgiplay.c (DONT_ENCAPSULATE): * sunplay.c: * sunplay.c (DONT_ENCAPSULATE): Define DONT_ENCAPSULATE. (All encapsulation is removed in my pending Mule workspace.) * sgiplay.c (play_sound_data): * sgiplay.c (play_internal): Put back #include <audio.h> accidentally removed. Make play_sound_data return an int, like all other such functions in *play.c. * sound.c: Fix up documentation of `play-sound'. * sysfile.h: Don't include sys/fcntl.h, as per Martin's advice. 2001-06-04 William M. Perry <wmperry@gnu.org> * gpmevent.c (KG_CTRL): Just define these unconditionally. The linux headers are so lame that they do not expose these to userland programs and you cannot gracefully include the kernel headers. 2001-06-03 William M. Perry <wmperry@gnu.org> * scrollbar-gtk.c (gtk_create_scrollbar_instance): Make calling of gtk_size_request unconditional. 2001-06-02 William M. Perry <wmperry@gnu.org> * emacs-marshals.c: Regenerated. 2001-06-01 William M. Perry <wmperry@gnu.org> * glyphs-shared.c (read_bitmap_data): Common definition of read_bitmap_data_from_file added. This does not attempt to use the Xmu based code at all - lets us be consistent across platforms. * glyphs-gtk.c: Removed definition of read_bitmap_data_from_file - this is now in glyphs-shared.c * glyphs-msw.c: Ditto. * glyphs-x.c: Ditto. 2001-06-01 Ben Wing <ben@xemacs.org> * Makefile.in.in (ldflags): eliminate that pesky "defaulting to 00401000" warning. * nt.h: eliminate warnings. 2001-06-01 Ben Wing <ben@xemacs.org> * nt.c (mswindows_utime): * nt.c (close_file_data): fix off-by-one-indirection error. 2001-06-01 Ben Wing <ben@xemacs.org> * event-msw.c (debug_mswin_messages): conditionalize the messages that were causing compile errors. (if only macros could generate #ifdef statements ...) 2001-06-01 Martin Buchholz <martin@xemacs.org> * lisp.h (DECIMAL_PRINT_SIZE): New. * data.c (Fnumber_to_string): Use DECIMAL_PRINT_SIZE * print.c (print_internal): Likewise. * redisplay.c (window_line_number): Likewise. * redisplay.c (decode_mode_spec): Likewise. * tooltalk.c (tt_message_arg_ival_string): Likewise. Fix a bunch of 128-bit bugs; make code more readable && efficient. 2001-05-30 Ben Wing <ben@xemacs.org> * s\cygwin32.h: Don't unilaterally include ntplay, but only when we're compiling with native sound (look in configure now). 2001-05-30 Ben Wing <ben@xemacs.org> For 21.4: (Stephen, just take all event-msw.c patches. This includes the "iconify" fix below.) * event-msw.c: * event-msw.c (mswindows_dequeue_dispatch_event): * event-msw.c (assert): * event-msw.c (emacs_mswindows_quit_p): * event-msw.c (debug_mswin_messages): * event-msw.c (debug_output_mswin_message): * event-msw.c (vars_of_event_mswindows): Fix yet more problems with C-g handling. Implement debug-mswindows-events. For 21.5: * event-stream.c: * event-stream.c (add_low_level_timeout): * event-stream.c (event_stream_generate_wakeup): * event-stream.c (event_stream_resignal_wakeup): * event-stream.c (event_stream_disable_wakeup): * event-stream.c (event_stream_wakeup_pending_p): * events.h: * signal.c: * signal.c (handle_async_timeout_signal): * signal.c (signal_remove_async_interval_timeout): * signal.c (alarm): * signal.c (Fwaiting_for_user_input_p): * signal.c (start_interrupts): * signal.c (establish_slow_interrupt_timer): * signal.c (slow_down_interrupts): * signal.c (check_what_happened): * signal.c (alarm_signal): * signal.c (interrupt_signal): * sysdep.h: Rearrange the signal-handling code to eliminate the former spaghetti logic paths in it. Document clearly what "low-level" and "high-level" timeouts are. Rename some functions with unclear names (e.g. "...alarm...") to names that reflect what they actually do (e.g. "...async_timeout..."). Fix numerous bugs discovered in the process. * console-x.h: * event-Xt.c: * event-Xt.c (update_frame_iconify_status): * event-Xt.c (handle_map_event): * event-Xt.c (emacs_Xt_handle_magic_event): * event-Xt.c (emacs_Xt_event_pending_p): * event-msw.c: * frame-x.c: * frame-x.c (x_frame_window_state): * frame-x.c (x_frame_iconified_p): * frame-x.c (x_frame_visible_p): Hopefully make XEmacs properly maintain the "iconified" state on frames at all times. This should fix the "can't delete a frame with C-x 5 0 when there's another iconified frame out there" bug. Put a notice in of further changes that should probably be made to clean up the frame-visibility support. (especially directed at Jan Vroonhof) * lisp.h: * miscplay.c (sndcnv8S_2mono): * miscplay.c (sndcnv2monounsigned): * miscplay.c (int2ulaw): * miscplay.c (sndcnv2byteLE): * miscplay.c (sndcnv2byteBE): * miscplay.c (sndcnv2monobyteLE): * miscplay.c (sndcnv2monobyteBE): Rename SBufbyte to CBufbyte to avoid a misleading name. Eliminate UChar, which is not used anywhere and contributes no semantic info. Add a comment about the documentation-only properties of the char/unsigned char typedefs. Add SChar_Binary as an explicitly `signed' version of Char_Binary and put back the `signed' declarations in miscplay.c. * alloc.c (build_string): * alloc.c (build_ext_string): * alloc.c (build_translated_string): Use char typedefs. * console-msw.c (mswindows_lisp_error): * device-msw.c (sync_printer_with_devmode): * device-msw.c (handle_devmode_changes): * device-msw.c (Fmsprinter_select_settings): * device-msw.c (Fmswindows_printer_list): * dialog-msw.c: * dialog-msw.c (ALIGN_TEMPLATE): * dialog-msw.c (handle_question_dialog_box): * editfns.c (user_login_name): * fileio.c (Ffile_readable_p): * glyphs-eimage.c (tiff_memory_seek): * menubar-msw.c (mswindows_translate_menu_or_dialog_item): * menubar-msw.c (populate_menu_add_item): * ntplay.c: * ntplay.c (DONT_ENCAPSULATE): * ntplay.c (play_sound_file): * ntplay.c (play_sound_data_1): * objects-msw.c (initialize_font_instance): * objects-msw.c (mswindows_list_fonts): * realpath.c (cygwin_readlink): * redisplay-msw.c (mswindows_text_width_single_run): * select-msw.c (symbol_to_ms_cf): * select-msw.c (mswindows_register_selection_data_type): * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): * syswindows.h (WIN32_TO_LOCAL_FILE_FORMAT): * win32.c (Fmswindows_shell_execute): Eliminate numerous C++ errors. * frame-msw.c (mswindows_set_title_from_bufbyte): Eliminate numerous C++ errors and Mule-ize. * glyphs-msw.c (convert_EImage_to_DIBitmap): * glyphs-msw.c (mswindows_init_image_instance_from_eimage): * glyphs-msw.c (set_mono_pixel): * glyphs-msw.c (mswindows_initialize_image_instance_mask): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (read_bitmap_data): * glyphs-msw.c (read_bitmap_data_from_file): * glyphs-msw.c (xbm_create_bitmap_from_data): * glyphs-msw.c (init_image_instance_from_xbm_inline): * glyphs-msw.c (xbm_instantiate_1): * glyphs-msw.c (mswindows_xbm_instantiate): * glyphs-msw.c (mswindows_xface_instantiate): Eliminate numerous C++ errors and use char typedefs. 2001-05-29 Adrian Aichner <adrian@xemacs.org> * fileio.c: Include nt.h. Remove lisp_string_set_file_times() because set_file_times() now takes Lisp_Object path, instead of char*. * nt.c: Include buffer.h. * nt.c (convert_from_time_t): New. * nt.c (mswindows_utime): New. Use utime, since SetFileTime does not set mtime correctly. * nt.h: Declare mswindows_utime(). * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object path, instead of char*. * systime.h: Include <sys/utime.h> on WIN32_NATIVE. 2001-05-30 William M. Perry <wmperry@gnu.org> * emacs-marshals.c: Regenerated from lisp. * emacs-widget-accessors.c: Regenerated from lisp. * event-gtk.c (gtk_event_to_emacs_event): Buttons are now modifiers, so selection with the mouse works again. 2001-05-24 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * redisplay.c (redisplay_device): Allow preemption on redisplay. * event-msw.c (WM_DROPFILES): Use correct type for OLE characters. 2001-05-29 Mike Alexander <mta@arbortext.com> * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT 2001-05-26 Ben Wing <ben@xemacs.org> * buffer.c: * buffer.c (syms_of_buffer): * data.c: * data.c (init_errors_once_early): move text-conversion-error into data.c, along with other errors. 2001-05-26 Martin Buchholz <martin@xemacs.org> * print.c (print_internal): Fix compile error. 2001-05-25 Ben Wing <ben@xemacs.org> * device-msw.c (msprinter_default_printer): * eldap.c (Fldap_open): * emodules.c (emodules_load): * hpplay.c (player_error_internal): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): * sound.h (sound_perror): * sound.h (sound_warn): * tooltalk.c (check_status): * win32.c (tstr_to_local_file_format): Revert Martin's attempted compile-warnings fix. It does fix the warnings, but not the right way. We are trying to eliminate the raw use of `char' and `unsigned char' absolutely everywhere. There is never an occasion to reintroduce these. * buffer.h (DFC_C_STRING_ALLOCA_USE_CONVERTED_DATA): * buffer.h (DFC_C_STRING_MALLOC_USE_CONVERTED_DATA): Instead, we fix these macros so they don't care about the type of their lvalues. We already do this for the non-C-string equivalents of these, and it's correct because it should be OK to pass in an SBufbyte *, for example. In any case, we do not need any type-correctness checking here -- errors will be caught for sure as soon as we remove the -Wno-sign-compare switch. * mule-charset.c (Fmake_charset): Use invalid_argument, not generic signal_error (Qerror, ). * alloc.c: * chartab.c (check_valid_char_table_value): * chartab.c (chartab_type_validate): * chartab.c (chartab_data_validate): * console-gtk.c (gtk_device_to_console_connection): * console-gtk.c (gtk_semi_canonicalize_console_connection): * console-gtk.c (gtk_canonicalize_console_connection): * console-gtk.c (gtk_semi_canonicalize_device_connection): * console-gtk.c (gtk_canonicalize_device_connection): * console-msw.c (mswindows_canonicalize_console_connection): * console-msw.c (mswindows_canonicalize_device_connection): * console-msw.c (msprinter_canonicalize_console_connection): * console-msw.c (msprinter_canonicalize_device_connection): * console-stream.c (stream_semi_canonicalize_console_connection): * console-stream.c (stream_canonicalize_console_connection): * console-stream.c (stream_semi_canonicalize_device_connection): * console-stream.c (stream_canonicalize_device_connection): * console-stream.h: * console-tty.c (tty_semi_canonicalize_console_connection): * console-tty.c (tty_canonicalize_console_connection): * console-tty.c (tty_semi_canonicalize_device_connection): * console-tty.c (tty_canonicalize_device_connection): * console-tty.h: * console-x.c (x_device_to_console_connection): * console-x.c (x_semi_canonicalize_console_connection): * console-x.c (x_canonicalize_console_connection): * console-x.c (x_semi_canonicalize_device_connection): * console-x.c (x_canonicalize_device_connection): * console.c (decode_console_type): * console.c (semi_canonicalize_console_connection): * console.c (canonicalize_console_connection): * console.h: * console.h (struct console_methods): * device-x.c (Fx_get_resource): * device.c (semi_canonicalize_device_connection): * device.c (canonicalize_device_connection): * elhash.c (hash_table_size_validate): * elhash.c (hash_table_weakness_validate): * elhash.c (hash_table_test_validate): * elhash.c (hash_table_rehash_size_validate): * elhash.c (hash_table_rehash_threshold_validate): * elhash.c (hash_table_data_validate): * eval.c: * eval.c (call_with_suspended_errors): * eval.c (maybe_signal_error_1): * eval.c (maybe_signal_continuable_error_1): * eval.c (maybe_signal_error): * eval.c (maybe_signal_continuable_error): * eval.c (maybe_signal_error_2): * eval.c (maybe_signal_continuable_error_2): * eval.c (maybe_signal_ferror): * eval.c (maybe_signal_continuable_ferror): * eval.c (maybe_signal_ferror_with_frob): * eval.c (maybe_signal_continuable_ferror_with_frob): * eval.c (maybe_syntax_error): * eval.c (maybe_sferror): * eval.c (maybe_invalid_argument): * eval.c (maybe_invalid_constant): * eval.c (maybe_invalid_operation): * eval.c (maybe_invalid_change): * eval.c (maybe_invalid_state): * faces.c (face_name_validate): * faces.c (face_validate): * faces.c (face_property_matching_instance): * faces.h: * fns.c (bad_bad_bunny): * fns.c (bad_bad_turtle): * fns.c (advance_plist_pointers): * fns.c (external_plist_get): * fns.c (external_plist_put): * fns.c (external_remprop): * glyphs.c (decode_device_ii_format): * glyphs.c (decode_image_instantiator_format): * glyphs.c (decode_image_instance_type): * glyphs.c (decode_error_behavior_flag): * glyphs.c (encode_error_behavior_flag): * glyphs.c (Fmake_image_instance): * glyphs.c (decode_glyph_type): * glyphs.c (glyph_image_instance): * glyphs.h: * gui.c (gui_item_add_keyval_pair): * gui.c (make_gui_item_from_keywords_internal): * gui.h: * lisp.h: * lisp.h (error_behavior): * lisp.h (_error_behavior_struct_): * lisp.h (struct structure_keyword_entry): * lisp.h (struct structure_type): * lread.c (define_structure_type): * lread.c (define_structure_type_keyword): * nt.c (tty_semi_canonicalize_console_connection): * nt.c (tty_canonicalize_console_connection): * nt.c (tty_semi_canonicalize_device_connection): * nt.c (tty_canonicalize_device_connection): * objects-gtk.c (gtk_parse_nearest_color): * objects-gtk.c (gtk_initialize_color_instance): * objects-gtk.c (gtk_initialize_font_instance): * objects-gtk.c (gtk_font_instance_truename): * objects-gtk.h: * objects-msw.c (mswindows_initialize_color_instance): * objects-msw.c (initialize_font_instance): * objects-msw.c (mswindows_initialize_font_instance): * objects-msw.c (msprinter_initialize_font_instance): * objects-msw.c (mswindows_font_instance_truename): * objects-tty.c (tty_initialize_color_instance): * objects-tty.c (tty_initialize_font_instance): * objects-x.c (x_parse_nearest_color): * objects-x.c (x_initialize_color_instance): * objects-x.c (x_initialize_font_instance): * objects-x.c (x_font_instance_truename): * objects.c: * objects.c (Fmake_font_instance): * objects.c (font_instance_truename_internal): * process-unix.c (get_internet_address): * rangetab.c (rangetab_data_validate): * search.c (compile_pattern_1): * search.c (compile_pattern): * search.c (fast_string_match): * specifier.c (decode_specifier_type): * specifier.c (check_valid_instantiator): * specifier.c (check_valid_inst_list): * specifier.c (check_valid_spec_list): * specifier.c (check_valid_specifier_matchspec): * specifier.c (specifier_instance_from_inst_list): * specifier.c (specifier_instance): * specifier.c (specifier_instance_no_quit): * toolbar.c (check_toolbar_button_keywords): * toolbar.c (Fcheck_toolbar_button_syntax): * window.c (window_scroll): * window.h: Rename Error_behavior to Error_Behavior, to be consistent with general naming practices (Lisp_Object, Char_Binary, etc.). 2001-05-24 Hrvoje Niksic <hniksic@arsdigita.com> * doprnt.c (emacs_doprnt_1): long_to_string doesn't return a value. * print.c (long_to_string): New, faster implementation. Revert change from 2000-11-22. 2001-05-25 Martin Buchholz <martin@xemacs.org> * process-unix.c (unix_canonicalize_host_name): Fix compile warnings. (unix_open_network_stream): Likewise. * sound.h (sound_perror): Likewise. (sound_warn): Likewise. * emodules.c (emodules_load): Likewise. * fns.c (base64_conversion_error): Likewise. * tooltalk.c (check_status): Likewise. * eldap.c (Fldap_open): Likewise. * hpplay.c (player_error_internal): Likewise. * win32.c (tstr_to_local_file_format): Likewise. * realpath.c: This file doesn't deal with internal representation. Define DONT_ENCAPSULATE. Fixes crash in test suite. * print.c (print_internal): Fix compile error. * miscplay.c (waverequire): Don't inline. Gcc can't inline functions that call alloca. 2001-05-24 Yoshiki Hayashi <yoshiki@xemacs.org> * gui.c (gui_error_2): New function. * lisp.h (gui_error_2): Declare it. 2001-05-24 Norbert Koch <nk@LF.net> * doprnt.c (emacs_doprnt_1): forgotten sons of Ben's error patch 2001-05-06 Karl M. Hegbloom <karlheg@hegbloom.net> * config.h.in: HAVE_MKSTEMP 2001-05-24 Yoshiki Hayashi <yoshiki@xemacs.org> * mule-ccl.c (Qccl_error): New error * mule-ccl.c (syms_of_mule_ccl): Initialize Qccl_error. * mule-charset.c (Fmake_charset): Call signal_error. 2001-05-24 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.c (Qtext_conversion_error): Moved from file-coding.c so that --with-file-coding=no will compile corectly. * buffer.c (syms_of_buffer): Define Qtext_conversion_error. Also moved from file-coding.c * file-coding.c (Qtext_conversion_error): Moved to buffer.c * file-coding.c (syms_of_file_coding): Moved Qtext_conversion_error initialization to buffer.c * emodules.c (Qdll_error): New error. * emodules.c (syms_of_module): Declare Qdll_error. * esd.c (esd_play_sound_data): sound_warn accepts only one arg. * miscplay.c (sndcnv8S_2mono): * miscplay.c (sndcnv2monounsigned): * miscplay.c (int2ulaw): * miscplay.c (sndcnv2byteLE): * miscplay.c (sndcnv2byteBE): * miscplay.c (sndcnv2monobyteLE): * miscplay.c (sndcnv2monobyteBE): Replace signed Char_Binary with Char_Binary. There's no type called signed char in C. Also remove audio: from error message. sound_warn and sound_perror prepends them. 2001-05-19 Ben Wing <ben@xemacs.org> * glyphs-shared.c: New. Try just a bit to start eliminating the massive code duplication in *-gtk.c. 2001-05-16 Ben Wing <ben@xemacs.org> * abbrev.c (syms_of_abbrev): * alloc.c (memory_full): * alloc.c (Fmake_byte_code): * alloc.c (garbage_collect_1): * buffer.c: * buffer.c (print_buffer): * buffer.c (nsberror): * buffer.c (Fget_buffer_create): * buffer.c (Fset_buffer): * buffer.c (Fbury_buffer): * buffer.c (syms_of_buffer): * bytecode.c: * bytecode.c (execute_optimized_program): * bytecode.c (invalid_byte_code): * bytecode.c (check_opcode): * bytecode.c (check_constants_index): * bytecode.c (READ_INSTRUCTION_CHAR): * bytecode.c (optimize_byte_code): * bytecode.c (Ffetch_bytecode): * bytecode.c (syms_of_bytecode): * callint.c (check_mark): * callint.c (Fcall_interactively): * callint.c (syms_of_callint): * callproc.c: * callproc.c (Fold_call_process_internal): * callproc.c (child_setup): * casetab.c (print_case_table): * casetab.c (Fget_case_table): * casetab.c (Fput_case_table): * casetab.c (syms_of_casetab): * chartab.c (symbol_to_char_table_type): * chartab.c (decode_char_table_range): * chartab.c (check_valid_char_table_value): * chartab.c (chartab_data_validate): * chartab.c (check_category_char): * chartab.c (syms_of_chartab): * cmdloop.c (command_loop_3): * cmdloop.c (syms_of_cmdloop): * cmds.c (Fdelete_char): * cmds.c (Fself_insert_command): * cmds.c (syms_of_cmds): * console-msw.c: * console-msw.c (mswindows_canonicalize_console_connection): * console-msw.c (Fmswindows_message_box): * console-msw.c (mswindows_output_last_error): * console-msw.c (msprinter_canonicalize_console_connection): * console-msw.c (syms_of_console_mswindows): * console-msw.h: * console-stream.c (stream_init_console): * console-stream.c (stream_init_frame_1): * console-tty.c (tty_init_console): * console-tty.c (syms_of_console_tty): * console-x.c (get_display_arg_connection): * console.c (print_console): * console.c (decode_console_type): * console.c (Fselect_console): * console.c (Fget_console): * console.c (delete_console_internal): * console.c (syms_of_console): * data.c: * data.c (dead_wrong_type_argument): * data.c (c_write_error): * data.c (lisp_write_error): * data.c (args_out_of_range): * data.c (args_out_of_range_3): * data.c (print_weak_list): * data.c (decode_weak_list_type): * data.c (arith_error): * data.c (init_errors_once_early): * data.c (syms_of_data): * database.c (CHECK_LIVE_DATABASE): * database.c (print_database): * database.c (finalize_database): * database.c (Fopen_database): * database.c (syms_of_database): * debug.c (Fadd_debug_class_to_check): * debug.c (Fdelete_debug_class_to_check): * debug.c (Fset_debug_classes_to_check): * debug.c (Fset_debug_class_types_to_check): * debug.c (Fdebug_types_being_checked): * debug.c (syms_of_debug): * device-gtk.c (gtk_init_device): * device-gtk.c (Fgtk_display_visual_class): * device-gtk.c (Fgtk_keysym_on_keyboard_p): * device-gtk.c (syms_of_device_gtk): * device-msw.c (handle_devmode_changes): * device-msw.c (mswindows_handle_print_dialog_box): * device-msw.c (mswindows_handle_page_setup_dialog_box): * device-msw.c (Fmsprinter_select_settings): * device-msw.c (Fmsprinter_apply_settings): * device-msw.c (print_devmode): * device-tty.c (tty_init_device): * device-tty.c (syms_of_device_tty): * device-x.c (sanity_check_geometry_resource): * device-x.c (x_init_device): * device-x.c (x_get_resource_prefix): * device-x.c (Fx_get_resource): * device-x.c (Fx_put_resource): * device-x.c (Fx_display_visual_class): * device-x.c (Fx_keysym_hash_table): * device-x.c (Fx_keysym_on_keyboard_p): * device-x.c (Fx_get_font_path): * device-x.c (syms_of_device_x): * device.c (print_device): * device.c (Fselect_device): * device.c (Fset_device_selected_frame): * device.c (Fget_device): * device.c (Fmake_device): * device.c (Fset_device_class): * device.c (Fdevice_system_metric): * device.c (Fdomain_device_type): * device.c (syms_of_device): * dialog-gtk.c (syms_of_dialog_gtk): * dialog-msw.c (handle_file_dialog_box): * dialog-msw.c (handle_question_dialog_box): * dialog-msw.c (mswindows_make_dialog_box_internal): * dialog-msw.c (syms_of_dialog_mswindows): * dialog-x.c (dbox_descriptor_to_widget_value): * dialog-x.c (x_make_dialog_box_internal): * dialog.c (Fmake_dialog_box_internal): * dired-msw.c (mswindows_get_files): * dired-msw.c (syms_of_dired_mswindows): * dired.c (Fdirectory_files): * dired.c (file_name_completion): * dired.c (syms_of_dired): * doc.c (get_doc_string): * doc.c (read_doc_string): * doc.c (Fsnarf_documentation): * doprnt.c (parse_off_posnum): * doprnt.c (NEXT_ASCII_BYTE): * doprnt.c (parse_doprnt_spec): * doprnt.c (get_doprnt_args): * doprnt.c (emacs_doprnt_1): * dragdrop.c (syms_of_dragdrop): * editfns.c (Fchar_to_string): * editfns.c (region_limit): * editfns.c (Fformat_time_string): * editfns.c (Fdecode_time): * editfns.c (Fencode_time): * editfns.c (Ftranspose_regions): * editfns.c (syms_of_editfns): * eldap.c (signal_ldap_error): * eldap.c (print_ldap): * eldap.c (finalize_ldap): * eldap.c (Fldap_open): * eldap.c (Fldap_search_basic): * eldap.c (Fldap_add): * eldap.c (Fldap_modify): * eldap.c (syms_of_eldap): * eldap.h (CHECK_LIVE_LDAP): * elhash.c (hash_table_size_validate): * elhash.c (hash_table_weakness_validate): * elhash.c (decode_hash_table_weakness): * elhash.c (hash_table_test_validate): * elhash.c (decode_hash_table_test): * elhash.c (hash_table_rehash_size_validate): * elhash.c (hash_table_rehash_threshold_validate): * elhash.c (hash_table_data_validate): * elhash.c (Fmake_hash_table): * elhash.c (syms_of_elhash): * emacs-widget-accessors.c (Fgtk_adjustment_lower): * emacs-widget-accessors.c (Fgtk_adjustment_upper): * emacs-widget-accessors.c (Fgtk_adjustment_value): * emacs-widget-accessors.c (Fgtk_adjustment_step_increment): * emacs-widget-accessors.c (Fgtk_adjustment_page_increment): * emacs-widget-accessors.c (Fgtk_adjustment_page_size): * emacs-widget-accessors.c (Fgtk_widget_style): * emacs-widget-accessors.c (Fgtk_widget_window): * emacs-widget-accessors.c (Fgtk_widget_state): * emacs-widget-accessors.c (Fgtk_widget_name): * emacs-widget-accessors.c (Fgtk_widget_parent): * emacs-widget-accessors.c (Fgtk_button_child): * emacs-widget-accessors.c (Fgtk_button_in_button): * emacs-widget-accessors.c (Fgtk_button_button_down): * emacs-widget-accessors.c (Fgtk_combo_entry): * emacs-widget-accessors.c (Fgtk_combo_button): * emacs-widget-accessors.c (Fgtk_combo_popup): * emacs-widget-accessors.c (Fgtk_combo_popwin): * emacs-widget-accessors.c (Fgtk_combo_list): * emacs-widget-accessors.c (Fgtk_gamma_curve_table): * emacs-widget-accessors.c (Fgtk_gamma_curve_curve): * emacs-widget-accessors.c (Fgtk_gamma_curve_gamma): * emacs-widget-accessors.c (Fgtk_gamma_curve_gamma_dialog): * emacs-widget-accessors.c (Fgtk_gamma_curve_gamma_text): * emacs-widget-accessors.c (Fgtk_check_menu_item_active): * emacs-widget-accessors.c (Fgtk_notebook_tab_pos): * emacs-widget-accessors.c (Fgtk_text_hadj): * emacs-widget-accessors.c (Fgtk_text_vadj): * emacs-widget-accessors.c (Fgtk_file_selection_dir_list): * emacs-widget-accessors.c (Fgtk_file_selection_file_list): * emacs-widget-accessors.c (Fgtk_file_selection_selection_entry): * emacs-widget-accessors.c (Fgtk_file_selection_selection_text): * emacs-widget-accessors.c (Fgtk_file_selection_main_vbox): * emacs-widget-accessors.c (Fgtk_file_selection_ok_button): * emacs-widget-accessors.c (Fgtk_file_selection_cancel_button): * emacs-widget-accessors.c (Fgtk_file_selection_help_button): * emacs-widget-accessors.c (Fgtk_file_selection_action_area): * emacs-widget-accessors.c (Fgtk_font_selection_dialog_fontsel): * emacs-widget-accessors.c (Fgtk_font_selection_dialog_main_vbox): * emacs-widget-accessors.c (Fgtk_font_selection_dialog_action_area): * emacs-widget-accessors.c (Fgtk_font_selection_dialog_ok_button): * emacs-widget-accessors.c (Fgtk_font_selection_dialog_apply_button): * emacs-widget-accessors.c (Fgtk_font_selection_dialog_cancel_button): * emacs-widget-accessors.c (Fgtk_color_selection_dialog_colorsel): * emacs-widget-accessors.c (Fgtk_color_selection_dialog_main_vbox): * emacs-widget-accessors.c (Fgtk_color_selection_dialog_ok_button): * emacs-widget-accessors.c (Fgtk_color_selection_dialog_reset_button): * emacs-widget-accessors.c (Fgtk_color_selection_dialog_cancel_button): * emacs-widget-accessors.c (Fgtk_color_selection_dialog_help_button): * emacs-widget-accessors.c (Fgtk_dialog_vbox): * emacs-widget-accessors.c (Fgtk_dialog_action_area): * emacs-widget-accessors.c (Fgtk_input_dialog_close_button): * emacs-widget-accessors.c (Fgtk_input_dialog_save_button): * emacs-widget-accessors.c (Fgtk_plug_socket_window): * emacs-widget-accessors.c (Fgtk_plug_same_app): * emacs-widget-accessors.c (Fgtk_object_flags): * emacs-widget-accessors.c (Fgtk_object_ref_count): * emacs-widget-accessors.c (Fgtk_paned_child1): * emacs-widget-accessors.c (Fgtk_paned_child2): * emacs-widget-accessors.c (Fgtk_paned_child1_resize): * emacs-widget-accessors.c (Fgtk_paned_child2_resize): * emacs-widget-accessors.c (Fgtk_paned_child1_shrink): * emacs-widget-accessors.c (Fgtk_paned_child2_shrink): * emacs-widget-accessors.c (Fgtk_clist_rows): * emacs-widget-accessors.c (Fgtk_clist_columns): * emacs-widget-accessors.c (Fgtk_clist_hadjustment): * emacs-widget-accessors.c (Fgtk_clist_vadjustment): * emacs-widget-accessors.c (Fgtk_clist_sort_type): * emacs-widget-accessors.c (Fgtk_clist_focus_row): * emacs-widget-accessors.c (Fgtk_clist_sort_column): * emacs-widget-accessors.c (Fgtk_list_children): * emacs-widget-accessors.c (Fgtk_list_selection): * emacs-widget-accessors.c (Fgtk_tree_children): * emacs-widget-accessors.c (Fgtk_tree_root_tree): * emacs-widget-accessors.c (Fgtk_tree_tree_owner): * emacs-widget-accessors.c (Fgtk_tree_selection): * emacs-widget-accessors.c (Fgtk_tree_item_subtree): * emacs-widget-accessors.c (Fgtk_scrolled_window_hscrollbar): * emacs-widget-accessors.c (Fgtk_scrolled_window_vscrollbar): * emacs-widget-accessors.c (Fgtk_scrolled_window_hscrollbar_visible): * emacs-widget-accessors.c (Fgtk_scrolled_window_vscrollbar_visible): * emacs.c (main_1): * emacs.c (Fsplit_path): * emacs.c (syms_of_emacs): * emodules.c (emodules_load): * esd.c: * esd.c (esd_play_sound_file): * esd.c (esd_play_sound_data): * eval.c: * eval.c (print_subr): * eval.c (FletX): * eval.c (Flet): * eval.c (Fdefvar): * eval.c (Fdefconst): * eval.c (condition_case_3): * eval.c (return_from_signal): * eval.c (signal_error_1): * eval.c (maybe_signal_error_1): * eval.c (maybe_signal_continuable_error_1): * eval.c (signal_error): * eval.c (maybe_signal_error): * eval.c (signal_continuable_error): * eval.c (maybe_signal_continuable_error): * eval.c (signal_error_2): * eval.c (maybe_signal_error_2): * eval.c (signal_continuable_error_2): * eval.c (maybe_signal_continuable_error_2): * eval.c (signal_ferror): * eval.c (maybe_signal_ferror): * eval.c (signal_continuable_ferror): * eval.c (maybe_signal_continuable_ferror): * eval.c (signal_ferror_with_frob): * eval.c (maybe_signal_ferror_with_frob): * eval.c (signal_continuable_ferror_with_frob): * eval.c (maybe_signal_continuable_ferror_with_frob): * eval.c (signal_quit): * eval.c (signal_invalid_function_error): * eval.c (signal_wrong_number_of_arguments_error): * eval.c (signal_malformed_list_error): * eval.c (signal_malformed_property_list_error): * eval.c (signal_circular_list_error): * eval.c (signal_circular_property_list_error): * eval.c (syntax_error): * eval.c (syntax_error_2): * eval.c (maybe_syntax_error): * eval.c (sferror): * eval.c (sferror_2): * eval.c (maybe_sferror): * eval.c (invalid_argument): * eval.c (invalid_argument_2): * eval.c (maybe_invalid_argument): * eval.c (invalid_constant): * eval.c (invalid_constant_2): * eval.c (maybe_invalid_constant): * eval.c (invalid_operation): * eval.c (invalid_operation_2): * eval.c (maybe_invalid_operation): * eval.c (invalid_change): * eval.c (invalid_change_2): * eval.c (maybe_invalid_change): * eval.c (invalid_state): * eval.c (invalid_state_2): * eval.c (maybe_invalid_state): * eval.c (stack_overflow): * eval.c (out_of_memory): * eval.c (printing_unreadable_object): * eval.c (do_autoload): * eval.c (Feval): * eval.c (Ffuncall): * eval.c (grow_specpdl): * eval.c (syms_of_eval): * event-Xt.c (syms_of_event_Xt): * event-gtk.c (syms_of_event_gtk): * event-msw.c (mswindows_need_event_in_modal_loop): * event-msw.c (emacs_mswindows_select_process): * event-stream.c: * event-stream.c (check_event_stream_ok): * event-stream.c (lisp_number_to_milliseconds): * event-stream.c (Fnext_event): * event-stream.c (munge_keymap_translate): * event-stream.c (Fset_recent_keys_ring_size): * event-stream.c (execute_command_event): * event-stream.c (syms_of_event_stream): * events.c (print_event): * events.c (Fmake_event): * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): * events.c (Fdeallocate_event): * events.c (Fcopy_event): * events.c (character_to_event): * events.c (syms_of_events): * extents.c (print_extent): * extents.c (Fset_extent_parent): * extents.c (decode_map_extents_flags): * extents.c (decode_extent_at_flag): * extents.c (symbol_to_glyph_layout): * extents.c (Fset_extent_property): * extents.c (syms_of_extents): * faces.c (face_validate): * faces.c (Fget_face): * faces.c (syms_of_faces): * file-coding.c: * file-coding.c (print_coding_system): * file-coding.c (symbol_to_eol_type): * file-coding.c (Fget_coding_system): * file-coding.c (parse_charset_conversion_specs): * file-coding.c (Fmake_coding_system): * file-coding.c (Fcoding_system_aliasee): * file-coding.c (Fdefine_coding_system_alias): * file-coding.c (Fcoding_system_property): * file-coding.c (decode_coding_category): * file-coding.c (Fset_coding_priority_list): * file-coding.c (syms_of_file_coding): * fileio.c: * fileio.c (report_file_type_error): * fileio.c (report_error_with_errno): * fileio.c (report_file_error): * fileio.c (Fmake_temp_name): * fileio.c (Ffile_truename): * fileio.c (Fmake_directory_internal): * fileio.c (Fdelete_directory): * fileio.c (Fdelete_file): * fileio.c (Fset_file_modes): * fileio.c (syms_of_fileio): * filelock.c (syms_of_filelock): * floatfns.c (float_error): * fns.c: * fns.c (check_losing_bytecode): * fns.c (safe_copy_tree): * fns.c (Fget): * fns.c (Fput): * fns.c (Fremprop): * fns.c (Fobject_plist): * fns.c (internal_equal): * fns.c (internal_old_equal): * fns.c (Fload_average): * fns.c (Frequire): * fns.c (base64_conversion_error): * fns.c (base64_decode_1): * fns.c (syms_of_fns): * font-lock.c (syms_of_font_lock): * frame-gtk.c (gtk_create_widgets): * frame-gtk.c (gtk_init_frame_1): * frame-gtk.c (gtk_cant_notify_wm_error): * frame-gtk.c (syms_of_frame_gtk): * frame-x.c (x_create_widgets): * frame-x.c (x_init_frame_1): * frame-x.c (x_cant_notify_wm_error): * frame-x.c (syms_of_frame_x): * frame.c (print_frame): * frame.c (setup_frame_without_minibuffer): * frame.c (Fmake_frame): * frame.c (selected_frame): * frame.c (device_selected_frame): * frame.c (Fset_frame_selected_window): * frame.c (delete_frame_internal): * frame.c (Fmake_frame_invisible): * frame.c (store_minibuf_frame_prop): * frame.c (syms_of_frame): * general-slots.h: * glade.c (Fglade_xml_textdomain): * glyphs-gtk.c: * glyphs-gtk.c (check_pointer_sizes): * glyphs-gtk.c (init_image_instance_from_gdk_image): * glyphs-gtk.c (image_instance_add_gdk_image): * glyphs-gtk.c (init_image_instance_from_xbm_inline): * glyphs-gtk.c (write_lisp_string_to_temp_file): * glyphs-gtk.c (gtk_xpm_instantiate): * glyphs-gtk.c (gtk_xface_instantiate): * glyphs-gtk.c (gtk_resource_validate): * glyphs-gtk.c (gtk_resource_normalize): * glyphs-gtk.c (gtk_resource_instantiate): * glyphs-gtk.c (check_valid_resource_symbol): * glyphs-gtk.c (check_valid_resource_id): * glyphs-gtk.c (font_instantiate): * glyphs-gtk.c (cursor_font_instantiate): * glyphs-gtk.c (gtk_subwindow_instantiate): * glyphs-gtk.c (syms_of_glyphs_gtk): * glyphs-msw.c: * glyphs-msw.c (console_type_create_glyphs_mswindows): * glyphs-msw.c (init_image_instance_from_dibitmap): * glyphs-msw.c (image_instance_add_dibitmap): * glyphs-msw.c (mswindows_init_image_instance_from_eimage): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (mswindows_resource_validate): * glyphs-msw.c (mswindows_resource_normalize): * glyphs-msw.c (resource_name_to_resource): * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (check_valid_resource_symbol): * glyphs-msw.c (check_valid_resource_id): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (mswindows_subwindow_instantiate): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (add_tree_item): * glyphs-msw.c (add_tab_item): * glyphs-msw.c (mswindows_combo_box_instantiate): * glyphs-msw.c (syms_of_glyphs_mswindows): * glyphs-widget.c (check_valid_orientation): * glyphs-widget.c (check_valid_tab_orientation): * glyphs-widget.c (check_valid_justification): * glyphs-widget.c (widget_validate): * glyphs-widget.c (combo_box_validate): * glyphs-x.c (write_lisp_string_to_temp_file): * glyphs-x.c (check_pointer_sizes): * glyphs-x.c (init_image_instance_from_x_image): * glyphs-x.c (image_instance_add_x_image): * glyphs-x.c (init_image_instance_from_xbm_inline): * glyphs-x.c (x_xpm_instantiate): * glyphs-x.c (x_xface_instantiate): * glyphs-x.c (font_instantiate): * glyphs-x.c (cursor_font_instantiate): * glyphs-x.c (x_redisplay_widget): * glyphs-x.c (x_subwindow_instantiate): * glyphs-x.c (x_widget_instantiate): * glyphs.c: * glyphs.c (decode_device_ii_format): * glyphs.c (process_image_string_instantiator): * glyphs.c (if): * glyphs.c (file_or_data_must_be_present): * glyphs.c (data_must_be_present): * glyphs.c (face_must_be_present): * glyphs.c (get_image_instantiator_governing_domain): * glyphs.c (instantiate_image_instantiator): * glyphs.c (print_image_instance): * glyphs.c (decode_image_instance_type): * glyphs.c (incompatible_image_types): * glyphs.c (make_image_instance_1): * glyphs.c (signal_image_error): * glyphs.c (signal_image_error_2): * glyphs.c (signal_double_image_error_2): * glyphs.c (simple_image_type_normalize): * glyphs.c (check_valid_xbm_inline): * glyphs.c (bitmap_to_lisp_data): * glyphs.c (xbm_normalize): * glyphs.c (xface_normalize): * glyphs.c (pixmap_to_lisp_data): * glyphs.c (check_valid_xpm_color_symbols): * glyphs.c (evaluate_xpm_color_symbols): * glyphs.c (xpm_normalize): * glyphs.c (image_instantiate): * glyphs.c (image_validate): * glyphs.c (print_glyph): * glyphs.c (decode_glyph_type): * glyphs.c (subwindow_instantiate): * glyphs.c (syms_of_glyphs): * glyphs.h: * gpmevent.c (Fgpm_enable): * gui-gtk.c (syms_of_gui_gtk): * gui-x.c (button_item_to_widget_value): * gui-x.c (gui_items_to_widget_values_1): * gui-x.c (gui_items_to_widget_values): * gui.c: * gui.c (gui_item_add_keyval_pair): * gui.c (make_gui_item_from_keywords_internal): * gui.c (widget_gui_parse_item_keywords): * gui.c (update_gui_item_keywords): * gui.c (signal_too_long_error): * gui.c (print_gui_item): * gui.c (parse_gui_item_tree_item): * gui.c (syms_of_gui): * gutter.c (decode_gutter_position): * gutter.c (gutter_validate): * gutter.c (gutter_size_validate): * gutter.c (gutter_visible_validate): * gutter.c (syms_of_gutter): * hpplay.c: * hpplay.c (player_error_internal): * hpplay.c (myHandler): * hpplay.c (play_bucket_internal): * hpplay.c (play_sound_file): * hpplay.c (play_sound_data): * hpplay.c (vars_of_hpplay): * indent.c (Findent_to): * indent.c (syms_of_indent): * input-method-xlib.c (Fx_open_xim): * input-method-xlib.c (Fx_close_xim): * input-method-xlib.c (syms_of_input_method_xlib): * insdel.c (get_buffer_range_char): * insdel.c (get_string_range_char): * insdel.c (make_gap): * insdel.c (buffer_insert_string_1): * intl.c (syms_of_intl): * keymap.c (print_keymap): * keymap.c (traverse_keymaps): * keymap.c (check_keymap_definition_loop): * keymap.c (define_key_check_and_coerce_keysym): * keymap.c (define_key_parser): * keymap.c (key_desc_list_to_event): * keymap.c (ensure_meta_prefix_char_keymapp): * keymap.c (Fdefine_key): * keymap.c (Fsingle_key_description): * keymap.c (Ftext_char_description): * libsst.c: * libsst.c (dial;): * libsst.h: * libsst.h (sst_dtmf): * linuxplay.c: * linuxplay.c (audio_init): * linuxplay.c (linux_play_data_or_file): * linuxplay.c (play_sound_file): * linuxplay.c (play_sound_data): * lisp.h: * lread.c (read_syntax_error): * lread.c (continuable_read_syntax_error): * lread.c (readchar): * lread.c (pas_de_lache_ici): * lread.c (load_force_doc_string_unwind): * lread.c (Fload_internal): * lread.c (decode_mode_1): * lread.c (readevalloop): * lread.c (Feval_buffer): * lread.c (read_escape): * lread.c (FSF_LOSSAGE): * lread.c (read_atom_0): * lread.c (reader_nextchar): * lread.c (read_list_conser): * lread.c (syms_of_lread): * lread.c (vars_of_lread): * lstream.c (Lstream_internal_error): * macros.c (Fstart_kbd_macro): * macros.c (Fend_kbd_macro): * macros.c (pop_kbd_macro_event): * macros.c (Fcall_last_kbd_macro): * macros.c (Fexecute_kbd_macro): * macros.c (syms_of_macros): * marker.c (print_marker): * marker.c (set_marker_internal): * marker.c (bi_marker_position): * marker.c (marker_position): * marker.c (set_bi_marker_position): * marker.c (set_marker_position): * md5.c (md5_coding_system): * menubar-gtk.c (menu_convert): * menubar-gtk.c (menu_descriptor_to_widget_1): * menubar-msw.c (mswindows_translate_menu_or_dialog_item): * menubar-msw.c (populate_menu_add_item): * menubar-msw.c (populate_or_checksum_helper): * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): * menubar-msw.c (mswindows_popup_menu): * menubar-x.c (menu_item_descriptor_to_widget_value_1): * menubar-x.c (x_popup_menu): * menubar-x.c (Faccelerate_menu): * menubar.c (syms_of_menubar): * menubar.c (vars_of_menubar): * minibuf.c (Ftry_completion): * minibuf.c (syms_of_minibuf): * miscplay.c: * miscplay.c (parse_wave_complete): * miscplay.c (waverequire): * miscplay.c (parsewave): * miscplay.c (parsesundecaudio): * miscplay.c (sndcnv8U_2mono): * miscplay.c (sndcnv8S_2mono): * miscplay.c (sndcnv2monounsigned): * miscplay.c (sndcnv2unsigned): * miscplay.c (int2ulaw): * miscplay.c (sndcnvULaw_2linear): * miscplay.c (sndcnvULaw_2mono): * miscplay.c (sndcnv16_2monoLE): * miscplay.c (sndcnv16_2monoBE): * miscplay.c (sndcnv2byteLE): * miscplay.c (sndcnv2byteBE): * miscplay.c (sndcnv2monobyteLE): * miscplay.c (sndcnv2monobyteBE): * miscplay.c (analyze_format): * miscplay.h: * miscplay.h (HEADERSZ): * miscplay.h (parse_wave_complete): * mule-ccl.c (Fccl_execute): * mule-ccl.c (vars_of_mule_ccl): * mule-charset.c (print_charset): * mule-charset.c (get_unallocated_leading_byte): * mule-charset.c (Fget_charset): * mule-charset.c (Fmake_charset): * mule-charset.c (Fcharset_from_attributes): * mule-charset.c (Fcharset_property): * mule-charset.c (Fset_charset_ccl_program): * mule-charset.c (Fmake_char): * mule-charset.c (Fchar_octet): * mule-charset.c (lookup_composite_char): * mule-charset.c (syms_of_mule_charset): * mule-wnnfns.c (Fwnn_set_param): * mule-wnnfns.c (syms_of_mule_wnn): * mule.c (Fdefine_word_pattern): * nas.c: * nas.c (XTOOLKIT): * nas.c (play_sound_file): * nas.c (close_down_play): * nas.c (do_caching_play): * nas.c (play_sound_data): * nas.c (CatchIoErrorAndJump): * nas.c (NameFromData): * nas.c (SndOpenDataForReading): * nas.c (cmpID): * nas.c (dread): * nas.c (dgetc): * nas.c (readChunk): * nas.c (WaveOpenDataForReading): * nas.c (SoundOpenDataForReading): * ntplay.c: * ntplay.c (play_sound_file): * ntplay.c (play_sound_data_1): * ntplay.c (play_sound_data): * ntproc.c: * ntproc.c (prepare_standard_handles): * ntproc.c (vars_of_ntproc): * objects-gtk.c (gtk_parse_nearest_color): * objects-gtk.c (gtk_initialize_font_instance): * objects-msw.c (mswindows_initialize_color_instance): * objects-msw.c (initialize_font_instance): * objects-x.c (x_parse_nearest_color): * objects-x.c (x_initialize_font_instance): * objects-x.c (x_font_instance_truename): * objects.c (finalose): * objects.c (print_color_instance): * objects.c (print_font_instance): * objects.c (font_instance_truename_internal): * objects.c (color_instantiate): * objects.c (color_validate): * objects.c (font_validate): * objects.c (face_boolean_instantiate): * objects.c (face_boolean_validate): * objects.c (syms_of_objects): * postgresql.c (CHECK_LIVE_CONNECTION): * postgresql.c (print_pgconn): * postgresql.c (finalize_pgconn): * postgresql.c (print_pgresult): * postgresql.c (finalize_pgresult): * postgresql.c (Fpq_connectdb): * postgresql.c (Fpq_connect_start): * postgresql.c (Fpq_connect_poll): * postgresql.c (Fpq_set_client_encoding): * postgresql.c (Fpq_reset_start): * postgresql.c (Fpq_reset_poll): * postgresql.c (Fpq_pgconn): * postgresql.c (Fpq_exec): * postgresql.c (Fpq_send_query): * postgresql.c (Fpq_get_result): * postgresql.c (Fpq_result_status): * postgresql.c (Fpq_make_empty_pgresult): * postgresql.c (syms_of_postgresql): * print.c: * print.c (print_error_message): * print.c (print_cons): * print.c (default_object_printer): * print.c (Fexternal_debugging_output): * print.c (Fopen_termscript): * print.c (syms_of_print): * process-nt.c: * process-nt.c (validate_signal_number): * process-nt.c (mswindows_report_process_error): * process-nt.c (mswindows_report_winsock_error): * process-nt.c (nt_create_process): * process-nt.c (get_internet_address): * process-nt.c (nt_canonicalize_host_name): * process-nt.c (nt_open_network_stream): * process-unix.c (get_internet_address): * process-unix.c (unix_create_process): * process-unix.c (unix_send_process): * process-unix.c (unix_kill_child_process): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): * process-unix.c (unix_open_multicast_group): * process.c: * process.c (print_process): * process.c (get_process): * process.c (report_process_error): * process.c (init_process_io_handles): * process.c (Fstart_process_internal): * process.c (send_process): * process.c (decode_signal): * process.c (process_send_signal): * process.c (Fkill_process): * process.c (Fquit_process): * process.c (Fstop_process): * process.c (Fcontinue_process): * process.c (Fprocess_send_eof): * process.c (syms_of_process): * ralloc.c (syms_of_ralloc): * rangetab.c (Fput_range_table): * rangetab.c (rangetab_data_validate): * rangetab.c (syms_of_rangetab): * redisplay.c (syms_of_redisplay): * scrollbar.c (syms_of_scrollbar): * search.c (matcher_overflow): * search.c (compile_pattern_1): * search.c (skip_chars): * search.c (search_command): * search.c (Freplace_match): * search.c (Fmatch_data): * search.c (syms_of_search): * select-gtk.c (gtk_get_foreign_selection): * select-gtk.c (gtk_get_window_property_as_lisp_data): * select-gtk.c (lisp_data_to_selection_data): * select-x.c (motif_clipboard_cb): * select-x.c (x_reply_selection_request): * select-x.c (copy_multiple_data): * select-x.c (x_get_foreign_selection): * select-x.c (x_get_window_property_as_lisp_data): * select-x.c (lisp_data_to_selection_data): * select-x.c (CHECK_CUTBUFFER): * select-x.c (Fx_get_cutbuffer_internal): * select-x.c (syms_of_select_x): * select.c (Fown_selection_internal): * select.c (syms_of_select): * sgiplay.c: * sgiplay.c (play_sound_file): * sgiplay.c (play_sound_data): * sgiplay.c (audio_initialize): * sgiplay.c (play_internal): * sgiplay.c (write_mulaw_8_chunk): * sgiplay.c (write_linear_chunk): * sgiplay.c (initialize_audio_port): * sgiplay.c (open_audio_port): * sgiplay.c (set_channels): * sgiplay.c (set_output_format): * sgiplay.c (struct): * sgiplay.c (parse_snd_header): * sheap.c (sheap_adjust_h): * sound.c: * sound.c (report_sound_error): * sound.c (Fplay_sound_file): * sound.c (Fplay_sound): * sound.c (Fding): * sound.c (init_nas_sound): * sound.c (init_native_sound): * sound.c (syms_of_sound): * specifier.c: * specifier.c (print_specifier): * specifier.c (decode_specifier_type): * specifier.c (check_valid_locale_or_locale_type): * specifier.c (decode_locale): * specifier.c (decode_locale_type): * specifier.c (check_valid_domain): * specifier.c (decode_specifier_tag_set): * specifier.c (Fcanonicalize_tag_set): * specifier.c (Fdefine_specifier_tag): * specifier.c (Fspecifier_tag_predicate): * specifier.c (check_valid_inst_list): * specifier.c (check_valid_spec_list): * specifier.c (decode_how_to_add_specification): * specifier.c (check_modifiable_specifier): * specifier.c (Fcopy_specifier): * specifier.c (check_valid_specifier_matchspec): * specifier.c (specifier_instance): * specifier.c (boolean_validate): * specifier.c (syms_of_specifier): * sunplay.c: * sunplay.c (init_device): * sunplay.c (play_sound_file): * sunplay.c (play_sound_data): * symbols.c (oblookup): * symbols.c (reject_constant_symbols): * symbols.c (verify_ok_for_buffer_local): * symbols.c (Fset): * symbols.c (decode_magic_handler_type): * symbols.c (handler_type_from_function_symbol): * symbols.c (Fdefvaralias): * symbols.c (init_symbols_once_early): * symeval.h: * symsinit.h: * syntax.c (scan_lists): * syntax.c (scan_sexps_forward): * syntax.c (syms_of_syntax): * sysdep.c (stuff_char): * sysdep.c (sys_subshell): * sysdep.c (dup2): * toolbar-msw.c (mswindows_output_toolbar): * toolbar.c (decode_toolbar_position): * toolbar.c (compute_frame_toolbar_buttons): * toolbar.c (CTB_ERROR): * toolbar.c (check_toolbar_button_keywords): * toolbar.c (toolbar_validate): * toolbar.c (syms_of_toolbar): * tooltalk.c (print_tooltalk_message): * tooltalk.c (print_tooltalk_pattern): * tooltalk.c (check_status): * tooltalk.c (Ftooltalk_open_connection): * tooltalk.c (syms_of_tooltalk): * ui-byhand.c (Fgtk_box_query_child_packing): * ui-byhand.c (Fgtk_button_box_get_child_size): * ui-byhand.c (Fgtk_calendar_get_date): * ui-byhand.c (Fgtk_clist_get_text): * ui-byhand.c (Fgtk_clist_get_selection): * ui-byhand.c (Fgtk_clist_get_pixmap): * ui-byhand.c (Fgtk_clist_get_pixtext): * ui-byhand.c (Fgtk_color_selection_get_color): * ui-byhand.c (Fgtk_editable_insert_text): * ui-byhand.c (Fgtk_pixmap_get): * ui-byhand.c (Fgtk_curve_get_vector): * ui-byhand.c (Fgtk_curve_set_vector): * ui-byhand.c (Fgtk_label_get): * ui-byhand.c (Fgtk_notebook_query_tab_label_packing): * ui-byhand.c (Fgtk_widget_get_pointer): * ui-byhand.c (generic_toolbar_insert_item): * ui-gtk.c (Fdll_load): * ui-gtk.c (ffi_object_printer): * ui-gtk.c (Fgtk_import_variable_internal): * ui-gtk.c (Fgtk_import_function_internal): * ui-gtk.c (Fgtk_call_function): * ui-gtk.c (emacs_gtk_object_printer): * ui-gtk.c (object_getprop): * ui-gtk.c (object_putprop): * ui-gtk.c (emacs_gtk_object_finalizer): * ui-gtk.c (emacs_gtk_boxed_printer): * ui-gtk.c (Fgtk_fundamental_type): * ui-gtk.c (Fgtk_describe_type): * ui-gtk.c (syms_of_ui_gtk): * ui-gtk.c (lisp_to_gtk_type): * ui-gtk.c (symbol_to_enum): * ui-gtk.c (enum_to_symbol): * undo.c (Fprimitive_undo): * undo.c (syms_of_undo): * unexaix.c (report_error): * unexaix.c (report_error_1): * unexapollo.c (unexec): * unexapollo.c (CopyData): * unexconvex.c (report_error): * unexconvex.c (a2;): * unexec.c (report_error): * unexec.c (report_error_1): * widget.c (syms_of_widget): * win32.c (Fmswindows_shell_execute): * window.c (print_window): * window.c (Fdelete_window): * window.c (Fdelete_other_windows): * window.c (Fset_window_buffer): * window.c (Fselect_window): * window.c (Fsplit_window): * window.c (change_window_height): * window.c (window_scroll): * window.c (Fother_window_for_scrolling): * window.c (print_window_config): * window.c (syms_of_window): -- defsymbol -> DEFSYMBOL. -- add an error type to all errors. -- eliminate the error functions in eval.c that let you just use Qerror as the type. -- redo the error API to be more consistent, sensibly named, and easier to use. -- redo the error hierarchy somewhat. create new errors: structure-formation-error, gui-error, invalid-constant, stack-overflow, out-of-memory, process-error, network-error, sound-error, printing-unreadable-object, base64-conversion- error; coding-system-error renamed to text-conversion error; some others. -- fix Mule problems in error strings in emodules.c, tooltalk.c. -- fix error handling in mswin open-network-stream. -- Mule-ize all sound files and clean up the headers. -- nativesound.h -> sound.h and used for all sound files. -- move some shared stuff into glyphs-shared.c: first attempt at eliminating some of the massive GTK code duplication. 2001-05-23 Ben Wing <ben@xemacs.org> * event-msw.c (winsock_writer): * event-msw.c (winsock_closer): prior kludgy code was clobbering the buffer, thinking it was "unused" space to store an unneeded return value; instead, use the variable we've already got staring us in the face. 2001-05-23 Ben Wing <ben@xemacs.org> for 21.5: * s\cygwin32.h: * s\cygwin32.h (C_SWITCH_SYSTEM): * s\cygwin32.h (BROKEN_SIGIO): * s\mingw32.h (C_SWITCH_SYSTEM): * s\mingw32.h (TEXT_START): remove support for way old beta versions of cygwin. don't put -Wno-sign-compare in the system switches; this isn't a system issue. define BROKEN_SIGIO for cygwin to get C-g support. 2001-05-23 Ben Wing <ben@xemacs.org> for 21.4: * device-msw.c (msprinter_init_device): signal an error rather than crash with an unavailable network printer (from Mike Alexander). * event-msw.c: * event-msw.c (struct winsock_stream): * event-msw.c (winsock_writer): * event-msw.c (winsock_closer): * event-msw.c (make_winsock_stream_1): cleanup headers. fix (hopefully) an error with data corruption when sending to a network connection. * fileio.c (Fexpand_file_name): Fix evil code that attempts to handle the ~user prefix by (a) always assuming we're referencing ourselves and not even verifying the user -- hence any file with a tilde as its first char is invalid! (b) if there wasn't a slash following the filename, the pointer was set *past* the end of file and we started reading from uninitialized memory. Now we simply treat these as files, always. optionally for 21.4 (doc fix): * lread.c (pas_de_holgazan_ici): * lread.c (load_force_doc_string_unwind): cambia de pas_de_lache_ici -- al minimo usa la palabra certa. for 21.5: * frame.c (restore_frame_list_to_its_unbesmirched_state): fix warnings. * emacs.c (make_arg_list_1): * nt.c (win32_get_long_filename): * nt.c (init_environment): * nt.c (GetCachedVolumeInformation): * nt.c (get_volume_info): * nt.c (map_win32_filename): * nt.c (sys_rename): * nt.c (generate_inode_val): * ntproc.c (Fwin32_short_file_name): * ntproc.c (Fwin32_long_file_name): * process-nt.c (nt_create_process): * realpath.c (win32_readlink): * unexnt.c: * unexnt.c (_start): * unexnt.c (unexec): * unexnt.c (get_bss_info_from_map_file): rename MAX_PATH to standard PATH_MAX. * process-nt.c: * realpath.c: cleanup headers. * process-unix.c (get_internet_address): * sysdep.c (init_system_name): * systime.h: * syswindows.h: kill BROKEN_CYGWIN and support for way old beta versions of cygwin. * sysfile.h: use _MAX_PATH (Windows) preferentially for PATH_MAX if defined. include io.h on Cygwin (we need get_osfhandle()). include sys/fcntl.h always, since we were including it in various header files anyway. * unexcw.c: * unexcw.c (DONT_ENCAPSULATE): * unexcw.c (CHECK_AOUT_POS): * unexcw.c (unexec): * unexcw.c (get_section_info): * unexcw.c (copy_executable_and_dump_data_section): * unexcw.c (dup_file_area): * unexcw.c (write_int_to_bss): fix up style to conform to standard. remove duplicate definition of PERROR. * buffer.c (common_init_complex_vars_of_buffer): comment change. * database.c: * debug.h (struct debug_classes): * device-tty.c: * dired-msw.c: * dired-msw.c (mswindows_sortby): * glyphs-msw.c: header cleanups (remove places that directly include a system header file, because we have our own layer to do this more cleanly and portably); indentation fixes. 2001-05-22 Martin Buchholz <martin@xemacs.org> * config.h.in (SYSTEM_TYPE): Allow configure to set this. * s/darwin.h: New. Add support for MacOS X. 2001-05-20 Mike Alexander <mta@arbortext.com> * device-msw.c (msprinter_init_device): Don't assert out if the printer isn't reachable on the net. 2001-05-21 Martin Buchholz <martin@xemacs.org> * gui-x.c (sanity_check_lwlib): Remove. 2001-05-14 Martin Buchholz <martin@xemacs.org> realloc() was being called with a null pointer, causing a crash in etags running `make TAGS' on SunOS 4. The realloc bug should be handled in the config infrastructure, not the regular code. It's actually a feature to make the regular code less defensive, since we *want* it to crash faster. * s/sunos4.h (realloc_accepting_nullptr): Safe version of realloc. * s/sunos4.h (realloc): Re-#define realloc to realloc_accepting_nullptr. * regex.c (RETALLOC_IF): Remove. Use RETALLOC instead. * regex.c (RETALLOC): Code as if realloc() is ANSI-compliant. * alloc.c (xrealloc): Code as if realloc() is ANSI-compliant. * gmalloc.c: Undef functions to be defined here, in case system header files or the config infrastructure have #define'd them. * tparam.c: Likewise. * tparam.c: Assume standard C header files. 2001-05-12 Craig Lanning <CraigL@Knology.net> * s\mingw32.h: Properly find MinGW's <process.h> inside Cygwin's restructured include directories. Don't try to include <cygwin/version.h> since we are dropping support for MinGW in versions of Cygwin earlier than b21. 2001-05-12 Craig Lanning <CraigL@Knology.net> * nt.c: Drop support for MinGW in versions of Cygwin before b21. * sysdep.c: Properly find MinGW's <process.h> inside Cygwin's restructured include directories. * syswindows.h: Drop support for MinGW in versions of Cygwin before b21. * unexcw.c: Even though a.out.h is no longer detected by configure, allow MinGW to use it until we figure out how to do the job with Win32. 2001-05-19 Ben Wing <ben@xemacs.org> * console-msw.h: * scrollbar-msw.c (mswindows_create_scrollbar_instance): * scrollbar-msw.c (mswindows_handle_scrollbar_event): * event-msw.c: * event-msw.c (mswindows_find_frame): we might receive scrollbar events on windows without scrollbars (e.g. holding down and moving the wheel button). * dired.c (user_name_completion): win9x support. * eval.c: doc comment about gcpro'ing in record_unwind_protect. * frame-msw.c (msprinter_init_frame_3): typo. * frame.c: * frame.c (restore_frame_list_to_its_unbesmirched_state): * frame.c (Fmake_frame): avoid problems with errors during init_frame_3. * process-nt.c: * process-nt.c (vars_of_process_nt): remove unused mswindows-quote-process-args. rec for 21.4. * unexcw.c (PERROR): use do/while. 2001-05-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * lisp.h: (dump_add_opaque): make varaddress parameter const. * dumper.c (struct pdump_opaque): make varaddress const. (dump_add_opaque): make varaddress parameter const. (pdump_load_finish): override const when copying into info.varaddress. 2001-05-02 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * console.h (struct console_methods): Added flags member. (CONSOLE_IMPLEMENTATION_FLAGS): Defined. (CONMETH_IMPL_FLAG): (CONSOLE_IMPL_FLAG): Macro to check implememntation flags. Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY. * device.c (window_system_pixelated_geometry): Use the above macros. * device.h (DEVICE_IMPL_FLAG): Macro to check a device implememntation flag. * device.h (DEVICE_DISPLAY_P): Use it. * frame.c (delete_frame_internal): Use the above macro. * redisplay.c (redisplay_device): Use it. (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY. (redisplay_frame): Ditto. * device-msw.c (mswindows_device_implementation_flags): Removed. (msprinter_device_implementation_flags): Removed. (console_type_create_device_mswindows): Removed references to implementation_flags methods, set implementation flags here. (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT. * device-gtk.c (gtk_device_implementation_flags): Removed method. (console_type_create_device_gtk): Removed method declaration. Added commented out statement which semantically matches the commented out statement in the above removed method. 2001-05-17 Stephen J. Turnbull <stephen@xemacs.org> * regex.c (DECLARE_NOTHING): Define if !emacs && REGEX_MALLOC. 2001-05-11 Yoshiki Hayashi <yoshiki@xemacs.org> * lisp.h (EMACS_INT_MAX): This should be one bit less since EMACS_INT is signed. 2001-05-13 Mike Alexander <mta@arbortext.com> * frame-msw.c (mswindows_make_frame_visible): Call SetActiveWindow to make the frame the active window. 2001-05-11 Martin Buchholz <martin@xemacs.org> Eliminate the need to define HAVE_PTYS in s&m files. * config.h.in: * event-msw.c (emacs_mswindows_create_stream_pair): * event-stream.c (execute_internal_event): * event-unixoid.c (event_stream_unixoid_create_stream_pair): * process-unix.c: * process-unix.c (unix_create_process): * sysdep.c: * sysdep.c (set_descriptor_non_blocking): * sysdep.c (setup_pty): Delete ancient FIONBIO code. * systty.h: * s/aix3-1.h: * s/bsd4-1.h: * s/bsd4-2.h: * s/cxux.h: * s/dgux.h: * s/cygwin32.h: * s/esix.h: * s/hpux.h: * s/iris3-5.h: * s/iris3-6.h: * s/irix3-3.h: * s/isc2-2.h: * s/linux.h: * s/ptx.h: * s/rtu.h: * s/sco4.h: * s/sco5.h: * s/template.h: * s/umax.h: * s/umips.h: * s/unipl5-0.h: * s/unipl5-2.h: * s/usg5-0.h: * s/usg5-3.h: * s/usg5-4.h: * s/windowsnt.h: * s/xenix.h: * m/7300.h: * m/delta.h: * m/delta88k.h: * m/dpx2.h: * m/hp800.h: * m/ibmps2-aix.h: * m/ibmrt-aix.h: * m/mips.h: * m/pfa50.h: * m/sps7.h: * m/stride.h: * m/tad68k.h: * m/tekxd88.h: * m/wicat.h: Nuke all references to HAVE_PTYS, SYSV_PTYS, NEED_BSDTTY. All current Unix systems have ptys, and even on systems without ptys, the basic functionality has been sufficiently autoconfiscated that everything should just work anyways. 2001-05-11 Mike Alexander <mta@arbortext.com> * event-msw.c (mswindows_need_event_in_modal_loop): (mswindows_need_event): Fix indentation. 2001-05-12 Ben Wing <ben@xemacs.org> * .cvsignore: add xemacs.opt, a VC-generated file. 2001-05-12 Ben Wing <ben@xemacs.org> * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_wnd_proc): eliminate cygwin warnings. * dired.c: * dired.c (user_name_completion): * syswindows.h: * win32.c: * win32.c (init_potentially_nonexistent_functions): find the Net* functions the hard way to avoid errors on win 9x. 2001-05-10 Ben Wing <ben@xemacs.org> * dired.c: * dired.c (user_name_completion_unwind): * dired.c (user_name_completion): * dired.c (syms_of_dired): implement user-name-all-completions under Windows. * emacs.c: * emacs.c (syms_of_emacs): create new function force-debugging-signal (only when DEBUG_XEMACS) to breakpoint or abort to the debugger. * file-coding.c: * file-coding.c (syms_of_file_coding): * file-coding.h: * lisp.h: move coding-system-charset to lisp to avoid doc warning. 2001-05-09 William M. Perry <wmperry@gnu.org> * scrollbar-gtk.c (gtk_create_scrollbar_instance): Fix the disappearing GTK scrollbar problem. 2001-05-09 Ben Wing <ben@xemacs.org> * regex.c (regex_compile): fix error compiling regexps with back-references in them. 2001-05-09 Martin Buchholz <martin@xemacs.org> * XEmacs 21.5.1 "anise" is released. 2001-05-08 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.c (Vcase_fold_search): Remove obsolete comment about non ASCII case-fold-search. This bug has been fixed by case-table changes. 2001-05-08 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> * mule-charset.c (Fmake_charset): Add missing else. 2001-05-07 Martin Buchholz <martin@xemacs.org> * s/bsd386.h: Use NOT_C_CODE instead of `emacs' to protect Makefiles 2001-05-08 Martin Buchholz <martin@xemacs.org> * s/bsdos4.h: Protect C code with #ifndef NOT_C_CODE. 2000-04-22 zhaoway <zw@debian.org> * event-stream.c (is_scrollbar_event): Return 0 when XEmacs is compiled without scrollbars. 2001-05-05 Martin Buchholz <martin@xemacs.org> TTY configury portability improvements. Support systems which use OXTABS instead of TAB3, without any s&m. * s/bsd386.h: Remove definitions for system symbols TABDLY and OXTABS. * s/freebsd.h: Likewise. * s/gnu.h: Likewise. * s/netbsd.h: Likewise. * s/nextstep.h: Remove definitions for TAB3 and BSD_TERMIOS. * systty.h: Fix up (unused) tty tab delay/expansion code. Better preprocessor symbol hygiene. Remove BSD_TERMIOS cruft. * sysdep.c (child_setup_tty): More careful code. Check for OXTABS. * sysdep.c (tty_init_sys_modes_on_device): Tab expansion disabling code was buggy. So I fixed it. But it shouldn't have been done at all. So I also #if 0'ed it. 2001-05-06 Ben Wing <ben@xemacs.org> * console-msw.h: * device-msw.c: * device-msw.c (print_dialog_worker): * device-msw.c (mswindows_handle_print_dialog_box): * device-msw.c (syms_of_device_mswindows): * dialog-msw.c (mswindows_make_dialog_box_internal): * general-slots.h: implement printing the selection when it's selected. unrelated: * mule-charset.c (Fset_charset_ccl_program): * mule-charset.c (invalidate_charset_font_caches): force redisplay when set-charset-ccl-program called. 2001-05-04 Martin Buchholz <martin@xemacs.org> * s/bsdos4.h (openpty): Add declaration, missing from system headers. 2001-05-05 Martin Buchholz <martin@xemacs.org> * search.c (warn_about_possibly_incompatible_back_references): Target of a DEFVAR_INT should be a Fixnum, not int. 2001-05-05 Ben Wing <ben@xemacs.org> * console-msw.h: * device-msw.c: * device-msw.c (mswindows_get_default_margin): * frame-msw.c (mswindows_size_frame_internal): * frame-msw.c (msprinter_init_frame_1): * frame-msw.c (vars_of_frame_mswindows): Change top/bottom margin defaults to 0.5 inches. 2001-04-23 Ben Wing <ben@xemacs.org> ------------ notable bug fix: Windows event code -------------- * event-msw.c (FAKE_MOD_QUIT): * event-msw.c (mswindows_dequeue_dispatch_event): * event-msw.c (mswindows_wnd_proc): * event-msw.c (emacs_mswindows_quit_p): Get critical quit working. ------------ notable bug fix and new feature: regex code -------------- * lisp.h: * regex.c: * regex.c (enum): * regex.c (print_compiled_pattern): * regex.c (INIT_REG_TRANSLATE_SIZE): * regex.c (regex_compile): * regex.c (re_match_2_internal): * regex.h: * regex.h (RE_SYNTAX_AWK): * regex.h (RE_SYNTAX_GREP): * regex.h (RE_SYNTAX_EGREP): * regex.h (RE_SYNTAX_POSIX_EGREP): * regex.h (_RE_SYNTAX_POSIX_COMMON): * regex.h (struct re_pattern_buffer): * search.c: * search.c (vars_of_search): Shy groups were implemented in a horrible, half-assed way that would cause them to screw up regex searching in most cases. Fixed to work correctly. Also extended back-reference syntax past 9. Only is recognized as such if there are at least that many non-shy groups; and optionally will warn about such uses, to catch old code that might be using them differently. (Added variable to control this in search.c -- `warn-about-possibly-incompatible-back- references', on by default for the moment. Declared in lisp.h. ---------------- process/SIGIO improvements ------------------- * process-unix.c: * process-unix.c (get_internet_address): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): * process-unix.c (unix_open_multicast_group): define USE_GETADDRINFO to replace more complex conditional, and use it. the code conditionalized on this in unix_open_network_stream had *serious* problems handling errors. it's now fixed, and major amounts of duplicate code between the two versions were combined. don't disable SIGIO and other interrupts unless CONNECT_NEEDS_SLOWED_INTERRUPTS is defined -- don't penalize OS's without bugs. similarly for a freebsd bug that was affecting all OS's. * s\ultrix.h: define CONNECT_NEEDS_SLOWED_INTERRUPTS, since that's the OS mentioned as having a kernel bug. * sysdep.c (request_sigio_on_device): * sysdep.c (unrequest_sigio_on_device): fix SIGIO problems on Linux. add check for O_ASYNC in case it's defined and FASYNC isn't. add comment about other ways to do SIGIO on Linux. * callproc.c (Fold_call_process_internal): * process.c (Fstart_process_internal): Deal with the possibility that `default-directory' doesn't have terminating slash. Correct comments about vfork. ---------------- Miscellaneous bug fixes/cleanup ------------------- * callint.c (Finteractive): Add lots of documentation -- exactly what the Lisp equivalents of all the interactive specs are. * console.h (struct console): change type of quit_char to Emchar. * event-msw.c (lstream_type_create_mswindows_selectable): spacing change. * event-Xt.c: * event-msw.c: * event-stream.c: * events-mod.h: * events.c: * events.h: * frame-x.c: * gpmevent.c: * keymap.c: Eliminate events-mod.h and combine into events.h. * emacs.c: * emacs.c (make_arg_list_1): * emacs.c (main_1): A couple of char->Extbyte changes, add a comment. * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (mswindows_subwindow_instantiate): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (mswindows_native_layout_instantiate): * glyphs-msw.c (mswindows_button_instantiate): * glyphs-msw.c (mswindows_edit_field_instantiate): * glyphs-msw.c (mswindows_progress_gauge_instantiate): * glyphs-msw.c (mswindows_tree_view_instantiate): * glyphs-msw.c (mswindows_tab_control_instantiate): * glyphs-msw.c (mswindows_label_instantiate): * glyphs-msw.c (mswindows_scrollbar_instantiate): * glyphs-msw.c (mswindows_combo_box_instantiate): Correct indentation of function defns to not exceed 80 cols. Try (sort of) to fix some code that sets the colors of the progress gauge. (Commented out) * keymap.c (syms_of_keymap): use DEFSYMBOL. * process.c (read_process_output): No need to fiddle with zmacs_region_stays, now that bogus clearing of it (see below) is removed. * search.c (Freplace_match): warning fix. 2001-05-03 Martin Buchholz <martin@xemacs.org> * s/aix4.h: Fix crash with xlc -O3. Improve comment explaining how -O3 works. 2001-05-02 Jerry James <james@xemacs.org> * faces.h (SET_FACE_PROPERTY): pass parameters to Fadd_spec_to_specifier in the correct order. 2001-05-01 Martin Buchholz <martin@xemacs.org> Fix link error with gcc 3.0 on Linux. * terminfo.c (UP): Remove. * terminfo.c (BC): Remove. * terminfo.c (PC): Remove. They weren't used, and in any case, these symbols should be defined in the *library*. 2001-04-30 Martin Buchholz <martin@xemacs.org> Make string hashing more efficient. Makes intern much faster. Makes hash tables containing strings faster. * symbols.c (hash_string): A much better hash function. Change prototype to return unsigned value. (init_symbols_once_early): Use unsigned type for hash value. (oblookup): Use unsigned type for hash value. 2001-04-04 Martin Buchholz <martin@xemacs.org> * keymap.c (Fmap_keymap): Revert to previous implementation, since elisp_maphash is now safe. * elhash.c: Remove erroneously added comment. * elhash.c (copy_compress_hentries): New. (Fmaphash): Use copy_compress_hentries. (elisp_maphash): Use copy_compress_hentries. (elisp_map_remhash): Use copy_compress_hentries. (elisp_maphash_unsafe): New. * elhash.h: Add prototype for elisp_maphash_unsafe. * elhash.c (Fmaphash): Avoid crashes/unpredictable behavior if a hash table is modified during a mapping function, perhaps indirectly via gc. (free_hentries): New. Avoid crash if a pdumped hash table is collected. (maphash_unwind): New. * tests.c: Add C-level hash table tests. 2001-04-28 Ben Wing <ben@xemacs.org> * buffer.c (Ferase_buffer): * editfns.c (buffer_insert1): * editfns.c (Finsert_before_markers): * editfns.c (Finsert_string): * editfns.c (Finsert_char): * editfns.c (Fdelete_region): * editfns.c (Fwiden): * editfns.c (Fnarrow_to_region): remove bogus lines setting zmacs_region_stays to 0. * scrollbar-msw.c (mswindows_handle_mousewheel_event): remove debug lines. 2001-03-08 Mike Alexander <mta@arbortext.com> * event-msw.c (mswindows_need_event_in_modal_loop): Don't dispatch a message if we didn't get one. (mswindows_need_event): Terminate the correct process when one exits instead of the first one on Vprocess_list and look for process termination when in mswindows_protect_modal_loop. 2001-04-20 Ben Wing <ben@xemacs.org> * .cvsignore: Added stuff for Windows. 2001-04-15 Ben Wing <ben@xemacs.org> * cmdloop.c (call_command_loop): Fix braino in bit-rotting code. * event-stream.c: * event-stream.c (Fnext_event): * event-stream.c (is_scrollbar_event): * event-stream.c (execute_command_event): Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a crash' problem. His fix introduces other problems. We filter out scrollbar events specifically, making them somewhat invisible to command-building, and not appearing in `this-command-keys'. More work is still needed (see comments in event-stream.c), but this fixes all the major problems. 2001-04-15 Gunnar Evermann <ge204@eng.cam.ac.uk> * process-unix.c (unix_open_network_stream): If connect() fails invalidate file descriptor after closing it. 2001-04-18 Martin Buchholz <martin@xemacs.org> * XEmacs 21.5.0 "alfalfa" is released. 2001-03-31 Mike Sperber <mike@xemacs.org> * search.c (Freplace_match): [Again] support FSF-style specification of match subexpression when applied to a buffer. 2001-04-07 Hrvoje Niksic <hniksic@arsdigita.com> * extents.c (Fset_extent_endpoints): Force creation of extent info in buffer_or_string. 2001-04-07 Hrvoje Niksic <hniksic@arsdigita.com> * extents.c (process_extents_for_insertion_mapper): Correctly check for open-open zero-length extents. 2001-04-02 Jan Vroonhof <jan@xemacs.org> * redisplay.c (add_bufbyte_string_runes): Update data->bytepos 2001-04-03 Mike Sperber <mike@xemacs.org> * search.c: Revert previous patch due because of release. 2001-03-30 Ben Wing <ben@xemacs.org> * s\cygwin32.h: Add missing killpg prototype. * elhash.c: Add a comment about fixing problems when a new entry is added while mapping. * frame-msw.c (mswindows_init_frame_1): Fix compile warnings. * menubar.c (vars_of_menubar): Provide `menu-accelerator-support' to indicate that we Properly support %_ in menu specifications, so that package code can conditionalize on this (and remove %_ from menu specifications on older versions). * event-msw.c: * scrollbar-msw.c: * scrollbar-msw.c (can_scroll): * scrollbar-msw.h: Fix handling of mouse wheel under Windows to follow standards -- now scrolls window under pointer, not selected window. 2001-03-31 Mike Sperber <mike@xemacs.org> * search.c (Freplace_match): Support FSF-style specification of match subexpression when applied to a buffer. 2001-03-15 Martin Buchholz <martin@xemacs.org> * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping function to modify KEYMAP, so map over a copy of the hash table. 2001-03-21 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.46 "Urania" is released. 2001-03-20 Dan Holmsand <dan@eyebee.com> * realpath.c (xrealpath): Make file-truename work with symlinks to /cygdrive paths on cygwin. Always lowercase drive-letters on native windows. (cygwin_readlink): Don't try to find canonical filename unless file exists. 2001-03-15 Stephen J. Turnbull <stephen@xemacs.org> * ChangeLog: Log GTK merge. * dumper.c: * select-x.c: * specifier.c: * symeval.h: Revert gratuitous whitespace changes from GTK merge. * emacs.c: Document end of complex #ifdef @ l. 1495. 2001-03-12 Andy Piper <andy@xemacs.org> * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we have to do likewise. 2001-03-12 Andy Piper <andy@xemacs.org> * sysdep.c: we only support mingw now. 2001-03-09 Andy Piper <andy@xemacs.org> * unexcw.c (copy_executable_and_dump_data_section): making approx overrun a warning only. 2001-03-10 William M. Perry <wmperry@aventail.com> * faces.c (complex_vars_of_faces): Rewrote the font mucking to satisfy Stephen's identical-after-cpp plea. 2001-03-02 Ben Wing <ben@xemacs.org> * cmds.c: * cmds.c (Fforward_char): * syntax.c: * window.c: Augment documentation of the most common motion commands to make note of the shifted-motion support. 2001-03-02 Ben Wing <ben@xemacs.org> * nt.c (mswindows_fstat): * nt.c (mswindows_stat): * search.c (boyer_moore): Fix compile warnings under Windows. * sysdep.c (sys_readdir): Fix buggy filename-conversion code under Mule. 2001-03-09 William M. Perry <wmperry@aventail.com> * Makefile.in.in: * config.h.in: * console.c: * console.h: * device.c: * device.h: * dragdrop.c: * emacs.c: * event-stream.c: * events.c: * events.h: * faces.c: * frame.h: * general-slots.h: * glyphs.c: * gutter.c: * inline.c: * lisp.h: * lrecord.h: * make-src-depend: * redisplay-output.c: * redisplay.c: * symsinit.h: * sysfile.h: * toolbar.c: * window.c: The Great GTK Merge. * ChangeLog.GTK: * console-gtk.c: * console-gtk.h: * device-gtk.c: * emacs-marshals.c: * emacs-widget-accessors.c: * event-gtk.c: * frame-gtk.c: * gccache-gtk.c: * gccache-gtk.h: * glade.c: * glyphs-gtk.c: * glyphs-gtk.h: * gtk-glue.c: * gtk-xemacs.c: * gtk-xemacs.h: * gui-gtk.c: * gui-gtk.h: * menubar-gtk.c: * native-gtk-toolbar.c: * objects-gtk.c: * objects-gtk.h: * redisplay-gtk.c: * scrollbar-gtk.c: * scrollbar-gtk.h: * select-gtk.c: * toolbar-gtk.c: * ui-byhand.c: * ui-gtk.c: * ui-gtk.h: The Great GTK Merge: new files. 2001-02-26 Ben Wing <ben@xemacs.org> Reapplied Lstream change. 2001-02-26 Ben Wing <ben@xemacs.org> Undid the last change, since it is more controversial than I thought. It should be back in at some point soon. 2001-02-25 Ben Wing <ben@xemacs.org> * buffer.c: * callproc.c (Fold_call_process_internal): * event-msw.c (ntpipe_slurp_reader): * event-msw.c (ntpipe_shove_writer): * event-msw.c (winsock_reader): * event-msw.c (winsock_writer): * file-coding.c: * file-coding.c (detect_eol_type): * file-coding.c (detect_coding_type): * file-coding.c (determine_real_coding_system): * file-coding.c (Fdetect_coding_region): * file-coding.c (decoding_reader): * file-coding.c (decoding_writer): * file-coding.c (mule_decode): * file-coding.c (Fdecode_coding_region): * file-coding.c (encoding_reader): * file-coding.c (encoding_writer): * file-coding.c (mule_encode): * file-coding.c (Fencode_coding_region): * file-coding.c (detect_coding_sjis): * file-coding.c (decode_coding_sjis): * file-coding.c (encode_coding_sjis): * file-coding.c (detect_coding_big5): * file-coding.c (decode_coding_big5): * file-coding.c (encode_coding_big5): * file-coding.c (detect_coding_ucs4): * file-coding.c (decode_coding_ucs4): * file-coding.c (encode_coding_ucs4): * file-coding.c (detect_coding_utf8): * file-coding.c (decode_coding_utf8): * file-coding.c (encode_coding_utf8): * file-coding.c (detect_coding_iso2022): * file-coding.c (decode_coding_iso2022): * file-coding.c (encode_coding_iso2022): * file-coding.c (decode_coding_no_conversion): * file-coding.c (encode_coding_no_conversion): * glyphs-x.c (write_lisp_string_to_temp_file): * gpmevent.c (tty_get_foreign_selection): * lisp.h: * lstream.c: * lstream.c (Lstream_flush_out): * lstream.c (Lstream_adding): * lstream.c (Lstream_write_1): * lstream.c (Lstream_write): * lstream.c (Lstream_raw_read): * lstream.c (Lstream_read_more): * lstream.c (Lstream_read): * lstream.c (Lstream_unread): * lstream.c (Lstream_fputc): * lstream.c (stdio_reader): * lstream.c (stdio_writer): * lstream.c (filedesc_reader): * lstream.c (filedesc_writer): * lstream.c (lisp_string_reader): * lstream.c (struct fixed_buffer_stream): * lstream.c (make_fixed_buffer_input_stream): * lstream.c (make_fixed_buffer_output_stream): * lstream.c (fixed_buffer_reader): * lstream.c (fixed_buffer_writer): * lstream.c (struct resizing_buffer_stream): * lstream.c (resizing_buffer_writer): * lstream.c (dynarr_writer): * lstream.c (lisp_buffer_reader): * lstream.c (lisp_buffer_writer): * lstream.h: * lstream.h (lstream_implementation): * lstream.h (struct lstream): * md5.c (Fmd5): * process-nt.c (nt_send_process): * process-unix.c (unix_send_process): Correct Lstream lossage due to mixing of signed and unsigned quantities. All Lstream uses of size_t and ssize_t are now a single signed data type Lstream_data_count. This fixes problems under Windows with sending large quantities of data to a process, and may well fix other subtle bugs. 2001-02-23 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.45 "Thelxepeia" is released. 2001-02-21 Martin Buchholz <martin@xemacs.org> * lisp-union.h (XSETINT): (XSETCHAR): (XSETOBJ): Reverse previous change of 2001-02-06. 2001-02-20 Matt Tucker <tuck@whistlingfish.net> Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed buffers. * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR): * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR): Add `BI_BUF_BEGV' to bytepos before calculating bufpos. * regex.c (POS_AS_IN_BUFFER): removed * regex.c (re_search_2): * regex.c (re_match_2): Don't use an offset of 1 when calculating buffer positions, since `BI_BUF_BEGV' does it already. 2001-02-18 Wim Dumon <wim@easics.be> * insdel.c (prepare_to_modify_buffer): Also check for supersession when clash-detection is enabled. 2001-02-17 Matt Tucker <tuck@whistlingfish.net> * regex.c (re_match_2_internal): Convert temp characters from 'const unsigned char' to 're_char'. Fix crashing bug with extended characters under mule. * syntax.c (Qsyntax_table): Moved from vars_of_syntax to syms_of_syntax. Use defsymbol to define. Fixes hanging bug with font-lock, pdump, and new syntax-table code. * syntax.c (find_start_of_comment): (find_end_of_comment): (forward-comment): Fix crashing bugs involving moving beyond end of buffer. * syntax.c (find_start_of_comment): Fixed logic to allow proper detection of cases where the same character is used to end both a two-char comment start and a two-char comment end sequence. Fixes `(forward-comment -1)'. * syntax.c (find_start_of_comment): Return position just past last comment-end character for all cases (previously was only done for two-char comment-end sequences). * syntax.c (forward-comment): Take value returned from `find_end_of_comment', rather than incrementing it. * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR): Properly deal with BUFFERP (syntax_cache.object) 2001-02-17 Martin Buchholz <martin@xemacs.org> * alloc.c (Fgarbage_collect): * alloc.c (make_bit_vector_from_byte_vector): -Wsign-compare-correctness. 2001-02-16 Martin Buchholz <martin@xemacs.org> * lisp-union.h (XSETINT): Eliminate unnecessary temp var. (XSETCHAR): Likewise. (XSETOBJ): Likewise. 2001-02-15 Martin Buchholz <martin@xemacs.org> * mule-canna.c (canna-func-delete_previous): Rename to canna-func-delete-previous. 2001-02-14 Martin Buchholz <martin@xemacs.org> * mule-ccl.c (ccl_driver): Warning suppression. Use countof. 2001-02-13 Matt Tucker <tuck@whistlingfish.net> * font-lock.c (find_context): Fix C++ compile errors introduced by recent patch 2001-02-13 Martin Buchholz <martin@xemacs.org> * s/aix4.h: Later versions of IBM C compiler need a bug workaround pragma, but earlier ones barf on the same pragma. 2001-02-06 Mike Sperber <mike@xemacs.org> * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and `configure-mule-lisp-directory'. 2001-02-12 Martin Buchholz <martin@xemacs.org> Make sure dump-id.c is compiled in the same way as other .c's. Fixes pdump compilation failure with HP's cc, which defaults to K&R. * dump-id.h: Remove. * emacs.c: Move dump-id.h into dumper.h. * dumper.h: Move dump-id.h into dumper.h. * Makefile.in.in: Use standard .c.o rule for building dump-id.o. Remove preprocessor flags from link command. Add dump-id.o to ${otherobjs} if PDUMP. 2001-02-07 Matt Tucker <tuck@whistlingfish.net> Port FSF 20.7 syntax table improvements. * syntax.c. * syntax.h. Fixups for new syntax table stuff. * dired.c: Include syntax.c. (Fdirectory_files): Initialize regex_match_object and regex_emacs_buffer. * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change, and Fget_char_property. Use ported FSF 20.7 syntax table improvements. * font-lock.c. * regex.c. * search.c. 2001-02-09 Martin Buchholz <martin@xemacs.org> * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with Unixware's enum boolean from sys/types.h. 2001-02-10 Martin Buchholz <martin@xemacs.org> Fix support for building with latest Purify. * Makefile.in.in (PURIFY_LIBS): Remove thread flags. (PURIFY_FLAGS): Likewise. 2001-02-09 Martin Buchholz <martin@xemacs.org> * fileio.c (lisp_string_set_file_times): New. * fileio.c (Fcopy_file): Use it. Fixes bug: (copy-file filename non-ascii-filename t t) ==> No such file or directory, non-ascii-filename 2001-02-10 Martin Buchholz <martin@xemacs.org> * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning. USHRT_MAX seems clearer than ~0 anyways. 2001-02-09 Martin Buchholz <martin@xemacs.org> dumper improvements. Inspired by Olivier. * dumper.c (pdump_max_align): New. * dumper.c (pdump_add_entry): Use pdump_max_align. * dumper.c (pdump_get_entry_list): Likewise. * dumper.c (pdump_scan_by_alignment): Likewise. Don't iterate through unnecessary alignments. * dumper.c (pdump_file_get): No need to align result of malloc(). * dumper.c (pdump_mallocadr): Remove. The result of malloc() is guaranteed to be maximally aligned. * dumper.c: s/elmt/elt/g; * dumper.c (pdump_object_table): Allocate dynamically, not statically. * dumper.c (pdump_alert_undump_object): Likewise. * dumper.c (pdump_align_table): Don't support alignments > 64. Store ALIGNOF's, not shift counts, in table. 2001-02-09 Martin Buchholz <martin@xemacs.org> * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove. * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove. * systime.h: Use HAVE_UTIME. * sysdep.c (struct utimbuf): Remove. * sysdep.c (set_file_times): Prefer utime() to utimes(). * config.h.in (HAVE_UTIME): New. * config.h.in (HAVE_UTIME_H): Remove. * config.h.in (HAVE_STRUCT_UTIMBUF): Remove. 2001-02-09 Martin Buchholz <martin@xemacs.org> * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE. 2001-02-08 Martin Buchholz <martin@xemacs.org> * s/irix6-0.h: Use the standard system memmove, not bcopy. 2001-02-08 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.44 "Thalia" is released. 2001-02-06 Martin Buchholz <martin@xemacs.org> Fixes crashes in kill-emacs on some systems. * process-unix.c (unix_kill_child_process): It's OK for kill() to fail with ESRCH. 2001-02-07 Martin Buchholz <martin@xemacs.org> Contortions to make .gdbinit tricks work on most systems. * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info. * alloc.c (dbg_valmask): Make non-const. * alloc.c (dbg_typemask): Make non-const. * alloc.c (dbg_USE_UNION_TYPE): Make non-const. * alloc.c (dbg_valbits): Make non-const. * alloc.c (dbg_gctypebits): Make non-const. * .gdbinit (decode_object): Make it work with AIX cc. 2001-02-06 Martin Buchholz <martin@xemacs.org> * elhash.c (make_general_lisp_hash_table): Use simpler and more efficient calloc to clear entries. 2001-02-07 Martin Buchholz <martin@xemacs.org> * window.c (window_scroll): Work around an AIX C compiler bug. Fixes 'scroll-up' does nothing problem with xlC. 2001-02-05 Martin Buchholz <martin@xemacs.org> * .gdbinit: Remove obsolete comment. 2001-01-31 Mike Alexander <mta@arbortext.com> * select.c (Fown_selection_internal): Set owned_p for device method correctly. 2001-02-01 Martin Buchholz <martin@xemacs.org> Port to g++ 2.97. "not" cannot be used as a macro name as it is an operator in C++ * config.h.in: Stop #defining `not'. * chartab.c (check_category_char): not ==> not_p * chartab.h: Likewise. * regex.c (re_match_2_internal): Likewise. 2001-02-02 Martin Buchholz <martin@xemacs.org> * lisp-disunion.h: Fix up comments. 2001-01-31 Martin Buchholz <martin@xemacs.org> * keymap.c (define_key_check_and_coerce_keysym): (syms_of_keymap): Support mouse-6 and mouse-7 bindings in the obvious way. 2001-02-01 Martin Buchholz <martin@xemacs.org> * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD. 2001-01-30 Martin Buchholz <martin@xemacs.org> Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete. Previous patch missed DEFVAR_INT_MAGIC. Make sure future DEFVAR_foo use correct types. * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New. * (DEFVAR_SYMVAL_FWD_INT): Add type checking. * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking. * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM. * (DEFVAR_INT): Likewise. * redisplay.c (vertical_clip): Should be of type Fixnum. * redisplay.c (horizontal_clip): Likewise. * lisp.h (dump_add_opaque_int): New. (dump_add_opaque_fixnum): New. 2001-01-29 Andy Piper <andy@xemacs.org> * glyphs-widget.c (check_valid_int_or_function): allow symbols since they can be eval'ed 2001-01-29 Martin Buchholz <martin@xemacs.org> * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers. Oops, XEmacs redefines `class'. Use `typename' instead. 2001-01-28 Martin Buchholz <martin@xemacs.org> * dumper.c: Fix C++ compile errors. 2001-01-29 Martin Buchholz <martin@xemacs.org> * tparam.c: Use correct prototypes. 2001-01-28 Martin Buchholz <martin@xemacs.org> * sysproc.h: #include util.h for NetBSD's openpty. 2001-01-27 Martin Buchholz <martin@xemacs.org> More 64-bit correctness. The C value of a DEFVAR_INT should be of type EMACS_INT, not int. Use a typedef `fixnum' for the type used for DEFVAR_INT. Fix up comments. This finally finishes the 64-bit SGI port. Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...). * symbols.c: Fix up comments and type casts. * symbols.c (do_symval_forwarding): s/int/Fixnum/g * symbols.c (store_symval_forwarding): s/int/Fixnum/g * symeval.h (Fixnum): New type. * symeval.h (symbol_value_type): Fix up comment. * commands.h: * nt.c: * emacs.c: * data.c: * redisplay.c: * abbrev.c: * dired-msw.c: * event-Xt.c: * eldap.c: * window.c: * sound.c: * event-stream.c: * eval.c: * buffer.c: * mule-canna.c: A million DEFVAR_INTs here... * mule-canna.c (count_char): s/int */Fixnum */g in arglist. * extents.c: * cmdloop.c: * lisp.h: * select-x.c: * console-x.h: * event-msw.c: * mule-wnnfns.c: * hpplay.c: * ralloc.c: * alloc.c: * keymap.c: * profile.c: s/int/Fixnum/g in DEFVAR_INT declarations. 2001-01-26 Martin Buchholz <martin@xemacs.org> Port pdump to SGI alignment-sensitive environment. Lisp Object sizeof methods now return aligned sizes. Rely on that. Eliminate is_lrecord since Lisp_Objects sizeof methods are now all properly aligned. Define and use aligned reading and writing macros. Use buffered stdio instead of posix i/o for faster dumping. Eliminate kludgy 256 byte space for header. Read and write from dump file using structs for alignment safety. * dumper.c (pdump_align_stream): New. * dumper.c (PDUMP_ALIGN_OUTPUT): New. * dumper.c (PDUMP_READ_ALIGNED): New. * dumper.c (PDUMP_WRITE_ALIGNED): New. * dumper.c (pdump_static_Lisp_Object): New struct. * dumper.c (pdump_static_pointer): New struct. * dumper.c (pdump_entry_list_element): Remove is_lrecord member. * dumper.c (pdump_add_entry): Remove is_lrecord parameter. * dumper.c (pdump_dump_data): Rely on sizeof method alignment. * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment. * dumper.c (pdump_backtrace): * dumper.c (pdump_get_indirect_count): * dumper.c (pdump_register_object): * dumper.c (pdump_register_struct): * dumper.c (pdump_reloc_one): * dumper.c (pdump_scan_by_alignment): * dumper.c (pdump_dump_from_root_struct_ptrs): * dumper.c (pdump_dump_opaques): * dumper.c (pdump_dump_rtables): * dumper.c (pdump_dump_from_root_objects): * dumper.c (pdump): * dumper.c (pdump_load_finish): Use aligned reading and writing. * dumper.c (pdump_free): Make static. * dumper.c (pdump_hFile): Likewise. * dumper.c (pdump_hMap): Likewise. 2001-01-26 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.43 "Terspichore" is released. 2001-01-25 Martin Buchholz <martin@xemacs.org> Type fiddling for window_config.saved_windows_count * window.c (struct window_config): Make saved_windows_count member unsigned. * window.c (sizeof_window_config_for_n_windows): Make parameter unsigned. * window.c (mark_window_config): * window.c (window_config_equal): * window.c (free_window_configuration): * window.c (Fset_window_configuration): * window.c (count_windows): * window.c (Fcurrent_window_configuration): * window.c (reinit_vars_of_window): Update all callers and users. 2001-01-25 Martin Buchholz <martin@xemacs.org> Alignment correctness for flexible arrays. * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Make alignment-correct. Add interesting comments. * alloc.c (size_vector): * alloc.c (make_vector_internal): * alloc.c (make_bit_vector_internal): * alloc.c (sweep_bit_vectors_1): * fns.c (size_bit_vector): Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg. * window.c (sizeof_window_config_for_n_windows): Use FLEXIBLE_ARRAY_STRUCT_SIZEOF. 2001-01-24 Martin Buchholz <martin@xemacs.org> * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h 2001-01-23 Andy Piper <andy@xemacs.org> * select.c (Fown_selection_internal): pass owned_p * select-msw.c (mswindows_own_selection): New Signature. * console.h (struct console_methods): add owned_p to _own_selection. * select-x.c (x_own_selection): pass owned_p (hack_motif_clipboard_selection): use owned_p (vars_of_select_x): new variable - x_selection_strict_motif_ownership. 2001-01-23 Martin Buchholz <martin@xemacs.org> * specifier.h (specifier_data_offset): Remove pointless parens. * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise. 2001-01-24 Martin Buchholz <martin@xemacs.org> Make Lisp_Object sizeof methods be alignment-correct. pdump must restore objects to the same alignment as the C compiler assumes. It really matters on SGIs. * lstream.c (aligned_sizeof_lstream): New. (sizeof_lstream): Use aligned_sizeof_lstream. (Lstream_new): Likewise. * opaque.c (aligned_sizeof_opaque): New. (sizeof_opaque): Use aligned_sizeof_opaque. (make_opaque): Likewise. * specifier.c (aligned_sizeof_specifier): New. (sizeof_specifier): Use aligned_sizeof_specifier. (make_specifier_internal): Likewise. 2001-01-23 Martin Buchholz <martin@xemacs.org> * lstream.h (struct lstream): Use max_align_t for trailing data. * specifier.h (struct Lisp_Specifier): Likewise. 2001-01-22 Martin Buchholz <martin@xemacs.org> * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention. (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings. (CCL_SUSPEND): Likewise. (CCL_INVALID_CMD): Likewise. (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise. (ccl_driver): Likewise. (CCL_WRITE_CHAR): Macro hygiene. (CCL_WRITE_STRING): Macro hygiene. 2001-01-22 Martin Buchholz <martin@xemacs.org> Port "portable" dumper to SunOS 4 and HP-UX. * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere. * emacs.c (main): PDUMP implies no RUN_TIME_REMAP. * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined. 2001-01-22 Martin Buchholz <martin@xemacs.org> * lisp.h (ALIGNOF): A better definition for C++. 2001-01-20 Martin Buchholz <martin@xemacs.org> Macro hygiene. Fix printf warnings: int format, long int arg. * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING. (PUSH_FAILURE_POINT): Use correct printf formats. (POP_FAILURE_POINT): Use correct printf formats. Use do {...} while (0) 2001-01-20 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.42 "Poseidon" is released. 2001-01-20 Martin Buchholz <martin@xemacs.org> * console-x.h: typo fix du jour. Remove #if 0'ed code. 2001-01-19 Martin Buchholz <martin@xemacs.org> De-kludgify FIXED_TYPE free list frobbing. Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13. * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free. * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions. * alloc.c (Lisp_Free): New pseudo lisp object definition. * alloc.c (LRECORD_FREE_P): New. * alloc.c (MARK_LRECORD_AS_FREE): New. * alloc.c (MARK_LRECORD_AS_NOT_FREE): New. * alloc.c (STRUCT_FREE_P): Deleted. * alloc.c (MARK_STRUCT_AS_FREE): Deleted. * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted. * alloc.c (STRING_CHARS_FREE_P): New. * alloc.c (MARK_STRING_CHARS_AS_FREE): New. * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions. * alloc.c (FREE_FIXED_TYPE): Use new definitions. * alloc.c (STRING_CHARS_FREE_P): Use new definitions. * alloc.c (resize_string): Use new definitions. * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions. * alloc.c (verify_string_chars_integrity): Use new definitions. * alloc.c (compact_string_chars): Use new definitions. * alloc.c: Update monster comments. * lrecord.h (lrecord_type): Add some new lrecord types for alloc.c's use. 2001-01-18 Martin Buchholz <martin@xemacs.org> Improve alignment hackery. * lisp.h (ALIGNOF): Better definition for the non-gcc case. (max_align_t): Moved from opaque.h - general purpose. (ALIGN_PTR): Use size_t, not long. * opaque.h (max_align_t): Move to lisp.h. 2001-01-18 Norbert Koch <nk@LF.net> * gui.h: Fix and add prototypes to fix build problems. 2001-01-18 Martin Buchholz <martin@xemacs.org> temacs is going away, so `dump-temacs' is now a bad name. * .dbxrc (dump-temacs): Rename to `dmp'. * .gdbinit (dump-temacs): Rename to `dmp'. 2001-01-17 Andy Piper <andy@xemacs.org> * glyphs.c (print_image_instance): comment to make martin happy. * glyphs-x.c (x_redisplay_widget): update faces after a frame change. * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with activation. (mswindows_tab_control_redisplay): warning suppression. * glyphs-widget.c (widget_update): re-write to cope with updated items. (widget_instantiate): use new gui_item functions. (tab_control_update): deleted. (progress_gauge_update): deleted. (image_instantiator_progress_guage): take out update reference. (image_instantiator_tree_view): ditto. (image_instantiator_tab_control): ditto. * gui.c (widget_gui_parse_item_keywords): new function. Do things Right the new way. (gui_item_add_keyval_pair): re-write to cope with descriptors and return whether anything was changed. (update_gui_item_keywords): as it sounds. * gui.h: declare widget_gui_parse_item_keywords. * fns.c (safe_copy_tree): new function taken from Fcopy_tree. (Fcopy_tree): use it. Stops infloop death in bogus instantiators. 2001-01-17 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.41 "Polyhymnia" is released. 2001-01-16 Didier Verna <didier@xemacs.org> * glyphs.c (image_instantiate): don't use fallbacks when instantiating a face's background pixmap by inheritance. 2001-01-14 Mike Sperber <mike@xemacs.org> * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK. Conditionalize accordingly. 2001-01-16 Martin Buchholz <martin@xemacs.org> * dumper.c (pdump_file_get): Fix a compiler warning. 2001-01-15 Martin Buchholz <martin@xemacs.org> Make Purify happy when pdumping. * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by iniitalizing all bits of new lisp object memory. * symbols.c (Fmake_local_variable): Likewise. * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise. * symbols.c (Fdefvaralias): Likewise. * mule-charset.c (vars_of_mule_charset): Likewise. 2001-01-15 Martin Buchholz <martin@xemacs.org> Add the `-nd' flag when running pre-dump operations under the debugger. * .dbxrc (run-temacs): Add `-nd'. * .dbxrc (update-elc): Likewise. * .dbxrc (dump-temacs): Likewise. * .gdbinit (run-temacs): Likewise. * .gdbinit (check-temacs): Likewise. * .gdbinit (update-elc): Likewise. * .gdbinit (dump-temacs): Likewise. 2001-01-14 Martin Buchholz <martin@xemacs.org> Allow building 64-bit executables on AIX with GNU malloc, e.g. export OBJECT_MODE=64 configure --pdump --use-union-type=no * m/ibmrs6000.h (DATA_START): Define for 64-bit world. * gmalloc.c (__default_morecore): Remove pre-ANSI cruft. * miscplay.c (sndcnv8U_2mono): Avoid two uses of `++' in the same expression. Suppresses a GCC warning. 2001-01-13 Martin Buchholz <martin@xemacs.org> Make sure future compilers don't miscompile alloc.c. * alloc.c: (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant. (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant. 2001-01-12 Martin Buchholz <martin@xemacs.org> * dumper.c: A little post-pdump-rename comment fixup. 2001-01-09 Jerry James <james@eecs.ku.edu> * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use. 2001-01-13 Martin Buchholz <martin@xemacs.org> * *.[ch]: Globally rename symbols using the following `pdump-rename' script: #!/bin/sh replace_symbol () { (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g' } replace_symbol pdump_wire_lists pdump_weak_object_chains replace_symbol pdump_wire_list dump_add_weak_object_chain replace_symbol pdump_wires pdump_root_objects replace_symbol pdump_wire dump_add_root_object replace_symbol pdump_dump_wired pdump_dump_from_root_objects replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs replace_symbol dumpstructinfos pdump_root_struct_ptrs replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr replace_symbol dumpstructinfo pdump_root_struct_ptr replace_symbol dumpstruct dump_add_root_struct_ptr replace_symbol dumpopaque dump_add_opaque replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr replace_symbol dumpopaqueinfos pdump_opaques replace_symbol dumpopaqueinfo pdump_opaque replace_symbol nb_structdump nb_root_struct_ptrs replace_symbol nb_opaquedump nb_opaques replace_symbol align_table pdump_align_table replace_symbol dump_header pdump_header replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE 2001-01-12 Martin Buchholz <martin@xemacs.org> * s/aix4.h: Keep the C for AIX compiler from overaggressively optimizing bytecount_to_charcount(). 2001-01-06 Golubev I. N. <gin@mo.msk.ru> * config.h.in: (HAVE_DLFCN_H): Removed. * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H. 2001-01-06 Martin Buchholz <martin@xemacs.org> Portable dumper maintainability improvements. * alloc.c (staticpro): * alloc.c (staticpro_nodump): * alloc.c (garbage_collect_1): * alloc.c (reinit_alloc_once_early): * alloc.c (init_alloc_once_early): * alloc.c: Move dumper functions to alloc.c. * dumper.c (pdump_backtrace): * dumper.c (pdump_dump_structs): * dumper.c (pdump_dump_opaques): * dumper.c (pdump_dump_rtables): * dumper.c (pdump_dump_wired): * dumper.c (pdump): * dumper.c (pdump_load_check): * dumper.c (pdump_load_finish): * dumper.c (pdump_file_unmap): * dumper.c (pdump_file_get): * dumper.c (pdump_resource_free): * dumper.c (pdump_resource_get): * dumper.c (pdump_file_free): * dumper.c (pdump_file_try): * dumper.c (pdump_load): Remove fixed size limits on staticpro(), staticpro_nodump(), dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays. Remove custom code for dumping lrecord_implementations_table - use dumpopaque instead. Remove (most of the) custom code for dumping staticpros - dump it like any other dynarr. * alloc.h: Removed. No longer useful, since dumper now more self-contained. * dumper.c: Moved functions from alloc.c. * alloc.c (dumpstruct): Moved to dumper.c. * alloc.c (dumpopaque): Likewise. * alloc.c (pdump_wire): Likewise. * alloc.c (pdump_wire_list): Likewise. * lisp.h (Dynarr_sizeof): New. * lisp.h (Dynarr_begin): New. Very slightly C++oid. * lisp.h (Dynarr_end): New. Very slightly C++oid. * lisp.h (Lisp_Object_ptr_dynarr): New. For staticpros. * lisp.h (dumpstruct): Define to nothing if not PDUMPing. * lisp.h (dumpopaque): ditto. * lisp.h (pdump_wire): ditto. * lisp.h (pdump_wire_list): ditto. 2001-01-09 Martin Buchholz <martin@xemacs.org> * make-src-depend (PrintPatternDeps): Use `sort' to make output independent of perl version. 2001-01-08 Martin Buchholz <martin@xemacs.org> Port to Netbsd 1.5. * unexelf.c: Remove (never used) bogus Netbsd-specific cruft. * s/netbsd.c: Use unexelf.o if __ELF__ is defined. 2001-01-03 Didier Verna <didier@xemacs.org> * event-stream.c (emacs_handle_focus_change_preliminary): ensure that `focus_frame' is alive before thinking of calling `redisplay_redraw_cursor' on it. 2001-01-08 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.40 is released. 2001-01-06 Golubev I. N. <gin@mo.msk.ru> * regex.c: Replace PREFETCH with REGEX_PREFETCH. 2001-01-06 Martin Buchholz <martin@xemacs.org> * alloc.c (dbg_valmask): Make const. * alloc.c (dbg_typemask): Make const. * alloc.c (dbg_USE_UNION_TYPE): Make const. * alloc.c (dbg_valbits): Make const. * alloc.c (dbg_gctypebits): Make const. 2001-01-06 Stephen J. Turnbull <stephen@xemacs.org> * redisplay-x.c (x_bevel_area): redisplay.h (struct rune): Typo fixes in comments. 2001-01-05 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_redisplay_widget): use size changed for offset adjustment. * menubar.c (menubar_visible_p_changed): don't mark frame changed. 2001-01-05 Martin Buchholz <martin@xemacs.org> * alloc.c (pure-bytes-used): Remove unused mendacious variable. * mule-ccl.c (stack_idx_of_map_multiple): Non const global data must not be initialized! Found by MIYASHITA Hisashi. 2001-01-02 Andy Piper <andy@xemacs.org> * frame.c (change_frame_size): make sure frame size is always marked as changed. * glyphs.c (image_instance_layout): minor code reuse. * window.c (Fcurrent_window_configuration): revert previous change. 2001-01-02 Martin Buchholz <martin@xemacs.org> * glyphs.h: * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes. 2000-12-31 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame when widget gets unmapped. * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new function. Make sure widgets losing focus don't just drop it. (handle_focus_event_1): record the widget with focus. 2000-12-31 Andy Piper <andy@xemacs.org> * window.c (allocate_window): use make_image_instance_cache_hash_table. (make_dummy_parent): ditto. (Fset_window_configuration): ditto. * glyphs.h (INSTANTIATOR_TYPE): new macro. declare new functions. * glyphs.c (process_image_string_instantiator): use INSTANTIATOR_TYPE. (get_image_instantiator_governing_domain): ditto. (normalize_image_instantiator): ditto. (instantiate_image_instantiator): ditto. (make_image_instance_1): ditto. (image_instantiate): ditto. Key on glyph *and* instantiator type. (instantiator_eq_equal): new function for use with instance hash tables. (instantiator_eq_hash): ditto. (make_image_instance_cache_hash_table): create a suitable hash table for storing image instances. * elhash.h (hash_table_weakness): new internal weakness type HASH_TABLE_KEY_CAR_VALUE_WEAK. declare new functions. * elhash.c (finish_marking_weak_hash_tables): introduce yet another weakness type for glyphs. (make_standard_lisp_hash_table): new function split out from make_general_lisp_hash_table. (make_lisp_hash_table): call make_standard_lisp_hash_table. (hash_table_instantiate): ditto. (Fmake_hash_table): ditto. 2000-12-31 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.39 is released. 2000-12-29 Andy Piper <andy@xemacs.org> * menubar.c (menubar_visible_p_changed): signal the frame changed. * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if the frame has changed so that we pick up geometry changes such as menubar visibility. 2000-12-28 Andy Piper <andy@xemacs.org> * lastfile.c (my_ebss): make a char array so we can pad the bss. Fixes cygwin unexec. * unexcw.c: invert BROKEN_GDB to NO_DEBUG. 2000-12-26 Andy Piper <andy@xemacs.org> * event-Xt.c (emacs_Xt_force_event_pending): add some verbose comments and try and be more precise about a non-/SIGIO world. (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non SIGIO. * redisplay-output.c (redisplay_normalize_glyph_area): make sure we don't normalize to zero width or height. 2000-12-24 Andy Piper <andy@xemacs.org> * Makefile.in.in (ldflags): add -mwindows when appropriate. 2000-08-18 Golubev I. N. <gin@mo.msk.ru> * s/sco5.h: SCO 5 has pty support. 2000-07-20 Kazuyuki IENAGA <ienaga@xemacs.org> * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET. input-method-xlib.c contains whole contents of input-method-xfs.c, so we can use input-method-xlib.c's code for USE_XFONTSET using #ifdefs. * input-method-xfs.c: removed. 2000-12-20 Stephen Turnbull <stephen@xemacs.org> * file-coding.h (enum coding_category_type): reorder enumerators to make autodetection safer. Make CODING_CATEGORY_LAST an enumerator (now one greater than largest real coding_category_type enumerator). * file-coding.c (coding_category_symbol, coding_category_by_priority, coding_category_system, fcd_descriptihon_1, decode_coding_category, Fcoding_category_list, Fset_coding_priority_list, Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region, vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST. 2000-12-18 Yoshiki Hayashi <yoshiki@xemacs.org> * redisplay-output.c (redisplay_clear_top_of_window): Remove static. * redisplay-output.c (redisplay_output_window): Clear top of window when face is changed. * redisplay-x.c (x_redraw_exposed_window): Call redisplay_clear_top_of_window. * redisplay.h: Publish redisplay_clear_top_of_window. 2000-12-18 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.c (Fkill_buffer): Map over all devices. * window.c (window_loop): Remove UNSHOW_BUFFER code. (list_windows): New function. (list_all_windows): Ditto. (Freplace_buffer_in_windows): Use them. 2000-02-02 Daiki Ueno <ueno@ueda.info.waseda.ac.jp> * database.c (berkdb_subtype): Recognize new subtype `queue'. (Fopen_database): Use `db_create' instead of `db_open'. (syms_of_database): Initialize Qqueue. 2000-12-13 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.c (common_init_complex_vars_of_buffer): Initialize buffer_local_face_property. * buffer.h (struct buffer): New member buffer_local_face_property. * window.c (Fset_window_buffer): Mark window's face as changed when buffer has buffer local face. * window.h (MARK_WINDOW_FACES_CHANGED): New macro. * objects.c (color_after_change): Set buffer_local_face_property when locale of face specifier is buffer. * objects.c (font_after_change): Ditto. * objects.c (face_boolean_after_change): Ditto. * glyphs.c (image_after_change): Ditto. 2000-12-09 Dan Holmsand <dan@eyebee.com> * nt.c (mswindows_fstat): Report file permissions, volume serial number, etc. Code adapted from FSF Emacs 20.7. 2000-12-09 Dan Holmsand <dan@eyebee.com> * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead of stat when we don't have symbolic links, to make sure mswindows_stat is called on mswindows. 2000-12-12 Yoshiki Hayashi <yoshiki@xemacs.org> * alloca.c: Define malloc to xmalloc only when built with XEmacs. 2000-12-12 Martin Buchholz <martin@xemacs.org> * doprnt.c (emacs_doprnt_1): More printing fixes. Make printing of numbers compatible with libc and FSF Emacs. BUG was: (format "%6.3f" 1.2) ==>"1.200000" Use the system printf to do most of the hard work of formatting, instead of doprnt_1(). Calculate memory to allocate for format string. Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14) (doprnt_1): Cleaner code and documentation. 2000-12-01 Jerry James <james@eecs.ukans.edu> * Makefile.in.in: Use the loop variable to install headers. 2000-12-04 Yoshiki Hayashi <yoshiki@xemacs.org> * window.c (Fsplit_window): Don't invalidate face cache. 2000-12-04 Yoshiki Hayashi <yoshiki@xemacs.org> * minibuf.c (Fall_completions): Undo the previous change which removed checking elements start with space. 2000-12-06 Stephen Turnbull <stephen@xemacs.org> * mule-canna.c: Didier suppression. 2000-12-06 Stephen Turnbull <stephen@xemacs.org> * mule-canna.c: rename static unsigned char buf[] to key_buffer (warning suppression). Add English comment translations. 2000-12-05 Martin Buchholz <martin@xemacs.org> * unexelfsgi.c (unexec): Better test for mmap failure. 2000-12-05 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.38 is released. 2000-12-05 Martin Buchholz <martin@xemacs.org> * redisplay.c (bar-cursor): Make a user variable. * symsinit.h: Add init_postgresql_from_environment. 2000-12-04 Yoshiki Hayashi <yoshiki@xemacs.org> * regex.c: Convert to clean C. 2000-12-05 Dan Holmsand <dan@eyebee.com> * realpath.c: Don't #include sysfile.h. Revert to duplicating PATH_MAX initialization. (sys_readlink): renamed to system_readlink to avoid conflict with the other sys_readlink. 2000-12-04 Hiroaki Abe <h-abe@pc.highway.ne.jp> * dumper.c (pdump_file_get): Correct uses of pdump_fd. 2000-12-04 Stephen J. Turnbull <stephen@xemacs.org> * postgresql.c (init_postgresql_from_environment): new function. (vars_of_postgresql): Move code initializing Lisp variables out and into init_postgresql_from_environment. emacs.c (main_1): Call init_postgresql_from_environment if and only if running a dumped XEmacs. 2000-08-31 Dan Holmsand <dan@eyebee.com> * buffer.c: Make find-file-compare-truenames default to true on windows. * realpath.c (win32_abs_start): (cygwin_readlink): (win32_readlink): New functions. (xrealpath): Return really real filenames on windows. * fileio.c (Ffile_truename): Make file-truename work on windows. 2000-11-29 Didier Verna <didier@xemacs.org> * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro. * faces.c (update_face_cachel_data): use it. * faces.c (add_face_cachel): use it. Complete background pixmap frobbing in face cache if `update_face_cachel_data' has not done so. 2000-11-29 Yoshiki Hayashi <yoshiki@xemacs.org> * search.c (string_match_1): Don't set last_thing_searched when search failed. 2000-11-27 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.c: Include casetab.h (common_init_complex_vars_of_buffer): Use new case-table object. * buffer.h: Include casetab.h * buffer.h (MAKE_TRT_TABLE): Use generic char-table. (DOWNCASE_TABLE_OF): Ditto. * bufslots.h: Remove char-tables and add case-table. * casetab.c: Include casetab.h (CASE_TABLE_P): Removed. (mark_case_table): New function. (allocate_case_table): New function. (Fcase_table_p): Use new case-table. (case_table_char): New function. (Fget_case_table): Ditto. (Fput_case_table): Ditto. (Fput_case_table_pair): Ditto. (Fcopy_case_table): Ditto. (Fcurrent_case_table): Return case-table. (Fstandard_case_table): Return case-table. (Fset_case_table): Fix doc-string. (set_case_table): Use case-table (syms_of_casetab): DEFSUBR new functions. (complex_vars_of_casetab): Set up standard case-table. * casetab.h: New file. * editfns.c: Include casetab.h (Fcompare_buffer_substrings): Use case-table. * inline.c: Include casetab.h * lisp.h: Remove bogus extern. * lrecord.h (lrecord_type): Add lrecord_type_case_table. * search.c: Include casetab.h (TRANSLATE_ASCII): Removed. (TRANSLATE): Unconditionally translate character. (looking_at_1): Use case-table. (string_match_1): Ditto. (fast_string_match): Ditto. (search_command): Ditto. (search_buffer): Separate boyer_moore. Check whether boyer_moore is possible. (simple_search): New function. (boyer_moore): Separated from search_buffer. Translate char. 2000-11-24 Yoshiki Hayashi <yoshiki@xemacs.org> * regex.c (RE_TR_ASCII): Removed. (RE_TRANSLATE): Unconditionally use TRT_TABLE. (PATFETCH): Call PATFETCH_RAW. (PATFETCH_RAW): Fetch Emchar. (PATUNFETCH): Decrement charptr. (GET_BUFFER_SPACE): Rename b to buf_end. (BUF_PUSH): Ditto. (BUF_PUSH_2): Ditto. (BUF_PUSH_3): Ditto. (EXTEND_BUFFER): Ditto. (SET_LIST_BIT): Ditto. (regex_compile): Ditto. Translate non ASCII char. (compile_range): Ditto. (re_search_2): Ditto. (re_match_2_internal): Compare Emchar. (bcmp_translate): Ditto. 2000-11-29 Stephen J. Turnbull <turnbull@xemacs.org> * lisp.h (basic char/int typedefs): comment improvement. 2000-11-24 Stephen J. Turnbull <turnbull@xemacs.org> * emacs.c (main_1): unconditional pdump unstomping; don't save and unstomp inhibit_site_lisp. Improve comments. 2000-11-22 Stephen J. Turnbull <turnbull@xemacs.org> * mule-charset.c (Fcharset_property): improve type checking, comments. 2000-11-28 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_output_subwindow): make sure we do clipped display for windows in the gutter also. (redisplay_display_boxes_in_window_p): change semantics of return codes to be more intuitive. * gutter.h: declare display_boxes_in_gutter_p. * gutter.c (display_boxes_in_gutter_p): new function for redisplay. 2000-11-22 Andy Piper <andy@xemacs.org> * glyphs-x.c (image_instantiator_format_create_glyphs_x): change autodetect domain. 2000-11-21 Yoshiki Hayashi <yoshiki@xemacs.org> * callproc.c (Fold_call_process_internal): * gpm.c (Freceive_gpm_event): (tty_get_foreign_selection): Might be just warning supression. * fileio.c (Fwrite_region_internal): (Fset_visited_file_modtime): * keymap.c (event_matches_key_specifier_p): Initialize GCPROed variable. * menubar-x.c (command_builder_find_menu_accelerator): Initialize before use. 2000-11-23 Andy Piper <andy@xemacs.org> * unexcw.c (unexec): make the resulting executable executable. 2000-11-21 Martin Buchholz <martin@xemacs.org> * doc.c (get_doc_string): Use size_t, not int, for result of XSTRING_LENGTH. * cmds.c (Fdelete_char): * cmds.c (Fpoint_at_eol): * cmds.c (Fself_insert_command): Use EMACS_INT, not int, for result of XINT. Someday, someone will want to insert more than 2**31 identical characters. * cmds.c (Fdelete_char): * cmds.c (Fdelete_backward_char): * syntax.c (Fforward_word): * syntax.c (Fforward_comment): Make COUNT argument optional, for consistency with forward-char et al. 2000-11-22 Martin Buchholz <martin@xemacs.org> * lisp.h: * print.c (long_to_string): Return a useful value: the pointer at end of data written. * doprnt.c: Use `static const char * const' for constant strings. (union printf_arg): Delete `i', `ui' members. (get_doprnt_args): (emacs_doprnt_1): Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1" Do all printf-ing via the `l' specifier. Use EMACS_INT instead of int. Optimize. 2000-11-20 Didier Verna <didier@xemacs.org> * faces.c (update_face_cachel_data): don't frob the background pixmap when the window is being created. The face is needed but does not exist yet. 2000-11-20 Andy Piper <andy@xemacs.org> * unexcw.c (copy_executable_and_dump_data_section): Only do bss messing with a debug environment. 2000-11-20 Martin Buchholz <martin@xemacs.org> * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype. 2000-11-20 Martin Buchholz <martin@xemacs.org> * casetab.c (Fcase_table_p): Fix compile error and crash. 2000-11-18 Philip Aston <philipa@mail.com> * s/cygwin32.h: Cygwin has SVR4-like pty support. 2000-11-18 Martin Buchholz <martin@xemacs.org> * fileio.c (Fexpand_file_name): GCPRO bug! Protect `handler'. * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars! 2000-11-17 Martin Buchholz <martin@xemacs.org> * config.h.in: Define HAVE_ELF_H if elf.h exists. * unexelf.c: Use HAVE_ELF_H. * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working. I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it. Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested. Greg Harrington <greg_harrington@hotmail.com> provided a machine for testing. So this is an unexelfsgi.c from a different line of development. 2000-11-16 Yoshiki Hayashi <yoshiki@xemacs.org> * regex.c (RE_TR_ASCII): New function. (RE_TRANSLATE): Call it. 2000-11-16 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.h (TRT_TABLE_OF): Remove assert. (IN_TRT_TABLE_DOMAIN): Removed. 2000-11-16 Gunnar Evermann <ge204@eng.cam.ac.uk> * free-hook.c (log_gcpro): (show_gcprohist): Add support for GCPRO5. 2000-11-08 Stephen J. Turnbull <stephen@xemacs.org> * emacs.c (main_1): Improve -sd error message when --pdump=no. 2000-11-16 Olivier Galibert <galibert@xemacs.org> * symeval.h: Declare flush_all_buffer_local_cache. * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs. (flush_buffer_local_cache): Added. (flush_all_buffer_local_cache): Added. * lrecord.h: Remove unused XD_LO_RESET_NIL. * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL. (pdump_dump_data): Ditto. (pdump_reloc_one): Ditto. (pdump): Remove unused pdump_qnil. Flush buffer local caches before dumping. 2000-11-14 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.c: Remove if 0'ed entry. * buffer.h: Rewrite TRT to use char-table. * bufslots.h: Remove mirror tables. * casetab.c: Remove mirror tables. (CASE_TABLE_P): New macro. (Fcase_table_p): Element of a case table is string or char-table. (make_mirror_trt_table): Removed. (set_case_table): Setup char-table from strings for backward compatibility. * dired.c (Fdirectory_files): * dired-msw.c: (mswindows_get_files): * lisp.h: Change prototype of re_pattern_buffer. * regex.c: (RE_TRANSLATE): New macro. (TRANSLATE_P): Ditto. Change translate to type RE_TRANSLATE_TYPE. * regex.h: Define RE_TRANSLATE_TYPE * search.c (TRANSLATE): New macro. (TRANSLATE_ASCII): New macro. Translate table is changed to Lisp_Object. (signal_failure): Inhibit return. 2000-11-14 Yoshiki Hayashi <yoshiki@xemacs.org> * device-msw.c: * eldap.c: * event-Xt.c: * event-stream.c: * print.c: Do UNGCPRO before return. 2000-11-14 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.37 is released. 2000-11-13 Yoshiki Hayashi <yoshiki@xemacs.org> * fileio.c (Finsert_file_contents_internal): UNGCPRO before return. Add comments about discarded return value. 2000-11-09 Yoshiki Hayashi <yoshiki@xemacs.org> * callint.c: * event-stream.c: Fix comments. Remove some #if 0'ed part. 2000-10-27 Andy Piper <andy@xemacs.org> * gutter.c (Fset_default_gutter_position): default left and right gutters to visible. (calculate_gutter_size): calculate resonable heuristic for left and right gutter sizes. (specifier_vars_of_gutter): change left and right gutter sizes to autodetect. (calculate_gutter_size_from_display_lines): new function. (output_gutter): check for resizing on left and right gutters. (clear_gutter): don't special case top and left gutters. (specifier_vars_of_gutter): use new signature for set_specifier_caching. * glyphs-x.c (x_redisplay_widget): spelling fix. * glyphs.c (specifier_vars_of_glyphs): * menubar.c (specifier_vars_of_menubar): * redisplay.c (specifier_vars_of_redisplay): * toolbar.c (specifier_vars_of_toolbar): * window.c (specifier_vars_of_window): * scrollbar.c (specifier_vars_of_scrollbar): (complex_vars_of_scrollbar): use new signature for set_specifier_caching. * specifier.c (set_specifier_caching): include recompute flag. (recompute_one_cached_specifier_in_window): always recompute if flag set. (recompute_one_cached_specifier_in_frame): ditto. * specifier.h (struct specifier_caching): add recompute flag. 2000-10-24 Andy Piper <andy@xemacs.org> * unexcw.c (copy_executable_and_dump_data_section): add new BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb 5.0 happy. 2000-11-06 Yoshiki Hayashi <yoshiki@xemacs.org> * console-x.h (x_device): New member modifier_release_time. * event-Xt.c (x_handle_sticky_modifiers): Bound interval modifier keys are sticky. * event-stream.c (Vmodifier_keys_sticky_time): New variable. * events.h: extern it. 2000-11-06 Yoshiki Hayashi <yoshiki@xemacs.org> * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue. 2000-11-06 Yoshiki Hayashi <yoshiki@xemacs.org> * event-stream.c (execute_command_event): Preserve current_events and the like when event is misc-user-event. Inhibit quit during the call to maybe_echo_keys. 2000-10-31 Yoshiki Hayashi <yoshiki@xemacs.org> * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a symlink when buffer is killed. (inhibit_clash_detection): New variable. 2000-10-30 Yoshiki Hayashi <yoshiki@xemacs.org> * console.c (Fset_input_method): Trigger redisplay on tty. 2000-11-07 Martin Buchholz <martin@xemacs.org> * process.c (Fprocess_status): Revert to previous behavior: (process-status "nosuchprocess") ==> nil 2000-11-06 Martin Buchholz <martin@xemacs.org> * mule-charset.h (CHARSET_BY_LEADING_BYTE): Work around another GCC 2.95.2 optimizer bug. 2000-11-02 Martin Buchholz <martin@xemacs.org> * process.c (Fget_process): Use LIST_LOOP_2. (kill_buffer_processes): Use LIST_LOOP_2. * minibuf.c (Fall_completions): Delete old non-functional code for FSF fourth argument. * frame.c (frame_matches_frame_spec): Renamed from `frame_matches_frametype'. Update all callers. (device_matches_device_spec): Renamed from 'device_matches_console_spec'. Update all callers. * doc.c (Fsubstitute_command_keys): Remove buffer overflow crash. Small code cleanups. * casetab.c (check_case_table): Simpler code. * window.c (Freplace_buffer_in_windows): Give this the same WHICH-FRAMES and WHICH-DEVICES parameters (and similar implementation) as Fdelete_windows_on. Update all callers. * alloc.c (Fmake_list): * alloc.c (make_vector): * alloc.c (Fmake_vector): * alloc.c (make_bit_vector): * alloc.c (Fmake_bit_vector): * alloc.c (Fbit_vector): * alloc.c (Fmake_string): * alloc.c (Fpurecopy): * alloc.c (Fmemory_limit): * buffer.c: * buffer.c (Fget_buffer): * buffer.c (Fkill_buffer): * buffer.c (complex_vars_of_buffer): * bytecode.c (Fcompiled_function_stack_depth): * callint.c (Fprefix_numeric_value): * event-stream.c: * event-stream.c (Fread_key_sequence): * casetab.c: * casetab.c (Fcase_table_p): * casetab.c (check_case_table): * casetab.c (Fset_case_table): * casetab.c (Fset_standard_case_table): * chartab.c: * chartab.c (Fchar_table_type): * chartab.c (Freset_char_table): * chartab.c (Fget_char_table): * chartab.c (Fget_range_char_table): * chartab.c (Fput_char_table): * chartab.c (Fmap_char_table): * chartab.c (Fcategory_table_p): * chartab.c (Fcheck_category_at): * chartab.c (Fchar_in_category_p): * chartab.c (Fcategory_table): * chartab.c (Fcopy_category_table): * chartab.c (Fset_category_table): * chartab.c (Fcategory_designator_p): * chartab.c (Fcategory_table_value_p): * cmds.c (Fdelete_char): * cmds.c (Fdelete_backward_char): * cmds.c (Fself_insert_command): * cmds.c (Fself_insert_internal): * console.c (Fvalid_console_type_p): * console.c (Fcdfw_console): * console.c (Fconsole_type): * console.c (Fconsole_name): * console.c (Fconsole_device_list): * console.c (Fconsole_on_window_system_p): * data.c: * data.c (Feq): * data.c (Fold_eq): * data.c (Fsubr_interactive): * data.c (Fchar_to_int): * data.c (Fint_to_char): * data.c (Fsetcar): * data.c (Fsetcdr): * data.c (Fnumber_to_string): * data.c (Fstring_to_number): * data.c (Frem): * database.c (mark_database): * database.c (finalize_database): * database.c (Fdatabase_live_p): * database.c (Fdatabasep): * device-x.c (Fx_get_resource): * device.c (Fdfw_device): * dired.c: * dired.c (Ffile_name_completion): * dired.c (Ffile_name_all_completions): * dired.c (Fuser_name_completion): * dired.c (Fuser_name_completion_1): * dired.c (Fuser_name_all_completions): * doc.c (Fdocumentation): * doc.c (Fdocumentation_property): * doc.c (Fsubstitute_command_keys): * editfns.c: * editfns.c (Fchar_to_string): * editfns.c (Fstring_to_char): * editfns.c (Ftemp_directory): * editfns.c (Finsert_char): * editfns.c (Fbuffer_substring_no_properties): * editfns.c (Fnarrow_to_region): * editfns.c (Fchar_equal): * editfns.c (Fchar_Equal): * editfns.c (Ftranspose_regions): * emacs.c (Fdump_emacs): * eval.c (Fthrow): * eval.c (Fcommand_execute): * eval.c (Fautoload): * eval.c (Fbacktrace): * eval.c (Fbacktrace_frame): * events.c: * events.c (Fcopy_event): * events.c (Fcharacter_to_event): * events.c (Fevent_button): * events.c (Fevent_process): * extents.c: * extents.c (Fnext_extent_change): * extents.c (Fextent_property): * faces.c (Ffacep): * faces.c (Fmake_face): * file-coding.c: * file-coding.c (Fencode_shift_jis_char): * file-coding.c (Fencode_big5_char): * fileio.c (Ffile_name_directory): * fileio.c (Ffile_name_nondirectory): * fileio.c (Ffile_name_as_directory): * fileio.c (Fdirectory_file_name): * fileio.c (Ffile_truename): * fileio.c (Fsubstitute_in_file_name): * fileio.c (Ffile_modes): * fileio.c (Fset_file_modes): * fileio.c (Fset_default_file_modes): * fileio.c (Fverify_visited_file_modtime): * floatfns.c (Facos): * floatfns.c (Fasin): * floatfns.c (Fatan): * floatfns.c (Fcos): * floatfns.c (Fsin): * floatfns.c (Ftan): * floatfns.c (Fbessel_j0): * floatfns.c (Fbessel_j1): * floatfns.c (Fbessel_jn): * floatfns.c (Fbessel_y0): * floatfns.c (Fbessel_y1): * floatfns.c (Fbessel_yn): * floatfns.c (Ferf): * floatfns.c (Ferfc): * floatfns.c (Flog_gamma): * floatfns.c (Fexp): * floatfns.c (Fexpt): * floatfns.c (Flog): * floatfns.c (Flog10): * floatfns.c (Fsqrt): * floatfns.c (Fcube_root): * floatfns.c (Facosh): * floatfns.c (Fasinh): * floatfns.c (Fatanh): * floatfns.c (Fcosh): * floatfns.c (Fsinh): * floatfns.c (Ftanh): * floatfns.c (Fabs): * floatfns.c (Ffloat): * floatfns.c (Flogb): * floatfns.c (Fceiling): * floatfns.c (Ffloor): * floatfns.c (Fround): * floatfns.c (Ftruncate): * floatfns.c (Ffceiling): * floatfns.c (Fffloor): * floatfns.c (Ffround): * floatfns.c (Fftruncate): * fns.c (Fstring_equal): * fns.c (Fstring_lessp): * fns.c (concat2): * fns.c (concat3): * fns.c (vconcat2): * fns.c (vconcat3): * fns.c (Fsubstring): * fns.c (Fassoc): * fns.c (Fold_assoc): * fns.c (assoc_no_quit): * fns.c (Fassq): * fns.c (Fold_assq): * fns.c (assq_no_quit): * fns.c (Frassoc): * fns.c (Fold_rassoc): * fns.c (Frassq): * fns.c (Fold_rassq): * fns.c (rassq_no_quit): * fns.c (Fremassoc): * fns.c (remassoc_no_quit): * fns.c (Fremassq): * fns.c (remassq_no_quit): * fns.c (Fremrassoc): * fns.c (Fremrassq): * fns.c (remrassq_no_quit): * fns.c (Fsort): * fns.c (Fplist_get): * fns.c (Fplist_put): * fns.c (Fplist_remprop): * fns.c (Fplist_member): * fns.c (Flax_plist_get): * fns.c (Flax_plist_put): * fns.c (Flax_plist_remprop): * fns.c (Flax_plist_member): * fns.c (Fequal): * fns.c (Fold_equal): * fns.c (Frequire): * fns.c (Fbase64_encode_region): * fns.c (Fbase64_encode_string): * fns.c (Fbase64_decode_region): * frame.c: * frame.c (frame_matches_frame_spec): * frame.c (device_matches_device_spec): * frame.c (next_frame): * frame.c (previous_frame): * frame.c (Fnext_frame): * frame.c (Fprevious_frame): * frame.c (Fframe_property): * frame.c (Fset_frame_height): * frame.c (Fset_frame_size): * frame.h: * glyphs.c: * glyphs.c (if): * glyphs.c (decode_error_behavior_flag): * glyphs.c (Fmake_image_instance): * indent.c (Findent_to): * intl.c (Fignore_defer_gettext): * keymap.c (Fkeymapp): * keymap.c (Flookup_key): * lread.c: * lread.c (Fload_internal): * lread.c (Feval_buffer): * lread.c (Feval_region): * macros.c (Fexecute_kbd_macro): * marker.c (set_marker_internal): * marker.c (Fset_marker): * marker.c (set_marker_restricted): * marker.c (Fcopy_marker): * marker.c (noseeum_copy_marker): * menubar.c: * menubar.c (Fpopup_menu): * minibuf.c: * mule-charset.c (Fcharset_name): * mule-charset.c (Fchar_charset): * mule-charset.c (Fchar_octet): * mule-charset.c (Fsplit_char): * mule-wnnfns.c (Fwnn_open): * mule-wnnfns.c (Fwnn_dict_comment): * mule-wnnfns.c (Fwnn_quit_henkan): * mule-wnnfns.c (Fwnn_word_toroku): * mule-wnnfns.c (Fwnn_word_sakujo): * mule-wnnfns.c (Fwnn_word_use): * mule-wnnfns.c (Fwnn_hindo_set): * objects.c: * objects.c (Fmake_color_instance): * objects.c (Fmake_font_instance): * print.c (Fwrite_char): * process.c: * process.c (mark_process): * process.c (print_process): * process.c (get_process_from_usid): * process.c (Fprocessp): * process.c (Fprocess_live_p): * process.c (Fget_process): * process.c (Fget_buffer_process): * process.c (get_process): * process.c (Fprocess_id): * process.c (Fprocess_name): * process.c (Fprocess_command): * process.c (init_process_io_handles): * process.c (start_process_unwind): * process.c (Fstart_process_internal): * process.c (Fopen_multicast_group_internal): * process.c (Fset_process_window_size): * process.c (read_process_output): * process.c (send_process): * process.c (Fprocess_tty_name): * process.c (Fset_process_buffer): * process.c (Fprocess_buffer): * process.c (Fprocess_mark): * process.c (set_process_filter): * process.c (Fset_process_filter): * process.c (Fprocess_filter): * process.c (Fprocess_send_region): * process.c (Fprocess_send_string): * process.c (exec_sentinel): * process.c (Fset_process_sentinel): * process.c (Fprocess_sentinel): * process.c (status_notify): * process.c (Fprocess_status): * process.c (Fprocess_exit_status): * process.c (process_send_signal): * process.c (Fprocess_send_eof): * process.c (deactivate_process): * process.c (remove_process): * process.c (Fdelete_process): * process.c (kill_buffer_processes): * process.c (Fprocess_kill_without_query): * process.c (Fprocess_kill_without_query_p): * rangetab.c: * rangetab.c (Fget_range_table): * rangetab.c (Fput_range_table): * rangetab.c (Fremove_range_table): * rangetab.c (Fclear_range_table): * search.c: * search.c (Fskip_chars_forward): * search.c (Fskip_chars_backward): * search.c (Fskip_syntax_forward): * search.c (Fskip_syntax_backward): * search.c (search_command): * search.c (Freplace_match): * search.c (Fregexp_quote): * select.c (Fown_selection_internal): * select.c (Fselection_owner_p): * select.c (Fselection_exists_p): * select.c (Fget_selection_internal): * specifier.c: * symbols.c: * symbols.c (Fintern): * symbols.c (Fintern_soft): * symbols.c (Funintern): * symbols.c (Fapropos_internal): * symbols.c (Fset_default): * syntax.c: * syntax.c (Fsyntax_table_p): * syntax.c (Fcopy_syntax_table): * syntax.c (Fset_syntax_table): * syntax.c (Fchar_syntax): * syntax.c (syntax_match): * syntax.c (Fmatching_paren): * syntax.c (Fforward_word): * syntax.c (scan_lists): * syntax.c (Fscan_lists): * syntax.c (Fscan_sexps): * syntax.c (Fparse_partial_sexp): * toolbar.c (Fcheck_toolbar_button_syntax): * tooltalk.doc: * window.c: * window.c (Fwindowp): * window.c (Fwindow_live_p): * window.c (Fwindow_point): * window.c (Fdelete_window): * window.c (Fnext_window): * window.c (Fprevious_window): * window.c (Fother_window): * window.c (window_loop): * window.c (Fget_lru_window): * window.c (Fsplit_window): * window.c (Fenlarge_window): * window.c (Fenlarge_window_pixels): * window.c (Fshrink_window): * window.c (Fshrink_window_pixels): * window.c (change_window_height): * window.c (Fwindow_configuration_p): * window.c (Fcurrent_window_configuration): * window.h: * casefiddle.c (casify_object): * casefiddle.c (Fupcase): * casefiddle.c (Fdowncase): * casefiddle.c (Fcapitalize): * casefiddle.c (Fupcase_initials): * casefiddle.c (casify_region_internal): * casefiddle.c (casify_region): * casefiddle.c (Fupcase_region): * casefiddle.c (Fdowncase_region): * casefiddle.c (Fcapitalize_region): * casefiddle.c (Fupcase_initials_region): * casefiddle.c (Fupcase_word): * casefiddle.c (Fdowncase_word): * casefiddle.c (Fcapitalize_word): Docstring arglist/Texinfo fixes. See man/ChangeLog for details. Replace 0 with '\0' when working with bytes. Replace initial "(" with "\(" in docstrings. 2000-11-01 Martin Buchholz <martin@xemacs.org> * config.h.in: Handle alloca with Compaq C on Alpha Linux. * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux. 2000-10-31 Martin Buchholz <martin@xemacs.org> * eldap.c (print_ldap): 64-bit cleaner. Fixes warning. 2000-10-30 Yoshiki Hayashi <yoshiki@xemacs.org> * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10) correctly. 2000-10-30 Yoshiki Hayashi <yoshiki@xemacs.org> * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el. (inhibit_auto_save_session): New variable. (vars_of_fileio): Declare and initialize them. * fileio.c (Fdo_auto_save): Don't create session file if Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil. 2000-10-31 Martin Buchholz <martin@xemacs.org> * sgiplay.c (play_internal): C++ compilability. * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'. * callproc.c (Fold_call_process_internal): Remove unused vars `env', `first'. * scrollbar.c (update_scrollbar_instance): #### unused var `current_window'. * redisplay-tty.c: Put currently unused vars insert_mode_on, etc. within #ifdef NOT_YET. * emacs.c: #### unused vars `initial_argc', `initial_argv'. * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'. * specifier.c (specifier_instance): #### unused var `tag'. Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion. 2000-10-27 Martin Buchholz <martin@xemacs.org> * fns.c (Fbutlast): * fns.c (list_sort): * fns.c (Ffillarray): * fns.c (bytecode_nconc2): * fns.c (Fnconc): * fns.c (mapcar1): * fns.c (Fmapconcat): Be pedantically 64-bit correct. For the time when someone will want to have a list with length > 2**32. * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6): Work around MIPSpro compiler bug. * process-unix.c (unix_kill_child_process): Add snarky comment. * process-unix.c (try_to_initialize_subtty): Oops, `=' ==> `==' * config.h.in: Oops, _getpt ==> _getpty 2000-10-26 Martin Buchholz <martin@xemacs.org> * config.h.in: * regex.c: Use void*, not char*, as return type of alloca(). * alloc.c (free_marker): Side effect inside assert expression! 2000-10-16 MIYASHITA Hisashi <himi@m17n.org> * mule-charset.c (Fset_charset_ccl_program): To check if the given ccl program is valid, use setup_ccl_program() instead of CHECK_VECTOR(). (Fmake_charset): Likewise. 2000-10-20 Golubev I. N. <gin@mo.msk.ru> * faces.c (get_extent_fragment_face_cache_index): Fix cachel.merged_faces memory leak. 2000-10-14 MIYASHITA Hisashi <himi@m17n.org> * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>: Reset MSB of octets obtained by DECODE_SJIS because of the incompatibility with Emacs. (ccl_driver)<CCL_ENCODE_SJIS>: Set MSB of octets before passing them to ENCODE_SJIS because of the incompatibility with Emacs. 2000-10-18 Daiki Ueno <ueno@unixuser.org> * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish. (DECLARE_LRECORD): Undo the last change. (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff. 2000-10-17 Daiki Ueno <ueno@unixuser.org> * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect the implementation to lrecord_implementations_table. 2000-10-14 Daiki Ueno <ueno@unixuser.org> * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the initial value of `lrecord_type_##c_name' and `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier. (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro. [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro. [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it. [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it. 2000-10-17 Martin Buchholz <martin@xemacs.org> * miscplay.c (sndcnv8S_2mono): (sndcnv2monounsigned): (sndcnvULaw_2linear): (sndcnv16swap): Remove implementation-defined behavior. 2000-10-12 Martin Buchholz <martin@xemacs.org> * input-method-xlib.c: Warning suppression. 2000-10-05 MIYASHITA Hisashi <himi@m17n.org> * mule-ccl.c: Sync up with Emacs 21.0.90. (ccl_driver)<CCL_TranslateCharacter>: Disabled. Do nothing. (ccl_driver)<CCL_TranslateCharacterConstTbl>: Likewise. (ccl_driver[WriteMultibyteChar2]): Bug fix. Use MAX_LEADING_BYTE_OFFICIAL_2 instead of MIN_LEADING_BYTE_OFFICIAL_2 to check whether the leading char belongs to official 2-dimensional charset. (CCL_WRITE_CHAR): When CCL_MODE_ENCODING, write the given character as is. Otherwise, if it is a multibyte char, convert it by non_ascii_set_charptr_emchar, then write it. (CCL_WRITE_STRING): Likewise. (ccl_get_compiled_code): New function. (setup_ccl_program): When ccl_prog is invalid, return -1. (Fregister_code_conversion_map): New function. (syms_of_mule_ccl): defsubr Fregister_code_conversion_map. * mule-ccl.h: Sync up with Emacs 21.0.90. (Fregister_ccl_program): export it. * redisplay-msw.c (separate_textual_runs): If ccl program is not valid, don't do ccl conversion. * redisplay-x.c (separate_textual_runs): Ditto. * file-coding.c (Fmake_coding_system): When type is ccl and value is vector, register it with a proper symbol. And checks whether the given ccl program is valid. (mule_decode): When calling ccl_driver, if src indicates NULL pointer, set an empty string instead. (mule_encode): Likewise. 2000-10-11 Martin Buchholz <martin@xemacs.org> The following large batch of changes gets us back to a state of C++ compilability. Extbyte is now a char, which means that Extbyte * and Bufbyte * cannot be freely interchanged - a win! * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness. * sound.c (Fplay_sound): Type correctness. * select-x.c (hack_motif_clipboard_selection): Type correctness. (x_get_window_property): Type correctness. (receive_incremental_selection): unsigned char ==> Extbyte (selection_data_to_lisp_data): unsigned char ==> Extbyte (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte (Fx_store_cutbuffer_internal): Type correctness. * process-unix.c (try_to_initialize_subtty): Type correctness. * objects-x.c (x_print_color_instance): Type correctness. (x_print_font_instance): Type correctness. (x_list_fonts): SExtbyte ==> Extbyte. (valid_x_font_name_p): SExtbyte ==> Extbyte. (x_find_charset_font): SExtbyte ==> Extbyte. Use TO_INTERNAL_FORMAT. build_string ==> make_string. (truename_via_XListFonts): SExtbyte ==> Extbyte. (x_font_instance_properties): Use TO_INTERNAL_FORMAT. Use bufbyte_strcmp. * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast. (BYTE_ASCII_P): Use bit ops for char-signedness safety. (BYTE_C0_P): Use bit ops for char-signedness safety. (BYTE_C1_P): Use bit ops for char-signedness safety. (CHARSET_BY_LEADING_BYTE): (CHARSET_BY_ATTRIBUTES): Always use inline function. Use type_checking_assert. Hide chlook. * mule-charset.c (non_ascii_charptr_copy_char): Modify to work with both ASCII and non-ASCII characters. Improve docs and variable names. Replace over-clever fall-through switch with a simple loop. (Lstream_get_emchar_1): Replace over-clever fall-through switch with a simple loop. * menubar-x.c (menu_item_descriptor_to_widget_value_1): Warning suppression. * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on the return value of Lstream_getc, which could be EOF as well. * lstream.c (Lstream_raw_read): Now returns ssize_t, not int. * lisp.h: Make Extbyte a char, not unsigned char, so that external APIs can be used on Extbytes without casts. Risky! (SExtbyte): Remove. (UExtbyte): Remove. * input-method-xlib.c (XIM_init_device): Use Xlib.h instead of IntrinsicP.h. Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6, which will break in X11R7. Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE, to call XRegisterIMInstantiateCallback with correct types. * gui-x.c (button_item_to_widget_value): Type correctness. * glyphs.c (bitmap_to_lisp_data): Type correctness. * glyphs-x.c (pixmap_from_xbm_inline): Type correctness. (xbm_instantiate_1): Type correctness. (BUILD_GLYPH_INST): Type correctness. * fileio.c (Fsubstitute_in_file_name): Type correctness. * file-coding.c: (decode_coding_sjis): (decode_coding_big5): (decode_coding_ucs4): (decode_coding_utf8): (decode_coding_iso2022): (decode_coding_no_conversion): Make all decoding functions take an Extbyte * arg. (encode_coding_sjis): (encode_coding_big5): (encode_coding_ucs4): (encode_coding_utf8): (encode_coding_iso2022): (encode_coding_no_conversion): Make all encoding functions take a Bufbyte * arg. Use size_t instead of unsigned int for memory sizes. Only cast to unsigned char whenever dereferencing Extbyte *. * doc.c (unparesseuxify_doc_string): Type correctness. * console-x.c (split_up_display_spec): Rewrite without using details of internal string representation. (x_semi_canonicalize_device_connection): Type correctness. * config.h.in: (HAVE_XREGISTERIMINSTANTIATECALLBACK): New. (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New. (HAVE_XFREE386): Removed. * buffer.h (DEC_CHARPTR): `const' correctness. (bufbyte_strcmp): New. (bufbyte_memcmp): New. * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte * buffer.h (XCHAR_OR_CHAR_INT): Always use inline function. Remove redundant type checking assert() - XINT will abort quite nicely. 2000-10-03 Yoshiki Hayashi <yoshiki@xemacs.org> * search.c (Freplace_match): Set newtext to an empty string. 2000-10-10 Martin Buchholz <martin@xemacs.org> * s/decosf1-3.h: Remove #include of stropts.h * s/ptx.h: Remove #include of stropts.h * s/usg5-4.h: Remove #include of stropts.h * sysproc.h: * config.h.in: Use stropts.h, not sys/stropts.h. Use strtio.h, not sys/strtio.h. 2000-10-04 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.36 is released. 2000-09-21 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_redisplay_widget): make sure non-structural changes still involve copying the widget tree. (update_widget_face): make sure a change is register in the widget tree. Call update_tab_widget_face appropriately. (update_tab_widget_face): ditto. (x_tab_control_redisplay): make sure non-structural changes still involve copying the widget tree. 2000-08-31 Daiki Ueno <ueno@unixuser.org> * lread.c (locate_file): Check the path element is non-nil. 2000-10-02 Martin Buchholz <martin@xemacs.org> * lisp.h: Warning suppression for SCO compilers. * redisplay-tty.c (reset_tty_modes): Fix crash. E.g. from xemacs running on X: (delete-device (make-device 'tty nil)) 2000-09-27 Martin Buchholz <martin@xemacs.org> Big signal/process handling overhaul. Bugs fixed: M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and M-x comint-kill-subjob should work for both values nil and t of process-connection-type. It was broken on most platforms. Testing on Irix and Cygwin still needed. Other plaforms tested. * sysdep.c: Move #include of stropts.h into sysproc.h. Use pid_t. * process-unix.c: Signal/Process handling overhaul. (pty_name): make 64 bytes, as `expect' does, for paranoia. (allocate_pty): Use all available modern methods of allocating ptys, falling back to old style BSD allocation as a last resort. Use allegedly more secure Unix98 pty allocation by default. (allocate_pty_the_old_fashioned_way): New. the last resort. (unix_create_process): Push ptem, ldterm, ttcompat where available. Autoconfiscate. (try_to_initialize_subtty): New. (unix_kill_child_process): Proper signal handling for ptys on most platforms, using special knowledge of AIX, BSD, etc... (unix_create_process): Always disconnect_controlling_terminal() for subprocesses, whether using ptys or not. * process.h: Remove old getpt-dependent PTY code. * process.c (Fprocess_send_signal): New, obvious generic function. (decode_signal): New. (Finterrupt_process): (Fkill_process): (Fquit_process): (Fstop_process): (Fcontinue_process): (Fsignal_process): Use decode_signal. (process_send_signal): Many docstring corrections. Allow any signal to be sent to a process object. * config.h.in: Add symbols for big signal/process overhaul. * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'. * sysproc.h: Include process-related headers, where available: sys/stropts.h sys/strtio.h pty.h libutil.h * s/irix4-0.h: * s/irix5-0.h: * s/cygwin32.h: * s/gnu.h: * s/linux.h: * s/hpux.h: * s/aix3-1.h: Remove old S&M pty stuff. * console-tty.c (tty_init_console): Use pid_t, not int, for pids. * systty.h: Simplify cpp hackery, improve comments. Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp(). * editfns.c (Fformat_time_string): Be a little more paranoid with the return value of ctime. * fileio.c (check_executable): (check_writable): Use symbolic constants X_OK, W_OK. * console-x.c (split_up_display_spec): Fix a warning. 2000-10-02 Martin Buchholz <martin@xemacs.org> * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH * ntproc.c (sys_spawnve): make_string ==> build_string Small clarity improvements. 2000-09-30 Martin Buchholz <martin@xemacs.org> * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal. * s/windowsnt.h (HAVE_STRCASECMP): Remove. * config.h.in (HAVE_STRCASECMP): Remove. 2000-09-29 Martin Buchholz <martin@xemacs.org> * redisplay-output.c (redisplay_output_pixmap): Cleaner and possibly more 64-bit correct code. 2000-09-28 Stephen J. Turnbull <stephen@xemacs.org> * dumper.c (pdump_load_finish): move restoration of `noninteractive1' to emacs.c (main_1). * emacs.c (main_1): protect LISP-visible command-line flags from pdump_load(). 2000-09-26 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in (versionclean): Use EXE_TARGET and DUMP_TARGET instead of literal program names. 2000-09-20 Martin Buchholz <martin@xemacs.org> * Makefile.in.in: Recent purify's require absolute paths for cache-dir. 2000-09-19 Martin Buchholz <martin@xemacs.org> * *: Spelling mega-patch 2000-09-19 Martin Buchholz <martin@xemacs.org> * fns.c (bad_bad_turtle): Delete "Eek!" comment, since we fixed the bug to which it refers. 2000-09-16 Martin Buchholz <martin@xemacs.org> * alloca.c: Replace REGISTER with register. 2000-09-16 Daiki Ueno <ueno@unixuser.org> * file-coding.c (ucs_to_char): Use countof. 2000-09-16 Martin Buchholz <martin@xemacs.org> * file-coding.c: (ucs_to_char): (complex_vars_of_file_coding): Use countof instead of sizeof. Use CHECK_NATNUM instead of CHECK_INT. * sysdep.c (strcasecmp): Remove. * device-x.c (ascii_strcasecmp): New. * device-x.c (Fx_get_resource): Use ascii_strcasecmp. Avoid using non-standard non-portable strcasecmp. 2000-09-16 Martin Buchholz <martin@xemacs.org> * Makefile.in.in (mostlyclean): remove reference to prefix-args. * font-lock.c: remove reference to emacsfns.h. * search.c: small doc improvement. * event-Xt.c: correct file names in comments. * console-x.h Correct file names in comments. * frame.c: Correct file names in comments. * event-stream.c: remove Energize from comments. 2000-09-15 Martin Buchholz <martin@xemacs.org> * symeval.h (DEFERROR_STANDARD): (DEFERROR): (DEFSYMBOL): (DEFSYMBOL_NO_DUMP): (DEFSYMBOL_MULTIWORD_PREDICATE): (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP): (DEFKEYWORD): The construct &##name is not sensible C. Fixes compilation errors with Unixware native compiler. 2000-09-14 Martin Buchholz <martin@xemacs.org> * frame.c (device_matches_console_spec): no longer takes a `frame' arg (next_frame_internal): Removed. We now just have next_frame. (next_frame): Write a simpler and cleaner one-pass algorithm. Remove called_from_delete_device arg and #ifdefed-out code. (previous_frame): Renamed from prev_frame. Update callers. Cleaned up to have an analogous implementation to next_frame. (other_visible_frames_internal): Remove the called_from_delete_device bogus arg, and hence, remove this function. Just use other_visible_frames(). * window.c (Fnext_window): Prettify docstring. Since next_frame() is guaranteed to return a frame, remove check for nil inserted in previous patch. (Fprevious_window): Prettify docstring. Make code look more like Fnext_window. (window_loop): Respect the `console' arg when iterating through windows. Fixes bug: (get-buffer-window buffer t device) not respecting the `device' arg. This function needs more work, as others have pointed out. * frame.h: Rename prev_frame to previous_frame. device_matches_console_spec no longer takes a `frame' arg. * s/gnu.h: * s/linux.h: * s/hpux.h: Use EMACS_BLOCK_SIGNAL instead of sigblock. From "Golubev I. N." <gin@mo.msk.ru>. * make-src-depend: Fix typo. 2000-09-13 Martin Buchholz <martin@xemacs.org> * window.c (Fnext_window): next_frame() might return nil, not a frame. Fixes this crash: (gdb) run -eval '(progn (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))' * frame.c (next_frame_internal): We've passed a frame if we've passed its device. Fixes this crash: (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))' Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame) 2000-09-11 Jonathan Harris <jhar@tardis.ed.ac.uk> * menubar-msw.c (mswindows_translate_menu_or_dialog_item): Allow option to suppress accelerators in menu/dialog items. (populate_or_checksum_helper): Pass dialog title through above. 2000-09-10 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c (mswindows_key_to_emacs_keysym): Add "pause" key, fix "menu" key. 2000-09-09 Martin Buchholz <martin@xemacs.org> * eval.c (reinit_vars_of_eval): Increase max_lisp_eval_depth to 1000, required for thai-xtis.el to byte-compile under some circumstances. 2000-09-04 Martin Buchholz <martin@xemacs.org> * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513. From Kenichi Handa. 2000-09-01 Martin Buchholz <martin@xemacs.org> * make-src-depend: Make the generated Makefiles smaller. * s/hpux.h (SETUP_SLAVE_PTY): Provide a %d in the format string for the errno argument. * editfns.c (Ftemp_directory): Warning fix. Avoid buffer overrun on very long file name. * input-method-xlib.c (XIM_init_device): 6th parameter of XRegisterIMInstantiateCallback has different pointer types on different OSes, so simply cast to (void *). * unexhp9k800.c: Warning fixes. Fiddly changes. * sysdll.c (dll_open): shl_load will hang hard if passed a NULL filename. Simply return NULL for compatibility with dlopen. * sysdll.c: Conform to XEmacs coding standards. * sysdep.c (get_pty_max_bytes): Support pty input lines longer than 512 bytes on HP-UX 10.20. 2000-08-31 Martin Buchholz <martin@xemacs.org> * tooltalk.c: Add #include <syssignal.h> 2000-08-12 Alexandre Oliva <aoliva@redhat.com> * s/hpux.h: Don't use undefined function sigunblock(). 2000-08-31 Martin Buchholz <martin@xemacs.org> * config.h.in: Add HAVE_BALLOON_HELP. * emacs.c: Use HAVE_BALLOON_HELP. * Makefile.in.in (x_objs): Make Balloon Help conditional on finding shape.h. 2000-08-23 Yoshiki Hayashi <yoshiki@xemacs.org> * syntax.c (regex_emacs_buffer_p): New variable. * syntax.h (regex_emacs_buffer_p): extern. * search.c (looking_at_1): (string_match_1): (fast_string_match): (search_buffer): Set regex_emacs_buffer_p. * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p when before_dot, at_dot, after_dot. 2000-08-23 Andy Piper <andy@xemacs.org> * gui-x.c (popup_selection_callback): Only set action_occurred when we really have an image instance. * gui-msw.c (mswindows_handle_gui_wm_command): ditto. 2000-08-23 Andy Piper <andy@xemacs.org> * gui-msw.c (mswindows_handle_gui_wm_command): set action_occurred. * gui-x.c (popup_selection_callback): ditto. * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor. (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto. (struct Lisp_Image_Instance): add action_occurred flag. * glyphs.c (redisplay_subwindow): use action_occurred flag. (image_instance_changed): ditto. (reset_frame_subwindow_instance_cache): only unmap windows - do not remove them from the cache also. * glyphs-widget.c (tab_control_update): better debug. (progress_gauge_update): ditto. (layout_update): ditto. (layout_instantiate): ditto. (tab_control_order_only_changed): cope with null pending items. * glyphs-msw.c (mswindows_tab_control_redisplay): add better debug. Force selection of an item when an action occurred. Cope with null pending_items. (mswindows_progress_gauge_redisplay): better debug. * glyphs-x.c (x_tab_control_redisplay): ditto. * redisplay.c (redisplay_frame): reset the frame cache if the frame is garbaged. * window.c (Fset_window_configuration): potentially re-enable frame cache reset. (window_unmap_subwindows): need to finalize instances here since it is only used in mark_window_as_deleted. 2000-08-22 Stephen J. Turnbull <stephen@xemacs.org> * nas.c (SndOpenDataForReading): nas.c (WaveOpenDataForReading): nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN. Somehow escaped from the 2000-08-14 patch. 2000-08-14 Stephen J. Turnbull <stephen@xemacs.org> * nas.c: Preprocessor trickery to use NAS_LITTLE_ENDIAN instead of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5. 2000-08-21 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_map_subwindow): Minor optimization - only map the window if it is not already displayed. * glyphs-msw.c (mswindows_map_subwindow): only map the window if it is not already displayed. * window.c (Fset_window_configuration): don't reset the frame cache. * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove instances from the frame cache if we are actually finalizing them. (reset_frame_subwindow_instance_cache): reset frame cache only after unmapping everything. (map_subwindow): set displayed flag after mapping. 2000-08-21 Martin Buchholz <martin@xemacs.org> * data.c (indirect_function): Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP. * eval.c (function_argcount): Use original function when signaling errors. 2000-08-18 Andy Piper <andy@xemacs.org> * frame.c (delete_frame_internal): use new free_frame_subwindow_instances name. * glyphs-msw.c (mswindows_tab_control_instantiate): verify index. (add_tab_item): make return type correct. (mswindows_tab_control_instantiate): assert index of tab. (mswindows_tab_control_redisplay): Re-code to use gui_item_equal_sans_selected and gui_item_list_find_selected. * glyphs-widget.c (tab_control_update): Correct comment. * window.c (window_unmap_subwindows): use new unmap_subwindow_instance_cache_mapper. (window_unmap_subwindows_cache_mapper): deleted. (Fset_window_configuration): comparisons should now be with EQ. Preserve the subwindow instance cache across configuration changes. (allocate_window): ditto. (make_dummy_parent): ditto. * glyphs.c (free_frame_subwindow_instances): rename from free_frame_subwindow_instance_cache. finalize all instances rather than just those in the display cache. (finalize_all_subwindow_instances): walk windows unmapping and finalizing subwindows. (unmap_subwindow_instance_cache_mapper): moved from window.c. Allow finalization as well as unmapping. * gui.c (gui_item_list_find_selected): new function. * gui.h (gui_item_list_find_selected): declare. * glyphs-x.c (x_tab_control_redisplay): pick tab explicitly. Re-code to use gui_item_equal_sans_selected and gui_item_list_find_selected. * glyphs-x.h: add lwlib-utils.h * buffer.c (Frecord_buffer): undo previous change. 2000-08-09 Vin Shelton <acs@xemacs.org> * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if possible. Create temporary files more securely. The patch was generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch. See http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html for details. 2000-08-07 Ben Wing <ben@xemacs.org> * getloadavg.c: remove duplicate (and windows-breaking) includes of fcntl.h and sys/file.h. * nt.c: remove duplicate getloadavg() definition. * sysdll.h (Qdll_filename_encoding): add missing stand-in encodings. 2000-08-07 Gunnar Evermann <ge204@eng.cam.ac.uk> * eval.c (function_argcount): If function needs to be autoloaded actually use the loaded definition. GCPRO function. 2000-08-05 Ben Wing <ben@xemacs.org> * getloadavg.c: add prototype for getloadavg(). remove duplicate WIN32_NATIVE/CYGWIN code (already in the middle of the code). remove duplicate header includes. * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY. * s\cygwin32.h, s\mingw32.h, m\windowsnt.h: don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no useful load average. * alloc.c (reinit_alloc_once_early): removed references to VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free. the lisp vars are the only things referencing the malloc_sbrk_* vars, and they were already if 0'd out. these vars only exist in the older malloc.c, which is basically unused, and they're only for informational purposes. * m\*.h: removed useless VIRT_ADDR_VARIES. * m\powerpc.h: removed stray NO_ARG_ARRAY. 2000-04-26 IKEYAMA Tomonori <tomonori@suiyokai.org> * redisplay-msw.c (mswindows_output_dibitmap): Set foreground color if the image is a mono pixmap. 2000-07-30 Ben Wing <ben@xemacs.org> * Makefile.in.in (release): Remove stray @. * buffer.c (directory_is_current_directory): * dired-msw.c (mswindows_get_files): * dired.c: * dired.c (Fdirectory_files): * dired.c (file_name_completion_stat): * dired.c (Ffile_attributes): [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty preprocessor tricks, to avoid problems on some machines (e.g. SCO). * callproc.c (egetenv): GC docs. * console-msw.h: * console-msw.h (struct mswindows_dialog_id): * lrecord.h (lrecord_type): New object for use with MSW dialogs. * console.h (struct console_methods): New enable/disable frame methods, for proper modal dialogs. * device-msw.c (msprinter_default_printer): Fix to follow proper Mule conventions. * device-msw.c: * device-msw.c (signal_open_printer_error): * device-msw.c (msprinter_init_device): * device-msw.c (ensure_not_printing): * device-msw.c (plist_get_margin): * device-msw.c (Fmsprinter_select_settings): * device-msw.c (finalize_devmode): * device-msw.c (Fmsprinter_settings_despecialize): * device-msw.c (signal_enum_priner_error): * extents.c (decode_extent): * extents.c (decode_map_extents_flags): * extents.c (decode_extent_at_flag): * extents.c (Fextent_at): * extents.c (Fextents_at): * extents.c (symbol_to_glyph_layout): [[[[2]]]] Use structured errors. * dialog-msw.c: * dialog-msw.c (mswindows_is_dialog_msg): * dialog-msw.c (mark_mswindows_dialog_id): * dialog-msw.c (dialog_proc): * dialog-msw.c (handle_question_dialog_box): * dialog-msw.c (syms_of_dialog_mswindows): Define new object to clean up marking; use it as a dialog identifier. Call new delete-dialog-box-hook. * dialog-x.c (dbox_selection_callback): * dialog-x.c (dbox_descriptor_to_widget_value): * dialog-x.c (x_make_dialog_box_internal): Call new delete-dialog-box-hook. Return an id. * dialog.c: * dialog.c (syms_of_dialog): * dialog.c (vars_of_dialog): Define new delete-dialog-box-hook, for use w/modal dialog boxes. * eval.c: * eval.c (signal_call_debugger): when noninteractive, output stack traces on the console instead of in a (never-seen) buffer. * eval.c (signal_type_error): * eval.c (invalid_argument_2): * lisp.h: new funs for use w/structured errors. * event-Xt.c: * event-Xt.c (x_to_emacs_keysym): * event-Xt.c (describe_event): * event-Xt.c (emacs_Xt_event_handler): * event-Xt.c (vars_of_event_Xt): * event-msw.c: * event-msw.c (mswindows_wnd_proc): * event-msw.c (vars_of_event_mswindows): rename {x,mswindows}-debug-events to debug-{}-events for consistency with other debug-foo variables. * event-stream.c: document next-event more clearly. * fileio.c (Ffile_name_directory): * fileio.c (Ffile_name_nondirectory): * fileio.c (Funhandled_file_name_directory): * fileio.c (file_name_as_directory): * fileio.c (Ffile_name_as_directory): * fileio.c (directory_file_name): * fileio.c (Fdirectory_file_name): * fileio.c (Fmake_temp_name): * fileio.c (Ffile_truename): * fileio.c (Fsubstitute_in_file_name): * fileio.c (expand_and_dir_to_file): * fileio.c (barf_or_query_if_file_exists): * fileio.c (check_executable): * fileio.c (Ffile_exists_p): * fileio.c (Ffile_writable_p): * fileio.c (Ffile_directory_p): * fileio.c (Ffile_regular_p): * fileio.c (Ffile_modes): * fileio.c (Ffile_newer_than_file_p): * fileio.c (Fverify_visited_file_modtime): * fileio.c (Fset_visited_file_modtime): * fileio.c (auto_save_1): (1). (2). fix up gcpro's. * frame-msw.c: * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_enable_frame): * frame-msw.c (error_frame_unsizable): * frame-msw.c (msprinter_init_frame_1): * frame-msw.c (msprinter_init_frame_3): * frame-msw.c (console_type_create_frame_mswindows): (2). implement new enable/disable frame methods. * frame-x.c: * frame-x.c (x_enable_frame): * frame-x.c (console_type_create_frame_x): implement new enable/disable frame methods. * frame.c: * frame.c (Fdisable_frame): * frame.c (syms_of_frame): * frame.h (struct frame): implement new enable/disable frame methods/functions. * general-slots.h: add initial-focus. * glyphs-msw.c (mswindows_widget_instantiate): comment that initial-focus should be implemented. * glyphs-widget.c: * glyphs-widget.c (check_valid_instantiator): * glyphs-widget.c (check_valid_orientation): * glyphs-widget.c (check_valid_tab_orientation): * glyphs-widget.c (check_valid_justification): * glyphs-widget.c (check_valid_border): * glyphs-widget.c (check_valid_callback): * glyphs-widget.c (check_valid_int_or_function): * glyphs-widget.c (check_valid_string_or_vector): * glyphs-widget.c (check_valid_item_list_1): * glyphs-widget.c (widget_validate): * glyphs-widget.c (combo_box_validate): * glyphs-widget.c (widget_instantiate): * glyphs-widget.c (syms_of_glyphs_widget): * glyphs-widget.c (VALID_WIDGET_KEYWORDS): * glyphs-widget.c (image_instantiator_combo_box): * glyphs-widget.c (image_instantiator_scrollbar): * glyphs-widget.c (image_instantiator_tab_control): * glyphs-widget.c (VALID_LAYOUT_KEYWORDS): (2). support (unimplemented) keyword initial-focus. reindent long macros. * glyphs-x.c (x_redisplay_widget): * glyphs-x.c (x_button_instantiate): * glyphs-x.c (x_button_redisplay): * glyphs-x.c (x_progress_gauge_instantiate): * glyphs-x.c (x_edit_field_instantiate): * glyphs-x.c (x_combo_box_instantiate): * glyphs-x.c (x_tab_control_instantiate): * glyphs-x.c (x_label_instantiate): * gui-x.c: * gui-x.c (button_item_to_widget_value): * gui-x.c (gui_items_to_widget_values_1): * gui-x.c (gui_item_children_to_widget_values): * gui-x.c (gui_items_to_widget_values): * gui-x.h: * menubar-x.c (menu_item_descriptor_to_widget_value_1): add new flag to gui-parsing routines to indicate whether accelerator specs should be supported. * glyphs.c (syms_of_glyphs): use DEFSYMBOL. * glyphs.h (struct Lisp_Image_Instance): * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS): add initial-focus flag. * gui.c: * gui.c (syms_of_gui): * gui.c (vars_of_gui): clean up menu-no-selection-hook. * gui.h: support delete-dialog-box-hook. * lread.c (Fload_internal): * lread.c (locate_file_in_directory_mapper): (1). * lrecord.h: * lrecord.h (struct toolbar_button): * lrecord.h (syms_of_toolbar): document how to create a new object. * menubar-msw.c (mswindows_char_is_accelerator): may be called on frames w/o menus. * menubar.c (vars_of_menubar): clean up :filter docs. * nt.c (readdir): * ntproc.c: (1). * process-nt.c: * process-nt.c (validate_signal_number): * process-nt.c (signal_cannot_launch): * process-nt.c (nt_create_process): * process-nt.c (nt_send_process): * process-nt.c (nt_kill_child_process): * process-nt.c (nt_open_network_stream): * process-nt.c (syms_of_process_nt): (2). delete quote-handling. call new lisp code that does it better. * process-unix.c (connect_to_file_descriptor): * process-unix.c (allocate_pty): * process-unix.c (unix_send_process): * process-unix.c (unix_kill_child_process): * process-unix.c (unix_open_network_stream): * process-unix.c (unix_open_multicast_group): (1). (2). * process.c: * process.c (Fstart_process_internal): (2). need to canonicalize process path even if absolute. * select-msw.c (symbol_to_ms_cf): * select-msw.c (ms_cf_to_symbol): * select-msw.c (cf_is_autofreed): * select-msw.c (mswindows_destroy_selection): * select.c: * select.c (syms_of_select): * select.h: support dibv5, fix bugs. (from Mike Alexander) * select.c (Fget_selection_internal): * select.c (select_convert_out): * sysdep.c: * sysdep.c (xemacs_stat): renamed. * sysdep.c (mkdir): * sysdep.c (rmdir): but keep original stat() here because we provide encapsulation around these funs. * sysfile.h: * sysfile.h (fstat): remove stat garbage. * syswindows.h: fix X/MSW conflict. don't include tchar.h. it's inappropriate because it makes compile-time distinctions when we want runtime distinctions. (we provide our own tchar replacements) * toolbar.c: use default object printer for toolbar-button. * unexcw.c: make sure we don't encapsulate. * window.c (vars_of_window): emphasize that temp-buffer-show-hook is obsolete. 2000-08-05 Martin Buchholz <martin@xemacs.org> * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args. (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg. * events.c (Fevent_timestamp_lessp): Not 64-bit clean. Use EMACS_INT, not int. 2000-06-05 Andrew Begel <abegel@cs.berkeley.edu> * lrecord.h (lrecord_types): Changed lrecord_type_count to an unsigned int and changed the last enum to lrecord_type_last_built_in_type. (lrecord_implementations_table): changed prototype to know how long the array is supposed to be. (lrecord_type_count): new unsigned int to keep track of the current number of lisp lrecord types. (DEFINE_EXTERNAL_LRECORD): (DECLARE_EXTERNAL_LRECORD): Added these two for external dynamic-modules to declare new lisp types. They are the same as the non-EXTERNAL forms, but declare an lrecord_type unsigned int for each new type, and increment lrecord_type_count by 1. * alloc.c (lrecord_implementations_table): Changed to reference lrecord_type_last_built_in_type for the size of the array. Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h. 2000-08-03 Yoshiki Hayashi <yoshiki@xemacs.org> * glyphs.h (check_valid_item_list): Renamed from check_valid_item_list_1. 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net> * select.c (Qselect_coerce): New. * select.c (Vselection_coercion_alist): New. * select.c (syms_of_select): Declare. * select.c (get-selection-internal): Use it. Use the new select-coerce functionality. * select.c (select_coerce): New. * select.h (select_coerce): Declare. New function to coerce one type of data into another. 2000-08-03 Martin Buchholz <martin@xemacs.org> * callproc.c (Fcall_process_internal): (Fcall_process_internal): * process-unix.c (unix_create_process): Save and restore the value of errno, so that error messages are accurate. 2000-08-01 Martin Buchholz <martin@xemacs.org> * elhash.c (print_hash_table): Fix printing of hash tables to also use `key-and-value' instead of `t'. Prettify docstrings and indentation. 2000-07-31 Yoshiki Hayashi <yoshiki@xemacs.org> * window.c (Fwindow_pixel_edges): Subtract frame border and gutter size. 2000-07-31 Andy Piper <andy@xemacs.org> * buffer.c (Frecord_buffer): make absolutely sure that redisplay will acknowledge the change. * glyphs.h: declare tab_control_order_only_changed. * glyphs-x.c (x_tab_control_redisplay): use tab_control_order_only_changed. * glyphs-widget.c (tab_control_order_only_changed): new function. * glyphs-msw.c (mswindows_tab_control_redisplay): use tab_control_order_only_changed. * gui.c (gui_item_equal_sans_selected): new function. (gui_item_equal): use it. * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate :properties in favor of :items.. * glyphs-widget.c (check_valid_item_list): rename from check_valid_item_list_1. (check_valid_item_list_1): renamed. (combo_box_validate): deprecate :properties in favor of :items. (widget_instantiate): ditto. (tab_control_update): ditto. (image_instantiator_combo_box): ditto. (image_instantiator_tree_view): ditto. (image_instantiator_tab_control): ditto. (layout_post_instantiate): remove dead code. * print.c (debug_print_no_newline): only write to debugger if in WIN32_NATIVE. * elhash.c (Fmake_hash_table): update doc string. * event-msw.c (mswindows_wnd_proc): don't allow processing of messages whilst in GC. This at least stops XEmacs crashing but has the potential for wierd behaviour. 2000-07-31 Martin Buchholz <martin@xemacs.org> * config.h.in: Make existence of s&m files optional. * s/bsd386.h: Remove HAVE_GETLOADAVG. * s/freebsd.h: Remove HAVE_GETLOADAVG. * s/gnu.h: Remove HAVE_GETLOADAVG. * s/netbsd.h: Remove HAVE_GETLOADAVG. * s/sol2.h: Remove HAVE_GETLOADAVG. * lisp.h: Remove getloadavg() declaration. * fns.c: Include <sys/loadavg.h> if available. Don't declare our own getloadavg() if HAVE_GETLOADAVG. * config.h.in: Group together getloadavg()-related macros. Use only configure-time tests to detect getloadavg(). 2000-07-30 Martin Buchholz <martin@xemacs.org> * Makefile.in.in (TransientEmacsShell.o): Fix race condition. 2000-07-25 Andy Piper <andy@xemacs.org> * syswindows.h: add tchar.h for native builds. * frame.c (syms_of_frame): remove set-glyph-image. * general-slots.h: add Qset_glyph_image. * glyphs-widget.c (layout_update): add domain arg to set-glyph-image. (syms_of_glyphs_widget): remove set-glyph-image. 2000-07-23 Ben Wing <ben@xemacs.org> * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro Vpopup_frame_list. 2000-07-22 Andy Piper <andy@xemacs.org> * symsinit.h: add syms_of_win32(). * gui-msw.c (syms_of_gui_mswindows): remove Fmswindows_shell_execute. (Fmswindows_shell_execute): moved to win32.c. * emacs.c (main_1): add syms_of_win32 (). * win32.c (init_potentially_nonexistent_functions): rewrite in compiler-friendly terms. (Fmswindows_shell_execute): move here from gui-msw.c. (syms_of_win32): new. * device-msw.c (Fmswindows_printer_list): clean up args to EnumPrinters. Don't include tchar under cygwin or mingw. (msprinter_default_printer): make cygwin-friendly. 2000-07-21 Andy Piper <andy@xemacs.org> * glyphs-widget.c (image_instantiator_tree_view): use tab control's update function. (layout_property): new function. Retrieve items. * glyphs-msw.c (mswindows_tree_view_redisplay): new function. Re-populate the tree view from the pending items. * glyphs.c (instantiate_image_instantiator): Make sure the domain is designated the parent if the domain is an image instance. This is needed so that dirtiness can be cascade up the hierarchy and thus for layout children to be redisplayed correctly. (allocate_image_instance): rename glyph -> parent. * redisplay.h: change redisplay_output_layout signature. * redisplay-msw.c (mswindows_output_display_block): use domain arg. * redisplay-x.c (x_output_display_block): use domain arg. 2000-07-10 Andy Piper <andy@xemacs.org> * window.c (Fset_window_configuration): add comment. * redisplay-output.c (compare_runes): (redisplay_output_subwindow): redisplay rather than update subwindow. (redisplay_output_layout): ditto. * redisplay-msw.c (mswindows_frame_output_end): (mswindows_frame_output_end): make defer window pos optional. * lisp.h: add Flast. * glyphs.h (struct image_instantiator_methods): add dest_mask top normalize method. Change update method to be for changed instantiators. Add redisplay method. Change signature of layout method. (struct Lisp_Image_Instance): add instantiator. (IMAGE_INSTANCE_INSTANTIATOR): new. (IMAGE_INSTANCE_SUBWINDOW_FACE): new. (XIMAGE_INSTANCE_INSTANTIATOR): new. (XIMAGE_INSTANCE_SUBWINDOW_FACE): new. * glyphs.c: (find_instantiator_differences): new function. (Fset_instantiator_property): new convenience function. (check_image_instance_structure): strictly check for vector instantiators. (normalize_image_instantiator): make non-static. (instantiate_image_instantiator): pass on dest_mask and use new signatures for image_instance_layout and friends. (mark_image_instance): mark the instantiator. Mark the subwindow face not the widget face. (image_instance_equal): add instantiator. (image_instance_hash): ditto. (allocate_image_instance): ditto. (Fset_image_instance_property): removed. (Fimage_instance_file_name): ditto. (Fcolorize_image_instance): ditto. (image_instance_layout): add offsets to be set. (update_image_instance): new function. update an image instance from its changed instantiator. (inherit_normalize): add dest_mask. (xbm_normalize): ditto. (xface_normalize): ditto. (xpm_normalize): ditto. (text_update): set_property -> update. (image_instantiate): use the glyph identity as a hash key, not the instantiator. (glyph_width): use new image_instance_layout signature. (glyph_ascent): ditto. (glyph_descent): ditto. (glyph_height): ditto. (glyph_query_geometry): ressurrect. (glyph_layout): ditto. (redisplay_subwindow): update -> redisplay. (syms_of_glyphs): add Fset_instantiator_property. (image_instantiator_format_create): set_property -> update. * glyphs-x.c: (autodetect_normalize): add dest_maks to signature. (x_redisplay_subwindow): update -> redisplay. (x_redisplay_widget): ditto. (x_button_redisplay): ditto. (x_progress_gauge_redisplay): ditto. (x_tab_control_redisplay): ditto. Rewrite to cope with changed stacking order. (console_type_create_glyphs_x): update -> redisplay. (image_instantiator_format_create_glyphs_x): ditto. * glyphs-widget.c: (check_valid_instantiator): disallow glyphs in the instantiator, they must now be vectors. (check_valid_instantiator_list): ditto. (glyph_instantiator_to_glyph): use internal symbol rather than intern. (widget_update): renamed from widget_set_property. Call cascaded update methods. (redisplay_widget): renamed from update_widget. (widget_layout): image_instance_layout now takes position as well as size. (widget_normalize): ditto. (widget_instantiate): ditto. (tab_control_query_geometry) ditto.: (tab_control_update): renamed from tab_control_set_property. (progress_gauge_update): set_property -> update. (layout_normalize): rewrite so that child instantiators are normalized also. (layout_update): new function. Create glyphs from the normalized children and cope with any other layout keywords. We do not instantiate children here that will be take care of by redisplay_output_layout. (layout_instantiate): call layout_update and not much else. (layout_post_instantiate): not sure whether this is needed anymore. (layout_query_geometry): query glyph geometry rather than image_instance geometry. (layout_layout): set offsets from pass in parameters. Use glyph geometry and layout functions rather than image instance ones. (native_layout_layout): ditto. (syms_of_glyphs_widget): add make-glyph and set-glyph-image. (image_instantiator_widget): set_property -> update. (image_instantiator_buttons): ditto. (image_instantiator_progress_guage): ditto. (image_instantiator_tab_control): ditto. (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors. (image_instantiator_layout): add update method. * glyphs-msw.c (bmp_normalize): (mswindows_resource_normalize): add dest_mask so that it can be proprogated by layout_normalize. (begin_defer_window_pos): make optional because it may not be the right thing to do and it introduces differences with X. (mswindows_unmap_subwindow): ditto. (mswindows_map_subwindow): ditto. (mswindows_redisplay_subwindow): renamed from mswindows_update_subwindow. (mswindows_redisplay_widget): ditto. (mswindows_button_redisplay): renamed from mswindows_button_update. Update is now what the instantiation function does for a changed instantiator. (mswindows_progress_gauge_instantiate): set the progress value here if appropriate. (mswindows_tab_control_redisplay): cope with re-ordering of the members of the tab widget by simply selecting the new top widget. This makes things appear ok if you click on a tab. (mswindows_combo_box_instantiate): image_instance_layout now takes position as well as size. (mswindows_progress_gauge_redisplay): renamed from mswindows_progress_gauge_update. (console_type_create_glyphs_mswindows): fix update -> redisplay. (image_instantiator_format_create_glyphs_mswindows): ditto. * glyphs-eimage.c (jpeg_normalize): (gif_normalize): (png_normalize): (tiff_normalize): add dest_mask so that it can be proprogated by layout_normalize. * elhash.c: (print_hash_table): (hash_table_weakness_validate): (decode_hash_table_weakness): (Fhash_table_weakness): (Fhash_table_type): (syms_of_elhash): use Ben's naming scheme for hashtable types.. * console.h (struct console_methods): move update_* to redisplay_*. 2000-07-20 Ben Wing <ben@xemacs.org> * *.[ch] (XSETOBJ): remove unused middle argument. lisp-disunion.h: correct wrap_object() to one argument. 2000-07-15 Ben Wing <ben@xemacs.org> * s/cygwin32.h: * s/cygwin32.h (CYGWIN_CONV_PATH): Add missing logb prototype for v1.1. Use post-b20 names and alias to pre-b20 names when pre-b20. * s/windowsnt.h: [5]. 2000-07-15 Ben Wing <ben@xemacs.org> * Makefile.in.in (x_objs): * Makefile.in.in (sheap_objs): * Makefile.in.in (objs): added win32.o, cosmetic cleanups. * alloc.c (Fmake_byte_code): [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP, etc. macros which declare their own args now. * alloc.c (syms_of_alloc): [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends. * buffer.c: Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp. * buffer.c (Fget_file_buffer): Fixed GCPRO problem. * glyphs-msw.c (bmp_normalize): (mswindows_resource_normalize): add dest_mask so that it can be proprogated by layout_normalize. (begin_defer_window_pos): make optional because it may not be the right thing to do and it introduces differences with X. (mswindows_unmap_subwindow): ditto. (mswindows_map_subwindow): ditto. (mswindows_redisplay_subwindow): renamed from mswindows_update_subwindow. (mswindows_redisplay_widget): ditto. (mswindows_button_redisplay): renamed from mswindows_button_update. Update is now what the instantiation function does for a changed instantiator. (mswindows_progress_gauge_instantiate): set the progress value here if appropriate. (mswindows_tab_control_redisplay): cope with re-ordering of the members of the tab widget by simply selecting the new top widget. This makes things appear ok if you click on a tab. (mswindows_combo_box_instantiate): image_instance_layout now takes position as well as size. (mswindows_progress_gauge_redisplay): renamed from mswindows_progress_gauge_update. (console_type_create_glyphs_mswindows): fix update -> redisplay. (image_instantiator_format_create_glyphs_mswindows): ditto. * glyphs-eimage.c (jpeg_normalize): (gif_normalize): (png_normalize): (tiff_normalize): add dest_mask so that it can be proprogated by layout_normalize. * elhash.c: (print_hash_table): (hash_table_weakness_validate): (decode_hash_table_weakness): (Fhash_table_weakness): (Fhash_table_type): (syms_of_elhash): use Ben's naming scheme for hashtable types.. * console.h (struct console_methods): move update_* to redisplay_*. 2000-07-20 Ben Wing <ben@xemacs.org> * *.[ch] (XSETOBJ): remove unused middle argument. lisp-disunion.h: correct wrap_object() to one argument. 2000-07-15 Ben Wing <ben@xemacs.org> * s/cygwin32.h: * s/cygwin32.h (CYGWIN_CONV_PATH): Add missing logb prototype for v1.1. Use post-b20 names and alias to pre-b20 names when pre-b20. * s/windowsnt.h: [5]. 2000-07-15 Ben Wing <ben@xemacs.org> * Makefile.in.in (x_objs): * Makefile.in.in (sheap_objs): * Makefile.in.in (objs): added win32.o, cosmetic cleanups. * alloc.c (Fmake_byte_code): [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP, etc. macros which declare their own args now. * alloc.c (syms_of_alloc): [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends. * buffer.c: Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp. * buffer.c (Fget_file_buffer): Fixed GCPRO problem. * buffer.c (get_truename_buffer): Fixed comment about GC checking. * buffer.c (syms_of_buffer): Undeclared those dedicated frame funs. [2]. * buffer.h: Define convenience macros for internal/external conversions. [[[3]]]: Define codesys aliases Qcommand_argument_encoding and Qenvironment_variable_encoding for cleaner code. * bufslots.h: Remove dedicated-frame; in lisp. * bytecode.c (funcall_compiled_function): [1]. * bytecode.c (syms_of_bytecode): [2]. * console-msw.c: * console-msw.c (mswindows_show_console): Rewrote. * console-msw.c (Fmswindows_debugging_output): New. Sends to OutputDebugString (special MSWin debugger interface). * console-msw.c (Fmswindows_message_box): Fixed stupid bugs so it works when called from kill-emacs. * console-msw.c (syms_of_console_mswindows): Declare Fmswindows_debugging_output. * console-msw.h: New MSWin prototypes. * console-msw.h (struct mswindows_frame): New entry last-click-mods for improved button-modifier support. * console-msw.h (FRAME_MSWINDOWS_POPUP): New struct entry `popup' with corresponding accessor. * console-x.c: * console-x.c (split_up_display_spec): * console-x.c (get_display_arg_connection): * console-x.c (x_semi_canonicalize_console_connection): * console-x.c (x_canonicalize_device_connection): [[[6]]]: Change char to more specific type. [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4]; * console-x.c (x_semi_canonicalize_console_connection): * console-x.c (x_canonicalize_device_connection): [[[9]]]: Fix up error signalling to use new structured error system. * console-x.h: [[[4]]]: Define codesys aliases: Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding, Qx_color_name_encoding, Qx_display_name_encoding. * console.h (struct console_methods): New method make_dialog_box_internal supersedes older popup_dialog_box method. * data.c: Define many new errors, part of new structured errors. * data.c (init_errors_once_early): * data.c (syms_of_data): [2]. * device-msw.c (mswindows_init_device): [[[5]]]: Cleanup to support NT 3.51. * device-msw.c (decode_devmode): Cleanup. * device-msw.c (mswindows_handle_print_setup_dialog_box): * device-msw.c (mswindows_handle_print_dialog_box): * device-msw.c (mswindows_handle_page_setup_dialog_box): * device-msw.c (syms_of_device_mswindows): Delete the dialog box primitives recently introduced by Kirill and instead interface to general dialog box interface. * device-x.c: * device-x.c (compute_x_app_name): * device-x.c (x_init_device): * device-x.c (Fx_valid_keysym_name_p): * device-x.c (Fx_set_font_path): [6]. [7]. * device.h (wrap_device): New. First of its kind; meant to replace XSETDEVICE. * dialog-msw.c: Many file-dialog symbols. * dialog-msw.c (mswindows_register_popup_frame): New. * dialog-msw.c (mswindows_is_dialog_msg): New. For supporting kbd traversal in dialog boxes. * dialog-msw.c (dialog_proc): Support hitting ESC in dialogs. * dialog-msw.c (struct): Common dialog box errors. * dialog-msw.c (handle_file_dialog_box): New. Add file dialog code. * dialog-msw.c (handle_question_dialog_box): Redo existing code to support new question dialog syntax. * dialog-msw.c (console_type_create_dialog_mswindows): We support new dialog console method. * dialog-msw.c (syms_of_dialog_mswindows): * dialog-msw.c (vars_of_dialog_mswindows): New file dialog symbols, vars. * dialog-x.c: * dialog-x.c (maybe_run_dbox_text_callback): * dialog-x.c (dbox_descriptor_to_widget_value): * dialog-x.c (x_make_dialog_box_internal): * dialog-x.c (console_type_create_dialog_x): Mule-ize entire file. Redo to support question dialog syntax. [6]. * dialog.c: * dialog.c (Fmake_dialog_box_internal): * dialog.c (syms_of_dialog): Kill old popup-dialog-box, replace with new primitive. Just call device method or signal error. * eldap.c (Fldap_open): * eldap.c (Fldap_search_basic): * eldap.c (Fldap_add): * eldap.c (Fldap_modify): [1]. [7]. * emacs.c: * emacs.c (make_arg_list_1): * emacs.c (make_arg_list): Mule-ize call to dll_init(). [6]. [8]. * emacs.c (make_argc_argv): * emacs.c (free_argc_argv): * emacs.c (init_cmdargs): * emacs.c (main_1): * emacs.c (Fkill_emacs): * emacs.c (Fdump_emacs): Update comments about what can be used in syms_* etc. Call init_win32() when necessary. Fix up MS Win dialog box in kill-buffer to actually work right. [7]. * eval.c: * eval.c (For): * eval.c (Fand): * eval.c (Fprogn): * eval.c (Fprog1): * eval.c (Fprog2): * eval.c (FletX): * eval.c (Flet): * eval.c (condition_case_3): * eval.c (Feval): * eval.c (function_argcount): * eval.c (funcall_lambda): [1]. * eval.c (type_error): New. * eval.c (maybe_type_error): New. * eval.c (continuable_type_error): New. * eval.c (maybe_continuable_type_error): New. * eval.c (type_error_with_frob): New. * eval.c (maybe_type_error_with_frob): New. * eval.c (continuable_type_error_with_frob): New. * eval.c (maybe_continuable_type_error_with_frob): New. New functions for use with structured errors. * event-Xt.c: * event-Xt.c (x_event_to_emacs_event): Buttons are now modifiers too. * event-Xt.c (emacs_Xt_current_event_timestamp): Implement new event method. * event-Xt.c (reinit_vars_of_event_Xt): Set it. * event-msw.c: * event-msw.c (ntpipe_shove_writer): [5]. * event-msw.c (mswindows_enqueue_mouse_button_event): * event-msw.c (mswindows_drain_windows_queue): * event-msw.c (mswindows_wnd_proc): [7]. * event-msw.c (mswindows_current_layout_has_AltGr): [5]. * event-msw.c (mswindows_modifier_state): Throughout: support new button modifiers. * event-msw.c (emacs_mswindows_current_event_timestamp): Implement new event method. * event-msw.c (reinit_vars_of_event_mswindows): Set it. * event-stream.c: * event-stream.c (event_stream_current_event_timestamp): New. * event-stream.c (maybe_kbd_translate): New functionality. * event-stream.c (vars_of_event_stream): Document new kbd-translate-table functionality. * event-stream.c (Fcurrent_event_timestamp): New. New primitive for use in fabricated events. * event-stream.c (syms_of_event_stream): [2]. Declare new primitive. * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers. * events.c: * events.c (Fmake_event): * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): [1]. [9]. * events.c (format_event_object): fix gcc warnings. * events.c (Fevent_timestamp): Document new primitives. * events.c (TIMESTAMP_HALFSPACE): New. * events.c (Fevent_timestamp_lessp): New. New primitive for comparing timestamps correctly (half-space algorithm). * events.c (Fevent_modifier_bits): Doc fix. * buffer.c (get_truename_buffer): Fixed comment about GC checking. * events.c (Fevent_modifiers): Major doc addition. * events.c (event_x_y_pixel_internal): Typo fix. * events.c (syms_of_events): Declare new primitives. * buffer.c (syms_of_buffer): Undeclared those dedicated frame funs. [2]. * buffer.h: Define convenience macros for internal/external conversions. [[[3]]]: Define codesys aliases Qcommand_argument_encoding and Qenvironment_variable_encoding for cleaner code. * bufslots.h: Remove dedicated-frame; in lisp. * bytecode.c (funcall_compiled_function): [1]. * bytecode.c (syms_of_bytecode): [2]. * console-msw.c: * console-msw.c (mswindows_show_console): Rewrote. * console-msw.c (Fmswindows_debugging_output): New. Sends to OutputDebugString (special MSWin debugger interface). * console-msw.c (Fmswindows_message_box): Fixed stupid bugs so it works when called from kill-emacs. * console-msw.c (syms_of_console_mswindows): Declare Fmswindows_debugging_output. * console-msw.h: New MSWin prototypes. * console-msw.h (struct mswindows_frame): New entry last-click-mods for improved button-modifier support. * console-msw.h (FRAME_MSWINDOWS_POPUP): New struct entry `popup' with corresponding accessor. * console-x.c: * console-x.c (split_up_display_spec): * console-x.c (get_display_arg_connection): * console-x.c (x_semi_canonicalize_console_connection): * console-x.c (x_canonicalize_device_connection): [[[6]]]: Change char to more specific type. [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4]; * console-x.c (x_semi_canonicalize_console_connection): * console-x.c (x_canonicalize_device_connection): [[[9]]]: Fix up error signalling to use new structured error system. * console-x.h: [[[4]]]: Define codesys aliases: Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding, Qx_color_name_encoding, Qx_display_name_encoding. * console.h (struct console_methods): New method make_dialog_box_internal supersedes older popup_dialog_box method. * data.c: Define many new errors, part of new structured errors. * data.c (init_errors_once_early): * data.c (syms_of_data): [2]. * device-msw.c (mswindows_init_device): [[[5]]]: Cleanup to support NT 3.51. * device-msw.c (decode_devmode): Cleanup. * device-msw.c (mswindows_handle_print_setup_dialog_box): * device-msw.c (mswindows_handle_print_dialog_box): * device-msw.c (mswindows_handle_page_setup_dialog_box): * device-msw.c (syms_of_device_mswindows): Delete the dialog box primitives recently introduced by Kirill and instead interface to general dialog box interface. * device-x.c: * device-x.c (compute_x_app_name): * device-x.c (x_init_device): * device-x.c (Fx_valid_keysym_name_p): * device-x.c (Fx_set_font_path): [6]. [7]. First of its kind; meant to replace XSETDEVICE. * dialog-msw.c: Many file-dialog symbols. * dialog-msw.c (mswindows_register_popup_frame): New. * dialog-msw.c (mswindows_is_dialog_msg): New. For supporting kbd traversal in dialog boxes. * dialog-msw.c (dialog_proc): Support hitting ESC in dialogs. * dialog-msw.c (struct): Common dialog box errors. * dialog-msw.c (handle_file_dialog_box): New. Add file dialog code. * dialog-msw.c (handle_question_dialog_box): Redo existing code to support new question dialog syntax. * dialog-msw.c (console_type_create_dialog_mswindows): We support new dialog console method. * dialog-msw.c (syms_of_dialog_mswindows): * dialog-msw.c (vars_of_dialog_mswindows): New file dialog symbols, vars. * dialog-x.c: * dialog-x.c (maybe_run_dbox_text_callback): * dialog-x.c (dbox_descriptor_to_widget_value): * dialog-x.c (x_make_dialog_box_internal): * dialog-x.c (console_type_create_dialog_x): Mule-ize entire file. Redo to support question dialog syntax. [6]. * dialog.c: * dialog.c (Fmake_dialog_box_internal): * dialog.c (syms_of_dialog): Kill old popup-dialog-box, replace with new primitive. Just call device method or signal error. * eldap.c (Fldap_open): * eldap.c (Fldap_search_basic): * eldap.c (Fldap_add): * eldap.c (Fldap_modify): [1]. [7]. * emacs.c: * emacs.c (make_arg_list_1): * emacs.c (make_arg_list): Mule-ize call to dll_init(). [6]. [8]. * emacs.c (make_argc_argv): * emacs.c (free_argc_argv): * emacs.c (init_cmdargs): * emacs.c (main_1): * emacs.c (Fkill_emacs): * emacs.c (Fdump_emacs): Update comments about what can be used in syms_* etc. Call init_win32() when necessary. Fix up MS Win dialog box in kill-buffer to actually work right. [7]. * eval.c: * eval.c (For): * eval.c (Fand): * eval.c (Fprogn): * eval.c (Fprog1): * eval.c (Fprog2): * eval.c (FletX): * eval.c (Flet): * eval.c (condition_case_3): * eval.c (Feval): * eval.c (function_argcount): * eval.c (funcall_lambda): [1]. * eval.c (type_error): New. * eval.c (maybe_type_error): New. * eval.c (continuable_type_error): New. * eval.c (maybe_continuable_type_error): New. * eval.c (type_error_with_frob): New. * eval.c (maybe_type_error_with_frob): New. * eval.c (continuable_type_error_with_frob): New. * eval.c (maybe_continuable_type_error_with_frob): New. New functions for use with structured errors. * event-Xt.c: * event-Xt.c (x_event_to_emacs_event): Buttons are now modifiers too. * event-Xt.c (emacs_Xt_current_event_timestamp): Implement new event method. * event-Xt.c (reinit_vars_of_event_Xt): Set it. * event-msw.c: * event-msw.c (ntpipe_shove_writer): [5]. * event-msw.c (mswindows_enqueue_mouse_button_event): * event-msw.c (mswindows_drain_windows_queue): * event-msw.c (mswindows_wnd_proc): [7]. * event-msw.c (mswindows_current_layout_has_AltGr): [5]. * event-msw.c (mswindows_modifier_state): Throughout: support new button modifiers. * event-msw.c (emacs_mswindows_current_event_timestamp): Implement new event method. * event-msw.c (reinit_vars_of_event_mswindows): Set it. * event-stream.c: * event-stream.c (event_stream_current_event_timestamp): New. * event-stream.c (maybe_kbd_translate): New functionality. * event-stream.c (vars_of_event_stream): Document new kbd-translate-table functionality. * event-stream.c (Fcurrent_event_timestamp): New. New primitive for use in fabricated events. * event-stream.c (syms_of_event_stream): [2]. Declare new primitive. * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers. * events.c: * events.c (Fmake_event): * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): [1]. [9]. * events.c (format_event_object): fix gcc warnings. * events.c (Fevent_timestamp): Document new primitives. * events.c (TIMESTAMP_HALFSPACE): New. * events.c (Fevent_timestamp_lessp): New. New primitive for comparing timestamps correctly (half-space algorithm). * events.c (Fevent_modifier_bits): Doc fix. * events.c (Fevent_modifiers): Major doc addition. * events.c (event_x_y_pixel_internal): Typo fix. * events.c (syms_of_events): Declare new primitives. * events.h: Update long comment for button modifiers, timestamps. * events.h (struct event_stream): New current_event_timestamp method. * extents.c: * extents.c (extent_in_region_p): * extents.c (decode_extent): * extents.c (Fset_extent_parent): * extents.c (decode_map_extents_flags): Fix gcc warnings. [9]. * extents.c (struct extent_at_arg): * extents.c (decode_extent_at_flag): * extents.c (extent_at_mapper): * extents.c (extent_at_bytind): * extents.c (Fextent_at): Adapt to new lower-level interface. [9]. * extents.c (Fextents_at): New primitive. [9]. * extents.c (symbol_to_glyph_layout): [9]. Support new primitive `extents-at'. * extents.c (get_text_property_bytind): extent_at_bytind has another arg. [9]. * extents.c (syms_of_extents): New primitive. * file-coding.c (Fmake_coding_system): [1]. * file-coding.c (subsidiary_coding_system): fix gcc warning * file-coding.c (syms_of_file_coding): [2]. * fileio.c (Fexpand_file_name): * fileio.c (Fsysnetunam): * fileio.c (Ffile_exists_p): * fileio.c (Ffile_executable_p): * fileio.c (Fverify_visited_file_modtime): Clean up GCPROing. * fileio.c (syms_of_fileio): [2]. * filelock.c (lock_file_1): * filelock.c (current_lock_owner): * filelock.c (lock_if_free): * filelock.c (lock_file): * filelock.c (unlock_file): Clean up GCPROing. * fns.c (concat): Fix gcc warning. * fns.c (Fmember): * fns.c (Fold_member): * fns.c (Fmemq): * fns.c (Fold_memq): * fns.c (memq_no_quit): * fns.c (Fassoc): * fns.c (Fold_assoc): * fns.c (Fassq): * fns.c (Fold_assq): * fns.c (assq_no_quit): * fns.c (Frassoc): * fns.c (Fold_rassoc): * fns.c (Frassq): * fns.c (Fold_rassq): * fns.c (rassq_no_quit): * fns.c (Fdelete): * fns.c (Fold_delete): * fns.c (Fdelq): * fns.c (Fold_delq): * fns.c (delq_no_quit): * fns.c (Fremassoc): * fns.c (Fremassq): * fns.c (remassq_no_quit): * fns.c (Fremrassoc): * fns.c (Fremrassq): * fns.c (remrassq_no_quit): * fns.c (Freverse): * fns.c (mapcar1): [1]. * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_delete_frame): Register popups with dialog code so keyboard traversing works. * frame-tty.c (tty_raise_frame_no_select): [1]. * frame-x.c: * frame-x.c (x_set_frame_text_value): * frame-x.c (x_set_frame_properties): * frame-x.c (x_create_widgets): [7]. * frame.c: * frame.c (Fmouse_pixel_position): Minor doc fixes. Macro like wrap_device. * general.c: * general.c (SYMBOL): * general.c (syms_of_general): Major reorg. This is now just a wrapper and symbols themselves are listed in general-slots.h. * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning. * glyphs-msw.c (mswindows_resource_instantiate): [5]. * glyphs-msw.c (mswindows_native_layout_instantiate): Add DS_CONTROL so keyboard traversal will work. * glyphs-widget.c: * glyphs-widget.c (syms_of_glyphs_widget): Move some symbols to general-slots.h. * glyphs-x.c: * glyphs-x.c (xbm_instantiate_1): * glyphs-x.c (x_xbm_instantiate): * glyphs-x.c (x_xface_instantiate): * glyphs-x.c (autodetect_instantiate): * glyphs-x.c (cursor_font_instantiate): * glyphs-x.c (x_update_widget): * glyphs-x.c (x_widget_instantiate): * glyphs.c (bitmap_to_lisp_data): * glyphs.c (pixmap_to_lisp_data): [7]. * glyphs.c (syms_of_glyphs): [2]. * gui-x.c: * gui-x.c (print_widget_value): * gui-x.c (menu_separator_style_and_to_external): * gui-x.c (add_accel_and_to_external): * gui-x.c (button_item_to_widget_value): * gui-x.c (gui_items_to_widget_values_1): * gui-x.c (gui_items_to_widget_values): * gui-x.c (syms_of_gui_x): * gui-x.c (vars_of_gui_x): Mule-ize entire file. Move menu-no-selection-hook to gui.c. [9]. * gui-x.h: Muleize, prototype changes matching gui-x.c. * gui.c: * gui.c (separator_string_p): * gui.c (gui_item_add_keyval_pair): * gui.c (make_gui_item_from_keywords_internal): * gui.c (signal_too_long_error): * gui.c (parse_gui_item_tree_item): * gui.c (syms_of_gui): * gui.c (vars_of_gui): * gui.h: menu-no-selection-hook moved here (used by MSWin). Move some symbols to general-slots.h. [6]. [9]. * insdel.c (get_buffer_pos_char): * insdel.c (get_buffer_range_char): Add GC comments. * keymap.c (keymap_lookup_directly): * keymap.c (keymap_store): * keymap.c (ensure_meta_prefix_char_keymapp): * keymap.c (describe_map): * keymap.h: Support new button modifiers. * lisp-disunion.h (XSETOBJ): Rename make_obj to wrap_object. * lisp-union.h: * lisp-union.h (make_int): * lisp-union.h (make_char): Support wrap_object. * lisp.h: * lisp.h (LIST_LOOP): * lisp.h (EXTERNAL_LIST_LOOP): * lisp.h (LIST_LOOP_2): * lisp.h (EXTERNAL_LIST_LOOP_1): * lisp.h (EXTERNAL_LIST_LOOP_2): * lisp.h (EXTERNAL_LIST_LOOP_3): * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE): * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6): * lisp.h (GET_EXTERNAL_LIST_LENGTH): * lisp.h (EXTERNAL_ALIST_LOOP_5): * lisp.h (EXTERNAL_ALIST_LOOP_6): * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE): * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE): * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7): * lisp.h (struct Lisp_Symbol): * lisp.h (maybe_continuable_error_with_frob): Fix up section comments. Add new types for char to indicate usage. Delete symbols auto-generated from general-slots.h. Add prototypes for structured error functions. Add long comments describing looping macros and change interface so that lvalues are automatically declared. * events.h: Update long comment for button modifiers, timestamps. * events.h (struct event_stream): New current_event_timestamp method. * extents.c: * extents.c (extent_in_region_p): * extents.c (decode_extent): * extents.c (Fset_extent_parent): * extents.c (decode_map_extents_flags): Fix gcc warnings. [9]. * extents.c (struct extent_at_arg): * extents.c (decode_extent_at_flag): * extents.c (extent_at_mapper): * extents.c (extent_at_bytind): * extents.c (Fextent_at): Adapt to new lower-level interface. [9]. * extents.c (Fextents_at): New primitive. [9]. * extents.c (symbol_to_glyph_layout): [9]. Support new primitive `extents-at'. * extents.c (get_text_property_bytind): extent_at_bytind has another arg. [9]. * extents.c (syms_of_extents): New primitive. * file-coding.c (Fmake_coding_system): [1]. * file-coding.c (subsidiary_coding_system): fix gcc warning * file-coding.c (syms_of_file_coding): [2]. * fileio.c (Fexpand_file_name): * fileio.c (Fsysnetunam): * fileio.c (Ffile_exists_p): * fileio.c (Ffile_executable_p): * fileio.c (Fverify_visited_file_modtime): Clean up GCPROing. * fileio.c (syms_of_fileio): [2]. * filelock.c (lock_file_1): * filelock.c (current_lock_owner): * filelock.c (lock_if_free): * filelock.c (lock_file): * filelock.c (unlock_file): Clean up GCPROing. * fns.c (concat): Fix gcc warning. * fns.c (Fmember): * fns.c (Fold_member): * fns.c (Fmemq): * fns.c (Fold_memq): * fns.c (memq_no_quit): * fns.c (Fassoc): * fns.c (Fold_assoc): * fns.c (Fassq): * fns.c (Fold_assq): * fns.c (assq_no_quit): * fns.c (Frassoc): * fns.c (Fold_rassoc): * fns.c (Frassq): * fns.c (Fold_rassq): * fns.c (rassq_no_quit): * fns.c (Fdelete): * fns.c (Fold_delete): * fns.c (Fdelq): * fns.c (Fold_delq): * fns.c (delq_no_quit): * fns.c (Fremassoc): * fns.c (Fremassq): * fns.c (remassq_no_quit): * fns.c (Fremrassoc): * fns.c (Fremrassq): * fns.c (remrassq_no_quit): * fns.c (Freverse): * fns.c (mapcar1): [1]. * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_delete_frame): Register popups with dialog code so keyboard traversing works. * frame-tty.c (tty_raise_frame_no_select): [1]. * frame-x.c: * frame-x.c (x_set_frame_text_value): * frame-x.c (x_set_frame_properties): * frame-x.c (x_create_widgets): [7]. * frame.c: * frame.c (Fmouse_pixel_position): Minor doc fixes. * frame.h (wrap_frame): New. Macro like wrap_device. * general.c: * general.c (SYMBOL): * general.c (syms_of_general): Major reorg. This is now just a wrapper and symbols themselves are listed in general-slots.h. * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning. * glyphs-msw.c (mswindows_resource_instantiate): [5]. * glyphs-msw.c (mswindows_native_layout_instantiate): Add DS_CONTROL so keyboard traversal will work. * glyphs-widget.c: * glyphs-widget.c (syms_of_glyphs_widget): Move some symbols to general-slots.h. * glyphs-x.c: * glyphs-x.c (xbm_instantiate_1): * glyphs-x.c (x_xbm_instantiate): * glyphs-x.c (x_xface_instantiate): * glyphs-x.c (autodetect_instantiate): * glyphs-x.c (cursor_font_instantiate): * glyphs-x.c (x_update_widget): * glyphs-x.c (x_widget_instantiate): * glyphs.c (bitmap_to_lisp_data): * glyphs.c (pixmap_to_lisp_data): [7]. * glyphs.c (syms_of_glyphs): [2]. * gui-x.c: * gui-x.c (print_widget_value): * gui-x.c (menu_separator_style_and_to_external): * gui-x.c (add_accel_and_to_external): * gui-x.c (button_item_to_widget_value): * gui-x.c (gui_items_to_widget_values_1): * gui-x.c (gui_items_to_widget_values): * gui-x.c (syms_of_gui_x): * gui-x.c (vars_of_gui_x): Mule-ize entire file. Move menu-no-selection-hook to gui.c. [9]. * gui-x.h: Muleize, prototype changes matching gui-x.c. * gui.c: * gui.c (separator_string_p): * gui.c (gui_item_add_keyval_pair): * gui.c (make_gui_item_from_keywords_internal): * gui.c (signal_too_long_error): * gui.c (parse_gui_item_tree_item): * gui.c (syms_of_gui): * gui.c (vars_of_gui): * gui.h: menu-no-selection-hook moved here (used by MSWin). Move some symbols to general-slots.h. [6]. [9]. * insdel.c (get_buffer_pos_char): * insdel.c (get_buffer_range_char): Add GC comments. * keymap.c (keymap_lookup_directly): * keymap.c (keymap_store): * keymap.c (ensure_meta_prefix_char_keymapp): * keymap.c (describe_map): * keymap.h: Support new button modifiers. * lisp-disunion.h (wrap_object): * lisp-disunion.h (XSETOBJ): Rename make_obj to wrap_object. * lisp-union.h: * lisp-union.h (make_int): * lisp-union.h (make_char): Support wrap_object. * lisp.h: * lisp.h (LIST_LOOP): * lisp.h (EXTERNAL_LIST_LOOP): * lisp.h (LIST_LOOP_2): * lisp.h (EXTERNAL_LIST_LOOP_1): * lisp.h (EXTERNAL_LIST_LOOP_2): * lisp.h (EXTERNAL_LIST_LOOP_3): * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE): * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6): * lisp.h (GET_EXTERNAL_LIST_LENGTH): * lisp.h (EXTERNAL_ALIST_LOOP_5): * lisp.h (EXTERNAL_ALIST_LOOP_6): * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE): * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE): * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7): * lisp.h (struct Lisp_Symbol): * lisp.h (maybe_continuable_error_with_frob): Fix up section comments. Add new types for char to indicate usage. Delete symbols auto-generated from general-slots.h. Add prototypes for structured error functions. Add long comments describing looping macros and change interface so that lvalues are automatically declared. Add NO_DECLARE macro in case callers want to declare lvalues themselves. * lread.c (read_syntax_error): * lread.c (continuable_read_syntax_error): * lread.c (read_structure): * lread.c (sequence_reader): * lread.c (read_list_conser): * lread.c (read_compiled_function): Rename syntax_error and continuable_syntax_error to avoid clash with same-named structured error functions. * menubar-msw.c (mswindows_translate_menu_or_dialog_item): * menubar-msw.c (populate_menu_add_item): * menubar-msw.c (populate_or_checksum_helper): [5]. [9]. * menubar-x.c: * menubar-x.c (menu_item_descriptor_to_widget_value_1): Mule-ize whole file. * menubar.c (Fnormalize_menu_item_name): Add optimization. * mule-charset.c (Fmake_charset): * mule-wnnfns.c (Fwnn_set_param): [1]. * ntproc.c (create_child): * ntproc.c (Fwin32_set_current_locale): Add comments portending doom. * objects-msw.c: * objects-msw.c (old_font_enum_callback_2): * objects-msw.c (font_enum_callback_1): * objects-msw.c (mswindows_enumerate_fonts): [5]. * objects-x.c: * objects-x.c (allocate_nearest_color): * objects-x.c (x_parse_nearest_color): * objects-x.c (x_initialize_color_instance): * objects-x.c (x_print_color_instance): * objects-x.c (x_finalize_color_instance): * objects-x.c (x_valid_color_name_p): * objects-x.c (x_initialize_font_instance): * objects-x.c (x_print_font_instance): * objects-x.c (valid_x_font_name_p): * objects-x.c (truename_via_FONT_prop): * objects-x.c (truename_via_random_props): * objects-x.c (truename_via_XListFonts): * objects-x.c (x_font_truename): * objects-x.c (x_font_instance_truename): * objects-x.c (x_font_instance_properties): * objects-x.c (x_list_fonts): * objects-x.c (x_find_charset_font): Mule-ize entire file. [7]. * objects-x.h: Mule-verify. * print.c: * print.c (std_handle_out_external): * print.c (debug_print_no_newline): * print.c (syms_of_print): Output to all debugger kinds in debug-print. Fix console-output code under MSWin to actually work. * process-nt.c (send_signal): * process-nt.c (nt_create_process): Use newer Unicode macros. * process-unix.c (unix_create_process): * process-unix.c (unix_canonicalize_host_name): * process-unix.c (unix_open_network_stream): [7]. * scrollbar-x.c: Mule-verify. * search.c (syms_of_search): [2]. * select-msw.c (mswindows_destroy_selection): Use LIST_LOOP_2. * select-x.c (symbol_to_x_atom): [7]. * select.c (syms_of_select): [2]. * sound.c (Fplay_sound_file): [7]. * specifier.c: * specifier.c (decode_specifier_type): * specifier.c (Fvalid_specifier_locale_type_p): * specifier.c (check_valid_locale_or_locale_type): * specifier.c (decode_locale): * specifier.c (decode_locale_type): * specifier.c (decode_locale_list): * specifier.c (check_valid_domain): * specifier.c (decode_specifier_tag_set): * specifier.c (Fcanonicalize_tag_set): * specifier.c (Fdefine_specifier_tag): * specifier.c (Fspecifier_tag_predicate): * specifier.c (check_valid_inst_list): * specifier.c (check_valid_spec_list): * specifier.c (decode_how_to_add_specification): * specifier.c (check_modifiable_specifier): * specifier.c (specifier_add_spec): * specifier.c (boolean_validate): * specifier.c (display_table_validate): [9]. * specifier.c (syms_of_specifier): Move some symbols to general-slots.h. [2]. * symbols.c: * symbols.c (Fmapatoms): * symbols.c (Fapropos_internal): Add GCPROs. * symbols.c (set_default_buffer_slot_variable): * symbols.c (set_default_console_slot_variable): [1]. * symbols.c (defsymbol_massage_name_1): * symbols.c (defkeyword_massage_name): * symbols.c (deferror_1): * symbols.c (deferror): * symbols.c (deferror_massage_name_and_message): * symeval.h: * symeval.h (DEFSYMBOL): Support DEFSYMBOL*, DEFKEYWORD, DEFERROR * symbols.c (syms_of_symbols): [2]. * symsinit.h: * symsinit.h (init_win32): New. Also new is syms_of_dialog_mswindows. * syswindows.h: Add new Unicode macros, missing Cygwin wide-char functions, convenience conversion macros for Qmswindows_tstr, macros for encapsulating required MSWin <-> Cygwin filename conversions, prototype for dynamically-extracted (not in NT 3.51) functions. * toolbar-x.c: Mule-verify. * tooltalk.c (Fadd_tooltalk_message_arg): * tooltalk.c (Fadd_tooltalk_pattern_attribute): * tooltalk.c (Fadd_tooltalk_pattern_arg): [7]. * tooltalk.c (syms_of_tooltalk): [2]. * unexnt.c: * unexnt.c (unexec): Fix up headers, declaration of unexec() to be more standard. 2000-07-20 Martin Buchholz <martin@xemacs.org> * offix.h: Revert change to guard macros - they're used in offix.c! 2000-07-18 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * lisp.h: Defsubred Fdelete. * console-msw.h: (msprinter_default_printer): Added. * console-msw.c (msprinter_canonicalize_console_connection): (msprinter_canonicalize_device_connection): Added. * device-msw.c (msprinter_default_printer): (Fmswingows_get_default_printer): (signal_enum_priner_error): (Fmswingows_printer_list): Added. 2000-07-19 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.35 is released. 2000-07-19 Martin Buchholz <martin@xemacs.org> * select-x.c (x_handle_selection_request): Text selected in xemacs and pasted into xterm failed to appear. Spelling fixes and cosmetic changes. 2000-07-18 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * event-msw.c (mswindows_drain_windows_queue): Correctly check for XEmacs frame (fix for doubling chars in dialog boxes). 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net> * select.c (select_convert_in, select_convert_out): Don't call intern() every time. * select.c (Qselect_convert_in, Qselect_convert_out): New. * select.c (vars_of_select): Initialise them. 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net> * select.c (selection-coercible-types): New. * select.c (own-selection-internal): * select.c (get-selection-internal): MULE bug fix - these should default to COMPOUND_TEXT and not STRING for MULE. I think. * select.c (select_convert_out): Use selection-coercible-types to find types that we can attempt to perform coercions on. 2000-07-18 Martin Buchholz <martin@xemacs.org> * mule-wnnfns.c: * mule-canna.c: Add coding: cookie to identify encoding. * mule-canna.c (CANNA_mode_keys): make static. Use proper prototypes, even for functions of no arguments. RemOve external prototype for Fding(). * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn. * select.c (syms_of_select): Add missing DEFSUBR. 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net> * select.c (get_selection_internal, own_selection_internal): Make the type default to STRING, rather than placing a nil type into Vselection_alist. 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net> * gpmevent.c (tty_selection_exists_p): * gpmevent.c (tty_own_selection): Updated parameter lists. 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net> * select.h (selection-alist): Removed declaration. * select.h (get_local_selection): * select.c (get_local_selection): Made static. * select.h (convert_selection): Removed declaration. * select.c (convert_selection): Removed. This function belongs in Lisp. * select.h (select_convert_in): Declare. * select.h (select_convert_out): Declare. * select.c (select_convert_in): New. * select.c (select_convert_out): New. New conversion functions for other files to call. * select.h (select_notify_buffer_kill): Declare. * select.c (select_notify_buffer_kill): New. New functions that get called from kill-buffer. * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than X-specific lisp code. * select.h: Declare some of the lisp-visible functions for external use. * select.c (clean_local_selection_data): Removed. This was a disgusting function, and previously should have been in select-x.c in any case. The functionality is now provided in select-convert-from-integer (select.el). * select.c (available-selection-types): Fixed stupidity where INTEGER and ATOM got added twice. Also add STRING when we see an extent. * select.c (get-selection-internal): Removed symbol stripping. No longer causes conversion when data comes from the internal cache. * select.c (syms_of_select): Added new functions. * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote error checking - previously this called abort! * select-x.c (x_own_selection): Changed comment. * select-x.c (x_handle_selection_request): Use select_convert_out. Don't mess with selection-alist; it's an internal variable of select.c. * select-x.c (x_get_foreign_selection): Use select_convert_in. * select-x.c (x_handle_selection_clear): Use get-selection-timestamp, rather than messing with selection-alist. * select-msw.c (mswindows_get_foreign_selection): Use TO_INTERNAL_FORMAT rather than hacking. 2000-07-14 Martin Buchholz <martin@xemacs.org> * process-unix.c (unix_open_multicast_group): (unix_open_multicast_group): Remove useless casts. 2000-07-13 Martin Buchholz <martin@xemacs.org> * sound.c (Fplay_sound): Fix `unused variable' warning. * emacs.c (main): Use correct type for _environ on SCO5. 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net> * console.h (own_selection_method): * console.h (selection_exists_p_method): * console.h (available_selection_types_method): New. * console.h (register_selection_data_type_method): New. * console.h (selection_data_type_name): New. * console-msw.h (mswindows_destroy_selection): Declare it. New function & alist to track GlobalAlloc()'d handles that need releasing when the clipboard data gets replaced or emptied. * event-msw.c (mswindows_wnd_proc): Call it. * lisp.h, general.c (Qappend): New symbol representing a `how-to-add' mode. * select.c (own-selection-internal): * select.c (selection-exists-p): * select.c (available-selection-types): New. * select.c (register-selection-data-type): New. * select.c (selection-data-type-name): New. New functions to deal with device-specific selection data formats. * select.c (selection-converter-out-alist): Renamed. * select.c (selection-converter-in-alist): New. * select.c (selection-appender-alist): New. Added new alists. * select.c (syms_of_select, vars_of_select): Added new symbols & variables. * select.c (get_local_selection): Split. * select.c: Removed spurious type checking - selections may now be of any type, not just strings. * select.c (own-selection-internal): * select.h, select.c (convert_selection): New. Created convert_selection() function based on get_local_selection(). * select.h, select.c (QCF_*): New symbols representing mswindows clipboard formats. * select.h, select.c (Qreplace_all, Qreplace_existing): New symbols representing `how-to-add' modes. * select-msw.c (x_sym_p): New. * select-msw.c (symbol_to_ms_cf): New. * select-msw.c (ms_cf_to_symbol): New. New functions to deal with symbols & clipboard formats. Can also handle string names. * select-msw.c (mswindows_own_selection): * select-msw.c (mswindows_selection_exists_p): Added `data-type' parameter. Use it. * select-msw.c (mswindows_available_selection_types): New. * select-msw.c (mswindows_register_selection_data_type): New. * select-msw.c (mswindows_selection_data_type_name): New. * select-msw.c (mswindows_own_selection): * select-msw.c (mswindows_get_foreign_selection): * select-msw.c (mswindows_selection_exists_p): Rewrote. * select-msw.c (console_create_select_mswindows): Added new methods. * select-msw.c (mswindows_destroy_selection): New. * select-msw.c (Vhandle_alist): New list. * select-msw.c (mswindows_own_selection): * select-x.c (x_own_selection): * select-x.c (x_selection_exists_p): * select-x.c: Added some comments about maybe using new functionality. * select-x.c (x_own_selection): * specifier.c: Remove definition of Qappend (now in general.c) * specifier.c (syms_of_specifier): Remove Qappend. 2000-07-12 Martin Buchholz <martin@xemacs.org> * config.h.in: Add socklen_t. * s/decosf4-0.h: No special compiler flags needed or desired. In particular, undefine _BSD for DEC OSF 4.0. 2000-07-07 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * redisplay-msw.c (msprinter_frame_output_end): Added. (console_type_create_redisplay_mswindows): Referred the above. * frame.c (setup_frame_without_minibuffer): Do not create a default minibuffer frame on a printer device. * frame-msw.c (apply_dc_geometry): Added. (msprinter_start_page): (msprinter_init_frame_3): (msprinter_eject_page): Use it. * console-msw.h (struct msprinter_frame): Added pix_left and top, and removed residual duplex and orientation properties. 2000-07-11 Martin Buchholz <martin@xemacs.org> * eval.c (function_argcount): Work around a DEC CC compiler bug. * unexalpha.c: Remove system prototypes from C sources! 2000-07-09 Adrian Aichner <aichner@ecf.teradyne.com> * eval.c: Remove references to M-x edit-options in DEFUNs for `defvar' and `defconst'. 2000-07-09 Martin Buchholz <martin@xemacs.org> * config.h.in: Remove SMART_INCLUDE hackery. PostgreSQL hacking: * config.h.in: Don't use SMART_INCLUDE. * postgresql.h: Include libpq-fe.h here. Fix typo. * inline.c: Simply #include "postgresql.h" * postgresql.c: - Don't use SMART_INCLUDE - Use simply "const". - Use standard doc string conventions. - Use correct type for result of PQstatus. 2000-07-09 Martin Buchholz <martin@xemacs.org> * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings. C++ compilation changes. * config.h.in (EXTERN_C): Define. * config.h.in (not): This is also a C++ keyword. * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation. * cm.c: Use EXTERN_C. * redisplay-tty.c: Use EXTERN_C. * sysdep.c: Use EXTERN_C. Remove Gould support. 2000-07-09 Martin Buchholz <martin@xemacs.org> * general.c: Remove duplicate definition for Qfunction. 2000-07-08 Ben Wing <ben@xemacs.org> * device-msw.c (msprinter_init_device): * device-msw.c (sync_printer_with_devmode): * device-msw.c (handle_devmode_changes): * device-msw.c (print_dialog_worker): * device-msw.c (Fmsprinter_apply_settings): * device-msw.c (hash_devmode): * device-msw.c (Fmsprinter_settings_despecialize): use Qmswindows_tstr, not Qctext. * vm-limit.c (check_memory_limits): avoid infinite loop printing warning messages. 2000-07-05 Craig Lanning <lanning@scra.org> * Makefile.in.in: Add support for including the Windows resources when building with the cygwin and mingw targets. * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either not set or not correct. (directory_is_current_directory): Don't compile for WIN32_NATIVE. (init_initial_directory): Don't try to use $PWD on the WIN32_NATIVE target. * s\cygwin32.h: [[Add -mwindows to eliminate console window.]] not required --ben (HAVE_NATIVE_SOUND): removed; now handled by configure. (MAIL_USE_POP): removed; now handled by configure. * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in C_SWITCH_SYSTEM or it will affect lib-src progs. --ben (HAVE_NATIVE_SOUND): removed; now handled by configure. (MAIL_USE_POP): removed; now handled by configure. (ENCAPSULATE_STAT): from Dan Holmsand, added. (ENCAPSULATE_FSTAT): from Dan Holmsand, added. (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of constant string. (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked up from <winsock.h> via systime.h. (HAVE_GETPAGESIZE): from Dan Holmsand, added. (getpagesize): from Dan Holmsand, added. Added #endif which was left dangling by Ben's mega patch; added comment to help prevent this in the future. * sysdll.c: added #include <windows.h> for WIN32_NATIVE case. 2000-07-05 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * console-msw.h (struct mswindows_device): Removed unnecessary cached device geometry values. Added update_tick and an accessor macro. (Lisp_Devmode): Added lrecord declaration. (struct msprinter_device): Contain devmode as a Lisp object. Added mswindows_get_selected_frame_hwnd(); * console.h (struct console_methods): Indentation nitpicking. * device-msw.c (mswindows_init_device): Do not initialize geometry cache. Initialize update tick. (mswindows_device_system_metrics): Ask the device for its geometry. (global_free_2_maybe): (devmode_to_hglobal): (handle_printer_changes): (ensure_not_printing): (print_dialog_worker): (Fmsprinter_print_setup_dialog): (Fmsprinter_print_dialog): (plist_get_margin): (plist_set_margin): (Fmsprinter_page_setup_dialog): Added functions. (sync_printer_with_devmode): (handle_devmode_changes): (Fmsprinter_get_settings): (Fmsprinter_select_settings): (Fmsprinter_apply_settings): (allocate_devmode): (Fmsprinter_settings_copy): (Fmsprinter_settings_despecialize): (print_devmode): (finalize_devmode): (equal_devmode): (hash_devmode): Added functions (syms_of_device_mswindows): Init devmode lrecord class. * device.h: Added an exfun for find-device. * event-msw.c (mswindows_wnd_proc): Do not update the cached geometry; although, recreate the device compatible DC. * frame-msw.c (mswindows_get_selected_frame_hwnd): Added. (msprinter_init_frame_3): (msprinter_frame_property): (msprinter_internal_frame_property_p): (msprinter_frame_properties): (msprinter_set_frame_properties): Removed 'orientation and 'duplex print job properties (will move to device settings). * lisp.h: Added symbols. * general.c (syms_of_general): Declared them. * hash.c (string_hash): Added. * lrecord.h (lrecord_type): Added devmode lrecord type. 2000-07-02 Mike Sperber <mike@xemacs.org> * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on FreeBSD 4.0. 2000-06-07 MORIOKA Tomohiko <tomo@etl.go.jp> * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative integer. 2000-06-07 MORIOKA Tomohiko <tomo@urania.m17n.org> * data.c (Fstring_to_number): Don't recognize floating point if base is not 10. 2000-06-22 Martin Buchholz <martin@xemacs.org> * glyphs-widget.c (tab_control_query_geometry): (widget_query_geometry): (button_query_geometry): * glyphs.c (text_query_geometry): Enforce type correctness. 2000-06-18 Martin Buchholz <martin@xemacs.org> * s/decosf4-0.h (_etext): Use portable _etext instead of etext. * s/decosf4-0.h (_edata): Use portable _edata instead of edata. 2000-06-17 Martin Buchholz <martin@xemacs.org> * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this conflicts with gcc's fixincluded version of FOO.h. * glyphs.h (image_instance_geometry): Remove trailing `,' 2000-06-08 Mike Alexander <mta@arbortext.com> (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size (shove_thread): Don't write the same output twice (make_ntpipe_output_stream): Increase priority of shove thread (ntpipe_shove_writer): Call SwitchToThread to give shove thread a chance to run (ntpipe_shove_closer): Don't delete the pipe until we're done with it. 2000-06-12 Ben Wing <ben@xemacs.org> * s\mingw32.h (sigset): * s\windowsnt.h (sigset): rename msw_ to mswindows_ for consistency with general convention. 2000-06-12 Ben Wing <ben@xemacs.org> * console-msw.c: * console-msw.c (mswindows_get_console_hwnd): * console-msw.c (mswindows_ensure_console_allocated): * console-msw.c (mswindows_hide_console): * console-msw.c (mswindows_show_console): * console-msw.c (mswindows_ensure_console_buffered): * console-msw.c (mswindows_output_console_string): * console-msw.c (mswindows_windows9x_p): * console-msw.h: * device-msw.c (mswindows_get_workspace_coords): * device-msw.c (mswindows_device_system_metrics): * dialog-msw.c (mswindows_popup_dialog_box): * event-msw.c (mswindows_wnd_proc): * frame-msw.c (mswindows_size_frame_internal): * menubar-msw.c (mswindows_translate_menu_or_dialog_item): * menubar-msw.c (displayable_menu_item): * menubar-msw.c (mswindows_char_is_accelerator): * nt.c: * nt.c (mswindows_sigset): * nt.c (mswindows_sigrelse): * nt.c (mswindows_sigpause): * nt.c (mswindows_raise): * nt.c (timer_proc): * ntproc.c: * ntproc.c (find_child_console): * ntproc.c (sys_kill): * print.c: * print.c (std_handle_out_external): * process-nt.c (find_child_console): * process-nt.c (send_signal_the_95_way): * process-nt.c (ensure_console_window_exists): * process-nt.c (nt_create_process): * syssignal.h: rename msw_ to mswindows_ for consistency with general convention. * emacs.c: * dumper.c: include nt.h, not syswindows.h. * nt.c (mswindows_fstat): * nt.c (mswindows_stat): prefix mswindows_ instead of attempting to directly override the library functions. fix declarations. * nt.h: include syswindows.h. move some sysdep.h stuff here. * ntheap.h: include syswindows.h, not <windows.h>. * ntplay.c: clean up headers. * sysdep.c: clean up headers. * sysdep.c (sys_fstat): * sysdep.c (sys_stat): call mswindows versions when appropriate. * sysdep.h: move mswin decls to nt.h. * syswindows.h: add long comment describing appropriate use of the various windows headers. 2000-06-11 Ben Wing <ben@xemacs.org> * device-x.c: Correct doc string for sixth arg of x-get-resource. 2000-06-10 Ben Wing <ben@xemacs.org> * Makefile.in.in (release): Correction to make sure xemacs.exe always dumped when correct. * alloca.c: * balloon_help.c: [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT. * buffer.c (set_buffer_internal): [[[[2]]]]: Remove HAVE_FEP code. * buffer.c (init_initial_directory): [3]. * bytecode.c: [[[[4]]]]: limits.h standardly included in lisp.h; remove from individual files. * callproc.c: * callproc.c (call_process_cleanup): * callproc.c (Fold_call_process_internal): * callproc.c (child_setup): * callproc.c (getenv_internal): * callproc.c (init_callproc): * callproc.c (vars_of_callproc): [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE. __CYGWIN32__ -> CYGWIN. DOS_NT -> WIN32_NATIVE. Remove MSDOS support/references, converting to WIN32_NATIVE where correct. __MINGW32__ -> MINGW. Fix windows.h includes. Remove bogus HAVE_NTGUI. * config.h.in: [2]. * console-msw.c: mswindows_message_outputted added for use in allowing startup errors on the console to be seen. * console-msw.c (msw_ensure_console_allocated): * console-msw.c (msw_output_console_string): * console-msw.c (DHEADER): * console-msw.c (DOPAQUE_DATA): * console-msw.c (DEVENT): * console-msw.c (DCONS): * console-msw.c (DCONSCDR): * console-msw.c (DSTRING): * console-msw.c (DVECTOR): * console-msw.c (DSYMBOL): * console-msw.c (DSYMNAME): Fix warnings. * console-stream.c (stream_init_console): Fix text/binary problems. * device-msw.c: * device-msw.c (mswindows_finish_init_device): * device-msw.c (mswindows_delete_device): [1]. * device.c (handle_asynch_device_change): [3]. * dgif_lib.c: * dgif_lib.c (DGifOpenFileName): * dgif_lib.c (DGifOpenFileHandle): * dgif_lib.c (DGifGetLine): * dgif_lib.c (DGifGetPixel): Added config.h/lisp.h, fix up includes. [1]. * dired-msw.c: [4]. * dired.c: * dired.c (file_name_completion): * dired.c (Ffile_attributes): * dired.c (syms_of_dired): [1]. * dumper.c: * dumper.c (pdump_file_unmap): * dumper.c (pdump_load): [1]. * editfns.c: * editfns.c (Ftemp_directory): * editfns.c (user_login_name): * editfns.c (Fuser_real_login_name): * editfns.c (get_home_directory): [1]. * elhash.c (finish_marking_weak_hash_tables): [[[[5]]]]: Fix GCC warnings. * emacs.c: * emacs.c (mswindows_handle_hardware_exceptions): * emacs.c (make_arg_list_1): * emacs.c (main_1): * emacs.c (Fkill_emacs): * emacs.c (Fdump_emacs): [1]. Fix problems with nested crashes, add long comment. * event-Xt.c (init_event_Xt_late): [1]. * event-msw.c: * event-msw.c (mswindows_dde_callback): * event-msw.c (mswindows_handle_sticky_modifiers): * event-msw.c (mswindows_wnd_proc): [1]. [5]. * events.c (character_to_event): [1]. * fileio.c: * fileio.c (Ffile_name_directory): * fileio.c (Ffile_name_nondirectory): * fileio.c (directory_file_name): * fileio.c (Fexpand_file_name): * fileio.c (Fsubstitute_in_file_name): * fileio.c (Ffile_name_absolute_p): * fileio.c (check_executable): * fileio.c (Ffile_readable_p): * fileio.c (Ffile_accessible_directory_p): * fileio.c (Ffile_modes): * fileio.c (Funix_sync): * fileio.c (vars_of_fileio): [1]. [4]. [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h. Expand getdefdir defn. Fix bogus rename() comment. [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc. Attempt to use standard XEmacs include files, e.g. sysfile.h, rather than system-specific includes. * fns.c: * fns.c (Fsubseq): [5]. [6]. * frame.c (vars_of_frame): [1]. * getloadavg.c: * getloadavg.c (getloadavg): [1]. [6]. #ifdef XEMACS not defined on Cygwin. Remove this; no need for it. (We don't use it elsewhere in the code; just add a comment.) * gif_io.c: [6]. Add config.h. * glyphs-msw.c: * glyphs-msw.c (mswindows_resource_instantiate): [1]. * glyphs-x.c (x_native_layout_instantiate): [5]. * gui-msw.c (Fmswindows_shell_execute): [1]. * insdel.c: [4]. * lisp.h: [4]. [5]. * lread.c (locate_file_in_directory_mapper): [1]. * lstream.c: [4]. * mem-limits.h: * mem-limits.h (get_lim_data): [1]. * menubar-msw.c: [4]. * ndir.h: [1]. * nt.c: * nt.c (getwd): * nt.c (closedir): * nt.c (rva_to_section): * nt.c (mswindows_executable_type): [1]. [6]. Fix closedir() defn. * nt.h: [[[[8]]]]: *_OK defs moved to sysfile.h. * ntproc.c: [6]. [7]. * objects-x.c: [4]. * print.c: * print.c (std_handle_out_external): [1]. [4]. * process-nt.c: * process-nt.c (nt_create_process): [6]. try to fix process quoting somewhat. * process-unix.c (unix_create_process): [1]. * process.c: * process.c (vars_of_process): Add Vnull_device. * process.h: [1]. * realpath.c: * realpath.c (xrealpath): [1]. * redisplay-tty.c (init_tty_for_redisplay): [3]. * redisplay.c: [4]. [6]. * scrollbar-msw.c: [4]. * sheap.c: * sheap.c (more_static_core): * sheap.c (report_sheap_usage): [5]. [6]. * signal.c: * signal.c (alarm_signal): [1]. [6]. * sound.c: [6]. * strftime.c: * strftime.c (zone_name): [1]. [5]. * symsinit.h (init_sunpro): [1]. * syscommctrl.h: commctrl.h not in Cygwin b20.1. * sysdep.c: * sysdep.c (endif): * sysdep.c (sys_subshell): * sysdep.c (init_baud_rate): * sysdep.c (emacs_get_tty): * sysdep.c (emacs_set_tty): * sysdep.c (tty_init_sys_modes_on_device): * sysdep.c (init_system_name): * sysdep.c (sys_open): * sysdep.c (interruptible_open): * sysdep.c (sys_fopen): * sysdep.c (sys_mkdir): * sysdep.c (sys_rename): * sysdep.c (get_process_times_1): [1]. [6]. * sysdep.h: [1]. * sysdir.h: * sysdir.h (DIRENTRY_NONEMPTY): [1]. [6]. * sysdll.c (dll_init): * sysdll.h: [1]. * sysfile.h: [1]. [6]. [8]. added text/binary defs. * sysfloat.h: [1]. * sysproc.h: * sysproc.h (EDESTADDRREQ): * sysproc.h (poll_fds_for_input): [1]. [6]. * syspwd.h: [6]. * syssignal.h: [1]. * systime.h: [1]. [6]. * systty.h: [1]. * syswindows.h: [1]. Always define WIN32_LEAN_AND_MEAN. * unexcw.c (unexec): [5]. * unexec.c: * unexec.c (copy_text_and_data): * unexec.c (adjust_lnnoptrs): [1]. * unexnt.c: * unexnt.c (_start): [1]. 2000-06-07 Ben Wing <ben@xemacs.org> * mule-mcpath.c, mule-mcpath.h: Removed. Old, crufty code that was used only as a model. We've long since extracted any useful logic or code out of this. (I just did an exhaustive search.) * s\msdos.h: Removed. * s\windows95.h: Removed. 2000-06-10 Ben Wing <ben@xemacs.org> * s\cygwin32.h: [1]. [5]. Don't use extern with fun defs. * s\mingw32.h: [1]. [7]. Remove nt\inc include. Remove getdisk, getdefdir. (The former is unused, the latter expanded in fileio.h.) * s\windowsnt.h: * s\windowsnt.h (WIN32_NATIVE): * s\windowsnt.h (HAVE_STRCASECMP): [1]. [7]. Add long comment about preprocessor changes. Remove getdisk, getdefdir. (The former is unused, the latter expanded in fileio.h.) 2000-06-10 Ben Wing <ben@xemacs.org> * m\arm.h: * m\delta.h: * m\intel386.h: * m\sequent.h: * m\template.h: * m\windowsnt.h: [1]. Remove bogus/unused NO_SOCK_SIGIO. 2000-06-08 Hrvoje Niksic <hniksic@iskon.hr> * lisp.h (set_string_char): Call set_string_byte with a Bufbyte, not an Emchar. 2000-06-04 Mike Sperber <mike@xemacs.org> * casetab.c (set_case_table): For `set-standard-case-table', actually deposit the new case tables where the rest of XEmacs can see them. 2000-06-05 Yoshiki Hayashi <yoshiki@xemacs.org> * data.c (Faset): Don't cast XCHAR() to unsigned char. 2000-06-05 Ben Wing <ben@xemacs.org> * callproc.c (child_setup): Don't do close_load_descs() under MS Windows. Put in a comment explaining why. 2000-05-28 Adrian Aichner <aichner@ecf.teradyne.com> * process-nt.c: Reverting patch "Fixing nt_create_process for MKS Toolkit shell" which breaks `kill-compilation' on Windows NT native, retaining STDERR handling improvements. 2000-06-01 Andreas Jaeger <aj@suse.de> * s/s390.h: Support for S390, based on a patch by Martin Schwidefsky <schwidefsky@de.ibm.com>. 2000-05-30 Andy Piper <andy@xemacs.org> * window.c (allocate_window): (make_dummy_parent): (Fset_window_configuration): use new hashtable type. * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY): (struct image_instantiator_methods): (struct Lisp_Image_Instance): make instance geometry signed. * glyphs.c (instantiate_image_instantiator): (image_instance_query_geometry): (image_instance_layout): (image_instance_layout): (query_string_geometry): (text_query_geometry): (image_instantiate): (image_instantiate): (cache_subwindow_instance_in_frame_maybe): (subwindow_query_geometry): make instance geometry signed. * glyphs-widget.c (widget_query_geometry): (widget_layout): (button_query_geometry): (tree_view_query_geometry): (tab_control_query_geometry): (layout_query_geometry): (layout_layout): (native_layout_layout): make instance geometry signed. 2000-05-29 Olivier Galibert <galibert@pobox.com> * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC constant. * general.c (syms_of_general): Add Qfull_assoc symbol. * data.c (finish_marking_weak_lists): Mark full-assoc lists correctly. (decode_weak_list_type): Decode full-assoc type. (encode_weak_list_type): Encode full-assoc type. (Fmake_weak_list): Update doc string. 2000-05-30 Andy Piper <andy@xemacs.org> * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable. * elhash.c (print_hash_table): new KEY_VALUE weak hashtable. (decode_hash_table_weakness): ditto. (Fhash_table_weakness): ditto. (Fhash_table_type): ditto. (finish_marking_weak_hash_tables): ditto. (hash_table_weakness_validate): ditto. (syms_of_elhash): ditto. 2000-05-28 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.34 is released. 2000-05-22 Jan Vroonhof <vroonhof@math.ethz.ch> * redisplay.c (VERTICAL_CLIP): No longer reset when updating line start cache. (updating_line_start_cache): Gone. (regenerate_window): Replace resetting of VERTICAL_CLIP by generic code to force a minimum of 1 line laid out in the CMOTION_DISP case. 2000-05-22 Jan Vroonhof <vroonhof@math.ethz.ch> * glyphs.c (instantiate_image_instantiator): Check for initialized height & width no longer special cases IMAGE_NOTHING. (nothing_instantiate): Set height and width of instance. 2000-05-24 Yoshiki Hayashi <yoshiki@xemacs.org> * unexelf.c (unexec): Search for ".data" section. Initialize new_data2_offset from old_data_index. Remove redundant check for ElfW. 2000-05-23 Andy Piper <andy@xemacs.org> * glyphs.c (get_image_instantiator_governing_domain): allow more specific domains as the governing domain rather than expecting an exact match. This fixes problems with layouts. 2000-05-22 Andy Piper <andy@xemacs.org> * redisplay-output.c (compare_runes): check for non-images * glyphs.c (set_glyph_dirty_p): ditto. (update_glyph_cachel_data): ditto. * glyphs-widget.c (layout_post_instantiate): ditto. (layout_post_instantiate): ditto. * event-msw.c (mswindows_wnd_proc): warning removal. 2000-05-12 Craig Lanning <CraigL@DyCon.com> * s\mingw32.h: Added #undef for CLASH_DETECTION. * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h. * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h. * nt.c (rva_to_section): mingw32 needs rva_to_section. (mswindows_executable_type): mingw32 now has enough headers for this to work. 2000-05-20 Andy Piper <andy@xemacs.org> * console-msw.c (mswindows_output_last_error): ; -> , 2000-05-12 Andy Piper <andy@xemacs.org> * console-msw.c (FROB): compare ints with ints. 2000-05-11 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_finalize_image_instance): make minimal build happy. 2000-05-20 Ben Wing <ben@xemacs.org> * event-Xt.c: * event-Xt.c (vars_of_event_Xt): move modifier-keys-are-sticky to event-stream.c. * event-msw.c: * event-msw.c (mswindows_enqueue_mouse_button_event): * event-msw.c (key_needs_default_processing_p): * event-msw.c (XEMSW_LCONTROL): * event-msw.c (mswindows_handle_sticky_modifiers): * event-msw.c (FROB): * event-msw.c (clear_sticky_modifiers): * event-msw.c (output_modifier_keyboard_state): * event-msw.c (output_alt_keyboard_state): * event-msw.c (mswindows_wnd_proc): * event-msw.c (mswindows_modifier_state): * event-msw.c (emacs_mswindows_handle_magic_event): implement sticky modifiers. * event-stream.c: * event-stream.c (vars_of_event_stream): move modifier-keys-are-sticky here. * lisp.h: add CHECK_FUNCTION. * rangetab.c: implement map-range-table. 2000-05-17 Yoshiki Hayashi <yoshiki@xemacs.org> * redisplay-tty.c (reset_tty_modes): (tty_redisplay_shutdown): Adjust argument type to tty_frame_output_end. 2000-05-11 Yoshiki Hayashi <yoshiki@xemacs.org> * eval.c (Fbacktrace): Don't output a line with only right parenthesis. 2000-05-17 Kenji Itoh <keit@tpj.co.jp> * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'. (Fpq_reset_poll): Ditto. 2000-05-16 Katsumi Yamaoka <yamaoka@jpl.org> * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end. 2000-05-16 Ben Wing <ben@xemacs.org> * buffer.c: * buffer.c (dfc_convert_to/from_internal_format): * buffer.c (reinit_vars_of_buffer): Fix conversion functions to allow reentrancy. * console-msw.c: * console-msw.c (mswindows_output_last_error): New fun, generally useful -- output a human-readable version of GetLastError() on the console. * console-msw.h: * console-msw.h (struct mswindows_frame): Changes for DeferWindowPos. Declare mswindows_output_last_error(). * console-stream.c (stream_output_begin): * console-stream.c (stream_output_end): * console-stream.c (stream_output_vertical_divider): * console-stream.c (stream_clear_region): * console-stream.c (stream_flash): * console-stream.c (console_type_create_stream): Delete blank stream methods, not needed. * console.h (struct console_methods): Split begin/end methods into window and frame. * event-msw.c: * event-msw.c (mswindows_handle_paint): * event-msw.c (output_alt_keyboard_state): * event-msw.c (mswindows_wnd_proc): * event-msw.c (vars_of_event_mswindows): Comment about problems with ignored-expose. Define mswindows-debug-events; not really implemented. * frame-msw.c (mswindows_init_frame_1): random cleanups. * glyphs-msw.c: * glyphs-msw.c (begin_defer_window_pos): * glyphs-msw.c (mswindows_unmap_subwindow): * glyphs-msw.c (mswindows_map_subwindow): * glyphs-msw.c (mswindows_resize_subwindow): Use DeferWindowPos to reduce flashing when mapping/unmapping. * glyphs.c (make_image_instance_1): Fix crash. * gutter.c (Fredisplay_gutter_area): Use new begin/end methods. * lisp.h (Dynarr_new2): New creation fun. * redisplay-msw.c: * redisplay-msw.c (mswindows_frame_output_begin): * redisplay-msw.c (mswindows_frame_output_end): * redisplay-msw.c (console_type_create_redisplay_mswindows): New begin/end methods -- handle DeferWindowPos. * redisplay-output.c (redisplay_move_cursor): * redisplay-output.c (redraw_cursor_in_window): * redisplay-output.c (redisplay_update_line): * redisplay-output.c (redisplay_output_window): New begin/end methods. * redisplay-tty.c: * redisplay-tty.c (tty_frame_output_begin): * redisplay-tty.c (tty_frame_output_end): * redisplay-tty.c (console_type_create_redisplay_tty): New begin/end methods. * redisplay-x.c: * redisplay-x.c (x_window_output_begin): * redisplay-x.c (x_window_output_end): * redisplay-x.c (console_type_create_redisplay_x): New begin/end methods. * redisplay.c (redisplay_frame): * redisplay.c (Fredisplay_echo_area): New begin/end methods. use MAYBE_DEVMETH for clear_frame; it may not exist. * window.h (WINDOW_XFRAME): WINDOW_XFOO macros -- get locale and decode struct pointer. 2000-05-12 Ben Wing <ben@xemacs.org> * emacs.c: * emacs.c (ensure_no_quitting_from_now_on): * emacs.c (fatal_error_signal): * emacs.c (mswindows_handle_hardware_exceptions): * emacs.c (main): * emacs.c (Fkill_emacs): * emacs.c (shut_down_emacs): * emacs.c (assert_failed): various improvements in fatal error handling. * eval.c: move preparing_for_armageddon to emacs.c. * lisp.h: declare fatal_error_in_progress. * print.c: * print.c (std_handle_out_external): * print.c (std_handle_out_va): * print.c (stderr_out): * print.c (stdout_out): use console under mswin when no standard output. don't do code conversion during fatal error. * scrollbar.c (Fscrollbar_page_up): * scrollbar.c (Fscrollbar_page_down): fix missing else. reindent. 2000-05-11 Jan Vroonhof <vroonhof@math.ethz.ch> Emergency fix. * glyphs.h (GLYPH_CACHEL_DESCENT): (GLYPH_CACHEL_DESCENT): (GLYPH_CACHEL_DESCENT): * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables used in case these are inline functions. Use more absurd values to error check. include window.h for error check functions. 2000-05-11 Ben Wing <ben@xemacs.org> * cmdloop.c (Freally_early_error_handler): Display message box under windows; otherwise, message will disappear before it can be viewed. * console-msw.c: * console-msw.c (Fmswindows_message_box): * console-msw.c (FROB): * console-msw.c (syms_of_console_mswindows): Define new fun `mswindows-message-box'. #### I will merge this into `popup-dialog-box'; just give me a bit of time. * general.c: * general.c (syms_of_general): Some new symbols used in `mswindows-message-box'. * glyphs.c: * glyphs.c (Fset_image_instance_property): put warning in this fun. * glyphs.h: * glyphs.h (GLYPH_CACHEL_WIDTH): * glyphs.h (GLYPH_CACHEL_ASCENT): * glyphs.h (GLYPH_CACHEL): * glyphs.h (GLYPH_CACHEL_GLYPH): define error-checking versions to try to catch a bug i've seen -- redisplay gets in an infinite loop because the glyph width of the continuation glyph is 65535. * lisp.h: Extern message-box stuff. * window.c (allocate_window): * window.c (make_dummy_parent): * window.c (Fset_window_configuration): Use EQUAL not EQ for subwindow caches to make them work a bit better. (Something is still very broken.) 2000-05-11 Yoshiki Hayashi <yoshiki@xemacs.org> * glyphs.c (image_instantiate): Suppress gcc warnings. (Fmake_image_instance): Fix doc string. * specifier.c (Fmake_specifier): Ditto. 2000-05-02 Yoshiki Hayashi <yoshiki@xemacs.org> * paths.h.in (PATH_LOCK): Removed. * config.h.in (LOCKDIR_USER_DEFINED): Removed. * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory. 2000-05-08 Yoshiki Hayashi <yoshiki@xemacs.org> * fns.c (Ffeaturep): Update e-mail address in doc-string. Document (featurep '(and xemacs 21.02)). 2000-05-09 Ben Wing <ben@xemacs.org> * buffer.c (complex_vars_of_buffer): update modeline-format doc. * device.h: comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE. * emacs.c: timeline of all released versions of Emacs, for use in creating authorship comments and in synching up. * glyphs-widget.c (image_instantiator_buttons): * glyphs-widget.c (image_instantiator_edit_fields): * glyphs-widget.c (image_instantiator_combo_box): * glyphs-widget.c (image_instantiator_scrollbar): * glyphs-widget.c (image_instantiator_progress_guage): * glyphs-widget.c (image_instantiator_tree_view): * glyphs-widget.c (image_instantiator_tab_control): * glyphs-widget.c (image_instantiator_labels): * glyphs-widget.c (image_instantiator_layout): * glyphs-widget.c (image_instantiator_native_layout): rename decode_domain method to governing_domain. * glyphs.c: * glyphs.c (Fvalid_image_instantiator_format_p): doc update. * glyphs.c (add_entry_to_device_ii_format_list): make sure we don't put an entry more than once into the list. * glyphs.c (check_instance_cache_mapper): ************************************************************* allow for nil. THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE HAVE BEEN GETTING. ************************************************************* * glyphs.c (get_image_instantiator_governing_domain): clean up, expand on new concept of governing domain. * glyphs.c (instantiate_image_instantiator): * glyphs.c (allocate_image_instance): use governing_domain instead of cache_domain in naming. * glyphs.c (Fvalid_image_instance_type_p): fix docs. * glyphs.c (make_image_instance_1): * glyphs.c (Fmake_image_instance): allow for any domain (not just device), and process the governing domain correctly. very big doc fix. * glyphs.c (Fimage_instance_domain): new primitive, to retrieve the governing domain of an image instance. * glyphs.c (image_instantiate): use new governing_domain stuff. this fixes a crash you could get by instantiating certain widget glyphs in frame locales. (should signal an error instead of crashing.) * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier. * glyphs.c (Fglyphp): clean up doc. * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain. * glyphs.c (syms_of_glyphs): declare Fimage_instance_domain, remove unused Qlayout_image_instance_p. * glyphs.c (image_instantiator_format_create): add some comments about bogus code. * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string for current-display-table. (Apparently Hrjove implemented in 1998 a design I wrote up in 1996, but didn't update the doc string.) * glyphs.h: clean up a doc string. * glyphs.h (governing_domain): * glyphs.h (struct image_instantiator_methods): changes for governing_domain stuff. * gutter.c: * gutter.c (Fgutter_specifier_p): * gutter.c (Fgutter_size_specifier_p): * gutter.c (Fgutter_visible_specifier_p): * objects.c: * objects.c (Fcolor_specifier_p): * objects.c (Ffont_specifier_p): * objects.c (Fface_boolean_specifier_p): doc strings moved to make-*-specifier. * redisplay.c (add_disp_table_entry_runes_1): * redisplay.c (generate_fstring_runes): * redisplay.c (screen): add random comments and doc strings. * specifier.c: * specifier.c (Fmake_specifier): major overhaul of this doc string. * specifier.c (Fvalid_specifier_domain_p): comment about the bogosity of image instances being domains. * specifier.c (decode_domain): now non-static, used in glyphs.c. * specifier.c (specifier_instance): comment about the bogosity of image instances being domains. * specifier.c (Fgeneric_specifier_p): move doc string to make-generic-specifier. * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P): rebackslashify. * specifier.h: * specifier.h (DOMAIN_FRAME): * specifier.h (DOMAIN_LIVE_P): * specifier.h (DOMAIN_XDEVICE): rebackslashify. add comments about problems with these macros. prototype for decode_domain. * toolbar.c: * toolbar.c (Ftoolbar_specifier_p): move doc string to `make-toolbar-specifier'. * window.c (window_unmap_subwindows_cache_mapper): ************************************************************* allow for nil. THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE HAVE BEEN GETTING. ************************************************************* 2000-05-09 Andy Piper <andy@xemacs.org> * glyphs.h: declare reset_frame_subwindow_instance_cache. * window.c (Fset_window_configuration): reset the frame subwindow cache and re-initialize the window subwindow caches. * glyphs.c (reset_frame_subwindow_instance_cache): new function. 2000-05-09 Ben Wing <ben@xemacs.org> * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to DWORD. 2000-04-26 Mike Woolley <mike@bulsara.com> * ntheap.c: Changed recreate_heap to limit the amount reserved for the heap to that which is actually available. Also now displays a message box (with some dignostics) in the event that it still can't start. 2000-05-07 Jan Vroonhof <vroonhof@math.ethz.ch> * callproc.c (Fold_call_process_internal): GCPRO path 2000-05-08 Jan Vroonhof <jan@xemacs.org> Patch by Bill Perry. * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call back data instead of #ifdef. (Fscrollbar_page_down): ditto. 2000-05-07 Ben Wing <ben@xemacs.org> * buffer.h: Kludge for defining Qmswindows_tstr. * nt.c: * nt.c (open_input_file): * nt.c (open_output_file): * nt.c (rva_to_section): * nt.c (mswindows_executable_type): Move all memory-mapped-file routines here (some were in unexnt.c, which is bad because they are used by process-nt.c, and unexnt won't be around when portable dumping). Synched the above routines with FSF 20.6. * nt.h: Removed ifdef'd out bogus code. Fixed some prototypes. * nt.h (file_data): * nt.h (OFFSET_TO_RVA): * nt.h (RVA_TO_OFFSET): * nt.h (RVA_TO_PTR): Moved the memory-mapped-file structures, macros and prototypes here, to parallel nt.c. ntheap.h should really be removed entirely, and it's a non-portable-dumper specific file. * ntheap.h (round_to_next): Moved the memory-mapped-file structures, macros and prototypes to nt.h. * ntproc.c (compare_env): Moved rva_to_section and mswindows_executable_type to nt.c. Moved compare_env to process-nt.c. ntproc.c will die, one day. * ntproc.c (sys_spawnve): Account for win32_ -> mswindows_. * process-nt.c: * process-nt.c (struct nt_process_data): * process-nt.c (ensure_console_window_exists): * process-nt.c (compare_env): * process-nt.c (nt_create_process): * process-nt.c (nt_kill_process_by_pid): * process-nt.c (syms_of_process_nt): * process-nt.c (vars_of_process_nt): Introduce variable `mswindows-quote-process-args', from FSF 20.6. Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization changes). Eliminate our old `nt-quote-process-args' mechanism. Synch up nt_create_process with FSF 20.6 sys_spawnve. Move compare_env here from ntproc.c. * process.c (Fprocess_send_region): Takes an optional fourth argument, BUFFER, which should fix some problems with call-process. * syscommctrl.h: Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning. * syswindows.h: Move ICC_BAR_CLASSES to syscommctrl.h. Add preliminary macros for MSWindows/Mule. More to come. * unexnt.c: * unexnt.c (unexec): open_output_file moved to nt.c. 2000-05-05 Andy Piper <andy@xemacs.org> * window.c (window_unmap_subwindows_cache_mapper): remove the dead instance from the frame cache also since GC may catch up too late to make frame deletion sane. 2000-05-04 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks. (x_finalize_image_instance): ungcpro on deletion. * glyphs.c (image_instantiator_format_create): give pointers a query geometry method so that the geometry is at least set. * glyphs-x.c (image_instantiator_format_create_glyphs_x): only initialize layouts if using widgets. 2000-05-03 Andy Piper <andy@xemacs.org> * nt.c: remove bogus reference to sysmmsystem.h * gui-x.c (popup_selection_callback): fix no selection abort. 2000-05-02 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_update_widget): cope with nil text. (mswindows_widget_instantiate): ditto. * glyphs-widget.c (initialize_widget_image_instance): initialize children correctly. (widget_instantiate): cope with children and items in the same instance. * glyphs.c (mark_image_instance): cope with children as a first class member. (image_instance_equal): ditto. (image_instance_hash): ditto. (image_instance_changed): ditto. 2000-04-30 Andy Piper <andy@xemacs.org> * glyphs.c (subwindow_query_geometry): new function. Return some defaults. (subwindow_instantiate): don't assign dimensions if none have been given. (image_instantiator_format_create): add subwindow_query_geometry. (print_image_instance): cope with layouts as widgets. 2000-04-29 Andy Piper <andy@xemacs.org> * frame.c (delete_frame_internal): call free_frame_subwindow_instance_cache so that all subwindows are finalized before their parent. (mark_frame): remove subwindow_cachels. (Fmake_frame): remove subwindow_cachel manipulation. (allocate_frame_core): subwindow_instance_cache is a weak list. (delete_frame_internal): set subwindow_instance_cache to nil. * glyphs-msw.c (mswindows_finalize_image_instance): make double finalization safe. (mswindows_finalize_image_instance): use the device not the domain as the domain may have died already. * glyphs-x.c (x_finalize_image_instance): ditto. (x_subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT. * redisplay-output.c (redisplay_unmap_subwindows): update for subwindow instance cache as a weak list. (redisplay_unmap_subwindows_maybe): ditto. (redisplay_unmap_subwindows_except_us): ditto. * glyphs.c (unmap_subwindow): error checking will check the domain so don't deal with it here. Don't use cachels anymore. (map_subwindow): ditto. (update_subwindow_cachel_data): remove old accessor names. (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT. (Fresize_subwindow): don't update cachel. (mark_subwindow_cachels): (update_subwindow_cachel_data): (add_subwindow_cachel): (get_subwindow_cachel_index): (update_subwindow_cachel): (reset_subwindow_cachels): (mark_subwindow_cachels_as_not_updated): deleted. (cache_subwindow_instance_in_frame_maybe): new function. Add a subwindow instance to the frame cache. (find_matching_subwindow): update for subwindow instance cache as a weak list. (update_widget_instances): ditto. (image_instance_type_to_mask):inlined. (free_frame_subwindow_instance_cache): new function. finalize all subwindows that are instantiated. * glyphs.h (struct Lisp_Image_Instance): add display_data instead of cachel information. (IMAGE_INSTANCE_DISPLAY_X): (IMAGE_INSTANCE_DISPLAY_Y): (IMAGE_INSTANCE_DISPLAY_WIDTH): (IMAGE_INSTANCE_DISPLAY_HEIGHT): (XIMAGE_INSTANCE_DISPLAY_X): (XIMAGE_INSTANCE_DISPLAY_Y): (XIMAGE_INSTANCE_DISPLAY_WIDTH): (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors. remove subwindow_cachel structure and function references. (image_instance_type_to_mask): inline from glyphs.c * redisplay.c (redisplay_frame): remove subwindow_cachel references. * frame.h (struct frame): remove subwindow_cachels. (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache. * frameslots.h: add subwindow_instance_cache. * window.c (replace_window): check subwindow cache of replacement. (window_unmap_subwindows_cache_mapper): (window_unmap_subwindows): new functions. Unmap all subwindows cached on this window. (mark_window_as_deleted): unmap all subwindows. 2000-04-27 Andy Piper <andy@xemacs.org> * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths. * glyphs-widget.c (widget_layout): return something. (layout_layout): return something. Fail if not initialized. (layout_query_geometry): ditto. (image_instantiator_native_layout): new function. Initialized the native layout type. (widget_instantiate): don't do layout stuff here. * glyphs.c (instantiate_image_instantiator): reorded calling or instantiate and post_instantiate with layout in between. (image_instance_layout): be more selective about deciding whether the layout has been done or not. * glyphs.h (struct image_instantiator_methods): return a value from layout_method. 2000-04-26 Andy Piper <andy@xemacs.org> * glyphs.c (allocate_image_instance): make initial width and height unspecified. Set initialized to 0. * syscommctrl.h new file. Encapsulates commctrl.h. * syswindows.h new file. Encapsulates windows.h. * ntplay.c: use new syswindows.h and syscommctrl.h header. * nt.c: ditto. * console-msw.h: ditto. * redisplay-tty.c (tty_output_display_block): remove layout references. * glyphs-msw.c (mswindows_widget_instantiate): use the domain window handle rather than just the frame. * glyphs.c (mark_image_instance): remove layout references. (print_image_instance): ditto. (image_instance_equal): ditto. (image_instance_hash): ditto. (decode_image_instance_type): ditto. (encode_image_instance_type): ditto. (image_instantiate): ditto. (allocate_glyph): ditto. (Fimage_instance_height): ditto. (Fimage_instance_width): ditto. (update_subwindow): ditto. * redisplay-x.c (x_output_display_block): recode for layouts as widgets. * redisplay-output.c (redisplay_output_layout): recode for layouts as widgets. (compare_runes): remove layout references. * redisplay-msw.c (mswindows_output_display_block): recode for layouts as widgets. * glyphs-widget.c (image_instantiator_layout): remove layout_possible_dest_types. (layout_possible_dest_types): deleted. * glyphs.h (image_instance_type): remove layout references. (struct Lisp_Image_Instance): ditto. Add initialized flag. (IMAGE_INSTANCE_INITIALIZED): new accessor. (XIMAGE_INSTANCE_INITIALIZED): ditto. 2000-04-25 Andy Piper <andy@xemacs.org> * glyphs-widget.c (image_instantiator_buttons): (image_instantiator_edit_fields): (image_instantiator_combo_box): (image_instantiator_scrollbar): (image_instantiator_progress_guage): (image_instantiator_tree_view): (image_instantiator_tab_control): (image_instantiator_labels): (image_instantiator_layout): call default post_instantiate method. (widget_post_instantiate): new function. Simply lays out the widgets. * glyphs.h (struct image_instantiator_methods): add post_instantiate method. * glyphs.c (instantiate_image_instantiator): add post_instantiate method calls. 2000-04-23 Andy Piper <andy@xemacs.org> * glyphs.h (struct image_instantiator_methods): add decode_domain_method. (struct Lisp_Image_Instance): remove subwindow frame - it can be derived from the domain. (IMAGE_INSTANCE_FRAME): new accessor. (XIMAGE_INSTANCE_FRAME): ditto. * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME instead of _SUBWINDOW_FRAME. (finalize_image_instance): ditto. (Fimage_instance_foreground): ditto. (Fimage_instance_background): ditto. (image_instantiate): ditto. (update_subwindow_cachel): ditto. (update_subwindow): ditto. (unmap_subwindow): ditto. (map_subwindow): ditto (subwindow_instantiate): ditto. * glyphs-msw.c (mswindows_update_widget): ditto. (mswindows_progress_gauge_instantiate): ditto. (mswindows_tab_control_update): ditto. * glyphs-x.c (x_update_widget): ditto. (x_widget_instantiate): ditto. (x_tab_control_instantiate): ditto. (x_tab_control_update): ditto. * event-msw.c (mswindows_wnd_proc): ditto * glyphs-widget.c (image_instantiator_layout): use subwindow_decode_domain. (image_instantiator_buttons): ditto. (image_instantiator_edit_fields): ditto. (image_instantiator_combo_box): ditto. (image_instantiator_scrollbar): ditto. (image_instantiator_progress_guage): ditto. (image_instantiator_tree_view): ditto. (image_instantiator_tab_control): ditto. (image_instantiator_labels): ditto. (image_instantiator_layout): ditto. * glyphs.c: add instance error checking to many functions. (instantiate_image_instantiator): decode device from cache_domain. (image_instantiate): partially rewrite by using decode_image_instantiator_domain to determine what domain the instance needs to be cached in. (decode_image_instantiator_domain): new function. Determine what domain the image needs to be cached in. (check_window_subwindow_cache): new error checking function. (check_instance_cache_mapper): ditto. (check_image_instance_structure): ditto. (subwindow_decode_domain): new function. Encodes a window as a subwindow's cache domain. (image_instantiator_format_create): use it for text and subwindows. 2000-04-21 Andy Piper <andy@xemacs.org> * glyphs.c (image_instance_device): new function. (image_instance_frame): new function. (image_instance_window): new function. (image_instance_live_p): new function. * window.c (mark_window_as_deleted): reset the subwindow_instance_ cache to nil. * glyphs.h (struct Lisp_Image_Instance): device->domain. (IMAGE_INSTANCE_DOMAIN): new accessor. (XIMAGE_INSTANCE_DOMAIN): ditto. * glyphs-x.c (x_finalize_image_instance): device->domain. * glyphs-msw.c (init_image_instance_geometry): device->domain. (mswindows_finalize_image_instance): ditto. * glyphs-eimage.c (jpeg_instantiate): device->domain. (gif_instantiate): ditto. (png_instantiate): ditto. (tiff_instantiate): ditto. * glyphs.c (instantiate_image_instantiator): use domain rather than device. (mark_image_instance): device -> domain. (print_image_instance): ditto. (finalize_image_instance): ditto. (image_instance_equal): ditto. (allocate_image_instance): ditto. (Fcolorize_image_instance): ditto. (query_string_geometry): ditto. (image_instantiate): ditto (query_string_font): ditto. (image_instantiate): ditto. (update_subwindow): ditto. (unmap_subwindow): ditto. (map_subwindow): ditto. (subwindow_instantiate): ditto. * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder. (DOMAIN_FRAME): ditto. (DOMAIN_WINDOW): ditto. (DOMAIN_LIVE_P): ditto. (XDOMAIN_DEVICE): ditto. (XDOMAIN_FRAME): ditto. (XDOMAIN_WINDOW): ditto. * specifier.c (Fvalid_specifier_domain_p): add image instances as a valid specifier domain. 2000-04-19 Andy Piper <andy@xemacs.org> * glyphs-widget.c (syms_of_glyphs_widget): remove widget-callback-current-channel. (vars_of_glyphs_widget): ditto. * glyphs.h: ditto * gui.c (get_gui_callback): revert to previous behaviour. 2000-04-18 Andy Piper <andy@xemacs.org> * glyphs.h (struct Lisp_Image_Instance): add margin_width. (IMAGE_INSTANCE_MARGIN_WIDTH): new. (XIMAGE_INSTANCE_MARGIN_WIDTH): new. * glyphs.c (image_instance_equal): add margin_width. (image_instance_hash): ditto. * glyphs-widget.c (widget_instantiate): deal with margin-width. (layout_query_geometry): ditto. (layout_layout): ditto. (syms_of_glyphs_widget): add margin-width. (image_instantiator_layout): allow margin-width. * glyphs.c (update_widget_instances): make a normal function. (syms_of_glyphs): remove Qupdate_widget_instances. * glyphs.h: ditto. * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event so that we don't corrupt ideas about the last event or command. Remove widget-callback-current-channel fiddling. * gui-msw.c (mswindows_handle_gui_wm_command): ditto. 2000-05-01 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.33 is released. 2000-05-01 Yoshiki Hayashi <yoshiki@xemacs.org> * make-src-depend: Allow dots in header file name. 2000-05-01 Yoshiki Hayashi <yoshiki@xmacs.org> * mule-charset.h (struct charset_lookup): Add next_allocated_1_byte_leading_byte and next_allocated_2_byte_leading_byte. * mule-charset.c: Move above two variables so that those values will be dumped. 2000-04-26 Yoshiki Hayashi <yoshiki@xemacs.org> * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii when string length is zero. (find_charsets_in_emchar_string): Ditto. 2000-04-29 Bjrn Torkelsson <torkel@hpc2n.umu.se> * lisp.h: extern Qdialog and Qmenubar. * gui-x.c: added events.h. also fixed typo which made the file uncompilable. * general.c: Added Qmenubar and Qdialog 2000-04-28 Ben Wing <ben@xemacs.org> * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_mark_frame): * event-msw.c (mswindows_enqueue_dispatch_event): * console-msw.h: * console-msw.h (struct mswindows_frame): * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1): there are now three hash tables for callbacks. mswindows_enqueue_dispatch_event is no longer static. * dialog-x.c (maybe_run_dbox_text_callback): * dialog-x.c (dbox_descriptor_to_widget_value): switch to new cons3 form for callbacks. * glyphs-msw.c (mswindows_register_gui_item): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (add_tree_item): * glyphs-msw.c (add_tab_item): new image instance parameter, so it can be passed to callback-ex. respect :callback-ex as well as :callback. * glyphs-widget.c (VALID_GUI_KEYWORDS): add :callback-ex. * glyphs.c (print_image_instance): prettify, e.g. now prints widget type. * gui-x.h: certain funs have new image instance parameter. * gui.c: * gui.c (get_gui_callback): * gui.c (gui_item_add_keyval_pair): * gui.c (gui_item_init): * gui.c (gui_add_item_keywords_to_plist): * gui.c (mark_gui_item): * gui.c (gui_item_hash): * gui.c (gui_item_equal): * gui.c (copy_gui_item): * gui.c (syms_of_gui): recognize callback-ex in a number of places. also, fix the annoying "can't get out of yes-no dialog" bug. * gui.h: * gui.h (struct Lisp_Gui_Item): recognize callback-ex in a number of places. * menubar-x.c (menu_item_descriptor_to_widget_value_1): new parameter in button_item_to_widget_value. * glyphs-x.c (x_update_widget): * glyphs-x.c (x_button_instantiate): * glyphs-x.c (x_button_update): * glyphs-x.c (x_progress_gauge_instantiate): * glyphs-x.c (x_edit_field_instantiate): * glyphs-x.c (x_combo_box_instantiate): * glyphs-x.c (x_tab_control_instantiate): * glyphs-x.c (x_label_instantiate): new image instance parameter in various places. * event-Xt.c: * event-Xt.c (enqueue_Xt_dispatch_event): this fun gets exported. * gui-msw.c: * gui-msw.c (mswindows_handle_gui_wm_command): handle both :callback and :callback-ex, and generate our own event because it's one of the callback-ex arguments. * gui-x.c: * gui-x.c (popup_selection_callback): handle both :callback and :callback-ex, and generate our own event because it's one of the callback-ex arguments. * gui-x.c (button_item_to_widget_value): * gui-x.c (gui_items_to_widget_values_1): * gui-x.c (gui_item_children_to_widget_values): * gui-x.c (gui_items_to_widget_values): new image instance parameter in various places. * fns.c (Freplace_list): fix small typo in doc string. * lisp.h: declare enqueue_Xt_dispatch_event. 2000-04-28 Ben Wing <ben@xemacs.org> * buffer.c: * buffer.c (Frecord_buffer): * buffer.c (syms_of_buffer): delete record-buffer-hook. * fns.c: * fns.c (Freplace_list): * fns.c (syms_of_fns): new primitive replace-list. * frameslots.h: slot for old buffer-alist. * lisp.h: exfun replace-list. * redisplay.c: * redisplay.c (redisplay_frame): * redisplay.c (syms_of_redisplay): * redisplay.c (vars_of_redisplay): new hook buffer-list-changed-hook. call it. 2000-04-27 Ben Wing <ben@xemacs.org> * extents.h: extern in_modeline_generation. * redisplay.c (generate_formatted_string_db): set in_modeline_generation. * extents.c (extent_changed_for_redisplay): don't mark redisplay flags if in modeline generation. otherwise frame-modified-tick is ticked far too often. Declare in_modeline_generation. 2000-04-26 Ben Wing <ben@xemacs.org> * emacs.c (vars_of_emacs): document quick-build "error-checking" option. (vars_of_emacs): add quick-build as an error-checking option. A bit kludgy, but there doesn't seem much point in creating a real var for this. * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE. 2000-04-14 IKEYAMA Tomonori <tomonori@suiyokai.org> * redisplay.h (struct display_line): Add a new variable, line_continuation. * redisplay.c (create_text_block): Set dl->line_continuation if the line continues. (create_string_text_block): Ditto. (regenerate_window_incrementally): Use line_continuation instead of searching continuation glyph. (add_margin_runes): Call add_glyph_rune. (add_glyph_rune): Handle margin glyph. 2000-04-20 Martin Buchholz <martin@xemacs.org> * filelock.c (fill_in_lock_file_name): ANSIfy. Check for IS_ANY_SEP instead of '/'. (lock_file_1): Avoid generating gratuitous garbage. Call user_login_name() directly. Never check errno without first seeing that system call failed. (unlock_file): Add GCPRO. (Flock_buffer): Fix docstring. (Ffile_locked_p): Fix docstring. Add GCPRO. 2000-04-19 Martin Buchholz <martin@xemacs.org> * sysdep.c (get_pty_max_bytes): Fix hangs on DEC OSF 4.0 when (process-send-string) sends strings longer than 252 bytes. * md5.c: Unconditionally include ANSI header <limits.h> * glyphs-x.c (convert_EImage_to_XImage): * lisp-union.h (union Lisp_Object): Use consistently the syntax #ifdef FEATURE, not #if FEATURE. 2000-04-13 Yoshiki Hayashi <yoshiki@xemacs.org> * filelock.c (current_lock_owner): Remove unused variable o, p. 2000-04-17 Norbert Koch <n.koch@eai-delta.de> * callint.c: Remove multiply defined symbol Qlet (syms_of_callint): ditto. 2000-04-14 Andy Piper <andy@xemacs.org> * general.c (syms_of_general): add last-command, this-command, let and funcall. * lisp.h: declare various symbols. * glyphs.h: declare Qwidget_callback_current_channel; * glyphs-widget.c (syms_of_glyphs_widget): add Qgui_callback_current_channel. (vars_of_glyphs_widget): add Vgui_callback_current_channel. * gui-msw.c (mswindows_handle_gui_wm_command): bind widget-callback-current-channel when invoking the interactive arg. Also bind last-command and next-command when invoking the widget updates. * gui-x.c (popup_selection_callback): ditto. * gui.c (get_gui_callback): massage args so that we are always calling eval. This allows us to add our own variable bindings outside. * glyphs-x.c (x_button_instantiate): use gui_items_to_widget_values since this is GC safe. (x_progress_gauge_instantiate): ditto. (x_edit_field_instantiate): ditto. (x_label_instantiate): ditto. * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs. (emacs_Xt_event_widget_focus_out): new function (emacs_Xt_event_widget_focus_in): new function. Set the keyboard focus. (emacs_Xt_event_add_widget_actions): new function. add focus functions as actions. (init_event_Xt_late): use it. 2000-04-14 Hrvoje Niksic <hniksic@iskon.hr> * event-stream.c (Fdispatch_event): Doc fix. 2000-03-29 SL Baur <steve@musashimaru.m17n.org> * postgresql.c: Remove all references to PQsetenv*. * postgresql.h: Remove references to PGsetenvHandler object. * lrecord.h (lrecord_type): Ditto. 2000-04-11 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * glyphs-msw.h (struct mswindows_image_instance_data): Added real_heigh and real_width members, and accessor macros for these. * glyphs-msw.c (init_image_instance_geometry): New function. (init_image_instance_from_dibitmap): Use it. (mswindows_resource_instantiate): Use it. (init_image_instance_from_xbm_inline): Use it. (mswindows_initialize_image_instance_mask): Use real bitmap geometry. (mswindows_create_resized_bitmap): Ditto. (mswindows_create_resized_mask): Ditto. * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask and bitmap to their surface size. 2000-04-11 Jan Vroonhof <jan@xemacs.org> * process-unix.c (unix_send_process): Guard against process MIA after Faccept_process_output. 2000-04-11 Ben Wing <ben@xemacs.org> * eval.c (unbind_to_hairy): fix brokenness introduced by nanosecond speed improvements. 2000-04-07 Raymond Toy <toy@rtp.ericsson.se> * sunplay.c (init_device): To play sounds correctly, the device apparently needs to be initialized at least once by XEmacs. Make it so. 2000-04-10 IKEYAMA Tomonori <tomonori@suiyokai.org> * redisplay.c (add_margin_runes): Add text image glyph handling. 2000-04-06 Yoshiki Hayashi <yoshiki@xemacs.org> * lisp.h (DOESNT_RETURN): Don't declare as volatile when gcc is newer than 2.5. 2000-04-06 Colin Rafferty <colin@xemacs.org> * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created. * fns.c (size_bit_vector): * alloc.c (size_vector): (make_vector_internal): (make_bit_vector_internal): (sweep_bit_vectors_1): Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro. 2000-04-06 Andy Piper <andy@xemacs.org> * gmalloc.c (malloc): undo previous change. (malloc): ditto. (free): ditto. (realloc): ditto. 2000-04-06 IKEYAMA Tomonori <tomonori@suiyokai.org> * line-number.c (buffer_line_number): Revert to former version. 2000-04-06 Andy Piper <andy@xemacs.org> * gmalloc.c (malloc): add error checking. (malloc): ditto. (free): ditto. (realloc): ditto. * dialog-x.c (dbox_descriptor_to_widget_value): add extra button_item_to_widget_value arg. * glyphs-x.c (x_button_instantiate): add extra button_item_to_widget_value arg. (x_progress_gauge_instantiate): ditto. (x_edit_field_instantiate): ditto. (x_label_instantiate): ditto. * gui-x.c (gui_items_to_widget_values_1): add extra button_item_to_widget_value arg. (button_item_to_widget_value): add extra menu_item_p arg. * gui-x.h: change signature of button_item_to_widget_value. * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra button_item_to_widget_value arg. 2000-04-03 Yoshiki Hayashi <yoshiki@xemacs.org> * buffer.h (struct buffer): auto_save_modified should be long. 2000-04-05 Andy Piper <andy@xemacs.org> * glyphs-widget.c (widget_instantiate): pixwidth != pixheight type. (button_query_geometry): give a little more room so that athena buttons fit. 2000-04-05 Andy Piper <andy@xemacs.org> * faces.c (complex_vars_of_faces): The widget face should inherit the font of the gui-element face. 2000-04-04 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_button_update): new function. unconditionally update a button's state when the instance is dirty. (image_instantiator_format_create_glyphs_x): add x_button_update. (x_widget_instantiate): remove old resize cruft. 2000-04-02 Andy Piper <andy@xemacs.org> * frame.c (change_frame_size_1): The introduction of gutters means that we need to allow 0 as a potential frame dimension. 2000-04-02 IKEYAMA Tomonori <tomonori@suiyokai.org> * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text image glyph if allow_cursor. (add_hscroll_rune): Don't allow cursor to border glyph. (create_text_block): Ditto. * redisplay-output.c (redisplay_move_cursor): Do nothing even if text not in buffer. (redisplay_output_layout): Call ensure_face_cachel_complete for text image glyph. 2000-03-16 IKEYAMA Tomonori <tomonori@suiyokai.org> * redisplay.c (add_glyph_rune): Adding text image as text runes. * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text not in buffer * redisplay-tty.c (tty_output_display_block): Delete the routine for text image glyph * redisplay-x.c (x_output_display_block): ditto * redisplay-msw.c (mswindows_output_display_block): ditto 2000-02-02 Mike Alexander <mta@arbortext.com> Note: Some of these were committed by accident as part of other patches. * regex.c (regex_compile): Avoid compiler warnings. * ntproc.c (sys_spawnve): Avoid compiler warnings. * nt.h: Declare term_ntproc correctly. * nt.c: Remove incorrect declaration of get_home_directory which is declared correctly in lisp.h. * keymap.c (get_keyelt): Avoid compiler warnings. (raw_lookup_key_mapper): Avoid compiler warnings. * gutter.c (gutter_was_visible): Add return statement to avoid warning. * glyphs-eimage.c (png_instantiate): Avoid compiler warnings. * filemode.c (mode_string): Avoid compiler warnings. * file-coding.c (Fcoding_system_aliasee): Add return statement to avoid warning. * events-mod.h: Undef some things that winuser.h defines differently. * data.c (Faset): Avoid compiler warnings. * alloc.c (Fmake_byte_code): Avoid compiler warnings. 2000-03-03 Jan Vroonhof <vroonhof@math.ethz.ch> * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts. Fall through to simple beep on error. Replace "extern" by real header file. * linuxplay.c: Use nativesound.h (play_sound_data): Return error code. Be less verbose on error. * sunplay.c: Use nativesound.h (play_sound_data): Return error code. Be less verbose on error. * ntplay.c: Use nativesound.h (play_sound_data): Return fake error code * sgiplay.c: Use nativesound.h (play_sound_data): Return error code * hpplay.c: Use nativesound.h, partially implement new error code. Break compilation until finished. (play_sound_data): error code. * nativesound.h (play_sound_file): (play_sound_data): Prototype in new header. 2000-03-31 Andy Piper <andy@xemacs.org> * glyphs-widget.c: (button_query_geometry): new function. Adjust for toggle and radio buttons. (image_instantiator_buttons): use it. 2000-03-03 Jan Vroonhof <vroonhof@math.ethz.ch> * scrollbar-x.c (x_update_vertical_scrollbar_callback): (x_update_horizontal_scrollbar_callback): Return if no mirror was found. Scrollbar event probably belonged to some old config. 2000-03-31 Andy Piper <andy@xemacs.org> * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather than 1. (initialize_widget_image_instance): default layout to LAYOUT_HORIZONTAL rather than 0. (widget_instantiate): reverse the item list at the end rather than every iteration. (layout_layout): re-code for the border text at the front of the item list rather than at the end. (layout_query_geometry): ditto. Pick up fixed and dynamic sizes provided by the user. (widget_query_geometry): comment. 2000-03-30 Andy Piper <andy@xemacs.org> * glyphs-widget.c (image_instantiator_layout): allow standard widget keywords in layouts. * gutter.c (output_gutter): cope with nil gutter contents. * frame.c (Fset_frame_properties): add gutter docs. 2000-03-29 Andy Piper <andy@xemacs.org> * toolbar-msw.c (TBSTYLE_FLAT): add. (mswindows_output_toolbar): minor fiddling. 2000-03-29 Andy Piper <andy@xemacs.org> * gutter.c (output_gutter): force gutter size recalculation if what we are trying to display won't fit. (update_gutter_geometry): new function. A per-gutter version of update_frame_gutter_geometry. (update_frame_gutter_geometry): use it. (redraw_exposed_gutter): add extra debugging output. 2000-03-28 Mike Alexander <mta@arbortext.com> * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only) (pdump_file_unmap): Implement it on Windows (pdump_file_get): Save alocated handles for pdump_file_unmap 2000-03-28 Andy Piper <andy@xemacs.org> * gui.c (get_gui_callback): treat Quit specially. 2000-03-27 Andy Piper <andy@xemacs.org> * glyphs.c (image_instantiate): be careful to check in the same way we assigned. 2000-03-27 Didier Verna <didier@xemacs.org> * config.h.in: define the proper SMART_INCLUDE macro. handle renaming of `foo_h_path' to `foo_h_file'. * database.c: ditto. * emacs.c: ditto. * linuxplay.c: ditto. * terminfo.c: ditto. * tooltalk.h: ditto. 2000-03-27 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_update_widget): make sure the widget gets updated whenever the face might have changed. 2000-03-26 Mike Alexander <mta@arbortext.com> * dumper.c (pdump_resource_free): Fix the comment. 2000-03-21 Olivier Galibert <galibert@pobox.com> * input-method-xlib.c (XIM_init_frame): Remove painful warning. 2000-03-22 Mike Alexander <mta@arbortext.com> * dumper.c: Include Windows headers on Windows (pdump_resource_free): Add a body to the function (pdump_load): exe_name -> exe_path and add some comments. 2000-03-25 Mike Alexander <mta@arbortext.com> * gui.c (copy_gui_item_tree): Return a value in all cases 2000-03-21 Didier Verna <didier@xemacs.org> * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from lwlib/config.h.in. (SMART_INCLUDE): new macro. (POSTGRES_INCLUDE): new macro to include postgresql headers from the proper location. * postgresql.c: use it. * inline.c: ditto. 2000-03-24 Andy Piper <andy@xemacs.org> * gutter.c (redraw_exposed_gutters): must be "in display" when we do this. 2000-03-24 Andy Piper <andy@xemacs.org> * redisplay-output.c (compare_runes): use image_instance_changed to detect changes. Do not depend on glyphs_changed, only depend on dirtiness. (redisplay_output_layout): add debug messages. (compare_runes): ditto. * glyphs.h: declare new functions. (struct Lisp_Image_Instance): remove percent and associated accessors. * gui.h: declare new copying functions. * gui.c (copy_gui_item_tree): new function. (copy_gui_item): new function. (gui_item_id_hash): revert to standard hash. (gui_item_hash): ditto. (gui_item_hash_internal): deleted. (mark_gui_item): mark value. (gui_item_add_keyval_pair): add value. (gui_item_init): ditto. (gui_add_item_keywords_to_plist): ditto. (gui_item_equal): ditto. (syms_of_gui): add Q_value. * glyphs-x.c (x_progress_gauge_update): use pending items and value for setting the state. (x_update_widget): don't set items from pending here. * glyphs-widget.c (update_widget): update items here. (progress_gauge_set_property): use items for storing value. Put new value in pending items. * glyphs-msw.c (mswindows_progress_gauge_update): use pending items for new value. Convert percent -> value. (mswindows_tab_control_update): don't update items here. * glyphs.c (Fupdate_widget_instances): use image_instance_changed. (update_subwindow): ditto. (image_instance_changed): new function. Compare hash values and past and present widget items. (image_instantiate): We more careful about where we instantiate things. (image_instantiate): add error checking. * gutter.c (syms_of_gutter): use -hook. 2000-03-20 Yoshiki Hayashi <yoshiki@xemacs.org> * console-tty.c (Fset_console_tty_input_coding_system): Use Qkeyboard. (Fset_console_tty_output_coding_system): Use Qterminal. (tty_init_console): Use Qkeyboard and Qterminal. 2000-03-21 Ben Wing <ben@xemacs.org> * ntproc.c (create_child): remove bogus HAVE_NTGUI's. From Mike Alexander <mta@arbortext.com>. 2000-03-21 Ben Wing <ben@xemacs.org> * event-msw.c (mswindows_need_event): Horrible kludge to fix process brokenness. Proper implementation to come. * callproc.c: Rename call-process-internal to old-call-process-internal. New impl. in process.el. 2000-03-21 Martin Buchholz <martin@xemacs.org> * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments. 2000-03-20 Andy Piper <andy@xemacs.org> * glyphs.c (full_list_hash): make hashes of the same elements in different orders return different values. 2000-03-20 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.32 is released. 2000-03-20 Martin Buchholz <martin@xemacs.org> * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA): (DFC_MALLOC_USE_CONVERTED_DATA): Add aliasing-safe casts to allow use with char* or unsigned char* lvalues. * eldap.c (Fldap_open): (Fldap_search_basic): (Fldap_add): (Fldap_modify): Make C++-compilable. Make sure GCPRO'ed variables are initialized. Use temp variables to avoid repeated calls to Flength. 2000-03-16 Martin Buchholz <martin@xemacs.org> * sysfile.h: Make sure PATH_MAX is always defined. Include limits.h for PATH_MAX. Deprecate use of MAXPATHLEN. 2000-03-10 Martin Buchholz <martin@xemacs.org> * emacs.c: Add reinit_vars_of_fileio. * symsinit.h: Add reinit_vars_of_fileio. * fileio.c (reinit_vars_of_fileio): New. * fileio.c (Fmake_temp_name): Initialize temp_name random number from microseconds to make collisions even less likely. Initialize always at process startup time. (make-temp-name) used to return the same file name twice in a row when PDUMP. Random stylistic fiddling. Comment fixes. 2000-03-20 Andy Piper <andy@xemacs.org> * glyphs.c (image_instantiate): allow text glyphs to be instantiated in the minibuffer window. 2000-03-19 Andy Piper <andy@xemacs.org> * glyphs.c (image_instance_hash): be careful about which items we hash on. * glyphs-widget.c (tab_control_set_property): record into pending items rather than the actual items. * glyphs-x.c (x_update_widget): use pending items to update with. * glyphs-msw.c (mswindows_tab_control_update): use pending items to update with. * glyphs.c (mark_image_instance): mark pending items. * window.c (Fset_window_configuration): record the buffer. (Fselect_window): totally revert previous change which breaks many things. 2000-03-18 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_tab_control_update): force selected item. * glyphs.c (image_instantiate): don't allow the minibuffer as a window domain cache, otherwise we get inconsistencies at startup. There is something fishy at startup which can lead to the minibuffer being the selected window when the gutter content is instantiated. * gui.c (parse_gui_item_tree_list): add probably unnecessary gcpros. (parse_gui_item_tree_children): ditto. (parse_gui_item_tree_item): ditto. * glyphs.c (Fupdate_widget_instances): return something. 2000-03-18 Yoshiki Hayashi <yoshiki@xemacs.org> * window.c (Fselect_window): Undo 2000-03-17 change. 2000-03-17 SL Baur <steve@musashimaru.m17n.org> * postgresql.c (Fpq_setenv): Remove this turkey when linking against v7.0 libraries. Insta-coredump city until the postgres folks fix it. 2000-03-17 Andy Piper <andy@xemacs.org> * faces.c (complex_vars_of_faces): don't give the widget face an inherited background pixmap. * glyphs-msw.c (mswindows_tab_control_instantiate): select the selected item. * event-stream.c (Fdispatch_non_command_events): return something. * gutter.c (output_gutter): use widget face. (clear_gutter): ditto. * NEWS: adjust again. * window.c (Fselect_window): make sure this runs to completion to avoid oddities with Fset_window_configuration. (Fcurrent_window_configuration): in general do not save the minibuffer as the selected window. * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase. 2000-03-16 Olivier Galibert <galibert@pobox.com> * emacs.c (Frunning_temacs_p): Revert previous patch. (main_1): Reinitialize running_temacs_argc if pdump_load succeeds. 2000-03-16 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_tab_control_update): if no widget values then return. * NEWS: update for new features. * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a synthetic event to the native system. (reinit_vars_of_event_Xt): set force_event_pending to emacs_Xt_force_event_pending. * events.h (struct event_stream): add force_event_pending. * specifier.c (recompute_one_cached_specifier_in_window): add comment. * redisplay.c (redisplay_frame): don't call update_frame_subwindows. Reset subwindow cachels when subwindows_changed, removing this was an optimization too far. * redisplay-output.c (compare_runes): reorganize so that we catch glyph changes when we want them. Set optimize_output when this would help layouts. (redisplay_output_layout): remove frame_really_changed, use optimize_output instead. * redisplay-msw.c (mswindows_output_display_block): reset optimize_output after outputting a glyph. * redisplay-x.c (x_output_display_block): ditto. * redisplay-tty.c (tty_output_display_block): ditto. * gutter.c: (specifier_vars_of_gutter): use new spec changed functions. (gutter_specs_changed): do specific gutter positions. (top_gutter_specs_changed): new function. Only update the specified gutter specs. (bottom_gutter_specs_changed): ditto. (left_gutter_specs_changed): ditto. (right_gutter_specs_changed): ditto. * gui.c (gui_item_hash_internal): new function, does a real hash. (gui_item_id_hash): use it. (gui_item_hash): hash the eval'ed gui_item. * gui-x.c (popup_selection_callback): send an eval event to call Fupdate_widget_instances. * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event to call Fupdate_widget_instances. * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag. (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it. * glyphs.c: (update_frame_subwindows): deleted. (Fupdate_widget_instances): new function for updating the dirty state of widgets that might have changed. (syms_of_glyphs): add Qupdate_widget_instances. (full_list_hash): hash a list completely. (image_instance_hash): use it for items and properties. * frame-msw.c (mswindows_size_frame_internal): remove unused variable. * faces.h (struct face_cachel): fix comment. * event-stream.c (Fdispatch_non_command_events): new function. Process non-command events, forcing an event cycle beforehand. (syms_of_event_stream): declare. (event_stream_force_event_pending): new function. Force an event on the native event queue so that an event cycle will occur next time we check. * event-msw.c: (struct ntpipe_shove_stream): (mswindows_enqueue_dispatch_event): (mswindows_dequeue_dispatch_event): (mswindows_cancel_dispatch_event): (mswindows_pump_outstanding_events): (mswindows_drain_windows_queue): (mswindows_handle_paint): (mswindows_wnd_proc): (mswindows_key_to_emacs_keysym): (get_process_input_waitable): (emacs_mswindows_delete_stream_pair): re-indent file. (mswindows_need_event): do not process further fds if the windows fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This fixes the 100% cpu problem. (reinit_vars_of_event_mswindows): set force_event_pending to 0. 2000-03-15 Olivier Galibert <galibert@pobox.com> * alloc.h: New. * dumper.h: New. * dumper.c: New. * emacs.c: Moved dump file searching to dumper.c. (Frunning_temacs_p): Fixed. * alloc.c: Moved everything pdump-related to dumper.c. Removed last_lrecord_type_index_assigned. 2000-02-20 Olivier Galibert <galibert@pobox.com> * symsinit.h: Added reinit parameter to init_console_stream declaration. * lisp.h: Added file parameter to pdump_load declaration. * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id support. Added dump file searching. * config.h.in: Added EMACS_PROGNAME. * console-stream.c (init_console_stream): Fix reinitialisation when running from temacs. * alloc.c (pdump): Add id support. (pdump_load): Add file parameter and signature/id support. * Makefile.in.in: Add full pdump support. 2000-03-15 SL Baur <steve@musashimaru.m17n.org> * postgresql.c: Update documentation to reflect latest code status. (print_result): Show tuple counts in printed representation when appropriate. (Fpq_put_nbytes): MULE-ize. (Fpq_get_line_async): Ditto. 2000-03-14 SL Baur <steve@musashimaru.m17n.org> * postgresql.c (Fpq_lo_import): Fix return value. Suggested by: Kenji Itoh <keit@tpj.co.jp>. 2000-03-13 Ben Wing <ben@xemacs.org> * alloc.c (pdump_load): Fix compile warning under mswin. 2000-03-14 SL Baur <steve@musashimaru.m17n.org> * postgresql.c: Mule-ization, bug fixes. Use PG_CODING to encapsulate coding system name changes. Backport a version of TO_EXTERNAL format for 21.1/InfoDock. (pg-coding-system): Create. (Fpq_conn_defaults): Mule-ize. (Fpq_connectdb): Mule-ize & bug fix. (Fpq_connect_start): Mule-ize. (Fpq_set_client_encoding): Mule-ize. (Fpq_finish): Document `DEAD' connection status. (Fpq_clear): Ditto. (Fpq_pgconn): Mule-ize. (Fpq_exec): Mule-ize & bug fix. (Fpq_send_query): Ditto. (Fpq_get_result): Ditto. (Fpq_res_status): Mule-ize. (Fpq_result_error_message): Mule-ize. (Fpq_ntuples): fix comments. (Fpq_fname): Mule-ize. (Fpq_fnumber): Mule-ize. (Fpq_ftype): fix comments. (Fpq_get_value): Mule-ize. (Fpq_cmd_status): Ditto. (Fpq_cmd_tuples): Ditto. (Fpq_oid_value): Ditto. (Fpq_notifies): Ditto. (Fpq_lo_import): Ditto. (Fpq_lo_export): Ditto. (Fpq_get_line): Ditto. (Fpq_put_line): Mule-ize and bug fix. (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system. 2000-03-10 SL Baur <steve@musashimaru.m17n.org> * postgresql.c (vars_of_postgresql): Mule-ize. (Fpq_conn_defaults): Ditto. 2000-03-12 Ben Wing <ben@xemacs.org> * alloc.c (Fmake_byte_code): * alloc.c (debug_string_purity_print): * alloc.c (pdump_backtrace): * alloc.c (pdump_get_indirect_count): * alloc.c (pdump_register_sub): * alloc.c (pdump_register_object): * alloc.c (pdump_register_struct): * alloc.c (pdump_dump_data): * alloc.c (pdump_reloc_one): Minor cleanups. * console-msw.c: * console-msw.c (GetConsoleHwnd): * console-msw.c (msw_hide_console): * console-msw.c (msw_show_console): * console-msw.c (msw_ensure_console_buffered): * console-msw.c (msw_output_console_string): * console-msw.c (console_type_create_mswindows): a) Added functions to manipulate the console window for use with shell support. b) Added support for writing text to the console, which is now used under Windows when xemacs is not being run non-interactively, to write text that would otherwise be destined for stdout because under these circumstances, text written to stdout tends to disappear and not be seen. * console-msw.h: * event-Xt.c: * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (describe_event_window): * events-mod.h (XEMACS_MOD_CONTROL): * events.c: * events.c (Fmake_event): * events.c (character_to_event): * events.c (event_to_character): * events.c (format_event_object): * events.c (Fevent_modifiers): * events.h: * events.h (struct key_data): * events.h (struct button_data): * events.h (struct misc_user_data): * frame-x.c (Fcde_start_drag_internal): * frame-x.c (Foffix_start_drag_internal): * gpmevent.c (Freceive_gpm_event): * keymap.c: * keymap.c (bucky_sym_to_bucky_bit): * keymap.c (control_meta_superify): * keymap.c (make_key_description): * keymap.c (keymap_lookup_directly): * keymap.c (create_bucky_submap): * keymap.c (keymap_store): * keymap.c (define_key_check_and_coerce_keysym): * keymap.c (define_key_parser): * keymap.c (define_key_alternate_name): * keymap.c (Fdefine_key): * keymap.c (raw_lookup_key_mapper): * keymap.c (struct map_keymap_unsorted_closure): * keymap.c (map_keymap_unsorted_mapper): * keymap.c (map_keymap_sort_predicate): * keymap.c (map_keymap_sorted): * keymap.c (accessible_keymaps_mapper_1): * keymap.c (where_is_recursive_mapper): * keymap.c (describe_map_mapper): * keymap.c (describe_map_sort_predicate): * keymap.c (describe_map): * keymap.c (complex_vars_of_keymap): And a number of other files, the key modifier preprocessor constants that xemacs uses have names that conflict with constants defined under MS Windows for other purposes, so they were renamed to begin with the prefix XEMACS_. The variables that hold such modifiers were changed to consistently be of type int to fix various compile warnings. * console.c (complex_vars_of_console): * device.c: * device-msw.c: * device-msw.c (mswindows_finish_init_device): * device-msw.c (msw_get_workspace_coords): * device-msw.c (mswindows_device_system_metrics): and various other files, added support for a new device property called offset-workspace which returns the position of the upper left corner of the workspace area and goes along with the existing size-workspace property. * dialog-msw.c: * dialog-msw.c (push_bufbyte_string_as_unicode): * dialog-msw.c (mswindows_popup_dialog_box): Added support for XEmacs-style accelerator specifications in button text. Note: I didn't add support for this under X Windows, and somebody needs to do this. * dialog.c: * dialog.c (Fpopup_dialog_box): Documented the support for accelerators that was just mentioned. editfns.c (get_home_directory): Changed behavior under Windows when HOME not defined; former behavior was irretrievably broken. * emacs.c: * emacs.c (main_1): * emacs.c (main): * minibuf.c (clear_echo_area_internal): * minibuf.c (echo_area_append): * print.c: * print.c (std_handle_out_external): * print.c (std_handle_out_va): * print.c (fatal): * print.c (write_string_to_stdio_stream): * print.c (output_string): * print.c (debug_print): * print.c (debug_backtrace): * print.c (debug_short_backtrace): Cleaned up the code that prints text to stdout so that this can be changed to output into a console window instead under MS Windows, as described above. * eval.c: * eval.c (DEFEND_AGAINST_THROW_RECURSION): * eval.c (internal_catch): * eval.c (unwind_to_catch): * eval.c (throw_or_bomb_out): * eval.c (condition_case_1): * eval.c (signal_1): * eval.c (check_error_state_sanity): * eval.c (call_with_suspended_errors_1): * eval.c (call_with_suspended_errors): * eval.c (reinit_vars_of_eval): Added code to catch throw loops and check for a pesky bug that may be gone now. * event-msw.c: * event-msw.c (key_needs_default_processing_p): * event-msw.c (mswindows_wnd_proc): * event-msw.c (mswindows_modifier_state): * event-msw.c (emacs_mswindows_quit_p): * event-msw.c (vars_of_event_mswindows): a) Added support for using the alt key to select menu items as is standard under MS Windows. This is controlled using the variable menu-accelerator-enabled, just like under X Windows. There is an option on the options menu to turn this support on. I really think that it should be on by default under Windows, but I'm not going to make this change yet. b) Added support for dynamic display size changes under Windows. * event-stream.c: * event-stream.c (maybe_echo_keys): * event-stream.c (Fnext_event): * event-stream.c (command_builder_find_leaf): * event-stream.c (lookup_command_event): * event-stream.c (execute_command_event): * event-stream.c (pre_command_hook): * event-stream.c (post_command_hook): * event-stream.c (syms_of_event_stream): * event-stream.c (vars_of_event_stream): * event-stream.c (complex_vars_of_event_stream): * events.h (struct command_builder): a) Tried to clean up a little bit the horribly written x-specific accelerator code that crept into this file. I moved this code into menubar-x.c where it belongs. I also needed to move the command builder structure into the file events.h because it is accessed directly by this accelerator code. What I didn't do, but which should be done at some point, is to properly abstract this code using device methods instead of the kludgy way that it currently hooks into the event code. b) Added the lisp variables this-command-properties and last-command- properties, which should be used to synchronize two adjacent commands in preference to playing games with the variable this-command, which is typically what happens. c) Added some slightly nasty code to hook into the lisp support for shifted- motion-key selection. This is actually necessary for somewhat complicated reasons, which are described in simple.el. (NB: I think the proper thing would be to have the code that calls the pre and post command hooks also call out to generic lisp functions in simple.el, where all built-in stuff could be added. I will think about this more.) * event-unixoid.c (poll_fds_for_input): * lread.c (readchar): * redisplay-tty.c (tty_clear_frame): * redisplay-x.c (x_get_gc): * signal.c (interrupt_signal): And a whole bunch of other files: fixed up places that printed directly to stderr to instead call the function stderr_out so that the changes I made under Windows work correctly. * filemode.c (mode_string): Warning fixes. * frame-msw.c: * frame-msw.c (mswindows_size_frame_internal): Fixed the computation of frame size and position to keep the frame within the workspace area, rather than within the physical dimensions of the screen, so that the frame doesn't overlap window manager decorations, such as the start menu and toolbar, typically at the bottom of the screen. * frame.c (vars_of_frame): Changed the default frame title format under MS Windows to consist of buffername-XEmacs, which is standard under MS Windows. I think it might be a good idea to change this everywhere because I think it is superior to the current frame title format, but this is the kind of change that is likely to cause some people to get annoyed, so I'm not making it. * glyphs-eimage.c (png_instantiate): Fixed some compile warnings. * gui-msw.c (mswindows_handle_gui_wm_command): Fixed compile warnings. * gui-x.c: * gui-x.c (strdup_and_add_accel): * gui-x.c (button_item_to_widget_value): * gui-x.h: Added code to automatically put an accelerator onto the beginning of menu items that don't have one as is now the standard, and is described more later. Also fixed things so that the menu item name can be an evaluated expression, again a new standard. * gui.c: * gui.c (gui_item_add_keyval_pair): * gui.c (make_gui_item_from_keywords_internal): * gui.c (gui_add_item_keywords_to_plist): * gui.c (gui_item_accelerator): * gui.c (gui_name_accelerator): * gui.c (gui_item_included_p): * gui.c (gui_item_display_flush_left): * gui.c (gui_item_display_flush_right): * gui.c (parse_gui_item_tree_item): * gui.c (parse_gui_item_tree_children): * gui.c (parse_gui_item_tree_list): Mule-ized. Cleanup. GCPRO addition. * line-number.c (buffer_line_number): * lisp.h: * lisp.h (EMACS_INT_MAX): Added the manifest constant EMACS_INT_MIN corresponding to the existing constant EMACS_INT_MAX. This is partially to fix compile warnings under Windows, and partly for cleanliness. * menubar-msw.c: * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH): * menubar-msw.c (msw_translate_menu_or_dialog_item): * menubar-msw.c (displayable_menu_item): * menubar-msw.c (populate_menu_add_item): * menubar-msw.c (populate_or_checksum_helper): * menubar-msw.c (populate_menu): * menubar-msw.c (update_frame_menubar_maybe): * menubar-msw.c (prune_menubar): * menubar-msw.c (msw_char_is_accelerator): * menubar-msw.c (unsafe_handle_wm_initmenu_1): * menubar-msw.c (mswindows_handle_wm_command): * menubar-msw.c (mswindows_handle_wm_initmenupopup): * menubar-msw.c (mswindows_handle_wm_initmenu): * menubar-msw.c (mswindows_update_frame_menubars): * menubar-msw.c (mswindows_free_frame_menubars): * menubar-msw.c (mswindows_popup_menu): Fixed a bug in handling accelerators where an extra character would be displayed in the menu item. Also generalized the function displayable_menu_item because it is now used by the dialog box code as well. And finally, added code in the functions that create the menubar to extract a list of accelerators for the top level menubar, which is used in the event code to determine whether a particular alt-key combination should be used to invoke a menu item, or should be passed through to access the standard XEmacs keymap binding for this key combination. Much needed GCPROing. * menubar-x.c: * menubar-x.c (menu_item_descriptor_to_widget_value_1): * menubar-x.c (menu_item_descriptor_to_widget_value): * menubar-x.c (restore_in_menu_callback): * menubar-x.c (x_popup_menu): * menubar-x.c (menu_move_up): * menubar-x.c (menu_move_down): * menubar-x.c (menu_move_left): * menubar-x.c (menu_move_right): * menubar-x.c (menu_select_item): * menubar-x.c (command_builder_operate_menu_accelerator): * menubar-x.c (menu_accelerator_junk_on_error): * menubar-x.c (command_builder_find_menu_accelerator): * menubar-x.c (Faccelerate_menu): * menubar.h: Moved a whole bunch of code here that was previously in event-stream.c as described above. There is also code connected to the new standard of adding an accelerator to the beginning of menu items that don't have one as described above and below. * menubar.c: * menubar.c (menu_parse_submenu_keywords): * menubar.c (Fmenu_find_real_submenu): * menubar.c (Fnormalize_menu_item_name): * menubar.c (syms_of_menubar): * menubar.c (vars_of_menubar): * menubar.c (complex_vars_of_menubar): a) Cleaned up a bunch of documentation and improved it. b) XEmacs now automatically adds an accelerator onto the beginning of any menu items that don't have one. I did this because there will inevitably be some menu items on the main menubar that don't have accelerators on them because the package that adds that particular menu item hasn't yet been fixed up to have accelerators in them and it looked rather strange to have some items with and some items without accelerators, especially since even in items without accelerators, you can, at least under windows, still access the item through an accelerator corresponding to the first character in the item's name. If people don't like this behavior, I can add a variable to turn it off optionally, but I'm not sure this is a good idea because we really do need to have accelerators on all of the menu items, and if a package doesn't like the accelerators being put on the first character, then it should put the accelerators where they belong. c) I made a behavior change, which is that the descriptor that specifies the text of the menu item, which formerly was just a string, can now also be an evaluated expression. This makes this descriptor parallel with all of the others, which could also be evaluated expressions. This also obviates the need for the keyword :label, which was previously listed in the documentation as unimplemented, and which was for the same purpose. d) GCPROing. * ntproc.c: * ntproc.c (new_child): * ntproc.c (sys_spawnve): * ntproc.c (find_child_console): * ntproc.c (sys_kill): Fixed compile warnings. By the way, this file should really go away entirely, and this will happen as soon as Kirill makes his final round of process cleanups, which affect the function call-process. * process-nt.c: * process-nt.c (struct nt_process_data): * process-nt.c (find_process_from_pid): * process-nt.c (send_signal_the_nt_way): * process-nt.c (enable_child_signals): * process-nt.c (find_child_console): * process-nt.c (send_signal_the_95_way): * process-nt.c (nt_finalize_process_data): * process-nt.c (ensure_console_window_exists): * process-nt.c (nt_create_process): * process-nt.c (nt_kill_child_process): * process-nt.c (nt_kill_process_by_pid): * process-nt.c (nt_open_network_stream): * process-nt.c (vars_of_process_nt): Copied over code from Emacs 20.5 to correctly send signals to sub- processes under Windows 95. Also added code to automatically create and hide console window when a sub-process is created under Windows 95, which obviates the need for the separate runemacs.exe executable, and finally implemented some variables that were implemented in Emacs 20.5, but previously not in XEmacs. These include mswindows- start-process-share-console and mswindows-start-process-inherit-error-mode. (Both of these only apply to Windows 95.) * regex.c (regex_compile): Fixed a compile warning. * select-msw.c: * select-msw.c (mswindows_own_selection): * select-msw.c (mswindows_get_foreign_selection): * select-msw.c (mswindows_disown_selection): * select-msw.c (console_type_create_select_mswindows): * select-msw.c (syms_of_select_mswindows): Cleaned up the file and implemented the device method selection_exists_p, which had accidentally been left out. Also removed four lisp functions that were remnants from before the time when the selection code was properly device abstracted. These functions are no longer needed because there are generic equivalents, and because they were added recently and don't exist in FSF Emacs, I don't think there's any problem with just deleting them. * sysdep.c: * sysdep.c (sys_subshell): Fixed a compile warning, although in this case there's probably something wrong with this code, and it ought to be looked into more thoroughly by somebody who understands it. * window.c: * window.c (Fwindow_text_area_height): * window.c (Fwindow_width): * window.c (Fwindow_full_width): * window.c (Fwindow_pixel_width): * window.c (debug_print_window): * window.c (syms_of_window): Added functions window-text-area-height and window-full-width, which are functions for returning various width and height characteristics of a window. (One of these functions is necessary for making the file dialog box work correctly, and the other one was added for completeness.) Also added a table to the documentation for window-height which describes the entire scheme for accessing width and height characteristics of a window. 2000-03-12 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * nt.c (fstat): Added a comment for another problem with non-encapsulated [f]stat(), reported by Adrian Aichner <aichner@ecf.teradyne.com>. 2000-03-11 Andy Piper <andy@xemacs.org> * window.c (make_dummy_parent): initialize subwindow instance cache. (Fset_window_configuration): zero extent_modiff. 2000-03-10 Andy Piper <andy@xemacs.org> * redisplay.c (Fredraw_frame): reset the changed_set flags so that more changes can be triggered. (Fredisplay_frame): ditto. (Fredraw_device): ditto. (Fredisplay_device): ditto. (redisplay_frame): make non-static. (redisplay_frame): call update_frame_gutter_geometry outside of display proper. * gutter.h: declare update_frame_gutter_geometry. * redisplay.h: declare redisplay_frame. * gutter.c (update_frame_gutter_geometry): move geometry changes in update_frame_gutters here. Geometry changes can only occur outside of redisplay. (update_frame_gutters): remove geometry change code. (Fredisplay_gutter_area): make sure that we are in display when we update and that we have flushed any size changes. 2000-03-11 Andy Piper <andy@xemacs.org> * alloc.c (pdump_dump_data): remove i & count shadows. 2000-02-27 Mike Alexander <mta@arbortext.com> * sysdep.h: Declare pdump_read_file * sysdep.c (pdump_read_file): New function * alloc.c (pdump_load): Call pdump_read_file to get the portable dump data 2000-03-10 SL Baur <steve@musashimaru.m17n.org> * lrecord.h: add `lrecord_type_pgsetenv'. 2000-03-08 SL Baur <steve@musashimaru.m17n.org> * symsinit.h: declare (vars|syms)_of* functions. * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'. 2000-03-06 SL Baur <steve@musashimaru.m17n.org> * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7 * inline.c: Include postgresql.h lrecord stuffs to placate buggy GCCs. * emacs.c (main_1): Call postgres initialization code. * postgresql.h: New file. PostgreSQL RDBMS support. * postgresql.c: New file. 2000-03-08 Yoshiki Hayashi <yoshiki@xemacs.org> * redisplay-output.c (redisplay_output_display_block): Disable redundant code. 2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org> * mule-canna.c (Fcanna_henkan_region): Translate doc-string. (Fcanna_henkan_next): Ditto. (Fcanna_bunsetu_henkou): Ditto. (Fcanna_henkan_kakutei): Ditto. (Fcanna_henkan_end): Ditto. (Fcanna_henkan_quit): Ditto. (Fcanna_henkan_next): Set retun value correctly. (c2mu): Use unsigned char instead of signed char. 2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org> * emacs.c (main_1): Always call syms_of_gui. * inline.c: include gui.h 2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org> * redisplay.c (Vvisible_bell): Renamed from visible_bell and converted to Lisp_Object. (Qtop_bottom): New variable. (syms_of_redisplay): Initialize it. * redisplay.h (Vvisible_bell): Ditto. * sound.c (ding): Ditto and check if Vvisible_bell is nil. * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom, only flash top and bottom. 2000-03-08 Andy Piper <andy@xemacs.org> * buffer.c (Frename_buffer): record new buffer name the right way. 2000-03-08 Andy Piper <andy@xemacs.org> * glyphs.c (update_subwindow): increase hash depth so that widget items get picked up properly. * redisplay-output.c (compare_runes): increase hash depth so that widget items get picked up properly. 2000-03-08 Andy Piper <andy@xemacs.org> * gutter.c (output_gutter): add some debug. * glyphs.h (struct Lisp_Image_Instance): add display_hash. (IMAGE_INSTANCE_DISPLAY_HASH): new macro. (XIMAGE_INSTANCE_DISPLAY_HASH): ditto. * redisplay-output.c (compare_runes): use display_hash to determine if glyphs really are not the same. * glyphs.c (update_subwindow): check display_hash to see if anything really needs to be updated. If not then do nothing. Record the display_hash after updating. (image_instance_equal): compare the image_instance face also. 2000-03-07 Yoshiki Hayashi <yoshiki@xemacs.org> * redisplay.h: Fix comment style. 2000-03-08 Jonathan Harris <jhar@tardis.ed.ac.uk> * consle-msw.h (struct mswindows_frame): Added new member paint_pending to indicate whether a WM_PAINT magic event has been queued for this frame. * event-msw.c (mswindows_drain_windows_queue): Don't queue a WM_PAINT magic event if one is already queued. (emacs_mswindows_handle_magic_event): clear paint_pending flag. * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag. 2000-03-07 Didier Verna <didier@xemacs.org> * dired.c: #include `regex.h' after `sysfile.h'. 2000-03-06 Martin Buchholz <martin@xemacs.org> * sound.c (init_nas_sound): Fix compiler warning. * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New. (FREE_STRUCT_P): (MARK_STRUCT_AS_FREE): (MARK_STRUCT_AS_NOT_FREE): Make `gcc -fstrict-aliasing' work properly. 2000-03-07 Jonathan Harris <jhar@tardis.ed.ac.uk> * device-msw.c (mswindows_finish_init_device): Call CoInitialize(). (mswindows_delete_device): Call CoUnnitialize(). * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts. 2000-02-25 <CraigL@DyCon.com> * process-nt.c: MinGW now has <shellapi.h>, but still needs <errno.h>. * sysdep.c: This extern declaration for environ prevents MinGW from finding the variable in CRTDLL.DLL. * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's windows headers. (SHGFI_EXETYPE): .. (WM_MOUSEWHEEL): .. (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL definitions. (MMRESULT): Removed, now defined in cygwin's windows headers. (TIMECAPS): .. (uid_t,gid_t,pid_t,ssize_t): .. (_timeb): Removed, MinGW defines both _timeb and timeb. (HAVE_H_ERRNO): Added. (HAVE_TZNAME): Added, configure is not detecting this. 2000-02-03 IKEYAMA Tomonori <tomonori@suiyokai.org> * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro. * syntax.c (syntax_match): Use it. * cmds.c: Import auto-fill-chars from FSF Emacs. (Vauto_fill_chars): New variables. (internal_self_insert): Check Vauto_fill_chars. (vars_of_cmds): Declare auto-fill-chars as a Lisp variable and initialize it. 2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk> * fileio.c (Fmake_symbolic_link): (Ffile_symlink_p): Run handlers even if local machine doesn't have symlinks. 2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c (mswindows_drain_windows_queue): Don't generate paint magic events for non-XEmacs frames. 2000-03-05 Andy Piper <andy@xemacs.org> * redisplay.c (redisplay_frame): generate_displayable_area and friends assumes that we are not in GC, we therefore have to make sure that this doesn't happen. * gutter.c (calculate_gutter_size): generate_displayable_area assumes that we are not in GC, we therefore have to make sure that this doesn't happen. 2000-03-05 Martin Buchholz <martin@xemacs.org> * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr 2000-03-03 Jan Vroonhof <vroonhof@math.ethz.ch> * redisplay.c (regenerate_window): Make sure we set a sane value for end_pos even if we jump out of the loop. (regenerate_window): Answer Ben's question :-). (start_end_of_last_line): Add may_error argument. (start_of_last_line): (end_of_last_line): Pass may_error = 0. (end_of_last_line_may_error): New function. (pixel_to_glyph_translation): Use it, so we don't crash in event_to_glyph. 2000-03-04 Andy Piper <andy@xemacs.org> * window.h (struct window): add gutter_extent_modiff. * window.c (allocate_window): zero out gutter_extent_modiff. * redisplay.h: declare sync_display_line_structs. * redisplay.c (add_glyph_rune): add a better comment. * redisplay-output.c (sync_display_line_structs): made non-static. (compare_runes): remove unneccesary glyph cachel access. * gutter.h: declare gutter_extent_signal_changed_region_maybe. * gutter.c (output_gutter): don't output the gutter if extent changes only involve extents in buffers. use 4 sets of display lines. (gutter_extent_signal_changed_region_maybe): new function. Mark extents in gutters as changed. (update_frame_gutters): use 4 sets of display lines. (reset_gutter_display_lines): ditto. (free_frame_gutters): ditto. (redraw_exposed_gutter): force output of gutters. * frame.h (struct frame): add 4 sets of gutter display lines. * extents.c: (extent_changed_for_redisplay): signal changes to extents in strings in the gutter as well as extents in buffers. 2000-03-02 Andy Piper <andy@xemacs.org> * gutter.c (specifier_vars_of_gutter): cosmetic changes. * frame.c (Fmake_frame): make sure the gutters get initialized after the frame is visible. (set_frame_selected_window): re-arrange compilation macros a little. (change_frame_size_1): mark gutters changed. * device.c (Fset_device_class): mark gutters changed. 2000-03-01 Andy Piper <andy@xemacs.org> * window.c (window_top_frame_gutter_height): deleted. (window_bottom_frame_gutter_height): ditto. (window_left_frame_gutter_height): ditto. (window_right_frame_gutter_height): ditto. (window_top_gutter_height): don't use them. (window_bottom_gutter_height): ditto. (window_left_gutter_width): ditto. (window_right_gutter_width): ditto. (Fsplit_window): ditto. (Fwindow_pixel_edges): don't use border dimensions here. * scrollbar.c (update_scrollbar_instance): don't take gutters into account. (update_scrollbar_instance): ditto. * redisplay.c (generate_modeline): don't take gutters into account. (generate_modeline): ditto. (redisplay_frame): small gutter display optimization. * redisplay-x.c (x_output_vertical_divider): don't take gutters into account. * redisplay-msw.c (mswindows_output_vertical_divider): don't take gutters into account. * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks for window position and type. * gutter.c (get_gutter_coords): fix for frame gutters. (update_frame_gutters): update frame geometry if the gutters have changed. (init_frame_gutters): record current gutter geometries. * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused var. (mswindows_widget_instantiate): ditto. * frame.h (struct frame): add current_gutter_bounds. * frame.c (change_frame_size_1): position window and minibuffer appropriately taking into account the frame gutters. * frame-x.c: (x_initialize_frame_size): take into account the frame gutters. 2000-02-29 Stephen J. Turnbull <stephen@xemacs.org> * emacs.c (data-directory): Xref `locate-data-file' in docstring. 2000-02-29 Stephen J. Turnbull <stephen@xemacs.org> * alloc.c (dumpopaquevec): Increase dimension for --with-canna. 1999-12-30 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * file-coding.c (reset_decoding_stream): Clear previous detection state when autodetect. 2000-02-29 Didier Verna <didier@xemacs.org> * extents.c (set_extent_glyph_1): don't require extents to be attached. 2000-02-27 Andy Piper <andy@xemacs.org> * gutter.c (Fset_default_gutter_position): don't default left and right gutter visibility to t. (Fset_default_gutter_position): run default-gutter-position-changed-hook. (syms_of_gutter): add default-gutter-position-changed-hook. 2000-02-26 Andy Piper <andy@xemacs.org> * specifier.c (Fmake_specifier): add gutter references. * gutter.h (RAW_WINDOW_GUTTER): new macro. * lisp.h: declare Fvalid_plist_p. * gutter.c (gutter_geometry_changed_in_window): mark the modeline as changed. (default_gutter_visible_p_changed_in_window): invalidate gutter as well as its visibility so that it gets reconstructed. (construct_window_gutter_spec): new function. Construct a string to be displayed in the gutter from a plist of strings. Take care to only use elements that are declared as visible. (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of WINDOW_GUTTER. (gutter_validate): allow plists of strings in the specifier. (gutter_specs_changed): construct the real_gutter from the gutter specs using construct_window_gutter_spec. (gutter_visible_validate): gutter-visible is a new specifier type. (Fgutter_visible_specifier_p): new function for the new specifier. (syms_of_gutter): declare gutter-visible and Fgutter_visible_specifier_p. (specifier_type_create_gutter): intitalize new gutter-visible specifier. (reinit_specifier_type_create_gutter): ditto. (specifier_vars_of_gutter): use new specifier type for gutter visibility. (init_frame_gutters): construct real_gutter correctly. (Fgutter_specifier_p): beef up documentation. (Fgutter_size_specifier_p): ditto. * winslots.h: add real_gutter slots. 2000-02-25 Andy Piper <andy@xemacs.org> * device-msw.c: Be kind to older cygwin versions. From Raymond Toy <toy@rtp.ericsson.se>. * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>. 2000-02-25 Martin Buchholz <martin@xemacs.org> * elhash.c (MARK_OBJ): Practice macro hygiene. 2000-02-24 Martin Buchholz <martin@xemacs.org> * miscplay.c: s/__inline__/inline/g; * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline (get_device_compdc): INLINE ==> static inline * *.[ch]: Change INLINE to INLINE_HEADER globally. find -name '*.h' | \ xargs global-replace \ 's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g' 2000-02-25 Andy Piper <andy@xemacs.org> * window.c (window_top_frame_gutter_height): new function. (window_top_window_gutter_height): ditto. (window_top_gutter_height): use them. (window_bottom_frame_gutter_height): new function. (window_bottom_window_gutter_height): ditto. (window_bottom_gutter_height): use them. (window_left_window_gutter_width): new function. (window_left_frame_gutter_width): ditto. (window_left_gutter_width): use them. (window_right_window_gutter_width): new function. (window_right_frame_gutter_width): ditto. (window_right_gutter_width): use them. (window_pixel_height): new function. calulate window pixel height with frame gutter involvement. (Fsplit_window): calculate new sizes taking frame gutters into account. (window_char_height_to_pixel_height): don't include frame gutters. (window_char_height): use window_pixel_height. (window_pixheight): rename from window_pixel_height. (change_window_height): use it. (window_pixel_height_to_char_height): don't include frame gutters. (window_char_width_to_pixel_width): ditto. 2000-02-25 Andy Piper <andy@xemacs.org> * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash if it is. 2000-02-24 Martin Buchholz <martin@xemacs.org> * alloc.c (staticpro): (staticpro_nodump): (dumpstruct): (dumpopaque): (pdump_wire): (pdump_wire_list): (compact_string_chars): (pdump_dump_wired): Convert: if (foo) abort(); ==> assert (! foo); * eldap.c (Fldap_search_basic): (Fldap_add): (Fldap_modify): (Fldap_delete): Fix compiler warnings, and possible crashes if (random) return value were to be used. 2000-02-21 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * device-msw.c: Workaround ResetDC failure. * frame-msw.c (msprinter_init_frame_3): Added an assertion before applying a devmode. * redisplay-msw.c (get_frame_dc): Added start_page_p. (mswindows_text_width): Do not start printer page. * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends. * glyphs-msw.c: Added image methods to msprinter console and msprinter-specific image instantiation. 2000-02-20 Mike Alexander <mta@arbortext.com> * select-msw.c (Fmswindows_set_clipboard): GC protect more things to avoid crashes when selection-sets-clipboard is on (mswindows_own_selection): ditto 2000-02-19 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * glyphs-msw.c: * redisplay-msw.c (get_frame_dc): (get_frame_compdc): * console-msw.h: * device-msw.c (mswindows_init_device): (mswindows_delete_device): (msprinter_init_device): (msprinter_delete_device): * frame-msw.c (mswindows_init_frame_1): (mswindows_delete_frame): (msprinter_init_frame_3): (msprinter_delete_frame): Move compatible DC to device object from frame object, for both mswindows and msprinter. Only one at a time is needed, it is a real waste to have one per frame! 2000-02-23 Andy Piper <andy@xemacs.org> * glyphs.c: add dynamic width and height elements. (image_instance_equal): ditto. * glyphs-widget.c (widget_query_geometry): calculate width and height dynamically if required. (initialize_widget_image_instance): initialize dynamic dimensions. (widget_instantiate): pick-up dynamic dimensions. * glyphs.h (struct Lisp_Image_Instance): add width and height for dynamic determination. Add appropriate macros. * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer dimensions safe. (WINDOW_GUTTER_SIZE): ditto. (WINDOW_GUTTER_SIZE_INTERNAL): ditto. * redisplay-msw.c (get_frame_compdc): gcc can't cope with this inline. (get_frame_dc): ditto. * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces here. 2000-02-23 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.31 is released. 2000-02-22 Ben Wing <ben@xemacs.org> * ntheap.c (allocate_heap): Make sure `ptr' is initialized. 2000-02-22 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_widget_instantiate): don't explicitly resize here. 2000-02-21 Mike Sperber <mike@xemacs.org> * .dbxrc: * .gdbinit: * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment variables. 2000-02-21 Mike Sperber <mike@xemacs.org> * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is. 2000-02-21 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.30 is released. 2000-02-20 Martin Buchholz <martin@xemacs.org> Performance hacking. * *.c (syms_of_*): Add INIT_LRECORD_IMPLEMENTATION macros, paired with DEFINE_LRECORD_IMPLEMENTATION macros in the same file. * emacs.c (main_1): * lisp.h (DEFUN): * console.c (DEFVAR_CONSOLE_LOCAL_1): * buffer.c (DEFVAR_BUFFER_LOCAL_1): * symeval.h (DEFVAR_SYMVAL_FWD): * symbols.c (guts_of_unbound_marker): Make all c_readonly objects also lisp_readonly and marked for life. * lrecord.h (struct lrecord_implementation): Document flags better. * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS): * lrecord.h (DECLARE_LRECORD): * lrecord.h (XSETRECORD): * lrecord.h (RECORDP): * lrecord.h (RECORD_TYPEP): * lrecord.h (RECORD_MARKER): New. * lrecord.h (error_check_*): * lrecord.h (CONCHECK_NONRECORD): * lrecord.h (MAKE_LRECORD_IMPLEMENTATION): * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New. * lrecord.h (set_lheader_implementation): * lrecord.h (enum lrecord_type): New. * symeval.h (SYMBOL_VALUE_MAGIC_P): * alloc.c (disksave_object_finalization_1): * alloc.c (mark_object): * alloc.c (lrecord_type_index): * alloc.c (tick_lcrecord_stats): * alloc.c (Fgarbage_collect): * alloc.c (init_alloc_once_early): * alloc.c (pdump_load): * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New. * alloc.c (lrecord_type_index): Delete. Make lisp object type indexes be constant. Makes (byte-compile) 5% faster. Put all marker functions into their own array. Makes (garbage-collect) 5% faster. Optimize SYMBOL_VALUE_MAGIC_P. Makes (byte-compile) 2-3% faster. * config.h.in (gc_checking_assert): New. * alloc.c: Use gc_checking_assert(). * .dbxrc: Make compatible with new object type implementation. * .gdbinit: Make compatible with new object type implementation. * alloc.c: Delete all symbols defined only for debugging, such as Lisp_Type_Vector and lrecord_charset. 2000-02-21 Andy Piper <andy@xemacs.org> * gui-msw.c (Fmswindows_shell_execute): fix file location problems. * buffer.c (Fkill_buffer): remove buffer from alist buffer unshowing so that set_window_buffer doesn't undo kill_buffer_hook's hard work. * glyphs-widget.c (tab_control_query_geometry): don't count the first item when calculating geometry. * glyphs.c (map_subwindow): remove redundant code. (update_frame_subwindows): be more circumspect about when to update subwindows. * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug when items haven't changed. Update faces if faces have changed as well as just the widget face. (x_tab_control_update): Update faces if faces have changed as well as just the widget face. 2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk> * device-msw.c: (mswindows_delete_device): Remove redundant DDE registration. (build_syscolor_string): Use mswindows_color_to_string to try to get a named color. (mswindows_device_system_metrics): Reverse the foreground and background colors so that they match the documentation. * objects-msw.c: (mswindows_X_color_map): tweak some values so they match the default Windows palette. (mswindows_color_to_string): New function. 2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk> * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6. 2000-02-18 Olivier Galibert <galibert@pobox.com> * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS, WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND. * symbols.c (init_symbols_once_early): Removed obsolete DATA_SEG_BITS related kludge. (defvar_magic): Ditto. * malloc.c: Removed obsolete DATA_SEG_BITS * ralloc.c: Ditto. * mem-limits.h: Ditto. * Makefile.in.in: Removed obsolete HAVE_SHM * emacs.c: Ditto. 2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk> * device-msw.c (mswindows_delete_device): Free DDE string handles. 2000-02-16 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * keymap.c (get_keyelt): * unexnt.c (unexec): * vm-limit.c (memory_warnings): * ntheap.c (recreate_heap): * ntheap.h (UNINIT_PTR): * select-msw.c (Fmswindows_get_clipboard): (Fmswindows_set_clipboard): * objects-msw.h (MSWINDOWS_BAD_HFONT): * objects-msw.c: * menubar-msw.c (displayable_menu_item): * glyphs-msw.c: * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK): * sysdep.c (sys_subshell): * process-nt.c (nt_create_process): * nt.c (normalize_filename): (dostounix_filename): (unixtodos_filename): * ntproc.c (win32_executable_type): * ntplay.c (play_sound_data_1): (play_sound_file): * editfns.c (get_home_directory): * event-msw.c (struct winsock_stream): (mswindows_dde_callback): * device-msw.c (msprinter_init_device): (msprinter_get_devmode_copy): Frobbed syntax frivolities. * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to mswindows_clear_toolbar were swapped! * objects-msw.c:(colormap_t): (fontmap_t): * emacs.c (struct standard_args): Fixed const jumble. * glyphs-widget.c (update_widget): Fixed comparison notation. * event-msw.c (mswindows_dde_callback): Removed extraneous ';'. * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC __declspec(noreturn) syntax. 2000-02-19 Martin Buchholz <martin@xemacs.org> * eldap.c (Fldap_open): (Fldap_search_basic): (Fldap_add): (Fldap_modify): Use new coding system conversion macros. 2000-01-06 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * console-tty.c (tty_init_console): Change MULE to FILE_CODING. 1999-11-27 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.h (Fldap_search) Renamed from Fldap_search_internal: (Fldap_add, Fldap_modify, Fldap_delete): New functions * eldap.c (Qadd, Qreplace): New constant symbols (Fldap_open): Use the LDAP_OPT_RESTART option to avoid interruptions by XEmacs signals Remove unnecessary calls to slow_down_interrupts and speed_up_interrupts (Fldap_search_basic): Renamed from Fldap_search_internal Added new optional parameter VERBOSE that triggers the display of progress messages Remove unnecessary calls to slow_down_interrupts and speed_up_interrupts LDAP result code analysis rewritten (Fldap_add, Fldap_modify, Fldap_delete): New functions (syms_of_eldap): Define the new symbols and functions 2000-02-17 Martin Buchholz <martin@xemacs.org> * realpath.c: Determine PATH_MAX maximally portably. * insdel.c (bytecount_to_charcount): Optimize. The function used to be optimized for entirely ASCII sequences. Now it is optimized for successive characters from the same charset. This also wins big for _mostly_ ASCII sequences. * fileio.c (Ffile_truename): convert return from realpath() using Qfile_name, not Qbinary. Fixes obvious bug with non-ASCII symlinks. - Rewrite GCPROing slightly. * sysdep.c (sys_open): Do filename conversion, like all other sys_* functions. Fixes bug: (let ((file-name-coding-system 'iso-8859-2)) (write-region x y latin2-name)) ==> writes filename using internal encoding. 2000-02-18 Martin Buchholz <martin@xemacs.org> * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const. * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const. * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const. * eval.c (lrecord_subr): Remove this_one_is_unmarkable. * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable. * symbols.c (guts_of_unbound_marker): Turn on c_readonly. * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete. (CONST_IF_NOT_DEBUG): Delete. * alloc.c (this_one_is_unmarkable): Delete. (mark_object): Don't check for this_one_is_unmarkable. Use the c_readonly flag instead. * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly. 2000-02-18 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c (mswindows_drain_windows_queue): (emacs_mswindows_handle_magic_event): Remove attempt to optimise away redundant repaint events. 2000-02-17 Andy Piper <andy@xemacs.org> * redisplay.h: declare mark_redisplay_structs. * redisplay.c (redisplay_window): (redisplay_frame): don't check subwindows_state_changed. (mark_redisplay): mark gutters here. * glyphs.c: (instantiate_image_instantiator): always layout if we haven't done so already. (allocate_image_instance): don't mark as dirty. (update_subwindow): bind inhibit_quit. * gutter.c (mark_gutters): new function. * glyphs-x.c (x_update_widget): Always resize to get round a widget bug. * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was breaking absolutely everything. * gutter.h: declare mark_gutters. 2000-02-16 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.29 is released. 2000-02-15 Olivier Galibert <galibert@pobox.com> * fns.c (size_bit_vector): Fix computation of the size. 2000-02-15 Martin Buchholz <martin@xemacs.org> * *.[ch]: Change CONST to const globally. find -name '*.[ch]' | \ xargs global-replace \ 's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g' - Remove vestigial references to CONST_IS_LOSING 2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c (mswindows_drain_windows_queue): Remove hack to bailout early on quit. Enqueue WM_PAINT events as XEmacs magic events instead of dispatching them directly. (mswindows_handle_paint): New function to do repainting. (mswindows_wnd_proc): (emacs_mswindows_handle_magic_event): Call above function. 2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk> * objects-msw.c (mswindows_create_font_variant): Return the new font handle. (initialize_font_instance): Get font metrics from the underlined variant of the font to cope with the case where the underlined font has a bigger descent. 2000-02-08 Daiki Ueno <ueno@ueda.info.waseda.ac.jp> * gui.c (gui_item_accelerator): Return the first underlined character in item name. 2000-02-11 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * lisp.h: Added Qprinter. * general.c (syms_of_general): Initialized it. * redisplay-msw.c (get_frame_dc): Conditionally start a new page. (get_frame_dc): (get_frame_compdc): Made inline. * console.h (struct console_methods): Added eject_page method. * frame.h: Added FRAME_DISPLAY_P and friends. Aligned backslahes in many macros in more readable fashion. Added page_number to struct frame, and an accessor macro for it. * defice.h: Added DEVICE_DISPLAY_P and friends. * device.c (Fdevice_printer_p): Used these. * frame.c (allocate_frame_core): Initialize page number. (Fprint_job_page_number): (Fprint_job_eject_page): Implemented. * frame-msw.c (msprinter_eject_page): Added method. (msprinter_start_page): Added. * window.c (Fwindow_truncated_p): Fixed docstring. (Fwindow_last_line_visible_height): Implemented. 2000-02-09 Yoshiki Hayashi <yoshiki@xemacs.org> * frame.c (change_frame_size_1): Undo 2000-02-03 change. 1999-12-20 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * syntax.c (scan_words): Always advance at least one character. 2000-02-13 Andy Piper <andy@xemacs.org> * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here to make sure the glyph is in the cachels. * glyphs.h (struct Lisp_Image_Instance): make layout_changed a global image instance flag. (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro. (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto. * glyphs.c (allocate_image_instance): set dirty bits correctly. (Fset_image_instance_property): mark layout as changed. (invalidate_glyph_geometry_maybe): mark layout as changed. (glyph_width): use new NEEDS_LAYOUT macro. (glyph_ascent): ditto. (glyph_descent): ditto. (glyph_height): ditto. (image_instance_layout): mark layout as clean after laying out. (update_subwindow): don't mark layout as clean here. * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they should no longer be needed. * glyphs-x.c (x_update_widget): sanitize asserts. (x_finalize_image_instance): sanitize assignment to widgets. * glyphs-widget.c (widget_instantiate): don't need to clear the layout flag here. 2000-02-13 Martin Buchholz <martin@xemacs.org> * sysdep.c (getcwd): Use standard prototype. * sysdep.h (getcwd): Use standard prototype. * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp (sequence, start, end). Remove redundant type checking. (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in view of `caller-protects') to avoid a crash where the real fix was found elsewhere. 2000-02-12 Martin Buchholz <martin@xemacs.org> * glyphs-x.c (x_finalize_image_instance): Compile error fixes. * s/sol2.h: Remove feature macro initialization. * alloc.c (alloc_lcrecord): Add more type checking assertions. (vector_hash): New. Code from internal_hash. * lrecord.h: Fix up allocation subsystem comments. * config.h.in: Add __EXTENSIONS__ for Solaris. * systime.h (EMACS_GETTIMEOFDAY): New. (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY. Remove Solaris-specific code. Use void* for the (ignored) second arg for gettimeofday(). * elhash.c (hash_table_hash): Implement it, finally. * elhash.c: Use hashcode_t. * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE. * sunplay.c (sighandler): Fix prototype to use SIGTYPE. * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete. * fns.c (size_bit_vector): * alloc.c (size_vector): (make_vector_internal): (make_bit_vector_internal): (sweep_bit_vectors_1): Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression. 2000-02-10 Martin Buchholz <martin@xemacs.org> * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't. Include strings.h to avoid warnings for bzero and strcasecmp. 2000-02-10 Olivier Galibert <galibert@pobox.com> * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here... * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here * fns.c (size_bit_vector): New. Declare bit vectors as a sequence. 2000-02-10 Olivier Galibert <galibert@pobox.com> * symeval.h (struct symbol_value_magic): Remove "next" kludge and use a value field instead. (symbol_value_forward_forward): Use value field. (DEFVAR_SYMVAL_FWD): Use value field. (DEFVAR_SYMVAL_FWD_INT): Added. Dumps the int with dumpopaque. (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT. (DEFVAR_CONST_INT): Ditto. (DEFVAR_BOOL): Ditto. (DEFVAR_CONST_BOOL): Ditto. (DEFVAR_INT_MAGIC): Ditto. (DEFVAR_BOOL_MAGIC): Ditto. * symbols.c (guts_of_unbound_marker): Use value field. * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto. * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto. * lisp.h: Declare dumpopaque and noninteractive1. * alloc.c (dumpopaque): Added. (pdump_dump_opaquevec): Added. (pdump): Call pdump_dump_opaquevec to dump opaque data. (pdump_load): Reload opaque data. Sync noninteractive1 with noninteractive. 2000-02-10 Andy Piper <andy@xemacs.org> * glyphs.c (image_instance_layout): if the size changes, mark it as such. * redisplay-output.c (redisplay_output_layout): Update the subwindow here. (redisplay_output_subwindow): ditto. * glyphs.c (update_subwindow): make sure we reset flags for layouts as well as everything else. * glyphs-widget.c (layout_layout): don't need to set the instances dimensions here. 2000-02-09 Martin Buchholz <martin@xemacs.org> * device-x.c (x_init_device): Wrap calls to dll_* in HAVE_SHLIB, not HAVE_DLOPEN, which is a lower-level thing. * .cvsignore: Ignore gmon.out 2000-02-09 Hamish Macdonald <hamishm@lucent.com> * .cvsignore: Ignore portable dumper xemacs.dmp file 2000-02-09 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_output_layout): be more clever about when we output based on the changed flags. * glyphs.h (struct image_instantiator_methods): add update_method. (struct Lisp_Image_Instance): add changed flags. Declare new macros for manipulating them. * glyphs.c (allocate_image_instance): renamed glyph -> parent. (image_instance_parent_glyph): find an image_instance's parent glyph or image_instance. (image_instance_layout): mark the size as changed. (set_image_instance_dirty_p): new function. mark an image instance, plus all of its parents, as dirty. (Fset_image_instance_property): use it. (Fglyph_animated_timeout_handler): use it. (update_subwindow): call update_widget and device methods for update_subwindow. Mark all changed flags as clean. (Fresize_subwindow): mark size as changed. * glyphs-x.c (x_finalize_image_instance): try and detect gc failures. (x_update_subwindow): only resize subwindows here. (x_update_widget): new function. Update all changed properties of a widget. (x_resize_subwindow): deleted. (x_widget_set_property): deleted. (x_progress_gauge_set_property): deleted. (x_progress_gauge_update): new function. Implement recorded changes. (x_tab_control_update): ditto. (x_tab_control_set_property): deleted. (console_type_create_glyphs_x): declare new functions. (image_instantiator_format_create_glyphs_x): ditto. * glyphs-widget.c (widget_set_property): mark text changed. (update_widget): new function. Update properties of a widget. (widget_instantiate): for layouts make sure we set their children's parent correctly. (tab_control_set_property): new function. Record changes that will take place under redisplay's control. (progress_gauge_set_property): ditto. (image_instantiator_progress_guage): declare new functions. (image_instantiator_tab_control): ditto. * glyphs-msw.c (mswindows_update_subwindow): just do resizing here now. (mswindows_update_widget): new function. Update all properties on a widget that have changed. (mswindows_button_update): new function. Update a button's set state. (mswindows_tab_control_update): new function. Update the items in a tab. (mswindows_tab_control_set_property): deleted. (mswindows_progress_gauge_update): new function. Update the progress gauge's progress. (mswindows_widget_set_property): deleted. This is all done asynchronously now. (mswindows_progress_gauge_set_property): ditto. (console_type_create_glyphs_mswindows): declare new methods. (image_instantiator_format_create_glyphs_mswindows): ditto. * frame-msw.c (msprinter_init_frame_1): Remove unused variables. (msprinter_set_frame_properties): ditto. * console.h (struct console_methods): Add update_widget_method. 2000-02-09 Andy Piper <andy@xemacs.org> * gui-msw.c (Fmswindows_shell_execute): Make mswindows-shell-execute industrial strength. 2000-02-08 Martin Buchholz <martin@xemacs.org> * lrecord.h: Make macro argument `props' match member function `plist'. * fns.c (Fget): * fns.c (Fput): * fns.c (Fremprop): * fns.c (Fobject_plist): * alloc.c: * symbols.c: Object property list frobbing cleanup. - Allow any lisp object (compared with `eq'), not just symbols, as keys in object plists. - Move symbol plist frobbing into symbols.c, where it belongs. - Move string plist frobbing into alloc.c, where it belongs. - Everything's an lrecord now, so no need to test for symbolp, etc. - Fix up doc strings to refer to PROPERTY, not PROPNAME. * extents.c: Reorder code to remove declarations. * frame.h (store_in_alist): Remove useless declaration. 2000-02-07 Martin Buchholz <martin@xemacs.org> * event-Xt.c (x_has_keysym): Use XConvertCase only if available. * config.h.in: Add HAVE_XCONVERTCASE. 2000-02-07 Andy Piper <andy@xemacs.org> * glyphs.c (image_instance_layout): undo 2000-01-29 change since it breaks many things. 2000-02-07 Jan Vroonhof <vroonhof@math.ethz.ch> * src/syntax.h (SYNTAX_START_P): Check whether the two chars actually can start a common comment type. * src/syntax.h (SYNTAX_END_P): ditto for end. 2000-02-07 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.28 is released. 2000-02-06 Martin Buchholz <martin@xemacs.org> * event-Xt.c (x_keysym_to_character): New. (maybe_define_x_key_as_self_inserting_character): New. (x_has_keysym): New. Auto-define all keys on the keyboard as self-insert-key. 2000-02-02 Martin Buchholz <martin@xemacs.org> * menubar.c (vars_of_menubar): A small code simplification. * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug * ExternalShell.c: * ExternalClient.c: * EmacsShell-sub.c: * EmacsManager.c: * EmacsFrame.c: Use consistent style for specifying X resources. * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC. This makes (dontusethis-set-symbol-value-handler) actually usable. * lrecord.h (lrecord_decription_type): * alloc.c (pdump_register_sub): (pdump_dump_data): (pdump_reloc_one): Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects. Comply with XEmacs coding style. All lrecord descriptions updated to use XD_LISP_OBJECT with 2 args, and XD_LISP_OBJECT_ARRAY with 3 args. * keymap.c (Faccessible_keymaps): Make (accessible-keymaps map "\C-h") do the Right Thing. Make (accessible-keymaps map []) do the Right Thing. Make (accessible-keymaps map "") do the Right Thing. (check_keymap_definition_loop): New function. (keymap_store_internal): Keep luser from shooting self in foot, via (define-key ctl-x-4-map "p" global-map). Remove fullness slot from struct Lisp_Keymap, since hash tables are now reliable. (print_keymap): Remove 'Yuck' factor by simply printing "size %d". 2000-01-30 Martin Buchholz <martin@xemacs.org> * redisplay.c (init_redisplay): Fix small memory leak. * elhash.h: * elhash.c (pdump_reorganize_hash_table): Rename from reorganize_hash_table. Change prototype. Reuse the original memory for hentries. Save 100k. * alloc.c (PDUMP_READ): new macro. * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros. * alloc.c: No need to #ifndef before #undef. * print.c: Allow debug_print() to print readably by modifying debug_print_readably. Use consistent variable names. * .dbxrc: Try to get things to work even if stopped in a function without source available by explicitly specifying source files. 2000-02-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * unexnt.c (_start): Removed bogus code which caused loading heap from differrent executable file. Removed bogus assignment to _fmode, which caused inconsistencies. 2000-02-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage. Have spawnve encapsulation regard DONT_ENCAPSULATE. Do not preliminary `#define signal sigset'. * systime.h: Do not prototype environ on windows nt and cygwin, this conflicts with system header. * syssignal.h: Use correct define for WINDOWSNT * sysdep.h: Do not prototype environ on windows nt, this conflicts with system header. * sysdep.c (near start of file): Fixed commentary and rearranged ifdefs in readable order. (NEED_STARTS): Do not force NEED_STARTS when PDUMPing. (start_of_text): (end_of_text): (end_of_data): Do not compile in if using PDUMP. * symsinit.h: Prototyped vars_of_nt(). * ntproc.c (windows9x_p): Added, instead of os_subtype. (find_child_console): Use it. (sys_kill): Use it. * ntheap.h: Do not extern os_subtype. * ntheap.c (cache_system_info): Do not cache unneeded: nt_major_version, nt_minor_version and os_subtype. (recreate_heap): Do not compile in when PDUMPing. * nt.c (geteuid and friends): Use the new varibale nt_fake_unix_uid, instead of hashing fake uid out of NT RID. (init_user_info): Removed the above mentioned hackery. (fstat, stat): Do not compile in if using MSVC 5.0 and above - stat has been fixed in the C runtime. (vars_of_nt): Added, defined the nt_fake_unix_uid variable there. * file-coding.c (struct file_coding_dump): Do not define ucs_to_mule_table in the struct if not MULE. (struct struct lrecord_description fcd_description_1): Do not dump the above. * emacs.c (main_1): Call vars_of_nt(). (right before Fdump_emacs_data): Don't need lastfile if using both portabe dumper and system malloc. * alloc.c (Fmemory_limit): Conditionalized out. (pdump): Use OPEN_BINARY for the portable dump file. (pdump_load): Ditto. 2000-02-02 Mike Alexander <mta@arbortext.com> * nt.c (convert_time): Set tm_isdst before calling mktime and avoid calling it at all if the compiler supports 64 bit integers. Also initialize utc_base_ft before using it. 2000-02-03 Daiki Ueno <ueno@ueda.info.waseda.ac.jp> * frame.c (change_frame_size_1): Take f->internal_border_width into consideration when calculating the width of the frame. 2000-02-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * window.c (frame_min_height): (frame_size_valid_p): (frame_pixsize_valid_p): Added. (check_frame_size): Generalized. * window.h: Prototyped the above. * lisp.h: * general.c: Added Qbottom_margin, Qduplex, Qlandscape, Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin. Deleted Vwin32_* and Vbinary_process_* unused variables. * device-msw.c (msprinter_init_device): Do not get printer font list; Added DEVMODE functions. * frame-msw.c: Added lots of printer code. * faces.c: Moved 'left-margin and 'right-margin defsymbols to general.c. * console-msw.h: Added more msprinter device private slots. 2000-02-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * event-msw.c (key_needs_default_processing_p): Added. (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it. 2000-01-29 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * glyphs.c (image_instance_layout): Mark image instance as clean after layout. (glyph_dirty_p): Removed redundant function. (invalidate_glyph_geometry_maybe): Added. (update_glyph_cachel_data): Call it. * glyphs.h: Prototyped it. * redisplay.c (add_glyph_rune): Call it. (redisplay_window): Reset glyphs cachels when frame faces have changed, thus forcing recomputation of built-in border glyphs. 2000-01-30 Martin Buchholz <martin@xemacs.org> * Makefile.in.in: Make portable dumper and purify play well together. Add imperfect, but better than nothing, support for pdump. Remove xemacs.dmp when temacs is re-generated. Don't ignore errors when dumping xemacs. * symbols.c (maybe_call_magic_handler): Remove one magic number. 2000-01-28 Andy Piper <andy@xemacs.org> * frame.c (allocate_frame_core): Use new Fset_window_buffer signature. (setup_normal_frame): ditto. (setup_frame_without_minibuffer): ditto. (setup_minibuffer_frame): ditto. (delete_frame_internal): ditto. (Fmake_frame_invisible): ditto. (Ficonify_frame): ditto. * window.h: change Fset_window_buffer signature. * window.c (Fsplit_window): Use new Fset_window_buffer signature. (Fset_window_buffer): allow recording of buffer if the window is the selected window. (window_loop): Use new Fset_window signature. 2000-01-23 Daniel Pittman <daniel@danann.net> * config.h.in: Added template for `HAVE_ATHENA_3D' 2000-01-29 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes. * gutter.c (output_gutter): Don't output if the window isn't live. 2000-01-28 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch of 01/12/00: Moved SetFocus back here where it belongs. 2000-01-23 Andy Piper <andy@xemacs.org> * s/cygwin32.h: declare printer things. 2000-01-26 Andy Piper <andy@xemacs.org> * select.c (Fown_selection_internal): GCPRO bug fix from Mike Alexander. 2000-01-24 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename. (mswindows_button_instantiate): Make sure glyph is a pixmap. * glyphs-widget.c (widget_instantiate): Avoid shadows. * frame-msw.c (msprinter_init_frame_3): Nuke warning. * glyphs-msw.c: (mswindows_string_to_color): remove declaration. * redisplay-msw.c (mswindows_output_cursor): Avoid shadows. (mswindows_output_display_block): Avoid local shadows. * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows. (mswindows_enqueue_mouse_button_event): ditto. (mswindows_handle_gui_wm_command): remove declaration. * console-msw.c (mswindows_canonicalize_console_connection): Avoid warnings. * console-msw.h: Avoid shadows. (mswindows_get_toolbar_button_text): (emacs_mswindows_create_stream_pair): (emacs_mswindows_delete_stream_pair): (mswindows_handle_toolbar_wm_command): declare. * device-msw.c (build_syscolor_string): Avoid shadows. 2000-01-23 Andy Piper <andy@xemacs.org> * glyphs-widget.c (widget_instantiate): reverse the items for layouts so that children are in the expected order. 2000-01-28 Martin Buchholz <martin@xemacs.org> * ralloc.c: safe_bcopy ==> memmove * gmalloc.c: Remove MEMMOVE_MISSING conditional code. * s/msdos.h: Remove BCOPY macros. * insdel.c (gap_right): Remove BCOPY conditional code. * insdel.c (gap_left): Remove BCOPY conditional code. XEmacs demands a working ANSI C compiler - hence memmove. * regex.c (regex_compile): Remove accidental use of trigraphs. 2000-01-27 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * event-msw.c (mswindows_enqueue_misc_user_event): Initialize event timestamp. 2000-01-26 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * event-msw.c (mswindows_drain_windows_queue): Added the parameter. (mswindows_need_event): Commented the call to mswindows_drain_windows_queue(). (emacs_mswindows_quit_p): Lookup the windows for keyboard messages only. * console-msw.h: Moved a few function prototypes here from event-msw.c. * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID parameter from unsigned short to unsigned long. (Fmswindows_shell_execute): Added return value. 2000-01-27 URA Hiroshi <ura@hiru.aoba.yokohama.jp> * sysdep.c (init_system_name): process-unix.c (unix_canonicalized_host_name): Don't call freeaddrinfo() if getaddrinfo() fails. * process-unix.c (unix_open_unix_network_stream): Moved the code to get a port # into address loop. 2000-01-27 Martin Buchholz <martin@xemacs.org> * buffer.c (reinit_vars_of_buffer): The right place to initialize conversion_in_dynarr and conversion_out_dynarr. * alloc.c (pdump): Use the real open() till sys_open() is functional. * process-unix.c (unix_canonicalize_host_name): Muleize. (unix_open_network_stream): Muleize. * buffer.h: Fix up prototypes for ralloc.c functions. 2000-01-27 URA Hiroshi <ura@hiru.aoba.yokohama.jp> * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO * sysdep.c: In init_system_name(), add code to use getaddrinfo() instead of gethostbyname() * process-unix.c: In unix_canonicalize_host_name() and unix_open_network_stream(), add code to use getaddrinfo() instead of gethostbyname(). 2000-01-27 Daniel Pittman <daniel@danann.net> * device-x.c (x_init_device): Warn at run-time if using Athena 3d libs when built with flat Athena. 2000-01-27 Martin Buchholz <martin@xemacs.org> * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t. Use coding standards for function prototypes. 2000-01-25 Martin Buchholz <martin@xemacs.org> * dialog-msw.c (push_lisp_string_as_unicode): * doc.c (unparesseuxify_doc_string): * dired.c (Fuser_name_completion_1): * dired.c (Fuser_name_all_completions): * dired.c (free_user_cache): * dired.c (user_name_completion): * console-x.c (get_display_arg_connection): * minibuf.c (clear_echo_area_internal): * minibuf.c (echo_area_append): * eldap.c (Fldap_open): * eldap.c (Fldap_search_internal): * frame-x.c (x_set_frame_text_value): * frame-x.c (x_set_frame_properties): * frame-x.c (x_create_widgets): * redisplay-tty.c (term_get_fkeys_1): * objects-x.c (x_parse_nearest_color): * objects-x.c (x_valid_color_name_p): * objects-x.c (x_initialize_font_instance): * objects-x.c (x_list_fonts): * objects-x.c (x_find_charset_font): * tooltalk.c (Fadd_tooltalk_message_arg): * tooltalk.c (Fadd_tooltalk_pattern_attribute): * tooltalk.c (Fadd_tooltalk_pattern_arg): * process-unix.c (unix_create_process): * ntproc.c (sys_spawnve): * sound.c (Fplay_sound_file): * sound.c (Fplay_sound): * buffer.c (init_initial_directory): * buffer.c (init_buffer): * editfns.c (init_editfns): * editfns.c (Ftemp_directory): * editfns.c (Fuser_full_name): * editfns.c (uncache_home_directory): * editfns.c (get_home_directory): * editfns.c (Fuser_home_directory): * editfns.c (Fformat_time_string): * editfns.c (Fcurrent_time_string): * gui-x.c (button_item_to_widget_value): * database.c (Fopen_database): * event-Xt.c (x_to_emacs_keysym): * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (describe_event_window): * event-msw.c (mswindows_wnd_proc): * glyphs-eimage.c (jpeg_instantiate): * glyphs-eimage.c (gif_instantiate): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (tiff_instantiate): * glyphs-x.c (xbm_instantiate_1): * glyphs-x.c (x_xbm_instantiate): * glyphs-x.c (x_xface_instantiate): * glyphs-x.c (autodetect_instantiate): * glyphs-x.c (cursor_font_instantiate): * glyphs-x.c (x_widget_instantiate): * glyphs-x.c (x_widget_set_property): * glyphs-x.c (x_widget_property): * glyphs-x.c (BUILD_GLYPH_INST): * print.c (write_string_to_stdio_stream): * print.c (output_string): * print.c (Falternate_debugging_output): * print.c (Fexternal_debugging_output): * glyphs-msw.c (extract_xpm_color_names): * glyphs-msw.c (mswindows_xpm_instantiate): * glyphs-msw.c (bmp_instantiate): * glyphs-msw.c (resource_name_to_resource): * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (xbm_instantiate_1): * glyphs-msw.c (mswindows_xbm_instantiate): * glyphs-msw.c (mswindows_xface_instantiate): * glyphs-msw.c (mswindows_widget_instantiate): * glyphs-msw.c (add_tree_item): * glyphs-msw.c (add_tab_item): * glyphs-msw.c (mswindows_combo_box_instantiate): * glyphs-msw.c (mswindows_widget_property): * glyphs-msw.c (mswindows_combo_box_property): * glyphs-msw.c (mswindows_widget_set_property): * console.c (stuff_buffered_input): * objects-msw.c (mswindows_initialize_color_instance): * objects-msw.c (mswindows_valid_color_name_p): * objects-msw.c (mswindows_list_fonts): * objects-msw.c (mswindows_font_instance_truename): * bytecode.c (optimize_compiled_function): * select-x.c (symbol_to_x_atom): * select-x.c (x_atom_to_symbol): * select-x.c (hack_motif_clipboard_selection): * select-x.c (selection_data_to_lisp_data): * select-x.c (lisp_data_to_selection_data): * select-x.c (Fx_get_cutbuffer_internal): * select-x.c (Fx_store_cutbuffer_internal): * buffer.h (TO_EXTERNAL_FORMAT): New function. * buffer.h (TO_INTERNAL_FORMAT): New function. * emacs.c (make_arg_list_1): * emacs.c (make_argc_argv): * emacs.c (main_1): * emacs.c (Fdump_emacs): * emacs.c (split_string_by_emchar_1): * file-coding.h: * lisp.h: * lstream.h: * symsinit.h: * device-x.c (x_init_device): * device-x.c (Fx_valid_keysym_name_p): * device-x.c (Fx_get_font_path): * device-x.c (Fx_set_font_path): * glyphs.c (bitmap_to_lisp_data): * glyphs.c (pixmap_to_lisp_data): * alloc.c (make_ext_string): Use coding system arguments. Update all callers. * alloc.c (build_string): * callproc.c (child_setup): * callproc.c (init_callproc): * fileio.c (lisp_strerror): * fileio.c (directory_file_name): * fileio.c (Fexpand_file_name): * fileio.c (Ffile_truename): * fileio.c (Fsysnetunam): * fileio.c (Fdo_auto_save): * sysdep.c (sys_readdir): * tests.c: New file. Allow adding C tests. Replace GET_* macros with a more comprehensible and flexible interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT(). Modify all calls. Any coding system can be used to do format conversion. Eliminate enum external_data_format. Eliminate convert_to_external_format. Eliminate convert_to_internal_format. Make sure file-name, keyboard, terminal, and ctext are always defined as coding systems or aliases. Make file-name-coding-system, terminal-coding-system, and keyboard-coding-system magical variables that are equivalent to defining the corresponding coding system aliases. * file-coding.c (Fcoding_system_canonical_name_p): New function. * file-coding.c (Fcoding_system_alias_p): New function. * file-coding.c (Fcoding_system_aliasee): New function. * file-coding.c (append_suffix_to_symbol): New function. * file-coding.c (dangling_coding_system_alias_p): New function. * file-coding.c (Ffind_coding_system): * file-coding.c (Fcopy_coding_system): * file-coding.c (encode_coding_no_conversion): * file-coding.c (syms_of_file_coding): * file-coding.c (vars_of_file_coding): Rewrite coding system alias code. Allow nested aliases, like symbolic links. Allow redefinition of coding system aliases. Prevent existence of dangling coding system aliases. * dired.c (Fuser_name_completion_1): * dired.c (Fuser_name_all_completions): A crash would happen if user did QUIT in the middle of building user_name_cache. Remove redundant code in mainline and unwind_protect. * lisp.h: * dynarr.c (Dynarr_min_size): Make static. Increase value to 8. * lstream.c (make_fixed_buffer_input_stream): Take a void *, not an unsigned char *. Update all callers. 2000-01-26 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output. 2000-01-25 Martin Buchholz <martin@xemacs.org> * elhash.c (hentry_description): Use more portable definition. (resize_hash_table): Initialize new hentries using xnew_array_and_zero, thereby simplifying the code. * mule-charset.c (make_charset): Make sure entire object is initialized, to avoid Purify warnings. * alloc.c (resize_string): Fix unlikely crash with big strings. 2000-01-24 Martin Buchholz <martin@xemacs.org> * realpath.c (xrealpath): Don't call getwd(). 2000-01-25 Martin Buchholz <martin@xemacs.org> * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors. 1999-12-28 Max Matveev <max@melbourne.sgi.com> * unexelfsgi.c (unexec): Change the way we decide which segment should be extended. Assumption that .bss section should be outside the PT_LOADable segment. On IRIX with version 6.2 and above, .bss (or .sbss, if it's present) is inside the 'data' segment. This would fail the test which was used to find a segment to grow and cover new heap. Instead of this assumption, I created another one - on IRIX the segment to grow should start below .bss and it's address should extent above the end of .bss. Once this segment is identified, it's grown to accommodate the new heap and new zero-length .bss section is added at the end of .data2. 2000-01-25 Martin Buchholz <martin@xemacs.org> * eval.c (Feval): Wrong number of arguments should use original function, not the indirect_function version of it. 2000-01-24 Yoshiki Hayashi <yoshiki@xemacs.org> * glyphs-x.c (x_button_instantiate): Don't add image if it is not a pixmap. (x_locate_pixmap_file): Call Fexpand_file_name when file name is relative. 2000-01-21 Yoshiki Hayashi <yoshiki@xemacs.org> * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro declaration. (DEFVAR_INT_MAGIC): Ditto. (DEFVAR_BOOL_MAGIC): Ditto. * glyphs.h: Reindent backslash. 2000-01-24 Martin Buchholz <martin@xemacs.org> * glyphs-widget.c (layout_query_geometry): (layout_layout): Use correct types for gheight, gwidth. 2000-01-24 Martin Buchholz <martin@xemacs.org> * EmacsManager.c (QueryGeometry): Purified. 2000-01-23 Martin Buchholz <martin@xemacs.org> * alloc.c (make_float): Make sure entire object is initialized, to avoid Purify warnings. (pdump_register_sub): Remove useless assignment. (pdump): Use xmalloc, not malloc. (pdump_load): Use xmalloc, not malloc. 2000-01-23 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * callproc.c: * dired-msw.c: * fileio.c: * process-nt.c: * redisplay-msw.c: * sysdep.c: Removed redundant #include <windows.h> 2000-01-22 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * frame.c (delete_frame_internal): Do not delete device when its implementation so declares. (delete_frame_internal): Set device selected frame to nil when last frame goes away. * device-msw.c (msprinter_device_system_metrics): Implemented. (mswindows_device_system_metrics): Added 'device-dpi property. * device.c: (Fdevice_printer_p): Added. Added 'offset-workspace device metric. * console.h (device_metrics): Declared DM_offset_workspace. 2000-01-23 Martin Buchholz <martin@xemacs.org> * fileio.c (Ffile_truename): Remove pointless and confusing initialization of elen. * glyphs-widget.c: Compiler warning fixes. 2000-01-23 Gunnar Evermann <ge204@eng.cam.ac.uk> * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process instead of a Lisp_Object as argument to make it consistent with the other LIVE_P macros. (CHECK_LIVE_PROCESS): New macro. * process.c: Declare Qprocess_live_p. (Fprocess_live_p): New function. (create_process): Use PROCESS_LIVE_P. (read_process_output): Ditto. (set_process_filter): Ditto. (Fdelete_process): Ditto. (kill_buffer_processes): Ditto (process_send_signal): Use CHECK_LIVE_PROCESS. (Fprocess_input_coding_system): Check whether process is still alive (fix PR#1061). (Fprocess_output_coding_system): Ditto. (Fprocess_coding_system): Ditto. (Fset_process_input_coding_system): Ditto. (Fset_process_output_coding_system): Ditto. 2000-01-23 Andy Piper <andy@xemacs.org> * glyphs.h (struct Lisp_Image_Instance): change format by unifying layout and widget. * glyphs.c (mark_image_instance): take into account changed image_instance format. (image_instance_equal): ditto. (image_instance_hash): ditto. * glyphs-widget.c (widget_instantiate): Incorporate layout instantiation here. Delay layout of the layout until later. (layout_instantiate): deleted. (layout_query_geometry): new function. get the geometry of a layout. (layout_layout): layout a layout dynamically. (image_instantiator_widget): New function - splitting up image_instantiator_format_create_glyphs_widget for netwinder compilation. (image_instantiator_buttons): (image_instantiator_edit_fields): (image_instantiator_combo_box): (image_instantiator_scrollbar): (image_instantiator_progress_guage): (image_instantiator_tree_view): (image_instantiator_tab_control): (image_instantiator_labels): (image_instantiator_layout): ditto. (image_instantiator_format_create_glyphs_widget): Call preceding functions. 2000-01-22 Martin Buchholz <martin@xemacs.org> * process.c (Fset_process_coding_system): * device-x.c (Fx_keysym_hash_table): Docstring fixes. * lstream.c (Lstream_write): Return documented value, not 0. * fileio.c (directory_file_name): (Fsubstitute_in_file_name): (Fsubstitute_insert_file_contents_internal): (Fwrite_region_internal): * emacs.c: * sysdep.c: * getloadavg.c: * systty.h: Remove vestigial APOLLO-conditional code. 2000-01-21 Martin Buchholz <martin@xemacs.org> * getpagesize.h: Add guard macros. * libsst.h: Add guard macros. * libst.h: Add guard macros. * line-number.h: Add guard macros. * ndir.h: Add guard macros. * sysfloat.h: Add guard macros. * sysfile.h: Add guard macros. * sysproc.h: Add guard macros. * syswait.h: Add guard macros. * xintrinsic.h: Add guard macros. * xintrinsicp.h: Add guard macros. * xmmanager.h: Add guard macros. * xmmanagerp.h: Add guard macros. * xmprimitive.h: Add guard macros. * xmu.h: Add guard macros. * gpmevent.h: Add copyright statement. Add guard macros. * miscplay.h: Add guard macros. * *.h: Use consistent C-standards-approved guard macro names. * opaque.c (make_opaque): Switch parameter order. * opaque.h (make_opaque): Switch parameter order. Update all callers. * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR. * config.h.in (type_checking_assert): Added. (bufpos_checking_assert): Added. 2000-01-21 Martin Buchholz <martin@xemacs.org> * alloc.c: Harmless pdump changes. - Use countof(). - spell alignment correctly. * sysdep.c: Use countof() 2000-01-20 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * console.c (create_console): Use CONMETH_OR_GIVEN when calling initially_selected_for_input() console method, default to 0. (semi_canonicalize_console_connection): Try to delegate to canonicalize_console_connection if no such console method. (canonicalize_console_connection): Vice versa. (print_console): Do not print nil connection. * console.h (XDEVIMPF_IS_A_PRINTER): Added. (XDEVIMPF_NO_AUTO_REDISPLAY): Added. (XDEVIMPF_FRAMELESS_OK): Added. (CONSOLE_INHERITS_METHOD): Added. * console-msw.c (mswindows_canonicalize_console_connection): Added. (mswindows_canonicalize_device_connection): Added. * console-msw.h (struct msprinter_device): Added this struct and accessor macros. (mswindows_device): Made fontlist a lisp object. * device.c (semi_canonicalize_device_connection): Try to delegate to canonicalize_device_connection if no such console method. (canonicalize_device_connection): Vice versa. (print_device): Do not print nil connection. * device-msw.c (mswindows_init_device): Call InitCommonControls when have widgets. (mswindows_delete_device): Removed fontlist deallocation. (mswindows_mark_device): Added. * events.c (event_equal): Added abort() at unreached code. (event_hash): Ditto. * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of fallback tags of Windows devices. * general.c (syms_of_general): Initialized Qmsprinter. * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list of fallback tags of Windows devices. * lisp.h: Declared Qmsprinter. * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list of strings. (mswindows_list_fonts): Ditto. (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so that it can be used by both mswindows and msprinter devices. (initialize_font_instance): Added. (mswindows_initialize_font_instance): Use it. (msprinter_initialize_font_instance): Added. * redisplay.c (redisplay_device): Added the parameter AUTOMATIC and implementation flags check. (redisplay_without_hooks): Changed the call to the above. (Fredraw_device): Ditto. (Fredisplay_device): Ditto. * redisplay-msw.c (get_frame_dc): Implemented. (get_frame_compdc): Implemented. (many functions): Use the two functions above to get device contexts, ether for a window or a printer. 2000-01-21 Olivier Galibert <galibert@pobox.com> * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer initialization here. (init_symbols_once_early): Call it. * emacs.c (main_1): Call it. * symsinit.h: Declare it. 2000-01-19 Olivier Galibert <galibert@pobox.com> * alloc.c: Use a lrecord_header * in the backtrace instead of a Lisp_Object. (pdump_backtrace): Ditto. (pdump_register_object): Ditto. Cleanup use of the pointers. (pdump_get_entry): Abort if trying to register a null pointer. (pdump_dump_data): Cleanup types when relocating. (pdump_dump_staticvec): Cleanup types w.r.t the reloc table. (pdump_dump_rtables): Remove bad casts. (pdump_load): Cleanup relocation w.r.t union type. Use a Lisp_Object instead of a EMACS_INT for the hashtable reorganization. 2000-01-20 Martin Buchholz <martin@xemacs.org> * emacs.c (main_1): Rearrange morass of #ifdef's for correctness. * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity. * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity. * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch] 2000-01-17 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * faces.h (FACE_STRIKETHRU_P): Added. * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care of font variants. * redisplay-msw.c (mswindows_apply_face_effects): Deleted. (mswindows_set_dc_font): New function, aware of font variants, separated from mswindows_update_dc. * objects-msw.h (struct mswindows_font_instance_data): Added definition. * objects-msw.c (mswindows_finalize_font_instance): Delete all cached fonts and the data structure. (mswindows_initialize_font_instance): Added creation of font data structure. (mswindows_print_font_instance): Print at least something. (mswindows_create_font_variant): Implemented. (mswindows_get_hfont): Implemented. 2000-01-13 Fabrice Popineau <Fabrice.Popineau@supelec.fr> * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of prototyping problem with msvc. * emacs.c (main_1): added syms_of_gui_mswindows() call * gui-msw.c: added "mswindows-shell-execute" lisp subr and syms_of_gui_mswindows() function * symsinit.h: added the prototype for syms_of_gui_mswindows() 2000-01-18 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.27 is released. 2000-01-18 Martin Buchholz <martin@xemacs.org> * glyphs-eimage.c (struct tiff_error_struct): (tiff_error_func): (tiff_warning_func): #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF * unexmips.c: * unexhp9k3.c: * unexfreebsd.c: * unexec.c: Remove vestigial Lucid C code. * unexalpha.c: * unexaix.c: * termcap.c: * libsst.c: Ansify. Remove declarations of errno and strerror(). * eval.c (Fbacktrace): Small Purify-cation. Fix docstring. * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@". 2000-01-16 Martin Buchholz <martin@xemacs.org> * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999. Optimize. 2000-01-14 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * md5.c: * file-coding.c: * file-coding.h: Change enum eol_type to eol_type_t. 2000-01-17 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * gui.c (get_gui_callback): Check cons before accessing car. 2000-01-17 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * specifier.h (XSPECIFIER_TYPE): Add error checking version. (XSETSPECIFIER_TYPE): Ditto. 2000-01-17 Didier Verna <didier@xemacs.org> * redisplay.c (generate_fstring_runes): compute string size in characters, not bytes. 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr> * window.c (Fwindow_minibuffer_p): Make WINDOW optional. 2000-01-14 Hrvoje Niksic <hniksic@iskon.hr> * print.c (print_error_message): Call print_prepare(). 2000-01-14 Martin Buchholz <martin@xemacs.org> * .dbxrc: Renamed from dbxrc. * events.c (event_to_character): Use `assert (foo)' instead of `if (!foo) abort()' * .gdbinit (xtype): Add documentation. * .gdbinit (check-temacs): New function. * .gdbinit (check-xemacs): New function. * dbxrc (check-xemacs): New function. * dbxrc (check-xemacs): New function. 2000-01-14 Andy Piper <andy@xemacs.org> * glyphs-widget.c (widget_query_geometry): Make sure that we calculate default dimensions correctly. 2000-01-13 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows. * event-msw.c (vars_of_event_mswindows): Fixed a mistyped pdump_wire'd variable. * emacs.c: (main_1): Conditionalized calls to reinit_vars_of_scrollbar_x and reinit_vars_of_module. 2000-01-13 Martin Buchholz <martin@xemacs.org> * window.c (Fset_window_configuration): * sysdep.c (_start): * input-method-motif.c (res): * event-Xt.c (Xt_process_to_emacs_event): Simple compiler warning fixes. * bytecode.c (funcall_compiled_function): Use the original function symbol on the backtrace list in preference to the compiled_function object in error messages. 2000-01-13 Andy Piper <andy@xemacs.org> * glyphs-x.c (update_widget_face): Make sure we update the widget background as well as foreground. 2000-01-13 Andy Piper <andy@xemacs.org> * glyphs.h (struct Lisp_Image_Instance): Move justify and orient fields to subwindow. (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro. (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto. (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto. (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto. * glyphs-widget.c (check_valid_tab_orientation): new function. (initialize_widget_image_instance): zero orientation and justification. (widget_instantiate): pick up orientation. (tab_control_query_geometry): return appropriate values for vertical tabs. * glyphs-msw.c: (mswindows_tab_control_instantiate): assign appropriate creation flags for left, right and bottom tabs. * s/cygwin32.h: add tab definitions. 2000-01-12 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the frame upon hiding a subwindow. (mswindows_button_instantiate): Changed the push button style to BS_PUSHBUTTON. (mswindows_button_instantiate): Removed button BS_NOTIFY style. (mswindows_button_instantiate): Removed redundant check for a disabled gui item. (mswindows_button_instantiate): Made use of WS_TABSTOP consistent: "operable" controls (edit, button, tree, scroll) have this style, "display-only" ones (static, progress gauge) do not. This style is currently ignored by XEmacs though. Also, removed the WS_EX_CONTROLPARENT style - it is not for children, it is for their parents! (mswindows_edit_field_instantiate): Ditto. (mswindows_progress_gauge_instantiate): Ditto. (mswindows_tree_view_instantiate): Ditto. (mswindows_tab_control_instantiate): Ditto. (mswindows_scrollbar_instantiate): Ditto. (mswindows_combo_box_instantiate): Ditto. (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT style to the "clip" window. (mswindows_button_instantiate): Removed compilation warning by equally typing terms of the ?: operator. 2000-01-12 Didier Verna <didier@xemacs.org> * redisplay.c (generate_fstring_runes): new parameter holding the last modeline-format extent. (add_glyph_to_fstring_db_runes): new parameter holding the glyph extent, fill the glyph block with it. (generate_fstring_runes): handle these parameters. (generate_formatted_string_db): ditto. * keymap.c (get_relevant_keymaps): retreive the keymaps from the glyphs'extents in the modeline. 1999-01-11 Mike Woolley <mike@bulsara.com> * ntheap.c: Reduced the reserved heap space from 1Gb down to 256Mb, as a workaround for the non-starting problem many people have experienced. 2000-01-06 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * console-tty.c (Fset_console_tty_output_coding_system): Force redrawing tty frame. 2000-01-10 Didier Verna <didier@xemacs.org> * redisplay.c (generate_fstring_runes): fix size computation bug. 2000-01-09 William M. Perry <wmperry@aventail.com> * gpmevent.c: (gpm_next_event_cb): Don't return value from void function. 2000-01-09 Andy Piper <andy@xemacs.org> * glyphs-msw.c: index -> i to avoid shadows. (xbm_create_bitmap_from_data): make static. (check_valid_string_or_int): deleted. (mswindows_control_wnd_proc): message -> msg to avoid shadows. * glyphs-x.c (x_update_subwindow): remove unused args. * glyphs.c (glyph_image_instance): return the thing. Don't set the back pointer - this is done in allocate_image_instance. (query_string_font): return Qnil to make the compiler happy. (unmap_subwindow): set to ~0 to make the compiler happy. (glyph_query_geometry): comment out until used. (glyph_layout): ditto. 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr> * insdel.c (signal_after_change): Remove extraneous unbind_to(). 2000-01-09 Norbert Koch <norbert@s.netic.de> * sysfile.h: Remove definition of HAVE_FSYNC. It's tested for in configure. 2000-01-09 Martin Buchholz <martin@xemacs.org> * lisp.h (xfree_1): Make non-public. * (xzero): Use '\0' in memset call for clarity. * (ALIGNOF): Use __alignof__ instead of undocumented __alignof. * alloc.c (allocate_string_chars_struct): (make_uninit_string): (resize_string): (verify_string_chars_integrity): (compact_string_chars): Now only called for small strings. (sweep_strings): String allocation rewrite. Properly handle resizing big strings. Fixes crash when evaluating: (aset (make-string 9003 ??) 1 (make-char 'latin-iso8859-1 57)) Use consistent coding convention. Never use xfree_1() directly. General cleanup. (CHARS_TO_STRING_CHAR): Remove. No longer needed. Big strings had unused space at beginning. * scrollbar.c (specifier_vars_of_scrollbar): * scrollbar.c (complex_vars_of_scrollbar): * gutter.c (specifier_vars_of_gutter): * menubar.c (specifier_vars_of_menubar): * toolbar.c (specifier_vars_of_toolbar): * glyphs.c (specifier_vars_of_glyphs): * redisplay.c (specifier_vars_of_redisplay): * window.c (specifier_vars_of_window): * lisp.h (slot_offset): Remove slot_offset. Replace all calls to `slot_offset' with the standard name, `offsetof'. * menubar-x.c (compute_menubar_data): Remove Fset_buffer(), always called by unwind_protect. * menubar-x.c (menu_item_descriptor_to_widget_value_1): Fiddling. * menubar-x.c (set_frame_menubar): comment fix. * keymap.c (lookup_keys): Remove extra parens. * keymap.c (lookup_events): Remove extra parens. * dbxrc (run-temacs): Allow function to take arguments. * Makefile.in.in (PURIFY_FLAGS): No longer need pointer-mask. 2000-01-08 Andy Piper <andy@xemacs.org> * event-msw.c (mswindows_wnd_proc): don't need to check for widget face anymore. * frame.c (change_frame_size_1): use new glyph_* signatures. (frame_conversion_internal): ditto. * toolbar-x.c (x_get_button_size): Use modified glyph_* signatures. * redisplay.c (add_glyph_rune): Use modified glyph_* signatures. (add_glyph_rune): dittto. (add_margin_runes): ditto. (create_left_glyph_block): ditto. (create_right_glyph_block): ditto. (redisplay_window): ditto. * redisplay-output.c (redisplay_output_layout): Use modified glyph_* signatures. * glyphs.h: (struct image_instantiator_methods): change signature of query_geometry and layout. (struct Lisp_Image_Instance): Clean up fields for dynamic geometry calculations. (struct expose_ignore): change field types. (struct subwindow_cachel): ditto. declare new functions and accessor macros. * glyphs.c: (instantiate_image_instantiator): assign glyph when creating the image instance. (image_instance_hash): fixup for new and deleted fields. (image_instance_equal): ditto. (mark_image_instance): ditto. (print_image_instance): ditto. (allocate_image_instance): zero width and height. assign attached glyph. mark as dirty for future layout. (make_image_instance_1): pass Qnil as the glyph its attached to. (Fimage_instance_height): simply return the height. (Fimage_instance_width): simply return the width. (image_instance_query_geometry): new function. query the image instance's geometry by wiring through to format and device specific methods. fallback on the existing geometry. (image_instance_layout): new function. layout the image instance by querying its geometry and then wiring through to format and device specific methods. (query_string_geometry): new function to decide the bounding box of a string. text glyph geometry calculations moved here. (query_string_font): new function. find out the font for a given string in a given face. (text_query_geometry): return geometry based on quert_string_geometry. (formatted_string_instantiate): call string_instantiate. (image_instantiate): put strings in the per-window cache. Feed the glyph to the instantiated image instance. (glyph_height_internal): deleted. (glyph_width): simply return the required dimension. re-layout if the instance is dirty. Remove references to face_index and frame_face which were only used for strings. (glyph_ascent): ditto. (glyph_descent): ditto. (glyph_height): ditto. (Fglyph_width): use new glyph_width function. (Fglyph_ascent): use new glyph_ascent function. (Fglyph_descent): use new glyph_descent function. (Fglyph_height): use new glyph_height function. (glyph_property_was_changed): (glyph_image_instance_maybe): new function to possible create an image instance from a glyph if we don't have one already. (glyph_dirty_p): use it. (glyph_layout): new function for laying out a glyph. (glyph_query_geometry): new function for finding out the desired geometry of a glyph. (update_glyph_cachel_data): use new glyph_* signatures. (update_subwindow): call resize_subwindow. (map_subwindow): call update_subwindow if the image is dirty. (subwindow_instantiate): add comment. (Fresize_subwindow): don't actually resize the window, just record the values and let update_subwindow handle it. (Fglyph_animated_timeout_handler): use MARK_IMAGE_INSTANCE_CHANGED. (image_instantiator_format_create): declare things with query_geometry and layout functions. * glyphs-x.c: (x_update_subwindow): remove widget sizing. (update_widget_face): use query_string_font. (x_widget_set_property): don't return Qt when setting is succesful. (x_combo_box_instantiate): call widget_instantiate rather than widget_instantiate_1. * glyphs-widget.c: (widget_face_font_info): deleted. (widget_text_to_pixel_conversion): deleted. (widget_set_property): make sure the new text gets propagated to the image instance. (widget_layout): new function. wire through to device and format specific methods. (widget_query_geometry): new function. wire through to device and format specific methods. fallback on geometry of widget text. (initialize_widget_image_instance): fixup new fields. (widget_instantiate_1): deleted. (tree_view_instantiate): deleted. (tree_view_query_geometry): new function. returns desired sizing of tree view. (tab_control_instantiate): deleted. (tab_control_query_geometry): new function. returns desired sizing of tab. (widget_instantiate): subsume widget_instantiate_1. Fixup geometry things in the light of dynamic layout. (static_instantiate): deleted. (layout_instantiate): use new glyph_* signatures. (image_instantiator_format_create_glyphs_widget): fixup query_geometry and layout declarations for various widgets. * glyphs-msw.c: (mswindows_widget_instantiate): add comment. (mswindows_button_instantiate): use query_string_font for geometry calculations. (mswindows_update_subwindow): ditto. (mswindows_combo_box_instantiate): fixup for new geometry management. (mswindows_widget_set_property): Don't return Qt so that other methods can be called. 2000-01-08 Martin Buchholz <martin@xemacs.org> * gdbinit: rename to .gdbinit so that gdb will automatically source it. 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr> * insdel.c (signal_before_change): Make sure START and END are within the buffer before calling report_extent_modification(). (signal_after_change): Ditto for START, NEW_END, and ORIG_END. 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr> * extents.h: Correct prototype of report_extent_modification(). * insdel.c (signal_before_change): Place record_unwind_protect() outside MAP_INDIRECT_BUFFERS loops. (signal_after_change): Ditto. * extents.c (report_extent_modification): Don't expect pointer to inside_change_hook. (report_extent_modification_mapper): Explain why closure->speccount is almost unused. * insdel.c (change_function_restore): Call Fset_buffer only if necessary. (signal_before_change): Don't propagate inside_change_hook to report_extent_modification(). 2000-01-07 Martin Buchholz <martin@xemacs.org> * elhash.c (make_general_lisp_hash_table): Remove purify UMR. (hash_table_rehash_threshold): Removed. Update all callers. 2000-01-03 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * s/windowsnt.h: Fix mail locking stuff. * s/aix3-2.h: Remove HAVE_FSYNC which is now autodetected. * emacs.c (vars_of_emacs): Added `mail-lock-methods' and `configure-mail-lock-method' variables. * config.h.in: Fix mail locking stuff. 2000-01-04 Martin Buchholz <martin@xemacs.org> * mule-charset.h (REP_BYTES_BY_FIRST_BYTE): Remove macro, always use inline function. * mule-charset.c (make_charset): Don't assign to rep_bytes_by_first_byte. (rep_bytes_by_first_byte): Make const. 2000-01-03 Didier Verna <didier@xemacs.org> * redisplay.c (generate_fstring_runes): new parameter `offset'. Take offset into account when outputting strings or glyphs. (generate_formatted_string_db): call generate_fstring_runes with an offset of 0 if generating a frame or icon title, or the modeline hscroll if generating a modeline. * redisplay.h: remove prototype of `generate_formatted_string' and add prototype for `generate_formatted_string_db', now used in "frame.c". * frame.c: `title_string_display_line' and `title_string_emchar_dynarr', formerly known as `format_string_display_line' and `format_string_emchar_dynarr' moved here from "redisplay.c". (generate_title_string): formerly known as `generate_format_string', moved here from "redisplay.c". (update_frame_title): take these name changes into account. (init_frame): new function. Initialize here the variables that were previously in "redisplay.c" and initialized in `init_redisplay'. * frame.h: prototype for `init_frame'. * window.c (Fmodeline_hscroll): restore the definition (remove the MODELINE_IS_SCROLLABLE #ifdef). (Fset_modeline_hscroll): ditto, docstring improvement, and return the actual value that was set. (struct saved_window): turn the `modeline_hscroll' field into a Charcount. (syms_of_window): restore the declaration of `[set-]modeline-hscroll' (remove the MODELINE_IS_SCROLLABLE #ifdef). * window.h (struct window): turn the `modeline_hscroll field' into a Charcount. * emacs.c: include "frame.h" to get `init_frame'. (main_1): call `init_frame'. 1999-12-31 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.26 is released. 1999-12-31 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_widget_instantiate): Avoid X errors calling XMapWindow() on a NULL pointer X window. 1999-12-31 Martin Buchholz <martin@xemacs.org> * data.c (indirect_function): Use signal_void_function_error(). * lisp.h: Modify prototypes for signal_*(). Add SUBR_FUNCTION macro. * eval.c (PRIMITIVE_FUNCALL): Optimize. (signal_void_function_error): return result of Fsignal(). (signal_invalid_function_error): return result of Fsignal(). (signal_wrong_number_of_arguments_error): return result of Fsignal(). (signal_malformed_list_error): Add DOESNT_RETURN. (signal_malformed_property_list_error): Add DOESNT_RETURN. (signal_circular_list_error): Add DOESNT_RETURN. (signal_circular_property_list_error): Add DOESNT_RETURN. (Feval): Use returned results of signal_*(). Avoids a crash! (Ffuncall): Use returned results of signal_*(). Avoids the crash: (setq debug-on-error t) (funcall 'foo) kbd{r42} kbd{RET} - Only check for fun_nargs < subr_min_args if fun_nargs != max_args. (function_argcount): Use signal_invalid_function_error(). (funcall_lambda): Use signal_wrong_number_of_arguments_error(). Use signal_invalid_function_error(). 1999-12-28 Andy Piper <andy@xemacs.org> * debug.c: rename debug_loop elements to X_ to avoid name clashes. * menubar-x.c (menu_item_descriptor_to_widget_value_1): strdup string_chars. (menu_item_descriptor_to_widget_value_1): strdup name. (pre_activate_callback): strdup name. * scrollbar-x.c (scrollbar_instance_to_widget_value): strdup name. (x_update_scrollbar_instance_status): use free_widget_value_tree. * dialog-x.c (maybe_run_dbox_text_callback): strdup name. use free_widget_value_tree. (dbox_descriptor_to_widget_value): ditto. * gui-x.c (widget_value_unwind): use free_widget_value_tree. (gui_items_to_widget_values_1): ditto. (gui_items_to_widget_values): ditto. (free_popup_widget_value_tree): free name. 1999-12-27 Andy Piper <andy@xemacs.org> * nt.c (fstat): use get_osfhandle rather than the handle directly. From Fabrice Popineau. * process-nt.c (nt_open_network_stream): take types into account when warning. From Fabrice Popineau. 1999-12-24 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.25 is released. 1999-12-22 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * syntax.c (vars_of_syntax): Initialize parse-sexp_ignore_comments. 1999-12-21 Martin Buchholz <martin@xemacs.org> * editfns.c (Fpoint_min): (Fpoint_min_marker): (Fpoint_max): (Fpoint_max_marker): (Fchar_after): (Fchar_before): Docstring fixes. What's a `buffer pointer' anyways? * editfns.c (char=): Remove unused and undocumented optional third BUFFER argument. * toolbar.h (DEVICE_SUPPORTS_TOOLBARS_P): * fns.c (plists_differ): * elhash.c (HASH_CODE): * elhash.c (KEYS_EQUAL_P): * redisplay-output.c (redisplay_move_cursor): * redisplay.c (create_text_block): * floatfns.c (Flogb): * glyphs-msw.c (mswindows_initialize_image_instance_mask): * glyphs-msw.c (xpm_to_eimage): * buffer.h (POINT_MARKER_P): * syntax.c (scan_lists): * cmdloop.c (Fcommand_loop_1): * widget.c (Fwidget_apply): * regex.c (STREQ): Remove extra parens, esp. of the form ((expr)) * floatfns.c (Flogb): Make 64-bit clean. 1999-12-12 Daniel Pittman <daniel@danann.net> * configure.in: * configure.usage: Clean up Athena widget support: - Add `with-athena' to select a variant. - Remove all `athena3d' options. - Robust detection of Athena libraries and headers. - Refuse to build with mismatched library and headers. - Only build a 3d Athena if the user asks for it. 1999-12-21 Andy Piper <andy@xemacs.org> * redisplay.c (redisplay_frame): check for faces changed when reseting subwindow caches. * glyphs.h (struct ii_keyword_entry): add copy_p. (struct image_instantiator_methods): add query_geometry_method and layout_children_method. (IIFORMAT_VALID_GENERIC_KEYWORD): new macro to take into account copying characteristics of keywords. (IIFORMAT_VALID_NONCOPY_KEYWORD): new macro for defining keywords whose arguments should not be copied by the specifier code. (image_instance_geometry): new enum for layouts. (struct Lisp_Image_Instance): re-jig for layouts and update macros. * glyphs.c (string_instantiate): rename variables. (image_instantiate): add strings to those widgets that are instantiated per-window. (image_copy_vector_instantiator): new function for copying glyph specifier instantiators. (image_copy_instantiator): ditto. * glyphs-x.c (x_update_subwindow): use new face update functions. (update_widget_face): update to use new lwlib arg functions. (update_tab_widget_face): new function for updating tab control label faces. (x_widget_instantiate): use new face update functions and new lwlib arg functions. (x_tab_control_instantiate): ditto. (x_tab_control_set_property): ditto. * glyphs-widget.c (VALID_GUI_KEYWORDS): use NONCOPY keyword for callbacks and other things that could recurse. (VALID_GUI_KEYWORDS): * event-msw.c: fix cpp stuff for cygwin < b20. * config.h.in: move uid_t and friends to before the s&m files so that they can be used there. * Makefile.in.in (debug-temacs): new target that adds emacs environment before invoking gdb. * lwlib.h (_widget_args): new structure for holding widget args. It is reference counted so that we don't have to copy Xt args. (_widget_value): remove widget args. Add reference to widget_args. * lwlib.c (free_widget_value_contents): free widget args using free_widget_value_args. * lwlib-Xaw.c (xaw_update_one_widget): use new arg packet. (xaw_update_one_widget): use XtIsSubclass for determining labels. * lwlib.c (lw_add_value_args_to_args): modify to use our reference counted arg packet. (lw_add_widget_value_arg): new function. Add an arg to the arg packet. (free_widget_value_args): new function. Remove a reference counted arg packet. (lw_copy_widget_value_args): new function. Copy reference counted arg packet. (merge_widget_value_args): new function. Do a merge of widget args. (merge_widget_value): use it. (copy_widget_value_tree): copy widget args using reference counting, since we can't easily copy the args we have been given. * specifier.h (struct specifier_methods): add copy_instantiator_method. * specifier.c (build_up_processed_list): use copy_instantiator_method if defined. 1999-12-19 Martin Buchholz <martin@xemacs.org> * fns.c (Ffillarray): Use O(N), not O(N^2) algorithm for strings. 1999-12-19 Hrvoje Niksic <hniksic@iskon.hr> * profile.c (sigprof_handler): FUN retrieved from the backtrace can also be a cons representing anonymous interpreted function. 1999-12-18 Martin Buchholz <martin@xemacs.org> * fns.c (mapcar1): (Fmapconcat): (Fmapcar): (Fmapvector): Docstring fixes. Make them consistent with the lispref and ANSI Lisp. 1999-12-17 Martin Buchholz <martin@xemacs.org> * print.c (print_internal): print ?+ instead of ?\+, etc... Make printing a little more efficient. Prevent buffer overflow if sizeof EMACS_INT > 8. My first 128-bit fix! 1999-12-14 Karl M. Hegbloom <karlheg@inetarena.com> * filelock.c (unlock_all_files): GC_CONSP should be CONSP 1999-12-17 Martin Buchholz <martin@xemacs.org> * database.c: * window.c: * event-stream.c: Remove last vestigial uses of GC_* * fns.c (mapcar1): Fix ***THREE*** obscure crashes in one function! - Two of those involve evil mapping functions that destructively modify a list being mapped over. - Any garbage collection when mapping over a string could cause a crash (typically in mapconcat). 1999-12-08 Adrian Aichner <adrian@xemacs.org> * s\windowsnt.h (DIRECTORY_SEP): Initialize from `Vdirectory_sep_char'. * lisp.h: Add declaration for `Vdirectory_sep_char' to allow customization of `DIRECTORY_SEP' under native Windows NT. 1999-12-14 Katsumi Yamaoka <yamaoka@jpl.org> * buffer.c (Fbury_buffer): Add directions to the docstring. 1999-12-14 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.24 is released. 1999-12-13 Martin Buchholz <martin@xemacs.org> * sound.c (vars_of_sound): Provide esd-sound if HAVE_ESD_SOUND * nas.c: Fix compiler warnings. Ansify. C++ compilation support. 1999-12-13 Kazuyuki IENAGA <ienaga@jsys.co.jp> * input-method-xlib.c: Make sure src/ does not use Athena, except indirectly through lwlib. 1999-12-13 Gunnar Evermann <ge204@eng.cam.ac.uk> * dbxrc (pobj): Add opaque_ptr, remove opaque_list. 1999-12-10 Shenghuo ZHU <zsh@cs.rochester.edu> * file-coding.c (add_coding_system_to_list_mapper): - (coding-system-list) should list aliases correctly. 1999-12-07 Andy Piper <andy@xemacs.org> * fileio.c (vars_of_fileio): directory separator fix from Mike Alexander. * windowsnt.h (ditto): 1999-11-27 Adrian Aichner <adrian@xemacs.org> * sysfile.h: Encapsulate `fstat' for Windows NT just like stat to get consistent file modification times. * sysdep.h: Declare `wait_for_termination' to use process handle, not PID, on Windows NT native. * sysdep.c (wait_for_termination): Use process handle, not PID, on Windows NT native. Set exit code correctly on Windows NT. (sys_subshell): Use process handle, not PID, on Windows NT native. (sys_fstat): Add ENCAPSULATE_FSTAT for Windows NT. * process-nt.c (nt_create_process): Remove negative pid hack for Windows 95. (nt_send_process): Declare vol_proc volatile. (get_internet_address): warn_when_safe if IP address cannot be found. (nt_open_network_stream): warn_when_safe if network stream fails to open. * ntproc.c (create_child): Remove negative pid hack for Windows 95. Remove incorrect and unnecessary USE_UNION_TYPE handling. * nt.c (fstat): Encapsulate for Windows NT just like stat to get consistent file modification times. * callproc.c (call_process_cleanup): Use process handle, not PID, on Windows NT native. (Fcall_process_internal): Ditto. Close fd_error in parent. Don't check for negative pid on Windows NT/9[58]. 1999-12-07 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.23 is released. 1999-12-06 Martin Buchholz <martin@xemacs.org> * events.c (Fcopy_event): Don't copy the lrecord_header. * lisp.h (DO_REALLOC): Optimize. Remove redundant parens. Remove generic hygienic macro comment. * lrecord.h (set_lheader_implementation): Remove redundant parens. 1999-12-05 Martin Buchholz <martin@xemacs.org> * lstream.c (Lstream_adding): - Never compare a size_t and a possibly negative number. - Optimize. 1999-12-05 Kyle Jones <kyle_jones@wonderworks.com> * lisp/itimer.el: (require 'lisp-float-type). Use floats directly in itimer-time-difference. 1999-12-05 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_output_layout): avoid name hiding. * gui.h: declare gui_add_item_keywords_to_plist. * window.c (Fdelete_window): mark subwindows as changed so that they can be GC'd if necessary. 1999-12-02 Jan Vroonhof <vroonhof@math.ethz.ch> * src/callproc.c (Fcall_process_internal): Be careful in writing terminating null when copying args. nargs can be < 4. Idea from Klaus Frank <klausf@i3.informatik.rwth-aachen.de> 1999-11-29 Kyle Jones <kyle_jones@wonderworks.com> * src/sound.c (Fding): Remove zero initialization of static variables to avoid crashes on systems that dump the initialized data segment read-only. 1999-12-05 Jan Vroonhof <vroonhof@math.ethz.ch> * glyphs-x.c (convert_EImage_to_XImage): Guard against other visual classes. From Rasmus Borup Hansen <rbh@math.ku.dk> 1999-12-04 Martin Buchholz <martin@xemacs.org> * lstream.c: (filedesc_reader): (filedesc_writer): Try number 2: Support broken systems where return type of read() and write() is different from ssize_t. * systty.h: * sysdep.h: * sysdep.c: - Replace macro calls to EMACS_GET_TTY and EMACS_SET_TTY with function equivalents emacs_get_tty() and emacs_set_tty(). - Moved prototypes to systty.h, where struct event_tty is defined. - Renamed bogus `waitp' parameter to `flushp'. * lstream.c (filedesc_reader): Support broken systems where return type of read() is different from ssize_t. * events.c (Fcopy_event): Avoid redundant EQ test if event2 is nil. * event-stream.c (menu_move_up): Remove redundant if block. (menu_move_down): Gratuitous rewriting. (menu_move_left): Work around Cygnus codefusion-990706 compiler bug. (menu_move_right): Ditto. * lrecord.h (copy_lcrecord): (zero_lcrecord): Always add parentheses around uses of macro arguments. * sysdll.c: #include <stdlib.h> for exit(). * unexhp9k800.x: #include <stdlib.h> for malloc(). Use proper prototype for Save_Shared_Data(void). 1999-12-04 Jan Vroonhof <vroonhof@math.ethz.ch> * src/redisplay.c (point_would_be_visible): Correct for topclip. 1999-12-02 Hrvoje Niksic <hniksic@iskon.hr> * lisp.h: Declare Qself_insert_defer_undo. * event-stream.c (Fdispatch_event): Get the magic undo thing from a symbol property, so commands other than self-insert-command can install it. (syms_of_event_stream): Define Qself_insert_defer_undo. 1999-11-30 Martin Buchholz <martin@xemacs.org> * floatfns.c (emacs_rint): Rename rint to emacs_rint, so that `#undef HAVE_RINT' works. * sysdep.h: Fix up prototypes for sys_read_1(), sys_write_1() 1999-11-25 Andy Piper <andy@xemacs.org> * select-msw.c (Fmswindows_set_clipboard): selection fixes from Mike Alexander. (Fmswindows_delete_selection): ditto. * redisplay.h (CLASS_REDISPLAY_FLAGS_CHANGEDP): add size_changed. (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto. * redisplay.c (redisplay_device): move size changed to macros in redisplay.h (redisplay_without_hooks): ditto. * redisplay-output.c (redisplay_output_layout): rename to avoid name hiding. * process-nt.c (struct nt_process_data): mks toolkit fixes from Mike Alexander. (nt_create_process): ditto. (nt_send_process): ditto. * nt.c (init_environment): make sure mingw32 gets the cached system info. * gui.h: declare gui_add_item_keywords_to_plist. * event-msw.c (mswindows_wnd_proc): Clipboard fixes from Mike Alexander. * console-msw.h: fix cygwin define/header 1.0 problems. * glyphs-msw.c: ditto. * ntplay.c: ditto. * unexcw.c: ditto. * s/cygwin32/h: ditto. 1999-11-29 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.22 is released 1999-11-28 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.21 is released. 1999-11-26 Martin Buchholz <martin@xemacs.org> * callproc.c (Fcall_process_internal): * config.h.in: * esd.c: * event-msw.c (ntpipe_slurp_reader): * event-msw.c (ntpipe_shove_writer): * event-msw.c (winsock_reader): * event-msw.c (winsock_writer): * event-stream.c (dribble_out_event): * fileio.c: * fileio.c (Fexpand_file_name): * glyphs-x.c (write_lisp_string_to_temp_file): * gpmevent.c (tty_get_foreign_selection): * lisp.h: Update prototypes. * lstream.c (Lstream_flush_out): * lstream.c (Lstream_write_1): * lstream.c (Lstream_was_blocked_p): * lstream.c (Lstream_read_more): * lstream.c (Lstream_read): * lstream.c (Lstream_fputc): * lstream.c (make_stdio_output_stream): * lstream.c (stdio_flusher): * lstream.c (stdio_closer): * lstream.c (make_filedesc_output_stream): * lstream.c (errno_would_block_p): * lstream.c (filedesc_writer): * lstream.c (make_lisp_string_input_stream): * lstream.c (make_fixed_buffer_output_stream): * lstream.c (fixed_buffer_reader): * lstream.c (make_resizing_buffer_output_stream): * lstream.c (make_dynarr_output_stream): * lstream.c (make_lisp_buffer_output_stream): * lstream.c (lisp_buffer_reader): * lstream.h (lstream_implementation): * md5.c (Fmd5): * miscplay.h (reset_parsestate): * process-nt.c (nt_send_process): * process-unix.c (unix_send_process): * sound.c: * sysdep.c (sys_close): * sysdep.c (sys_read_1): * sysdep.c (sys_write_1): * sysfile.h: * file-coding.c (determine_real_coding_system): * file-coding.c (Fdetect_coding_region): * file-coding.c (struct decoding_stream): * file-coding.c (decoding_reader): * file-coding.c (Fdecode_coding_region): * file-coding.c (struct encoding_stream): * file-coding.c (encoding_reader): * file-coding.c (Fencode_coding_region): * file-coding.c (convert_to_external_format): * file-coding.c (convert_from_external_format): - Lstream functions mirror Unix98 read(),write(). Therefore use Unix98 types size_t and ssize_t. - Try to make Lstream* functions 64-bit clean. Someday someone may actually want to read from a Lstream with more than 2**32 bytes. - Add configure support for ssize_t. - Update all callers of Lstream_read and Lstream_write to use the new types. - Fix esd* initiated C++ compile errors. - Remove comments referring to `fpurge' - we don't want to call it even if it's there. * lisp.h - Remove some lingering Lucid compiler support. * lisp.h - Add prototype for Fdelete_process. * gpmevent.c (Freceive_gpm_event): Remove unused variables. 1999-11-27 Martin Buchholz <martin@xemacs.org> * Makefile.in.in (depend): Only update `depend' if there were changes. 1999-11-26 Martin Buchholz <martin@xemacs.org> * editfns.c (get_system_name): Remove. 1999-11-26 Martin Buchholz <martin@xemacs.org> * device-x.c (x_init_device): - Replace magic number `17' with equivalent expn using sizeof. - Replace strcmp with marginally more efficient memcmp. - Avoid using C++ reserved word `class'. * file-coding.c (determine_real_coding_system): - Look for both initial and final -*- cookies. - Replace EQ (foo, Qnil) with NILP (foo) - Make searching for cookies more efficient. - Recognize only rfc 1521 characters in charset names. 1999-11-22 Kazuyuki IENAGA <kazz@imasy.or.jp> * input-method-xlib.c (IMDestroyCallback): #ifdef'd by "THIS_IS_X11R6", because it shouldn't be evaluated unless X11R6. * input-method-xlib.c (IMInstantiateCallback): Ditto. * input-method-xlib.c (XIM_init_device): Revive XOpenIM function call for X11R5 systems. * input-method-xlib.c (XIM_delete_frame): Enabled XDestroyIC() again because XIM doesn't concern with frame deletion itself. The XIC will be cleared by XIM when XIM is closing (at XIM destroy callback). 1999-10-25 Kazuyuki IENAGA <kazz@imasy.or.jp> * input-method-xlib.c: Added new lisp object Qxim_xlib. New macro xim_warn(str), xim_warn1(fmt,str) and xim_info(str). All the valid stderr_out were changed to those macros. (IMDestroyCallback): Don't test the XIC if the frame is not X frame. (IMInstantiateCallback): Treat the client_data as "device" not "frame" because the caller changed from frame to device. Here initializes XIM and activates XICs for each frame which doesn't have XIC. (XIM_init_device): Register the XIM instantiation callback which had been performed by XIM_init_frame() before. (XIM_delete_frame): Added a test for the XIM before clearing XIC. (XIM_init_frame): Placed an actual code for XIC activation which was moved from IMInstantiateCallback. (syms_of_input_method_xlib): New function which includes a symbol Qxim_xlib that uses in emacs.c. * emacs.c: Added a function entry "syms_of_input_method_xlib" for input_method_xlib. * symsinit.h: Added a declaration of "syms_of_input_method_xlib". 1999-11-05 Robert Pluim <rpluim@bigfoot.com> * emacs.c (shut_down_emacs): Point users to PROBLEMS file 1999-11-16 Jan Vroonhof <vroonhof@math.ethz.ch> * redisplay-output.c (compare_runes): Add comments about results from profiling. * redisplay.h (struct rune): Do not use bitfields for members. (struct rune): Add various comments about further optimizations. 1999-11-19 Eric Darve <darve@crocco.stanford.edu> * abbrev.c (abbrev_oblookup): Check whether wordend <= wordstart if Vabbrev_start_location is used too. 1999-10-27 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * file-coding.c (detect_eol_type): Return CR when two sequential CR are found. (determine_real_coding_system): Check EOL type when coding: cookie is found and EOL type is not specified. Don't assume 8bit char as part of coding: cookie. 1999-10-26 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * file-coding.c (determine_real_coding_system): Check if '-*-' exists. End searching for coding: cookie at the end of line. Check whether character before coding: is space, tab or ';'. 1999-11-07 William M. Perry <wmperry@aventail.com> * gpmevent.c: Completely rewrote GPM mouse support for linux console. The TTY console and event stream are modified at run time, so this code can now be used as a module. (tty_get_foreign_selection): New function to allow pasting from other virtual consoles. (Fgpm_enable): New lisp-visible function to turn GPM on or off at run time. * device-tty.c (tty_asynch_device_change): No longer need to notify GPM code of window/console height/width changes. * console-tty.c (tty_init_console): Removed outdated GPM support that was part of the console/event code. * event-Xt.c (emacs_Xt_select_console): Ditto * event-Xt.c (emacs_Xt_unselect_console): Ditto * event-unixoid.c (read_event_from_tty_or_stream_desc): Ditto * frame-tty.c (console_type_create_frame_tty): Ditto 1999-11-17 Martin Buchholz <martin@xemacs.org> * nt.c: * sysdep.c: * s/mingw32.h: * s/windowsnt.h: - Use Unix 98 types uid_t, gid_t, pid_t. - Define them. 1999-11-01 Olivier Galibert <galibert@pobox.com> * alloc.c (reinit_alloc_once_early): Move purify_flag init... * emacs.c (main_1): ...here, to get the correct value even with the portable dumper. 1999-11-17 Martin Buchholz <martin@xemacs.org> * lisp.h (BIT_VECTOR_LONG_STORAGE): Add extra parens. It's a macro! * tooltalk.c (tt_build_string): Remove extra parens. * process.c (print_process): Remove extra parens. * buffer.h (BI_BUF_PTR_BYTE_POS): (BUF_PTR_BYTE_POS): (BI_BUF_BYTE_ADDRESS): (BI_BUF_BYTE_ADDRESS_BEFORE): (valid_memind_p): (bytind_to_memind): (memind_to_bytind): Remove extra parens. Inline functions are not macros. * editfns.c (Fuser_login_name): (user_login_name): Use proper type uid_t. 1999-11-15 Martin Buchholz <martin@xemacs.org> * syntax.c (complex_vars_of_syntax): Make more readable. (define_standard_syntax): New function. * syntax.c (forward-comment): Gradually make XEmacs 64-bit-clean. 1999-11-14 Martin Buchholz <martin@xemacs.org> * mule-ccl.c (CCL_WRITE_STRING): Fix compiler warnings. 1999-11-12 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * mule-charset.h (LEADING_BYTE_OFFICIAL_1, LEADING_BYTE_OFFICIAL_2): New enum type to make sure no gap in the leading byte definition. 1999-11-11 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * mule-charset.h (LEADING_BYTE_CYRILLIC_ISO_8859_5, LEADING_BYTE_LATIN_ISO8859_9): Moved to 0x8B and 0x8C to remove a hole in leading byte definition. 1999-11-10 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * mule-charset.c (non_ascii_valid_charptr_p): Check if private charset is defined. 1999-11-09 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp> * mule-ccl.c (ccl_driver): Make sure generated sequences are valid when doing `CCL_WRITE_STRING'. (ccl-execute-on-string): Pass CCL_MODE_DECODING to ccl_driver. 1999-11-10 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.20 is released 1999-11-04 Martin Buchholz <martin@xemacs.org> * mule-ccl.c (ccl_driver): Warning suppression 1999-11-01 SL Baur <steve@miho.m17n.org> * emacs.c (main_1): Guard call to reinit_vars_of_debug when not building a debugged XEmacs. 1999-10-28 Andreas Jaeger <aj@suse.de> * src/emacs.c (main_1): Don't set the malloc hooks if using DOUG_LEA_MALLOC. 1999-10-30 Olivier Galibert <galibert@pobox.com> * alloc.c (pdump_dump_rtables): Don't forget to dump the last registered type. (pdump): Ditto. 1999-10-25 Olivier Galibert <galibert@pobox.com> * emacs.c (main_1): Call reinit_vars_of_scrollbar_x. * symsinit.h: Declare reinit_vars_of_scrollbar_x. 1999-10-25 Martin Buchholz <martin@xemacs.org> * redisplay.h (CLASS_RESET_CHANGED_FLAGS): (GLOBAL_RESET_CHANGED_FLAGS): (CLASS_REDISPLAY_FLAGS_CHANGEDP): (RESET_CHANGED_SET_FLAGS): Fix C++ compile errors/warnings. These macros were just a tad too clever. * process-unix.c (unix_open_network_stream): * objects-x.c (allocate_nearest_color): * mule-charset.c (vars_of_mule_charset): * fileio.c (Ffile_truename): * file-coding.c (vars_of_file_coding): Fix compile errors/warnings. * alloc.c (xstrdup): Use fact that memcpy returns its first arg. (allocate_lisp_storage): Simplify. 1999-10-24 Olivier Galibert <galibert@pobox.com> * conslots.h: Add defines with first and last slot names. * bufslots.h: Add defines with first and last slot names. * buffer.c (common_init_complex_vars_of_buffer): Renamed from reinit_complex_vars_of_buffer (reinit_complex_vars_of_buffer): Reset the slots to the dumped value. (complex_vars_of_buffer): Dump the slots values. * console.c (common_init_complex_vars_of_console): Renamed from reinit_complex_vars_of_console (reinit_complex_vars_of_console): Reset the slots to the dumped value. (complex_vars_of_console): Dump the slots values. * alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to pdump_rt_list and move them at the beginning of the file. (gc_sweep): Unmark pdumped objects after the sweep phase. (pdump_dump_rtables): Change a bare 256 to last_lrecord_type_index_assigned. Add a separator between the adresses or lrecords and the ones of C structs in the dump file. (pdump_load): Cope with the new separator and the renamings. Stop looking for the hash tables list after it has been found (duh!). 1999-10-24 Robert Bihlmeyer <robbe@orcus.priv.at> * sound.c: support HAVE_ESD_SOUND * miscplay.c: * miscplay.h: * linuxplay.c: Move large part of linuxplay to generalized file miscplay. Make it platform independent. * esd.c: New file 1999-10-24 Adrian Aichner <adrian@xemacs.org> * lisp.h (Dynarr_declare): Fix boo-boo. 1999-10-24 Olivier Galibert <galibert@pobox.com> * process-unix.c (allocate_pty): Fix HAVE_GETPT. * process.h: Ditto. 1999-10-24 Jan Vroonhof <vroonhof@math.ethz.ch> * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt >=0). Handle the cur_elt == 0 case. 1999-10-24 Jan Vroonhof <vroonhof@math.ethz.ch> * unexelf.c: Merge Martin's c++ fixes back in 1999-10-20 Jan Vroonhof <vroonhof@math.ethz.ch> * unexelf.c (unexec): Only copy the global offset table from memory on sgi machines. 1999-08-13 Alexandre Oliva <oliva@dcc.unicamp.br>, Vin Shelton <acs@xemacs.org> * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by adding support for an sbss section. Get IRIX 5.2 to build using unexelf.c. * m/iris4d.h: Use unexelf.o for unexec. * m/iris5d.h: Use unexelf.o for unexec. 1999-10-24 Jan Vroonhof <vroonhof@math.ethz.ch> * unexelf.c: Revert to 21.1 version 1999-08-28 Jan Vroonhof <vroonhof@math.ethz.ch> * window.c (Fwindow_truncated_p): New function. 1999-08-25 Jonathan Marten <jonathan.marten@uk.sun.com> * window.c (window_truncation_on): Always return 0 for minibuffer windows, to enable auto scrolling. 1999-10-24 Neal Becker <nbecker@fred.net> * process.h: Unix98 PTY support 1999-10-17 Jan Vroonhof <vroonhof@math.ethz.ch> * fileio.c (Ffile_truename): Do proper mule decoding on the argument to xrealpath() 1999-08-19 Stephen Tse <stephent@sfu.ca> * process-unix.c (unix_open_network_stream): Add udp network support; rename variable Qtcpip to Qtcp, parameter family to protocol for consistency with Qudp. * process-nt.c (nt_open_network_stream): Rename variable Qtcpip to Qtcp, parameter family to protocol for consistency with Qudp. * process.c (global_variables): Add a new variable Qudp for udp network support; rename variable Qtcpip to Qtcp for consistency with Qudp. (Fopen_network_stream_internal): Rename parameter FAMILY to PROTOCOL for consistency; fix a minor typo and add an explanation in docstring for udp programming. (Fopen_multicast_group_internal): Fix a minor typo in docstring. (syms_of_process): Add a new variable Qudp for udp network support; rename variable Qtcpip to Qtcp for consistency with Qudp. * process.h (extern_variables): Add a new variable Qudp for udp network support; rename variable Qtcpip to Qtcp for consistency with Qudp. * procimpl.h: Add a new variable Qudp for udp network support; rename variable Qtcpip to Qtcp for consistency with Qudp. (struct process_methods): Rename parameter family to protocol. 1999-10-24 Olivier Galibert <galibert@pobox.com> * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash. 1999-10-23 Olivier Galibert <galibert@pobox.com> * lrecord.h (struct lrecord_header): Removed dumped flags. * dynarr.c: Use DUMPEDP instead of dumped flag. * lisp.h (DUMPEDP): Added. Removed dumped flag from dynarr. * alloc.c: Removed hash_next linked list pointer. * *.c *.h: Removed markobj and mark_object parameters, removed GC_ and XGC macros. 1999-10-14 Andy Piper <andy@xemacs.org> * redisplay-x.c (x_output_shadows): fix dodgy maths for border calculations. * gutter.c (output_gutter): be more accurate about the area to be cleared since X seems to manage to do the clear after drawing the border. * redisplay.h (RESET_CHANGED_FLAGS): new macro for setting redisplay flags as a group. (RESET_CHANGED_SET_FLAGS): ditto. (CLASS_RESET_CHANGED_FLAGS): ditto. (GLOBAL_RESET_CHANGED_FLAGS): ditto. (REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags as a group. (CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto. (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto. * redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS instead of setting flags individually. (redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP. (redisplay_device): ditto. (redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS. (redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP. (redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP. (redisplay_without_hooks): ditto. (redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS. * redisplay-x.c (x_output_string): unmap subwindows in the area. (x_output_blank): ditto. * redisplay-output.c (redisplay_output_display_block): don't unmap subwindows in case layout optimization can avoid it. (redisplay_output_subwindow): unmap subwindows in the area. (redisplay_output_layout): optimize the output of layouts - only output glyphs that have changed if nothing else of redisplay significance has occurred. (redisplay_output_pixmap): change args to redisplay_clear_clipped_region. (redisplay_clear_clipped_region): allow the clipped region to be cleared of all subwindows except the one passed in. * redisplay-msw.c (mswindows_output_blank): unmap subwindows in the area. (mswindows_output_cursor): ditto. (mswindows_output_string): ditto. * gutter.c (calculate_gutter_size): if the window buffer is nil then don't continue. (update_frame_gutters): be more lenient about when we actually update the gutter. Layout optimization makes this non-costly. Cache redisplay flags that we want to temporarily ignore. * glyphs.c (Fglyph_animated_timeout_handler): handle image specific timeouts rather than iterating over the instance cache. (glyph_animated_timeout_mapper): deleted. (add_glyph_animated_timeout): use a weak list to hold onto the image so that it can be GC'ed. (disable_glyph_animated_timeout): disable a specific timeout. (vars_of_glyphs): disable-animated-pixmaps is a new boolean for controlling whether pixmaps are animated or not. * glyphs-msw.c (mswindows_finalize_image_instance): make sure the image timeout gets disabled when the image gets freed. * glyphs-eimage.c (gif_instantiate): remove meaningless comment. Cope with timeouts specified in the gif extension block. * event-msw.c (vars_of_event_mswindows): new variable mswindows-meta-activates-menu. (mswindows_wnd_proc): only goto defproc with VK_MENU if the user wants it. * glyphs-x.c (x_finalize_image_instance): delete mask first so that we can compare with image. 1999-10-14 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c (mswindows_key_to_emacs_keysym): Recognise keypad keys as different from normal keys. 1999-10-14 Didier Verna <didier@xemacs.org> * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps. 1999-10-10 Olivier Galibert <galibert@pobox.com> * symbols.c (init_symbols_once_early): dump Vquit_flag. * symsinit.h: Updated. * ntproc.c (vars_of_ntproc): Use defsymbol. * emacs.c (main_1): Updated reinit calls. * lisp.h: Removed Fpurecopy and pure_put declarations. * fns.c: Removed pure_put. * eval.c (Fdefvar): pure_put -> Fput (Fdefconst): Ditto. * frame-x.c (init_x_prop_symbols): Ditto. * symbols.c (deferror): Ditto. * alloc.c (Fmake_byte_code): Remove Fpurecopy call. * buffer.c (vars_of_buffer): Ditto. * bytecode.c (Ffetch_bytecode): Ditto. (optimize_compiled_function): Ditto. * emacs.c (vars_of_emacs): Ditto. * emodules.c (vars_of_module): Ditto. * eval.c (define_function): Ditto. (Fautoload): Ditto. * frame.c (vars_of_frame): Ditto. * intl.c (Fset_domain): Ditto. * lread.c (load_force_doc_string_unwind): Ditto. * menubar.c (vars_of_menubar): Ditto. * minibuf.c (reinit_complex_vars_of_minibuf): Ditto. * debug.c (reinit_vars_of_debug): Extracted. * device-x.c (reinit_vars_of_device_x): Ditto. * emodules.c (reinit_vars_of_module): Ditto. * font-lock.c (reinit_vars_of_font_lock): Ditto. * glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto. * glyphs.c (reinit_vars_of_glyphs): Ditto. * gui-x.c (reinit_vars_of_gui_x): Ditto. * insdel.c (reinit_vars_of_insdel): Ditto. * menubar-x.c (reinit_vars_of_menubar_x): Ditto. * minibuf.c (reinit_complex_vars_of_minibuf): Ditto. * mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto. * print.c (reinit_vars_of_print): Ditto. * redisplay.c (reinit_vars_of_redisplay): Ditto. * select-x.c (reinit_vars_of_xselect): Ditto. * undo.c (reinit_vars_of_undo): Ditto. 1999-10-10 Olivier Galibert <galibert@pobox.com> * symsinit.h: Updated declarations, see other ChangeLog entries. * redisplay.c (init_redisplay): Ensure proper reinitialisation. * lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it. * glyphs.c: Add the ii_keyword_entry and related descriptions. Fix the image_instantiator_methods one. * file-coding.c: Plonk all data that needs to be dumped in a dynamically allocated structure. * extents.c (reinit_vars_of_extents): Extracted from vars_of_extents. * event-stream.c (vars_of_event_stream): Don't staticpro when pdump_wire is enough. * event-msw.c (reinit_vars_of_event_mswindows): Extracted from vars_of_event_mswindows. * event-Xt.c (reinit_vars_of_event_Xt): Extracted from vars_of_event_Xt. * eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough. * emacs.c (main_1): Added some reinit calls. * device-x.c (reinit_console_type_create_device_x): Extracted from console_type_create_device_x. * console.h: Declare the console_type_entry_dynarr description. * console.c: Unstatic the console_type_entry_dynarr description. * alloc.c: Removed some dubious comments. Handle XD_INT_RESET. 1999-10-07 Olivier Galibert <galibert@pobox.com> * symsinit.h: Updated declarations, see other ChangeLog entries. * minibuf.c (reinit_complex_vars_of_minibuf): Extracted from complex_vars_of_minibuf. * lrecord.h: Removed XD_PARENT_INDIRECT (unused and unimplemented), added XD_LO_LINK. * lisp.h (pdump_wire_list): Add declaration. * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy. (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug. (REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the stupid bug fixed. * glyphs.c (reinit_image_instantiator_format_create): Remove. * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x): Remove. * glyphs-widget.c (reinit_image_instantiator_format_create_glyphs_widget): Remove. * glyphs-msw.c (reinit_image_instantiator_format_create_glyphs_mswindows): Remove. * glyphs-eimage.c (reinit_image_instantiator_format_create_glyphs_eimage): Remove. * frame.c (Fmake_frame): Don't reset the face cache when using the stream device. * file-coding.c: Dumped the_codesys_prop_dynarr and added all relevant descriptions. * events.c (reinit_vars_of_events): Extracted from vars_of_events. * eval.c: The subr is _not_ a lcrecord. * emacs.c (main_1): Call vars_of_specifier early before any specifier creation (e.g in vars_of_glyphs, at least). Remove the useless reinit_image_instantiator_format*. Add reinit_vars_of_events and reinit_complex_vars_of_minibuf. Add calls to lstream_type_create* and process_type_create*. * elhash.c: Dump Vall_weak_hash_tables correctly. * data.c: Dump Vall_weak_lists correctly. * console.c: Fix description. * console-stream.c (init_console_stream): Do initializations correctly in the pdump case. * chartab.c: Fix description. Dump Vall_syntax_tables correctly. (Fcopy_char_table): Link into Vall_syntax_tables. * alloc.c (pdump_wire_list): Added. (Fgarbage_collect): Fix loop in stats couting missing the last lrecord type. (pdump_register_sub): Added XD_LO_LINK. (pdump_dump_data): Ditto. Fixed XD_LO_RESET_NIL forgttting the counter. (pdump_reloc_one): Ditto. (pdump_scan_by_alignement): Use last_lrecord_type_index_assigned instead of 256. (pdump_dump_wired): Added lists. (pdump): Use last_lrecord_type_index_assigned instead of 256. Dump last_lrecord_type_index_assigned value. Fix minor bugs. 1999-10-07 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_finalize_image_instance): zero out bitmap slices. * glyphs-x.c (x_finalize_image_instance): fix FMW problem. 1999-10-06 Andy Piper <andy@xemacs.org> * elhash.c (resize_hash_table): Correct reference to lrecord_header. 1999-10-06 Damon Lipparelli <lipp@primus.com> * elhash.h: forward declare Lisp_Hash_Table. 1999-10-06 Andy Piper <andy@xemacs.org> * glyphs.c (Fset_image_instance_property): mark glyphs as dirty after setting an image instance property. 1999-10-05 Andy Piper <andy@xemacs.org> * gutter.c (update_frame_gutters): output gutters if windows_changed is set. This is the only way of catching changes in selected window which obviously can affect the specifiers. * redisplay.c: new state flags, subwindows_state_changed and subwindows_state_changed set. (redisplay_window): use them. (redisplay_device): ditto. (redisplay_without_hooks): ditto. (redisplay_frame): ditto. Reset subwindow cachels if subwindows_changed is set. (redisplay_window): call mark_glyph_cachels_as_clean after redisplaying. * redisplay-x.c (x_output_x_pixmap): select correct pixmap image for display depending on the currently selected slice. * redisplay-output.c (compare_runes): check dirtiness when checking RUNE_DGLYPH runes. (compare_display_blocks): relax invalidation of display blocks since we can now detect whether individual glyphs have changed or not. * redisplay-msw.c (mswindows_output_dibitmap): select correct bitmap image for display depending on the currently selected slice. * glyphs.h (struct Lisp_Image_Instance): add a dirty flag. (IMAGE_INSTANCE_DIRTYP): new macro. (XIMAGE_INSTANCE_DIRTYP): ditto. (MARK_IMAGE_INSTANCE_CHANGED): ditto. (GLYPH_DIRTYP): ditto. (XGLYPH_DIRTYP): ditto. (MARK_GLYPH_CHANGED): ditto. (GLYPH_CACHEL_DIRTYP): ditto. (struct glyph_cachel): add a dirty flag. * glyphs.c (update_frame_subwindows): Don't update on glyphs_changed. (glyph_animated_timeout_mapper): new function. Map over the instance cache lookinng for animated images to update. (Fglyph_animated_timeout_handler): new function. Lisp callback for handling animated image timeout events. (disable_glyph_animated_timeout): new function. Add the animated image timeout. (disable_glyph_animated_timeout): new function. Remove the animated image timeout. (syms_of_glyphs): initialize Qglyph_animated_timeout_handler and friends. (vars_of_glyphs): initialize Vglyph_animated_ticker. (image_instance_equal): add the currently displayed slice. (image_instance_hash): ditto. (allocate_glyph): initialize dirty flag. (glyph_width): rename glyph -> glyph_or_image. (glyph_height_internal): ditto. (glyph_dirty_p): new function. Determine whether the image instance in the domain and/or glyph is dirty. (set_glyph_dirty_p): set the dirtiness. (update_glyph_cachel_data): take dirtiness into account. Pass the image instance we are interested in to glyph_width and friends. (get_glyph_cachel_index): make non-static. Always call update_glyph_cachel_data. (mark_glyph_cachels_as_not_updated): meaningless formatting change. (mark_glyph_cachels_as_clean): new function. Clean dirtiness from glyph cachels. * glyphs-x.h (struct x_image_instance_data): change pixmap to a list of pixmaps. (IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro. (IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto. (XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto. (XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto. * glyphs-x.c (x_finalize_image_instance): make sure multi pixmap images get deleted properly. (init_image_instance_from_x_image): add slices paramater and use it to initialize x_image_instance_data correctly. (image_instance_add_x_image): new function. Add new pixmaps to our set of instantiated pixmaps for an image. Used by animated images. (x_init_image_instance_from_eimage): add a slices parameter. Instantiate all images from the eimage. (x_xpm_instantiate): update use of init_image_instance_from_x_image. (init_image_instance_from_xbm_inline): ditto. (x_initialize_pixmap_image_instance): add slices paramater and use it to allocate x_image_instance_data correctly. * glyphs-msw.h (struct mswindows_image_instance_data): change bitmap to a list of bitmaps. (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro. (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto. (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto. (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto. * glyphs-msw.c (init_image_instance_from_dibitmap): add slices paramater and use it to initialize mswindows_image_instance_data correctly. (image_instance_add_dibitmap): new function. Add new bitmaps to our set of instantiated bitmaps for an image. Used by animated images. (mswindows_init_image_instance_from_eimage): add a slices parameter. Instantiate all images from the eimage. (mswindows_xpm_instantiate): update use of init_image_instance_from_dibitmap. (bmp_instantiate): ditto. (init_image_instance_from_xbm_inline): ditto. (mswindows_finalize_image_instance): make sure all the bitmap slices get deleted. (mswindows_initialize_dibitmap_image_instance): add slices paramater and use it to allocate mswindows_image_instance_data correctly. * glyphs-eimage.c (jpeg_instantiate): give extra paramter to init_image_instance_from_eimage. (png_instantiate): ditto. (tiff_instantiate): ditto. (gif_instantiate): allocate bitmaps for all gif slices not just the first one. * device.h (struct device): add subwindows_state_changed flag. (MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro. (MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto. * console.h (struct console_methods): add a slice parameter to init_image_instance_from_eimage_method. * redisplay.c (create_string_text_block): Allow buffer to be nil without crashing. 1999-09-24 Andy Piper <andy@xemacs.org> * glyphs-x.c: only include gui-x.h if we are building with widgets. * gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups. 1999-09-28 Lee Kindness <lkindness@csl.co.uk> * objects-x.c (allocate_nearest_color): will return 0 (failure) when the colormap is full and the color it has computed to be the 'nearest' has been allocated read/write. 1999-10-02 Olivier Galibert <galibert@pobox.com> * search.c (reinit_vars_of_search): Reinit the search cache correctly. * elhash.h: Make the description visible. Declare resize_hash_table. * elhash.c (resize_hash_table): Extracted from enlarge_hash_table to generalize the hash table reorganization. (reorganize_hash_table): Added. (enlarge_hash_table): Uses resize_has_table. * casetab.c (complex_vars_of_casetab): staticpro the mule mirror tables. * alloc.c: Add correct management of blocks of structures. Reorganize hash tables at reload since the hash values can change with the pointers. 1999-10-01 Olivier Galibert <galibert@pobox.com> * lisp.h: Add pdump_wire declaration * elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables. * symbols.c (init_symbols_once_early): Wire Qnil and Qunbound. * alloc.c (pdump_wire): Added.. (pdump_load): Support it. (pdump): Support it * glyphs-msw.c (reinit_image_instantiator_format_create_glyphs_mswindows): Fix macro calls. 1999-09-28 Olivier Galibert <galibert@pobox.com> * symsinit.h: Added lots of prototypes. * symeval.h: Added defsymbol_nodump declaration. * symbols.c (find_symbol_value): Lame attempt at making the startup go further. (defsymbol_nodump): Added. * mule-charset.c: Collapsed global lisp objects arrays in one dumpable structure. * lrecord.h: Added some flags. * lisp.h: Added dumped flag to dynarrs. Added dumpstruct declaration. * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't staticpro dynamic variables. * glyphs.c (reinit_specifier_type_create_image): Added. (image_instantiator_format_create): Dump image instantiator format dynarr. (reinit_image_instantiator_format_create): Added. * emacs.c (main_1): Added reinits calls. * dynarr.c: Protect dumped dynarrays from going berzek in free or realloc. * specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic variables. * specifier.c (specifier_type_create): Dump the specifier type dynarr. (reinit_specifier_type_create): Added. * console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic variables. * console.c (console_type_create): Dump the console type dynarr. (reinit_vars_of_console): Extracted from vars_of_console. (reinit_complex_vars_of_console): Extracted from complex_vars_of_console * window.c (reinit_vars_of_window): Extracted from vars_of_window. * toolbar.c (reinit_specifier_type_create_toolbar): Added. * search.c (reinit_vars_of_search): Extracted from vars_of_search. * objects.c (reinit_specifier_type_create_objects): Added. (reinit_vars_of_objects): Extracted from vars_of_objects. * lstream.c (reinit_vars_of_lstream): Extracted from vars_of_lstream. * lread.c (reinit_vars_of_lread): Extracted from vars_of_lread. * gutter.c (reinit_specifier_type_create_gutter): Added. * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x): Added. * glyphs-widget.c (reinit_image_instantiator_format_create_glyphs_widget): Added * glyphs-msw.c (reinit_image_instantiator_format_create_glyphs_mswindows): Added. * glyphs-eimage.c (reinit_image_instantiator_format_create_glyphs_eimage): Added. * event-stream.c (reinit_vars_of_event_stream): Extracted from vars_of_event_stream * eval.c (reinit_vars_of_eval): Extracted from vars_of_eval. * device.c (reinit_vars_of_device): Extracted from vars_of_device. * console-x.c (reinit_console_type_create_x): Added. * console-tty.c (reinit_console_type_create_tty): Added * console-stream.c (reinit_console_type_create_stream): Added. (init_console_stream): If PDUMP, always reinitialise basic devices. * console-msw.c (reinit_console_type_create_mswindows): Added. * buffer.c (reinit_vars_of_buffer): Extracted from init_vars_of_buffer. (reinit_complex_vars_of_buffer): Extracted from complex_vars_of_buffer * alloc.c: Further with the portable dumping, the revenge. (dumpstruct): Added. (reinit_alloc_once_early): Extracted from init_alloc_once_early. * specifier.c (sizeof_specifier): Correct size computation. (make_specifier_internal): Ditto. 1999-09-27 Olivier Galibert <galibert@pobox.com> * alloc.c: Further with the portable dumping. 1999-09-27 Martin Buchholz <martin@xemacs.org> * glyphs-x.c (update_widget_face): Remove bogus cast * data.c (sign_extent_lisp): * data.c (check_int_range): * data.c (Faref): * data.c (Faset): * data.c (number_char_or_marker_to_int): * data.c (number_char_or_marker_to_double): * data.c (Frem): * data.c (Fmod): * extents.c (print_extent_1): * fns.c (print_bit_vector): * fns.c (Flength): * fns.c (Fsafe_length): * fns.c (copy_list): * fns.c (Fsubseq): * fns.c (Felt): * fns.c (Flast): * fns.c (Fnbutlast): * insdel.h: * marker.c (print_marker): * syntax.h: * bytecode.c (bytecode_arithcompare): * bytecode.c (bytecode_arithop): * lisp.h: * lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF): * lisp.h (TRUE_LIST_P): * lisp.h (CHECK_TRUE_LIST): * lisp.h (bit_vector_length): * lisp.h (GCPRO4): Make consistent. * lisp.h (NGCPRO4): Make consistent. * lisp.h (NNGCPRO4): Make consistent. * alloc.c (Fmake_list): * alloc.c (Fmake_string): Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int. This should make all arithmetic 64-bit clean. Use %ld with (long) casts in print statements of types with sizes possibly larger than int. Following functions had mismatched prototypes!!: do_marker_adjustment(), fixup_internal_substring(), scan_lists(), char_quoted(), make_string_from_buffer(), make_string_from_buffer_no_extents() The types of Bufpos, Bytind, Memind, Bytecount, Charcount, Extcount are all now EMACS_INT. I hope to see the day when I can create a buffer with more than INT_MAX characters, without having XEmacs slow down to a crawl. I also hope to be able to create a list with more than INT_MAX cons cells. * redisplay.c (decode_mode_spec): The %p and %P specs in the mode line were not correct for buffers larger than MAX_INT/100! The %p spec was off by .5% even for small buffers! 1999-09-27 Martin Buchholz <martin@xemacs.org> * cmdloop.c (num_input_keys): * print.c (debug_temp): * emacs.c (Vinfo_directory): Delete unused variables * console-x.h (x_interline_space): Mark as unimplemented. * redisplay-x.c (x_interline_space): Mark as unimplemented. * event-Xt.c (pending_timeouts): * linuxplay.c (linuxplay_sndbuf): * profile.c (QS*): * search.c (searchbufs): * specifier.c (specifier_type_entry_dynarr): * undo.c (pending_boundary): * event-stream.c (the_low_level_timeout_blocktype): * extents.c (gap_array_marker_freelist): * extents.c (extent_list_marker_freelist): * print.c (being_printed): * print.c (alternate_do_pointer): * alloc.c (first_string_chars_block): * alloc.c (current_string_chars_block): * emacs.c (initial_argv): * emacs.c (initial_argc): * eval.c (lisp_eval_depth): * free-hook.c (pointer_table): * free-hook.c (free_queue): * free-hook.c (current_free): * free-hook.c (strict_free_check): * redisplay.c (formatted_string_emchar_dynarr): * redisplay.c (formatted_string_display_line): * redisplay.c (formatted_string_extent_dynarr): * redisplay.c (formatted_string_extent_start_dynarr): * redisplay.c (formatted_string_extent_end_dynarr): * redisplay.c (updating_line_start_cache): * redisplay.c (last_display_warning_tick): * redisplay.c (display_warning_tick): * redisplay.c (internal_cache): * window.c (Vwindow_configuration_free_list): Make static. * redisplay.c (Vinitial_window_system): Make CONST. 1999-09-24 Martin Buchholz <martin@xemacs.org> * redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements. * doprnt.c (get_doprnt_args): Use int, not short, with va_arg. 1999-09-24 Andy Piper <andy@xemacs.org> * redisplay-output.c (output_display_line): only clear the borders if we are not displaying the gutter. 1999-09-24 Jan Vroonhof <vroonhof@math.ethz.ch> * frame-x.c (x_any_window_to_frame): Let Xt find the widget and then use x_any_widget_or_parent_to_frame(). (x_find_frame_for_window): remove special cases. 1999-09-24 Andy Piper <andy@xemacs.org> * scrollbar-x.c (x_window_is_scrollbar): deleted. * scrollbar-x.h: ditto. 1999-09-23 Martin Buchholz <martin@xemacs.org> * alloc.c (this_marks_a_marked_record): Remove. * buffer.c (mark_buffer): * buffer.c (nuke_all_buffer_slots): * console.c (mark_console): * console.c (nuke_all_console_slots): * frame.c (mark_frame): * frame.c (nuke_all_frame_slots): Treat MARKED_SLOT() macros consistently. * device.h (error_check_device_type): * faces.c (face_getprop): * fileio.c (DRIVE_LETTER): * filelock.c (lock_file_1): * frame-x.c (x_create_widgets): * frame.h (error_check_frame_type): * keymap.c (print_keymap): * keymap.c (Fkey_description): * keymap.c (where_is_recursive_mapper): * mule-charset.h (CHARSET_LEADING_BYTE): * objects-msw.c (mswindows_color_instance_hash): * objects.c (color_instance_equal): * objects.h (struct color_specifier): * objects.h (struct font_specifier): * objects.h (struct face_boolean_specifier): * opaque.h (get_opaque_ptr): * opaque.h (set_opaque_ptr): * process-unix.c (set_socket_nonblocking_maybe): * specifier.h (SPECIFIER_TYPE_P): * symbols.c (store_symval_forwarding): * syssignal.h (EMACS_KILLPG): * terminfo.c (emacs_tparam): * glyphs.c (glyph_putprop): * glyphs.c (glyph_remprop): * glyphs.c (Fimage_instance_subwindow_id): * window.c (mark_window): * window.c (mark_window_config): * window.c (Fset_window_configuration): * window.c (save_window_save): * eval.c (Fuser_variable_p): * eval.c (Fcommand_execute): * eval.c (Feval): * eval.c (Ffuncall): * lisp.h (XPNTR): * lisp.h (INT_OR_FLOATP): * lisp.h (GC_INT_OR_FLOATP): * lisp.h (XFLOATINT): * lisp.h (IS_ANY_SEP): * mule-ccl.c (Fccl_execute): * mule-ccl.c (Fccl_execute_on_string): * redisplay-x.c (x_output_string): Remove redundant extra parentheses. 1999-09-22 Martin Buchholz <martin@xemacs.org> * chartab.c (word_boundary_p): Add prototype for warning avoidance. * eval.c (PRIMITIVE_FUNCALL): ANSIfy * free-hook.c (fun_ptr): ANSIfy * getloadavg.c: Remove declaration for errno. * gui.c (allocate_gui_item): ANSIfy * gui.h (allocate_gui_item): ANSIfy * mule-ccl.c (resolve_symbol_ccl_program): Make static * realpath.c: Remove K&R support. * redisplay-x.c (x_output_display_block): Don't shadow previous local * glyphs-widget.c (layout_instantiate): Don't shadow previous local * gutter.c (get_gutter_coords): Make static. * lread.c (locate_file_map_suffixes): Make static. * ralloc.c (relinquish): ANSIfy * redisplay.c: * lisp.h: Move prototypes from redisplay.c to lisp.h 1999-09-22 Martin Buchholz <martin@xemacs.org> * glyphs-x.c (x_widget_set_property): - Remove unnecessary initialization. - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA * glyphs-x.c (x_widget_instantiate): - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA * unexelf.c (unexec): Add cast for C++ compilability. * redisplay.h: Fix a typo. * ralloc.c (r_alloc_reinit): SET_FUN_PTR was broken wrt ANSI aliasing! To compensate, use __typeof__ when using gcc, else live with possible (but rare) warnings. * ralloc.c (init_ralloc): Ditto * ralloc.c: Use the real dlmalloc prototype for __morecore. * lread.c (locate_file_map_suffixes): * input-method-xlib.c (XIM_init_frame): - Xlib functions should use XPointer, not XtPointer. * input-method-xlib.c (XIM_delete_frame): - Xlib functions should use XPointer, not XtPointer. * input-method-xlib.c (IMDestroyCallback): - Simplify. - XFRAME (obj) can never be NULL, so don't test for it. * gutter.h: Add GUTTER_POS_LOOP for iterating over all gutter_pos'es * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG): Run c-backslash-region on macro body. * gutter.c (gutter_was_visible): Remove redundant parens - this is not a macro. * gutter.c (redraw_exposed_gutters): Use GUTTER_POS_LOOP. * gutter.c (gutter_specs_changed): Use GUTTER_POS_LOOP. * gutter.c (gutter_geometry_changed_in_window): Use GUTTER_POS_LOOP. * gutter.c (update_frame_gutters): Use GUTTER_POS_LOOP. * gutter.c (init_frame_gutters): Use GUTTER_POS_LOOP. * file-coding.c (determine_real_coding_system): Fix C++ compile error. * emodules.c (find_make_module): Cast return value from xrealloc * emacs.c (Fkill_emacs): Use __typeof__, when available. * emacs.c (voodoo_free_hook): Use __typeof__, when available. (Unfortunately, the type of __free_hook is glibc-version-dependent) * dired.c (user_cache): Use Bufbyte *, not char * * dired.c (Fuser_name_all_completions): Ditto. 1999-09-22 Andy Piper <andy@xemacs.org> * redisplay.c (redisplay_frame): reset the gutter display lines when we reset the subwindows. * gutter.c (reset_gutter_display_lines): new function. * window.c (Flast_nonminibuf_window): new function equivalent to FRAME_LAST_NONMINIBUF_WINDOW (). (syms_of_window): declare it. * redisplay.c (create_string_text_block): don't add bogus eol markers to gutter display lines. * glyphs.c (reset_subwindow_cachels): make sure we unmap subwindows using unmap_subwindow so that expose events get registered correctly. * window.c (window_scroll): use Vwindow_pixel_scroll_increment to determine how much to scroll the window. (vars_of_window): Vwindow_pixel_scroll_increment is a new variable. 1999-09-20 Robert Pluim <rpluim@nortelnetworks.com> * glyphs-x.c (update_widget_face): Guard fontList declaration for non-motif uses. 1999-09-20 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_update_subwindow): update faces. 1999-09-19 Andy Piper <andy@xemacs.org> * glyphs.c (update_frame_subwindows): update if faces have changed. * glyphs-x.c (x_widget_instantiate): create the clip widget using lwlib rather than directly. (x_finalize_image_instance): delete the clip widget using lwlib. (x_update_subwindow): update widget faces. (update_widget_face): new function for updating the face properties of a widget. (x_widget_set_property): update widget faces. * lwlib-Xlw.c (xlw_create_clip_window): new function. We need to manage the clip widgets using lwlib so that we can delete them in a safe manner. 1999-09-16 Martin Buchholz <martin@xemacs.org> * lisp-union.h: * lisp-disunion.h: Define new, potentially faster INT arithmetic macros INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1 * bytecode.c (execute_optimized_function): Use new macros. Fix metering code * bytecode.c (bytecode_negate): Optimize for integer case. 1999-08-29 Andreas Jaeger <aj@arthur.rhein-neckar.de> * m/mips.h: Support for mips-linux: Add !linux around places that are not valid for linux, define TEXT_START, DATA_START, DATA_SEG_BITS. 1999-09-16 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_output_subwindow): clip subwindows that don't completely fit on-screen rather than just unmapping them. * glyphs.h: change signature of map_subwindow. * glyphs.c (map_subwindow): add display_glyph_area to the signature. make sure the mapped area saved in the subwindow_cachel reflects this. (Fforce_subwindow_map): make a no-op. I don't think this does anything useful. * glyphs-x.h (struct x_subwindow_data): save the Display rather than the Screen. Add a clipwindow and clipwidget handle. (IMAGE_INSTANCE_X_CLIPWINDOW): new accessor. (IMAGE_INSTANCE_X_CLIPWIDGET): ditto. (XIMAGE_INSTANCE_X_CLIPWIDGET): ditto. (XIMAGE_INSTANCE_X_CLIPWINDOW): ditto. * glyphs-x.c (x_finalize_image_instance): destroy the clipwidget as well as the widget itself. (x_unmap_subwindow): unmap the clipwindow and clipwidget rather than the widgets and subwindows themselves. move the widget inside the clipwidget. (x_subwindow_instantiate): hold onto the Display rather than the Screen. allocate a clipwindow to put the subwindow inside. (x_resize_subwindow): use saved Display directly. (x_widget_instantiate): allocate a clipwidget of type EmacsManager to put widgets inside. * glyphs-widget.c: remove group stuff. * glyphs-msw.h (struct mswindows_subwindow_data): new structure to hold the clipwindow. (IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor. (XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto. * glyphs-msw.c: remove group stuff. (mswindows_finalize_image_instance): destroy clipwindow as well as the widget itself. (mswindows_unmap_subwindow): unmap the clipwindow rather than the widget. (mswindows_map_subwindow): ditto. move the widget within the clipwindow. (mswindows_subwindow_instantiate): allocate and initialize mswindows_subwindow_data. allocate a clipwindow with the subwindow as a child. (mswindows_widget_instantiate): ditto. (mswindows_control_wnd_proc): new function that allows us to propagate events from the widget to the main windows control loop. * device-msw.c (mswindows_init_device): register new widget clip window class. * console.h (struct console_methods): add display_glyph_area to map_window. * console-msw.h: declare new window class and wnd proc for widgets. 1999-09-14 Martin Buchholz <martin@xemacs.org> * general.c: * eldap.c: Move symbols used only by eldap.c into eldap.c as statics. 1999-09-09 Martin Buchholz <martin@xemacs.org> * window.c (syms_of_window): * symbols.c (syms_of_symbols): * redisplay.c (syms_of_redisplay): * print.c (syms_of_print): * lisp.h: * intl.c (syms_of_intl): * general.c (syms_of_general): * frame.c (syms_of_frame): * fileio.c (syms_of_fileio): * file-coding.h: * file-coding.c (syms_of_file_coding): * extents.c (syms_of_extents): * event-stream.c (syms_of_event_stream): * event-stream.c (Fnext_event): * device.c (syms_of_device): * data.c (syms_of_data): * casetab.c (syms_of_casetab): * casetab.c (check_case_table): * callint.c (syms_of_callint): * buffer.c (syms_of_buffer): Delete unused C symbols: Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p, Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp, Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device, Qcommand_execute, Qglyph_invisible, Qbuffer_file_coding_system, Qfile_name_handler_alist, Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath, Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output, Qprint_escape_newlines, Qprint_readably, Qfloat_output_format, Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down Rename symbols as required by the CHECK_RECORD macro: - Qcase_table_p to Qcase_tablep - Qcoding_system_p to Qcoding_systemp * debug.h: * debug.c (syms_of_debug): Make debug.c's internal Lisp_Objects static. * events.c (vars_of_events): * events.c (syms_of_events): Use regular old defsymbol instead of KEYSYM + staticpro(). * select-x.c (CHECK_CUTBUFFER): Rewrite in accordance with coding standards. * keymap.c (syms_of_keymap): Use SPC in the same way as RET, TAB, etc. 1999-08-27 Jan Vroonhof <vroonhof@math.ethz.ch> * xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add offset twice if HAVE_WMCOMMAND is defined. 1999-09-13 Mike McEwan <mike@lotusland.demon.co.uk> * redisplay-x.c (x_output_vertical_divider): make sure shadow_thickness is positive. 1999-09-10 Julian Back <jback@rudd.compulink.co.uk> * process-nt.c (nt_create_process): fixup to cope with Vprocess_environment. 1999-09-02 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_output_layout): call output routines with clear_clip false. output layout borders with text correctly. * redisplay-msw.c (mswindows_output_blank): call output routines with clear_clip true. (mswindows_output_string): ditto. (mswindows_output_display_block): ditto. * redisplay-x.c (x_output_display_block): call output routines with clear_clip true. * redisplay.h: fix output routines for clear_clip parameter. * redisplay-output.c (redisplay_output_layout): cope with glyphs in the border. * glyphs-widget.c (layout_instantiate): deal with border glyphs. (check_valid_glyph_or_instantiator): renamed from check_valid_glyph_or_image. (check_valid_border): allow glyphs or their instantiators. (check_valid_glyph_or_instantiator_list): renamed from check_valid_glyph_or_image_list, (glyph_instantiator_to_glyph): new function. make sure a glyph is a glyph and not an instantiator. (substitute_keyword_value): new function. replace a keyword value with a new one. 1999-09-01 Andy Piper <andy@xemacs.org> * glyphs.c (string_set_property): new function to set the data of a string. (image_instantiator_format_create): use it. 1999-09-07 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fmapc): Rename back to Fmapc_internal. 1999-07-30 Gleb Arshinov <gleb@cs.stanford.edu> * ntheap.h: CONST (semantically constant) name field of file_data struct * unexnt.c (open_output_file): match function definition with function declaration * editfns.c: #include "sysfile.h" for getcwd() prototype * gif_io.c: #include "sysfile.h" for close() prototype 1999-09-02 Martin Buchholz <martin@xemacs.org> * elhash.c: * elhash.h: Change the :type keyword to :weakness, for compatibility with the GNU Emacs 20.5 hash table implementation. Keep (but don't document) the :type keyword for compatibility. Obsolete function hash-table-type General cleanup. Define function sxhash for compatibility with Common Lisp and GNU Emacs. 1999-09-01 Martin Buchholz <martin@xemacs.org> * floatfns.c (arith_error): * floatfns.c (range_error): * floatfns.c (range_error2): * floatfns.c (domain_error): * floatfns.c (domain_error2): * lrecord.h (LRECORDP): * console-x.h (X_ERROR_OCCURRED): * console-x.h (HANDLING_X_ERROR): * chartab.c (CATEGORYP): * buffer.h (XCHAR_OR_CHAR_INT): Remove redundant and confusing parentheses. * redisplay-output.c (redisplay_clear_to_window_end): Remove redundant initialization. * redisplay.h: * redisplay-msw.c: * redisplay-x.c: Move declarations of bevel_modeline() into redisplay.h. 1999-08-30 Olivier Galibert <galibert@pobox.com> * lisp.h: Add staticpro_nodump for undumped staticpro-ing. * alloc.c: Add staticpro_nodump for undumped staticpro-ing. Add alignment information for dumped data. Enhance descriptions. Phase out Vterminal_* variables while dumping. * lrecord.h: Add chained descriptions and automagically-reset lisp_objects to the description system. * console-stream.h: Declare the Vterminal_* variables. * buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and Vbuffer_local_symbols. * console.c: Don't dump Vconsole_list, Vconsole_defaults and Vconsole_local_symbols. * eval.c: Don't dump Qunbound_suspended_errors_tag. * lread.c: Don't dump Vread_buffer_stream. * lstream.c: Don't dump Vlstream_free_list[]. * search.c: Don't dump last_thing_searched. * window.c: Don't dump minibuf_window and Vwindow_configuration_free_list[]. * faces.c: Add face description. * fns.c: Add bit_vector description. * glyphs.c: Add image specifier description. * objects.c: Add color, face and face boolean specifiers descriptions. * opaque.c: Add opaque description. Don't dump Vopaque_ptr_free_list. * rangetab.c: Add range table description. * specifier.c: Add specifier and specifier methods description. * specifier.h: Add specifier extra description support. * symbols.c: Fix symbol_value_buffer_local_description. * gdbinit (Lisp): Add opaque_ptr, remove opaque_list. 1999-09-02 Hrvoje Niksic <hniksic@srce.hr> * extents.c (extent_remprop): Get extent's plist address correctly. 1999-08-31 Andy Piper <andy@xemacs.org> * xmu.h: define Xmu/Converters.h things. 1999-08-31 Andy Piper <andy@xemacs.org> * opaque.c (equal_opaque_ptr): define. (hash_opaque_ptr): define. * xmu.h: define Xmu/Misc.h things. 1999-08-17 MORIOKA Tomohiko <tomo@etl.go.jp> * file-coding.c (determine_real_coding_system): Treat `coding:' cookie. 1999-08-16 MORIOKA Tomohiko <tomo@etl.go.jp> * file-coding.c (struct decoding_stream): New member `counter'. (reset_decoding_stream): Initialize `counter'. (decode_coding_ucs4): Use `counter'. (decode_coding_utf8): Likewise. 1999-08-31 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_normalize_glyph_area): make sure the clip offset doesn't exceed the height we have available to show. * window.h (struct window): add top_yoffset and left_xoffset for pixel scrolling. (WINDOW_TEXT_TOP_CLIP): new macro. * window.c (window_scroll): add behaviour for pixel-scrolling of tall lines. * redisplay.h (struct display_line): add top_clip. (DISPLAY_LINE_HEIGHT): adjust for top_clip. (DISPLAY_LINE_YPOS): ditto. * redisplay.c (position_redisplay_data_type): add start_col_xoffset to prepare for pixel-based h-scrolling. (WINDOW_SCROLLED): new macro. (next_tab_position): use it. (add_glyph_rune): use new hscoll vars. (create_text_block): ditto. (generate_displayable_area): adjust off-by-one error. (regenerate_window): take top_clip into account. (regenerate_window_extents_only_changed): ditto. (regenerate_window_incrementally): ditto. * redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros. (x_output_string): ditto. (x_output_blank): ditto. (x_output_hline): ditto. (x_output_eol_cursor): ditto. * redisplay-output.c (output_display_line): allow for top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros. (redisplay_output_layout): output strings in layouts correctly. (redisplay_clear_clipped_region): allow for top_clip. (redisplay_calculate_display_boxes): ditto. * redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros. (mswindows_output_cursor): ditto. (mswindows_output_string): ditto. (mswindows_redraw_exposed_window): ditto. (mswindows_output_display_block): ditto. * gutter.c: new specifier type gutter-size. (gutter_size_validate): validate gutter-size specifier. (Fgutter_size_specifier_p): predicate for gutter-size. (Fredisplay_gutter_area): allow the gutter area to be redisplayed under user contol, like Fredisplay_echo_area. (syms_of_gutter): add new functions. (specifier_type_create_gutter): add new specifier. (specifier_vars_of_gutter): change specifier types of *-height to gutter-size. * glyphs.c (glyph_width): make work with image instances. * console.h (struct console_methods): change api of output_string. * glyphs-x.c (x_map_subwindow): move before mapping as reported by Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> 1999-08-30 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK for assignment. (init_image_instance_from_x_image): ditto. (x_xpm_instantiate): ditto. (x_colorize_image_instance): ditto. Reported by Richard Cognot <cognot@ensg.u-nancy.fr> 1999-08-29 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_widget_instantiate): move font initialisation so that it doesn't get saved in the user defined args. (x_tab_control_instantiate): Set the fg color of the tab's children. (x_tab_control_set_property): ditto. 1999-08-27 Damon Lipparelli <lipp@primus.com> * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct'' (XSETTIMEOUT): fixup typo 1999-08-11 Jan Vroonhof <vroonhof@math.ethz.ch> * syntax.c (scan_words): Unified Mule and Non-mule scanning. Word boundary search looks back instead of forward so that it doesn't peek over the limit. 1999-08-20 Olivier Galibert <galibert@pobox.com> * config.h.in: Add PDUMP define. * emacs.c (Fdump_emacs): Hackish, call pdump() if configured in. * lrecord.h: Enhance description system. * alloc.c: Fix vector and string description. Add portable dumper enumeration fonctions. * symbols.c: Fix symbols description. Add symbol_value_forward description. * eval.c: Add subr description. * elhash.c (CLEAR_HENTRY): Clean value pointer too. Fix hash table description. (remhash_1): CLEAR_HENTRY evaluates the parameter two times now. 1999-08-20 Olivier Galibert <galibert@pobox.com> * opaque.c: Kill opaque lists, make Lisp_Opaque_Ptr a lrecord of its own. * opaque.h: Ditto. * eval.c (eval_in_buffer_trapping_errors): (run_hook_trapping_errors): (safe_run_hook_trapping_errors): (call0_trapping_errors): (call1_trapping_errors): (call2_trapping_errors): OPAQUEP -> OPAQUE_PTRP. make_opaque_ptr now takes a non-const void *. 1999-08-20 Olivier Galibert <galibert@pobox.com> * opaque.c: Remove make_opaque_long. * opaque.h: Remove everything opaque_long related. * eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an opaque_ptr. * emacs.c (main_1): Remove make_opaque_long from comment. 1999-08-20 Olivier Galibert <galibert@pobox.com> * event-stream.c (mark_timeout): (print_timeout): (event_stream_generate_wakeup): (event_stream_resignal_wakeup): (event_stream_disable_wakeup): (event_stream_wakeup_pending_p): (vars_of_event_stream): Lisp_Timeout is now a lrecord. * events.h (struct Lisp_Timeout): Added. 1999-08-24 Andy Piper <andy@xemacs.org> * console-x.h: declare new pixmap signatures. 1999-08-23 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_update_subwindow): make sure the widget size is maintained after an update. * event-Xt.c (emacs_Xt_handle_magic_event): use find_matching_subwindow to check whether the exposure is totally inside a subwindow, if it is then ignore it. * glyphs.c (find_matching_subwindow): new function. * toolbar-x.c (x_draw_blank_toolbar_button): use new x_output_shadows signature. (x_output_toolbar_button): use new x_output_x_pixmap signature. * redisplay.h (struct display_box): new structure. (struct display_glyph_area): ditto. declare new display_box functions. * redisplay-x.c (x_output_pixmap): update for new display box stuff. (x_bevel_area): update to allow multiple edge styles and border segments. (x_output_display_block): update for new display_box stuff and signatures. (x_clear_region): ditto. (x_output_x_pixmap): ditto. adjust offsets rather than clip. (console_type_create_redisplay_x): declare new console methods. (x_output_vertical_divider): update for new bevel_area signature. (x_output_shadows): update to allow selective drawing of edges. * redisplay-tty.c (tty_output_display_block): do nothing for layouts. * redisplay-output.c (redisplay_output_subwindow): convert to use display_box structure, this allows us to put subwindows anywhere with any offset, useful for layout glyphs. (redisplay_output_layout): new function. output a layout and its sub-glyphs. (redisplay_output_pixmap): new modular function combining generic parts of the X and mswindows versions. convert to use display_box structures. (redisplay_clear_clipped_region): new function. clear the area a glyph is going into. (redisplay_normalize_glyph_area): new function. calculate the bounds of a display_glyph_area given a display_box. (redisplay_normalize_display_box): new function. shrink a display_box to enclose a display_glyph_area. (redisplay_display_boxes_in_window_p): check whether the input display_box and display_glyph_area are actually in a window. (redisplay_calculate_display_boxes): calculate display boxes based on conventional display_line metrics. (bevel_modeline): update for new bevel_area signature. * redisplay-msw.c (mswindows_output_blank): update for new display_box stuff. (mswindows_output_string): ditto. (mswindows_output_dibitmap): ditto. (mswindows_output_dibitmap_region): ditto. (mswindows_output_pixmap): ditto. (mswindows_bevel_area): update to allow multiple edge styles and border segments. (mswindows_output_display_block): update for new display_box stuff and signatures. (mswindows_clear_region): ditto. (console_type_create_redisplay_mswindows): declare new console methods. * lisp.h (edge_style): new enum. declare display_box and display_glyph_area. * gutter.c (output_gutter): update for new bevel_area signature. * glyphs.h (image_instance_type): add layout. (IMAGE_LAYOUT_MASK): ditto. (LAYOUT_IMAGE_INSTANCEP): new macro. (CHECK_LAYOUT_IMAGE_INSTANCE): ditto. (struct Lisp_Image_Instance): add offsets for layout and the layout type itself. move mask here also. (IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro. (IMAGE_INSTANCE_LAYOUT_BORDER): ditto. (XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto. (XIMAGE_INSTANCE_LAYOUT_BORDER): ditto. * glyphs.c (mark_image_instance): update for layouts. (print_image_instance): ditto. (image_instance_equal): ditto. (image_instance_hash): ditto. (allocate_image_instance): initialise offsets for layout. (decode_image_instance_type): update for layouts. (encode_image_instance_type): ditto. (Fimage_instance_height): ditto. (Fimage_instance_width): ditto. (allocate_glyph): ditto. (glyph_width): allow image instances as an argument. update for layouts. (glyph_height_internal): ditto. (syms_of_glyphs): add layout symbols. * glyphs-x.h (struct x_image_instance_data): remove mask entry. (IMAGE_INSTANCE_X_MASK): update. * glyphs-x.c (x_label_instantiate): new function. instantiate a label. (image_instantiator_format_create_glyphs_x): initialise new layout glyph type. * glyphs-widget.c: new layout type. (check_valid_orientation): new keyword checker for layouts. (check_valid_justification): ditto. (check_valid_border): ditto. (check_valid_glyph_or_image_list): ditto. (layout_possible_dest_types): new function for layout glyph type. (layout_normalize): ditto. (layout_instantiate): ditto. (syms_of_glyphs_widget): new keywords for layout. (image_instantiator_format_create_glyphs_widget): initialise the layout glyph type. * glyphs-msw.h (struct mswindows_image_instance_data): remove mask argument. (IMAGE_INSTANCE_MSWINDOWS_MASK): update. * glyphs-msw.c: declare layout format. (image_instantiator_format_create_glyphs_mswindows): initialise it. * general.c: new symbols for layouts. * console.h (struct console_methods): new console methods for outputting pixmaps and strings. 1999-08-23 Didier Verna <didier@xemacs.org> * sound.c: revert the renaming of `bell_volume' to `Vbell_volume' and `bell_inhibit_time' to `Vbell_inhibit_time'. 1999-08-18 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_output_subwindow): disable clipping attempt. 1999-08-17 Andy Piper <andy@xemacs.org> * gutter.c (redraw_exposed_gutter): handle degenerate case of no area to expose or no gutter to display. 1999-08-16 Charles G Waldman <cgw@fnal.gov> * sound.c: rename `bell_volume' to `Vbell_volume' and `bell_inhibit_time' to `Vbell_inhibit_time'. 1999-08-13 Charles G Waldman <cgw@fnal.gov> * sound.c: (bell-inhibit-time): New variable. (ding): Use it. (sound-alist): Fix docstring. 1999-08-17 Andy Piper <andy@xemacs.org> * gui-x.c (button_item_to_widget_value): xstrdup name so that deleting it is ok. 1999-08-16 Jeff Miller <jmiller@smart.net> * syntax.c (scan_words): make compile. 1999-08-16 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_output_subwindow): try and be more relaxed about clipping possibilities. * glyphs-x.c (x_tab_control_set_property): free_widget_value_tree rather than just the widget_value. (x_update_subwindow): ditto. (x_widget_instantiate): ditto. * gutter.c (output_gutter): shrink current display lines if required. 1999-08-15 Andy Piper <andy@xemacs.org> * redisplay.h: declare free_display_lines. * redisplay.c (free_display_lines): make non-static. * gutter.c (free_frame_gutters): use free_display_lines instead of Dynarr_free. (calculate_gutter_size): ditto. 1999-08-12 Jan Vroonhof <vroonhof@math.ethz.ch> * eval.c (run_hook_with_args_in_buffer): GCPRO globals. 1999-08-14 Andy Piper <andy@xemacs.org> * glyphs.c (update_subwindow_cachel): make it less brittle. 1999-08-04 Mike Woolley <mike@bulsara.com> * scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed problem in wheelmouse code occurring when the horizontal scrollbar is enabled but not visible. 1999-08-08 Andy Piper <andyp@beasys.com> * toolbar-msw.c (mswindows_redraw_frame_toolbars): new function. (console_type_create_toolbar_mswindows): use it. * glyphs.c (Fset_image_instance_property): fiddly reorganisation. * redisplay-output.c (redisplay_output_display_block): unmap subwindows in the block area before outputting the block. * event-msw.c (mswindows_wnd_proc): check the update rect before painting and disable expose registration while painting. * glyphs.c (register_ignored_expose): check hold_ignored_expose_registration before registering expose events. * redisplay.c (redisplay_frame): reset the subwindow cache before displaying the gutter. * glyphs-msw.c (mswindows_map_subwindow): move the window before mapping. * gutter.c (update_frame_gutters): check for glyphs_changed as if it is the subwindow cache will have been reset. 1999-08-06 Andy Piper <andyp@beasys.com> * gui-x.c (button_item_to_widget_value): cope with strings. * glyphs.h: declare global widget functions. (IIFORMAT_HAS_SHARED_DEVMETHOD): new macro. * glyphs-x.c (x_combo_box_instantiate): do generic initialization here. remove dead code. (image_instantiator_format_create_glyphs_x): enable combo boxes for Motif 2.0. * glyphs-widget.c (widget_instantiate_1): make non-static. (tree_view_instantiate): renamed from combo_box_instantiate. (image_instantiator_format_create_glyphs_widget): use new/changed methods. * glyphs-msw.c (mswindows_combo_box_instantiate): do generic initialization here. * lwlib-Xm.c (xm_update_combo_box): new function. (xm_update_one_widget): call it. (xm_update_one_value): deal with combo boxes as well as lists. (xm_create_combo_box): create a drop-down combo box. * toolbar-msw.c (mswindows_output_toolbar): call mswindows_move_toolbar. 1999-08-05 Andy Piper <andyp@beasys.com> * window.c (Fcurrent_pixel_column): new function. use display lines to calculate pixel position of point. * window.c (syms_of_window): declare it. 1999-08-05 Andy Piper <andy@xemacs.org> * glyphs.c (check_for_ignored_expose): ignore exposures wholly contained in our ignore list. * buffer.c (Frecord_buffer): add call to record-buffer-hook. (syms_of_buffer): declare record-buffer-hook. * s/mingw32.h: define mousewheel things. 1999-08-04 Mike Woolley <mike@bulsara.com> * windowsnt.h (_WIN32_WINNT): enable for win95 * s/cygwin32.h: define mousewheel things. * scrollbar-msw.h: declare mousewheel handler. * scrollbar-msw.c (mswindows_handle_mousewheel_event): new function. 1999-08-04 Andy Piper <andy@xemacs.org> * gui-x.c (gui_items_to_widget_values): remove unused variable. (gui_items_to_widget_values_1): ditto. * gui-x.h: unconditionally define since it is used everywhere. 1999-08-04 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_finalize_image_instance): only free pixels if we have that type of image. 1999-07-30 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_unmap_subwindows): add comparison subwindow to not unmap if required. (redisplay_unmap_subwindows_maybe): comparison is Qnil. (redisplay_unmap_subwindows_except_us): new function. (redisplay_output_subwindow): use it to unmap windows in the area we are displaying into. * glyphs.c (update_subwindow_cachel_data): always update as we only ever get called when an update is required. (update_subwindow_cachel): new function. sync a subwindow with its cachel. (Fresize_subwindow): use it. (register_ignored_expose): make sure we set the tail correctly. 1999-07-28 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_clear_bottom_of_window): remove unneeded device. * gutter.c (redraw_exposed_gutter): unmap subwindows from the whole gutter. * gui.h: declare parse_gui_item_tree_list and parse_gui_item_tree_children. * gui.c (parse_gui_item_tree_item): new function for parsing item lists into gui-item trees. (parse_gui_item_tree_children): ditto. (parse_gui_item_tree_list): ditto. * gui-x.h: declare gui_items_to_widget_values. * gui-x.c (gui_items_to_widget_values_1): new function for recursively parsing gui-items into widget_values. (gui_item_children_to_widget_values): ditto. (gui_items_to_widget_values): ditto. (sanity_check_lwlib): add widgets macrolets. * glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM. (XIMAGE_INSTANCE_WIDGET_ITEMS): ditto. (IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM. (XIMAGE_INSTANCE_WIDGET_ITEM): ditto. (struct expose_ignore): new structure for storing ignorable expose events. * glyphs.c (valid_image_instantiator_format_p): fix so that using a console-type as a locale works. (mark_image_instance): ITEM->ITEMS. (image_instance_equal): ditto. (image_instance_hash): ditto. (struct expose_ignore_blocktype): new blocktype. (check_for_ignored_expose): new function. checks frame exposure list for events to ignore. (register_ignored_expose): new function. registers an expose event as ignorable. (unmap_subwindow): register the expose event as ignorable. (vars_of_glyphs): initialise the exposure blocktype. * glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget. (x_update_subwindow): modify all widgets using widget_value tree rather than just a single widget value. (x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF. make sure widgets don't resize themselves. (x_tab_control_instantiate): new function. use lwlib tab functions. (x_tab_control_set_property): new function. (image_instantiator_format_create_glyphs_x): add tab_control. * glyphs-widget.c (widget_text_to_pixel_conversion): calculate slightly more sensibly. (initialize_widget_image_instance): ITEM->ITEMS. (widget_instantiate_1): parse gui items generically into the ITEMS entry. * glyphs-msw.c (mswindows_update_subwindow): replace SINGLE_ITEM->ITEM. (mswindows_register_widget_instance): ditto. (add_tree_item): modify to use new pre-initialised gui-item structure. (add_tab_item): ditto. (mswindows_tab_control_instantiate): ditto. (mswindows_tab_control_set_property): ditto. (image_instantiator_format_create_glyphs_mswindows): predicate existence of widgets on HAVE_WIDGETS. * frame.h (struct frame): add subwindow_exposures variables. * frame.c (allocate_frame_core): reset subwindow_exposures links. * event-msw.c (mswindows_wnd_proc): check for ignored expose events before redrawing. * event-Xt.c (emacs_Xt_handle_magic_event): check for ignored expose events before redrawing. 1999-07-30 SL Baur <steve@xemacs.org> * scrollbar-x.c: should include EmacsFrame.h. From Jeff Miller <jmiller@smart.net> 1999-07-30 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.19 is released 1999-07-27 Jeff Miller <jmiller@smart.net> * add a "#ifdef HAVE_MENUBARS" wrapper to gui.c around menubar_show_keybindings. 1999-07-23 SL Baur <steve@miho> * mule-charset.c (syms_of_mule_charset): Delete duplicated definition of Qccl_program. * mule-ccl.h: Make a global declaration of it here. 1999-07-20 Bob Weiner <weiner@beopen.com> * s/sco7.h: Added from rr@sco.com. 1999-06-25 MORIOKA Tomohiko <tomo@etl.go.jp> * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'. 1999-06-24 MORIOKA Tomohiko <tomo@etl.go.jp> * file-coding.c (mule_decode): Setup `str->ccl.last_block'. (mule_encode): Likewise. * mule-ccl.c (Qccl_program): New variable. (CCL_SUSPEND): New macro. (CCL_INVALID_CMD): New macro. (CCL_READ_CHAR): Don't regard as invalid command while processing the last block even if input is empty; use `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'. (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'. * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c. (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10. (CCL_STAT_SUSPEND_BY_DST): Likewise. (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2. (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3. 1999-05-04 Ken'ichi Handa <handa@gnu.org> * mule-ccl.h (struct ccl_program): New member stack_idx. * mule-ccl.c (ccl_prog_stack_struct): Declare it as static. (ccl_driver): Setup stack_idx and ccl_prog correctly. Update them before returing. (setup_ccl_program): Initialize ccl->stack_idx to 0. 1998-10-12 Kenichi Handa <handa@etl.go.jp> * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the definitions. 1998-08-18 Kenichi Handa <handa@etl.go.jp> * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while processing the last block, don't just finish but processes eol block of the current CCL program. (ccl_driver): Add a new jump label ccl_repeat for the above change. 1998-04-15 Kenichi Handa <handa@etl.go.jp> * mule-ccl.c: Typo in comments fixed. (Qccl_program_idx): New variables. (CCL_ReadMultibyteChar2): Macro name changed from CCL_ReadMultibyteCharacter. (CCL_WriteMultibyteChar2): Macro name changed from CCL_WriteMultibyteChar2. (ccl_driver): Adjusted for the above changes. (resolve_symbol_ccl_program): New function. (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL program. If CCL-PRGRAM is a vector, convert symbols in it to ID numbers by resolve_symbol_ccl_program. (Fccl_execute_on_string): Likewise. (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector, convert symbols in it to ID numbers by resolve_symbol_ccl_program. 1998-01-21 Kenichi Handa <handa@etl.go.jp> * mule-ccl.h: (struct ccl_program): New member private_state. * mule-ccl.c (CCL_Call): Fix the comment. (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New macros for CCL Commands. (EXCMD): New macro. (ccl_driver): New case label `CCL_Extension'. (setup_ccl_program): Initialize the member `private_state' of CCL. 1999-07-08 Katsumi Yamaoka <yamaoka@jpl.org> * keymap.c (copy_keymap_internal): Inherit the default binding. 1999-07-14 Kazuyuki IENAGA <kazz@imasy.or.jp> * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get focus the event (XIM_focus_event). (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because XIM_SetGeometry does nothing in input_method_motif.c, but re-unify the interface for future use (XIM_SetGeometry). * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot location (XIM_SetSpotLocation). (x_output_eol_cursor): Ditto. 1999-07-17 Gunnar Evermann <ge204@eng.cam.ac.uk> * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match Olivier's change to lrecord.h of 1999-04-22 1999-07-20 Robert Pluim <rpluim@bigfoot.com> * gutter.c (redraw_exposed_gutter): Change type of pos from enum toolbar_pos -> enum gutter_pos, since former is only defined if toolbar support is. 1999-07-19 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_resize_subwindow): cope with widgets as well as subwindows. * gutter.c (gutter_validate): new function for the gutter specifier. (specifier_type_create_gutter): declare specifier validator. * buffer.h (INC_CHARBYTIND): add for no error checking version. 1999-07-18 Andy Piper <andy@xemacs.org> * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data. * glyphs-msw.c (console_type_create_glyphs_mswindows): add resize_subwindow. (mswindows_resize_subwindow): new function. * gutter.c (redraw_exposed_gutter): only reset the current_display_lines if non-zero. (Fgutter_pixel_height): new function. (Fgutter_pixel_width): new function. * event-msw.c (mswindows_wnd_proc): set the mask of the parameter we want to retrive from the tab control. 1999-07-17 Andy Piper <andy@xemacs.org> * window.c (change_window_height): mark gutters changed when we're done. * gutter.c (specifier_vars_of_gutter): make defaults more sensible. * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0 height gutter. (DEFAULT_GUTTER_WIDTH): change. (DEFAULT_GUTTER_BORDER_WIDTH): change. 1999-07-18 Andy Piper <andy@xemacs.org> * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data. 1999-07-16 Andy Piper <andy@xemacs.org> * frame.c (Fmake_frame): call init_frame_gutters(). * redisplay.c (add_emchar_rune): use string functions if we are working with a string. (position_redisplay_data_type): add string element. 1999-07-15 Andy Piper <andy@xemacs.org> * winslots.h: add real_gutter_size slots to hold the actual gutter size. This is important for autodetected sizes. * gutter.c (calculate_gutter_size): calculate size for gutters that have 'autodetect size. * redisplay-msw.c (mswindows_output_vertical_divider): adjust extent of divider for gutters. * redisplay-x.c (x_output_vertical_divider): adjust extent of divider for gutters. * scrollbar.c (update_scrollbar_instance): adjust scrollbar position to take into account the gutters. * redisplay.c (generate_modeline): adjust modeline position to take into account the gutters. 1999-07-14 Andy Piper <andy@xemacs.org> * gutter.c (frame_topmost_window): new function. (frame_bottommost_window): ditto. (frame_leftmost_window): ditto. (frame_rightmost_window): ditto. 1999-07-13 Andy Piper <andy@xemacs.org> * redisplay.c (calculate_display_line_boundaries): use text boundaries so that gutters get handled properly. 1999-07-12 Andy Piper <andy@xemacs.org> * glyphs-x.c (x_widget_instantiate): set the font Motif-style if we're using Motif. * redisplay-output.c (redisplay_clear_to_window_end): generalised from redisplay-x.c * redisplay-x.c (redisplay_clear_to_window_end): moved to redisplay.c * redisplay-msw.c (redisplay_clear_to_window_end): deleted. * gutter.c: new file - implements gutters. All new functions are semantically equivalent to the toolbar functions. (gutter_was_visible): new function. (get_gutter_coords): ditto. (output_gutter): ditto. (clear_gutter): ditto. (update_frame_gutters): ditto. (redraw_exposed_gutter): ditto. (redraw_exposed_gutters): ditto. (free_frame_gutters): ditto. (init_frame_gutters): ditto. (decode_gutter_position): ditto. (Fset_default_gutter_position): ditto. (Fset_default_gutter_position): ditto. (Fdefault_gutter_position): ditto. (gutter_after_change): ditto. (Fgutter_specifier_p): ditto. (recompute_overlaying_specifier): ditto. (gutter_specs_changed): ditto. (default_gutter_specs_changed): ditto. (gutter_geometry_changed_in_window): ditto. (default_gutter_size_changed_in_window): ditto. (default_gutter_border_width_changed_in_window): ditto. (default_gutter_visible_p_changed_in_window): ditto. (syms_of_gutter): ditto. (vars_of_gutter): ditto. (specifier_type_create_gutter): ditto. (specifier_vars_of_gutter): ditto. * gutter.h: new file. Contains gutter constants and sizing macros similar to those for the toolbar. * winslots.h: add gutter variables. * window.h: declare window_is_* functions. * window.c (window_is_lowest): make non-static. (window_is_highest): ditto. (window_top_toolbar_height): deleted. (window_bottom_toolbar_height): deleted. (window_left_toolbar_width): deleted. (window_right_toolbar_width): deleted. (window_top_gutter_height): add gutter sizing. (window_bottom_gutter_height): ditto. (window_left_gutter_width): ditto. (window_right_gutter_width): ditto. * symsinit.h: declarations for gutters vars etc. * search.c (bi_find_next_emchar_in_string): new function. * scrollbar.c (update_scrollbar_instance): remove reference to window_bottom_toolbar_height which did nothing. * redisplay.h (struct display_line): add face indices for overriding defaults in output_display_line. Add gutter_changed flags and declarations. * redisplay.c (create_string_text_block): new function, similar to create_text_block but for strings. Display tables etc are used from the currently selected window. (generate_string_display_line): ditto. Similar to generate_display_line. (generate_displayable_area): generate display lines for a given area on a frame. Input is the string, with associated extents, to display. (redisplay_frame): add gutter_changed check. (redisplay_device): ditto. (redisplay_without_hooks): ditto. * redisplay-x.c (bevel_modeline): moved to redisplay.c. (x_redraw_exposed_area): redraw exposed gutters. (x_bevel_area): new redisplay device method. (x_type_create_redisplay_mswindows): add bevel_area device method. (x_output_display_block): fiddly Martin-style cleanup. (x_output_vertical_divider): use bevel_area. * redisplay-output.c (output_display_line): check display_lines for face information before using defaults. (bevel_modeline): new function, calls bevel_area with appropriate values. * redisplay-msw.c (bevel_modeline): moved to redisplay.c. (mswindows_redraw_exposed_area): redraw exposed gutters. (mswindows_bevel_area): new redisplay device method. (console_type_create_redisplay_mswindows): add bevel_area device method. * indent.c (string_column_at_point): add column_at_point but for strings. * glyphs-x.c (image_instantiator_format_create_glyphs_x): only instantiate widgets that we have a toolkit for. * general.c: add Qgutter. * frame.h (struct frame): add display lines for gutters and visibility flags. * frame.c (set_frame_selected_window): mark gutters changed. * emacs.c (main_1): add gutter initialisation. * device.h (struct device): add gutter_changed flag and macros to manipulate it. * console.h (struct console_methods): new bevel area redisplay method. * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as REAL_INC_BYTIND is for buffers. (INC_CHARPTR): ditto. * Makefile.in.in (objs): add gutter.o 1999-07-13 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.18 is released 1999-07-08 SL Baur <steve@mule.m17n.org> * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with XIM_XLIB. (emacs_Xt_handle_magic_event): Ditto. * redisplay-x.c (x_output_string): Ditto. (x_output_eol_cursor): Ditto. 1999-06-30 Kazuyuki IENAGA <kazz@imasy.or.jp> * event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the problem that when XIM is destroyed or missed with some reason, xemacs will die. Now xim=xlib waits the XIM will be ready and endures the case of XIM end up. 1999-07-03 Gunnar Evermann <ge204@eng.cam.ac.uk> * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT, SIGINT and SIGCHLD before calling tt_open and restore the afterwards. This fixes e.g. the zombie subprocesses on Solaris 1999-07-06 SL Baur <steve@xemacs.org> * s/linux.h: gcc-2.8 changes for powerpc From Justin Vallon <vallon@mindspring.com> 1999-07-05 Didier Verna <didier@xemacs.org> * indent.c: new symbol Qcoerce. (Fmove_to_column): use it + doc string update. 1999-07-04 Andy Piper <andy@xemacs.org> * console.c: undo earlier Fprovide changes. * fns.c: ditto. * console.h: ditto. * console-tty.c (image_instantiator_format_create_glyphs_tty): new function. validate appropriate image formats for tty. * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): initialize consoles parameter. (struct image_instantiator_methods): add consoles parameter. (IIFORMAT_VALID_CONSOLE): new function. validate the format on the console. (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given console. * glyphs-msw.c: declare instantiators for later use. (image_instantiator_format_create_glyphs_mswindows): validate xpm and friends on the mswindows console. * glyphs-x.c: ditto. * glyphs.c (valid_image_instantiator_format_p): disallow glyphs that have not been registered on the supplied device. (Fvalid_image_instantiator_format_p): add locale argument. (instantiate_image_instantiator): valid image instantiator on the device. * symsinit.h: add image_instantiator_format_create_glyphs_tty() declaration. * emacs.c (main_1): add call to image_instantiator_format_create_glyphs_tty(). 1999-06-29 Olivier Galibert <galibert@pobox.com> * lisp.h: Add #include <stddef.h>. * sysdep.c: Remove #include <stddef.h>. * symbols.c: Remove #include <stddef.h>. * sheap.c: Remove #include <stddef.h>. * opaque.c: Remove #include <stddef.h>. * nt.c: Remove #include <stddef.h>. * mule-charset.c: Remove #include <stddef.h>. * marker.c: Remove #include <stddef.h>. * file-coding.c: Remove #include <stddef.h>. * extents.c: Remove #include <stddef.h>. * elhash.c: Remove #include <stddef.h>. * data.c: Remove #include <stddef.h>. * chartab.c: Remove #include <stddef.h>. * bytecode.c: Remove #include <stddef.h>. * alloc.c: Remove #include <stddef.h>. Fix vector description 1999-06-30 SL Baur <steve@miho.m17n.org> * editfns.c: Document "%s" format spec. Suggested by Bob Weiner <weiner@altrasoft.com> 1999-06-29 Andy Piper <andy@xemacs.org> * event-msw.c: fix definition booboo. 1999-06-28 Andy Piper <andy@xemacs.org> * glyphs-x.c: change tree -> tree-view, progress -> progress_gauge, edit -> edit-field, tab -> tab-control, combo -> combo-box. (complex_vars_of_glyphs_x): provide-on-console the implemented widget types. * glyphs-msw.c: ditto. (complex_vars_of_glyphs_mswindows): ditto. * lisp.h: add Fprovide_on_console. * fns.c (Ffeaturep): add extra optional console argument. (Fprovide_on_console): like Fprovide but provides only on the specified console-type. (Frequire): check console-features as well as global features. * console.c (Fconsole_features): new function. return features for this console. (syms_of_console): add Fconsole_features. * console.h (CONMETH_FEATURES): new function for accessing features. (CONSOLE_FEATURES): ditto. (struct console_methods): add features slot. (INITIALIZE_CONSOLE_TYPE): initialize features slot. 1999-06-28 Andy Piper <andy@xemacs.org> * event-Xt.c (handle_focus_event_1): conditionally compile for X11R5. * s/cygwin32.h: fix me website address. * event-msw.c: add NMHDR for pre b20 cygwin builds. * gui-x.c (button_item_to_widget_value): only add callback if it is non-nil. * glyphs-x.c: add progress, edit and combo instantiators. (x_widget_set_property): new function. uses lwlib to set widget values. (x_widget_property): new function. uses lwlib to get widget values. (x_button_instantiate): support images in buttons. (x_button_property): new function. use lwlib to get the selected state. (x_progress_instantiate): new function for instantiating progress gauges. (x_progress_set_property): new function. sets the progress gauge position. (x_edit_instantiate): new function. for instantiating edit fields. (x_combo_instantiate): new function. for instantiating combo boxes. (image_instantiator_format_create_glyphs_x): add new device ii formats. * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var. * console.h (CONSOLE_FEATURES): new features accesor. * conslots.h (MARKED_SLOT): add features entry. 1999-06-25 Andy Piper <andy@xemacs.org> * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new gui functions. * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h * gui.h (struct Lisp_Gui_Item): add accelerator. * gui.c (gui_item_add_keyval_pair): deal with accelerators. (gui_item_init): ditto. (gui_add_item_keywords_to_plist): ditto. (mark_gui_item): ditto. (gui_item_hash): ditto. (gui_item_accelerator): new function. (gui_name_accelerator): new function stolen from gui-x.c * gui-x.c (popup_selection_callback): always define. mark subwindows changed after calling a callback. (menu_name_to_accelerator): deleted. (button_item_to_widget_value): forward gui_item things to gui_item functions. * glyphs-x.h (struct x_subwindow_data): add data for widgets. add appropriate accesors. * glyphs-x.c: declare new glyph formats. (x_finalize_image_instance): unmanage and destroy widgets if they exist. (x_unmap_subwindow): handle widgets specially. (x_map_subwindow): ditto. offset display of widgets by offset of text widget within container. (x_update_subwindow): new function. call lw_modify_all_widgets when we are a widget. (x_widget_instantiate): new function for generically creating widgets-glyphs. toolkit specifics forwarded to lwlib. (x_button_instantiate): new function for instantiating widgets-glyph buttons. (console_type_create_glyphs_x): register update_subwindow. (image_instantiator_format_create_glyphs_x): register widget and button types. * event-msw.c (mswindows_wnd_proc): remove redundant variable. * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1 when we get a button press in case we do not have the focus. (handle_focus_event_1): set the keyboard focus to the text widget if we do not have it. * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item functions. 1999-06-24 SL Baur <steve@miho.m17n.org> * syntax.c (scan_words): Restore non-Mule code. (word_constituent_p): Restore. 1999-06-23 Olivier Galibert <galibert@pobox.com> * config.h.in: Add missing #undef *_USER_DEFINED. 1999-06-23 SL Baur <steve@miho.m17n.org> * lisp.h (set_bit_vector_bit): Force promotion to unsigned long int (fixes a 64-bit problem). * chartab.c (word_boundary_p): Use EQ not == for lisp_object comparison. 1999-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * paths.h.in (PATH_DOC): Made doc-directory configurable. 1999-06-22 Olivier Galibert <galibert@pobox.com> * lrecord.h: Added basic external description system. * symbols.c: Added symbol, symbol-value-buffer-local, symbol-value-lisp-magic and symbol-value-varalias description. * mule-charset.c: Added charset description. * marker.c: Added marker description. * keymap.c: Added keymap description. * glyphs.c: Added glyph description. * floatfns.c: Added float description. * file-coding.c: Added coding-system description. * extents.c: Added extent description. * elhash.c: Added hash-table description. * data.c: Added weak-list desciption. * chartab.c: Added char-table-entry and char-table description. * bytecode.c: Added compiled-function description. * alloc.c: Added cons, vector and string description. 1999-06-22 Olivier Galibert <galibert@pobox.com> * lrecord.h (struct lrecord_header): Reduced size to 4 bytes. Updated everything to the removal of the "flags" substructure. * lisp.h (subr_lheader_initializer): Updated. * symeval.h (symbol_value_forward_lheader_initializer): Updated. 1999-06-20 MORIOKA Tomohiko <tomo@etl.go.jp> * syntax.c (word_constituent_p): Deleted. (scan_words): Use `WORD_BOUNDARY_P'. * chartab.c (Vword_combining_categories): New variable. (Vword_separating_categories): Likewise. (CATEGORYP): New macro. (CATEGORY_SET): Likewise. (CATEGORY_MEMBER): Likewise. (word_boundary_p): New function. (complex_vars_of_chartab): Set up new variable `word-combining-categories' and `word-separating-categories'. 1999-06-18 Olivier Galibert <galibert@pobox.com> * lrecord.h: Added description as a placehold in the lrecord implementation structures. Added the parameter to all constructor defines. * alloc.c: Added placeholders. * buffer.c: Ditto. * bytecode.c: Ditto. * chartab.c: Ditto. * console.c: Ditto. * data.c: Ditto. * database.c: Ditto. * device.c: Ditto. * eldap.c: Ditto. * elhash.c: Ditto. * eval.c: Ditto. * event-stream.c: Ditto. * events.c: Ditto. * extents.c: Ditto. * faces.c: Ditto. * file-coding.c: Ditto. * floatfns.c: Ditto. * fns.c: Ditto. * frame.c: Ditto. * glyphs.c: Ditto. * gui-x.c: Ditto. * keymap.c: Ditto. * lstream.c: Ditto. * marker.c: Ditto. * mule-charset.c: Ditto. * objects.c: Ditto. * opaque.c: Ditto. * process.c: Ditto. * rangetab.c: Ditto. * specifier.c: Ditto. * symbols.c: Ditto. * toolbar.c: Ditto. * tooltalk.c: Ditto. * window.c: Ditto. 1999-06-22 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.17 is released 1999-06-13 Oscar Figueiredo <oscar@xemacs.org> * config.h.in (HAVE_LDAP_SET_OPTION): New define (HAVE_LDAP_GET_LDERRNO): Ditto (HAVE_LDAP_RESULT2ERROR): Ditto (HAVE_LDAP_PARSE_RESULT): Ditto (HAVE_UMICH_LDAP): Removed (HAVE_NS_LDAP): Removed * eldap.h (struct Lisp_LDAP): Removed the `livep' member as suggested by Olivier Galibert (CHECK_LIVE_LDAP): Test on `ld' instead of `livep' * eldap.c: Take the removal of `livep' into account in all the necessary functions (signal_ldap_error): Take two additional parameters Added new finer compilation conditions in order to use ldap_parse_result or ldap_result2error if available (Fldap_open): Conform to this new API (Fldap_search_internal): Ditto 1999-06-17 SL Baur <steve@miho.m17n.org> * data.c (struct int_or_double): Should use EMACS_INT not int. 1999-06-16 Norbert Koch <n.koch@eai-delta.de> * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in redisplay-x.c 1999-06-12 MORIOKA Tomohiko <tomo@etl.go.jp> * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with `CCL_MODE_ENCODING'. * file-coding.c (mule_decode): Run `ccl_driver' with `CCL_MODE_DECODING'. (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'. * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'. (ccl_driver): Add new argument `conversion_mode'. (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'. (Fccl_execute_on_string): Likewise [perhaps it is better to add new optional argument]. * mule-ccl.h (CCL_MODE_ENCODING): New macro. (CCL_MODE_DECODING): New macro. (ccl_driver): Add new argument `conversion_mode'. 1999-06-15 SL Baur <steve@miho.m17n.org> * mule-charset.c (Fsplit_char): New subr. (Fchar_octet): delete. (syms_of_mule_charset): DEFSUBR it. 1999-06-13 Andy Piper <andy@xemacs.org> * menubar.h: update declarations involving gui_items. * lisp.h: declare Lisp_Gui_Item. * glyphs.h (struct Lisp_Image_Instance): update type of gui_item. * glyphs.c (mark_image_instance): modify for new lisp-based gui_items. (print_image_instance): ditto. (image_instance_equal): ditto. (image_instance_hash): ditto. * event-msw.c (mswindows_need_event): assert badly_p status. (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with callbacks in tree-view and tab-control widgets. (emacs_mswindows_next_event): modify use of mswindows_dequeue_dispatch_event. * dialog-msw.c (mswindows_popup_dialog_box): modify for new lisp-based gui_items. * glyphs-msw.c (mswindows_update_subwindow): update use of gui_items. (mswindows_register_gui_item): new function. (mswindows_register_gui_item): fix to use lisp gui_items. (mswindows_widget_instantiate): ditto. (mswindows_button_instantiate): ditto. (add_tree_item): new function to recursively add tree view elements. (add_tree_item_list): ditto. (mswindows_tree_instantiate): new function. instantiate tree view controls. (add_tab_item): new function to add tabs to a tab control. (mswindows_tab_instantiate): new function. instantiate tab controls. (image_instantiator_format_create_glyphs_mswindows): add tree view and tab controls. (vars_of_glyphs_mswindows): ditto. * glyphs-widget.c (check_valid_item_list_1): allow nested lists in item lists. (check_valid_item_list): ditto. (initialize_widget_image_instance): fix to use new lisp gui_item. (widget_instantiate_1): allow the setting of default textwidth in characters. (widget_instantiate): change to use new widget_instantiate_1 signature. (combo_instantiate): ditto. (static_instantiate): ditto. (tab_instantiate): new function for tab widgets. (image_instantiator_format_create_glyphs_widget): add tab and tree view widgets. * menubar-msw.c (displayable_menu_item): convert to use lisp gui_items. (populate_menu_add_item): ditto. (populate_or_checksum_helper): ditto. * menubar.c (menu_parse_submenu_keywords): convert to use lisp gui_items. (Fmenu_find_real_submenu): ditto. * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct. * gui.c (gui_item_add_keyval_pair): gui_items are now lisp objects, convert functions that use them accordingly. (gui_item_init): ditto. (gui_item_active_p): ditto. (gui_item_selected_p): ditto. (gui_item_included_p): ditto. (gui_item_display_flush_left): ditto. (gui_item_display_flush_right): ditto. (mark_gui_item): ditto. (allocate_gui_item): new function to create a gui_item. (make_gui_item_from_keywords_internal): ditto. create and return a gui_item as well as setting keywords. (gui_parse_item_keywords): ditto. (gui_parse_item_keywords_no_errors): ditto. (gui_add_item_keywords_to_plist): new function, not yet used. (gui_item_hash): new function. (gui_item_id_hash): use gui_item_hash. (gui_item_equal): new function. (print_gui_item): new function. 1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.16 is released 1999-06-10 Andy Piper <andy@xemacs.org> * select-msw.c (mswindows_own_selection): only set the clipboard if asked. (mswindows_get_foreign_selection): only get the clipboard if asked. (mswindows_disown_selection): only disown the clipboard if asked. 1999-06-03 MORIOKA Tomohiko <tomo@etl.go.jp> * file-coding.c (coding_system_from_mask): Use `raw-text' instead of `no-conversion'. (complex_vars_of_mule_coding): Use `raw-text' as the coding-system of coding-category `no-conversion'. 1999-06-03 MORIOKA Tomohiko <tomo@etl.go.jp> * file-coding.c (Qraw_text): New variable. (syms_of_mule_coding): Add new symbol `raw-text'. (complex_vars_of_mule_coding): Add new coding-system `raw-text'; define coding-system `binary' independently; define coding-system `no-conversion' as an alias for `raw-text'. * file-coding.h (Qraw_text): New variable. 1999-06-08 SL Baur <steve@xemacs.org> * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC. 1999-06-06 Hrvoje Niksic <hniksic@srce.hr> * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and base64.el. (base64_decode_1): Signal errors instead of returning -1. 1999-06-07 Hrvoje Niksic <hniksic@srce.hr> * mule-charset.c (Fmake_char): Update docstring. 1999-06-07 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers. 1999-06-05 Hrvoje Niksic <hniksic@srce.hr> * fns.c (base64_decode_1): Allow and ignore any non-base64 characters in input. 1999-05-27 Olivier Galibert <galibert@pobox.com> * emacs.c (Fdump_emacs): Add clear_message() lost with the removal of report_pure_usage(). 1999-06-04 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fstring_lessp): Remove O(n^2) under Mule. 1999-06-04 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.15 is released 1999-06-01 Hirokazu FUKUI <fukui@atesoft.advantest.co.jp> * frame.c (Fset_mouse_position): (Fset_mouse_pixel_position): * window.c (Fsplit_window): (Fmove_to_window_line): Fix crash when invoking functions with an already-deleted window argument. * indent.c (vertical_motion_1): (vmotion_pixels): (Fvertical_motion_pixels): * window.c (Fwindow_displayed_text_pixel_height): Fix error message when invoking functions with an already-deleted window argument. 1999-06-01 Jan Vroonhof <vroonhof@math.ethz.ch> * sysdep.c (request_sigio_on_device): Guard against glibc 2.1's stub streams implementation. 1999-06-03 SL Baur <steve@xemacs.org> * config.h.in: * emacs.c: Implement x.y.z version numbers From Jan Vroonhof <vroonhof@math.ethz.ch> 1999-05-20 MORIOKA Tomohiko <tomo@etl.go.jp> * mule-charset.c (complex_vars_of_mule_charset): Registry of japanese-jisx0208-1978 should not match with "jisx0208.1983" nor "jisc6226.1983". 1999-06-03 SL Baur <steve@xemacs.org> * frame-x.c: * device-x.c: rename session option to wmcommand. From Oliver Graf <ograf@rhein-zeitung.de> 1999-05-27 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fsubstring): Don't traverse the same region twice with charcount_to_bytecount(). 1999-06-03 SL Baur <steve@steve1.m17n.org> * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive garbage. * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it doesn't really work as is implied by the commentary). Don't define SYSTEM_MALLOC so the old GNU malloc can be used. 1999-06-02 SL Baur <steve@steve1.m17n.org> * symsinit.h: Declare vars_of_ntproc. * emacs.c (main_1): Call it. * ntproc.c (syms_of_ntproc): Move variable initializations from here ... (vars_of_ntproc): ... to here [new function]. * file-coding.c (syms_of_file_coding): Rename. (vars_of_file_coding): Ditto. (complex_vars_of_file_coding): Ditto. * symsinit.h: Rename *_mule_coding to *_file_coding. * emacs.c (main_1): Call them by the proper name. * device-msw.c (syms_of_device_mswindows): Move variable initializations from here ... (vars_of_device_mswindows): ... to here. * chartab.c (vars_of_chartab): New function. * symsinit.h: New function, vars_of_chartab. * emacs.c (main_1): Call it. * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ... (vars_of_mule_canna): ... to here. * mule-ccl.c (vars_of_mule_ccl): New function. Move variable initializations out of syms_of_mule_ccl. * symsinit.h: Declare new function vars_of_mule_ccl. * emacs.c (main_1): Call it. 1999-05-27 Hrvoje Niksic <hniksic@srce.hr> * fns.c (base64_decode_1): Ignore whitespace. 1999-05-27 Hrvoje Niksic <hniksic@srce.hr> * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and ARG2. 1999-05-21 Andy Piper <andy@xemacs.org> * xselect.c: deleted. * symsinit.h: declare select initialisation. * select.h: new file. declare commonly used select functions and variables. * select.c: new file. generalised from xselect.c. (clean_local_selection_data): moved from xselect.c. (get_local_selection): ditto. device specific pieces called via a devmeth. (handle_selection_clear): ditto. (Fown_selection_internal): renamed and generalised from Fx_own_selection_internal. moved from xselect.c. (Fdisown_selection_internal): ditto. (Fselection_owner_p): ditto. (Fselection_exists_p): ditto. (Fget_selection_internal): ditto. (syms_of_select): new function. QXXXX values moved from xselect.c (vars_of_select): new function. selection_converter_alist, lost_selection_hooks moved and renamed from xselect.c * select-x.c: renamed from xselect.c. (x_own_selection): converted to device specific. non-X-specific bits moved to select.c. (x_get_foreign_selection): ditto. (x_disown_selection): ditto. (x_selection_exists_p): ditto. (console_type_create_select_x): new function. * select-msw.c (mswindows_own_selection): new device method to set the clipboard when we 'own' the selection. (mswindows_get_foreign_selection): new device method to get the clipboard. (mswindows_disown_selection): new device method to delete the selection when we 'disown' it. (console_type_create_select_mswindows): new function. * emacs.c (main_1): add select to things to initialise. * console.h (struct console_methods): new console methods for selection. * Makefile.in.in (x_objs): xselect.c renamed to select-x.c 1999-05-20 Hrvoje Niksic <hniksic@srce.hr> * print.c (long_to_string): Install a faster version. 1999-05-16 Andy Piper <andy@xemacs.org> * ntproc.c (syms_of_ntproc): default win32-start-process-share-console to t. 1999-05-14 Hrvoje Niksic <hniksic@srce.hr> * config.h.in: Do it here. * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here. 1999-05-14 Andy Piper <andy@xemacs.org> * toolbar-msw.c (mswindows_output_toolbar): hash on something hashable. 1999-05-14 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.14 is released 1999-05-12 Andy Piper <andy@xemacs.org> * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way. 1999-05-11 Gunnar Evermann <ge204@eng.cam.ac.uk> * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for run_temacs_argv array -- fixes random memory corruption crash 1999-05-12 Jan Vroonhof <vroonhof@math.ethz.ch> * window.c (Fcurrent_window_configuration): Save minibuffer height; * window.c (set_window_configuration): use it. 1999-05-10 Robert Pluim <rpluim@bigfoot.com> * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version 1999-04-21 Jan Vroonhof <vroonhof@math.ethz.ch> * redisplay.c (redisplay_window): Do not put data in the line start cache if it is not guaranteed to be correct 1999-04-02 Jan Vroonhof <vroonhof@math.ethz.ch> * window.c (struct window_config): Removed frame size members. (window_config_equal): No longer compare frame sizes. (Fset_window_configuration): Resize old top window to fit in the current frame directly, no longer use a fake frame resize. (Fcurrent_window_configuration): No longer save frame size 1999-05-11 Andy Piper <andy@xemacs.org> * ntproc.c (sys_spawnve): actually assign argv[0] instead of the first character. 1999-05-10 Hrvoje Niksic <hniksic@srce.hr> * sysdep.c (init_system_name): If gethostname gives a proper domain name, don't look further for one. 1999-05-09 Hrvoje Niksic <hniksic@srce.hr> * symbols.c (Fintern): Avoid frequent XSYMBOL (foo). (Fintern_soft): Accept a symbol argument. 1999-05-06 Hrvoje Niksic <hniksic@srce.hr> * symbols.c (Fintern): ...do it here. * lread.c (read_atom): Don't handle keywords here. 1999-05-06 Hrvoje Niksic <hniksic@srce.hr> * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD. 1999-05-03 Olivier Galibert <galibert@pobox.com> * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it is interned in the main obarray. 1999-04-23 Gunnar Evermann <ge204@eng.cam.ac.uk> * menubar-x.c (pre_activate_callback): set accelerator field in "No menu" entries to nil. Avoid crash in command_builder_operate_menu_accelerator 1999-05-03 Olivier Galibert <galibert@pobox.com> * symeval.h (symbol_value_forward_lheader_initializer): Ditto. * lisp.h (DEFUN): Fix lrecord header initialisation. 1999-05-02 Andy Piper <andy@xemacs.org> * objects-msw.c (mswindows_font_instance_truename): add a ';'. * ntproc.c (sys_kill): cast using MS mandated defines. 1999-04-29 Andy Piper <andy@xemacs.org> * m/intel386.h: remove redundant definitions. * s/mingw32.h: new header for mingw32. * unexnt.c: (open_input_file): function moved to nt.c. (close_file_data): ditto. (rva_to_section): function moved to ntproc. * symsinit.h: declare syms_of_ntproc(); * objects-msw.c (mswindows_font_instance_truename): new function. * ntproc.c: remove many warnings. (_sys_read_ahead): moved from nt.c and made static. (rva_to_section): moved from unexnt.c but not defined under mingw32. (win32_executable_type): implement what we can for mingw32 headers. (sys_spawnve): fix bad MULE/GCPRO bug in filename handling. * ntheap.h: remove declarations of functions that are now static. * ntheap.c: support static heap. * nt.h: conditionalise X_OK definition. * nt.c: eliminate many warnings and support mingw32. (open_input_file): function moved from unexnt.c and made static (close_file_data): ditto. (_sys_read_ahead): moved to ntproc.c * emacs.c: make sure syms_of_ntptroc gets called under windows. * console-msw.h: support mingw32. * getloadavg.c: ditto. * ntplay.c: ditto. * sysdep.c: ditto. * sysdir.h: ditto. * systime.h: ditto. * systty.h: ditto. * config.h.in: don't turn on DEBUG_ENCAPSULATION by default because some systems don't have all of the encapsulated system calls. * callproc.c: warning elimination. * dired-msw.c: ditto. * process-nt.c: ditto. * realpath.c: ditto. * Makefile.in.in: tweak : and ; for building under mswindows. 1999-04-26 Michael Harnois <mharnois@willinet.net> * eldap.c (allocate_ldap): Adapt to the new semantics of alloc_lcrecord_type(). 1999-03-16 MORIOKA Tomohiko <tomo@etl.go.jp> * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed. 1998-09-04 MORIOKA Tomohiko <morioka@jaist.ac.jp> * Delete mule-coding.c and mule-coding.h because they are not used. 1999-04-22 Gunnar Evermann <ge204@eng.cam.ac.uk> * objects.c (print_font_instance): Check for NILP(f->device), i.e. Vthe_null_font_instance. (font_instance_truename_internal): ditto. (Ffont_instance_properties): ditto. 1999-04-22 Olivier Galibert <galibert@pobox.com> * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an array anymore. 1999-04-22 Hrvoje Niksic <hniksic@srce.hr> * Makefile.in.in (tests): Don't mention tests explicitly -- makes it easier to add new ones. 1999-04-22 Hrvoje Niksic <hniksic@srce.hr> * symbols.c (reject_constant_symbols): Ditto. (init_symbols_once_early): Ditto. * print.c (print_symbol): Don't use ->obarray. * symbols.c (Funintern): Ditto. * alloc.c (Fmake_symbol): Don't set ->obarray. * lisp.h (struct Lisp_Symbol): Removed .obarray field. * symbols.c (init_symbols_once_early): Removed Vpure_uninterned_symbol_table. (Fintern): Don't store to ->obarray field. 1999-04-22 Hrvoje Niksic <hniksic@srce.hr> * data.c (vars_of_data): Default debug_issue_ebola_notices to 0. (eq_with_ebola_notice): Remove abracadabra support. 1999-04-11 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to retrieve the distinguished names of entries 1999-03-08 Martin Buchholz <martin@xemacs.org> * lread.c (read_escape): Make hex escapes read only two hex digits. 1999-04-05 Olivier Galibert <galibert@pobox.com> * Makefile.in.in: Remove puresize-adjust.h and recursive makes. * make-src-depend: Remove puresize-adjust.h. * src-headers: Remove puresize-adjust.h. * config.h.in: Kill everything purespace/gung-ho related. * dbxrc: Make gung-ho mandatory. * gdbinit: Ditto. * lrecord.h: Make gung-ho mandatory. Remove pure flag and add c_readonly and lisp_readonly. Remove implementation arrays. (C_READONLY_RECORD_HEADER_P): Added. (LISP_READONLY_RECORD_HEADER_P): Added. (SET_C_READONLY_RECORD_HEADER): Added. (SET_LISP_READONLY_RECORD_HEADER): Added. * lisp.h: Kill everything purespace/non gung-ho related. (CHECK_C_WRITEABLE): Added. (CHECK_LISP_WRITEABLE): Added. (C_READONLY): Added. (LISP_READONLY): Added. * lisp-union.h: Make gung-ho mandatory. * lisp-disunion.h: Ditto. * alloc.c: Kill everything purespace/non gung-ho related. Fix all set_lheader_implementation calls. (c_readonly): Added. (lisp_readonly): Added. (make_string_nocopy): Added. (Fpurecopy): Changed to do nothing. Kept the old documentation for reference purposes for the next patches. (sweep_lcrecords_1): Don't free C readonly lcrecords. (sweep_bit_vectors_1): Don't free C readonly bitvectors. (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords. * fns.c: Make gung-ho mandatory. (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE. (Fremprop): Ditto. (Ffillarray): Ditto. * data.c: Make gung-ho mandatory. (pure_write_error): Removed. (c_write_error): Added. (lisp_write_error): Added. (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE. (Fsetcdr): Ditto. (Faset): Ditto. * symbols.c: Make gung-ho mandatory. make_pure_pname -> make_string or make_string_nocopy. Fix various alloc_lcrecord_type. * lread.c: Remove everything purespace related. (Flocate_file_clear_hashing): purified -> c_readonly. (locate_file): Ditto. (read_atom): make_pure_pname -> make_string. * emacs.c (Frun_emacs_from_temacs): Remove purespace stats reporting. (Fdump_emacs): Ditto. * print.c (print_internal): Make gung-ho mandatory. * ntheap.c (sbrk): Ditto. * mem-limits.h (EXCEEDS_LISP_PTR): Ditto * symeval.h (symbol_value_forward_lheader_initializer): Ditto. * sheap.c (more_static_core): Remove puresize-adjust.h from message. * syntax.c (complex_vars_of_syntax): make_pure_string -> make_string_nocopy. * keymap.c (make_keymap): Fix alloc_lcrecord_type. (vars_of_keymap): make_pure_string -> make_string_nocopy. * events.c (deinitialize_event): Fix set_lheader_implementation. (zero_event): Ditto. * specifier.c (make_specifier_internal): Fix alloc_lcrecord. * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type. * mule-charset.c (make_charset): Ditto. * console.c (allocate_console): Ditto. (complex_vars_of_console): Ditto. * file-coding.c (allocate_coding_system): Ditto. * device.c (allocate_device): Ditto * gui-x.c (gcpro_popup_callbacks): Ditto. * extents.c (allocate_extent_auxiliary): Ditto. (allocate_extent_info): Ditto. (copy_extent): Ditto. * glyphs.c (allocate_image_instance): Ditto. (allocate_glyph): Ditto. * frame.c (allocate_frame_core): Ditto. * database.c (allocate_database): Ditto. * tooltalk.c (make_tooltalk_message): Ditto. (make_tooltalk_pattern): Ditto. * rangetab.c (Fmake_range_table): Ditto. (Fcopy_range_table): Ditto. * process.c (make_process_internal): Ditto. * chartab.c (Fmake_char_table): Ditto. (make_char_table_entry): Ditto. (copy_char_table_entry): Ditto. (Fcopy_char_table): Ditto. * elhash.c (make_general_lisp_hash_table): Ditto. (Fcopy_hash_table): Ditto. * buffer.c (allocate_buffer): Ditto. (complex_vars_of_buffer): Ditto. * event-stream.c (allocate_command_builder): Ditto. * objects.c (Fmake_color_instance): Ditto. (Fmake_font_instance): Ditto. (vars_of_objects): Ditto. * toolbar.c (update_toolbar_button): Ditto. * window.c (allocate_window): Ditto. (make_dummy_parent): Ditto. (Fcurrent_window_configuration): Fix alloc_lcrecord. (vars_of_window): Fix make_lcrecord_list. * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list -> Flist. * lstream.c (Lstream_new): Fix make_lcrecord_list. * opaque.c (make_opaque): Fix alloc_lrecord. (make_opaque_list): Fix alloc_lrecord_type. 1999-04-19 Hrvoje Niksic <hniksic@srce.hr> * process.c (Fstart_process_internal): Ditto. * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling locate_file(). * glyphs-x.c (x_locate_pixmap_file): Ditto. * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to locate_file(). * emodules.c (vars_of_module): New variable Vmodule_extensions. (emodules_load): Use it when calling locate_file(). * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling locate_file(). * callproc.c: Vlisp_EXEC_SUFFIXES: New variable. (vars_of_callproc): Initialize it. (Fcall_process_internal): Use it when calling locate_file(). * alloc.c (disksave_object_finalization): Use Flocate_file_clear_hashing(). * lread.c (Flocate_file_clear_hashing): Clear all hasing when given `t' as argument. 1999-04-18 Hrvoje Niksic <hniksic@srce.hr> * lread.c (locate_file): Expand `pathel' when appropriate. (Flocate_file_clear_hashing): Expand path elements. (Flocate_file_clear_hashing): Use Vlocate_file_hash_table. * dired.c (make_directory_hash_table): Create the hash-table only if the directory open is successful. * lread.c (decode_mode_1): New function. (decode_mode): Ditto. (Flocate_file): Use them. (Flocate_file): Expand FILENAME. (locate_file_map_suffixes): New function. (locate_file_in_directory_mapper): New function. (locate_file_in_directory): Use locate_file_in_directory_mapper() and locate_file_map_suffixes(). (locate_file_construct_suffixed_files): Use locate_file_map_suffixes(). (locate_file_without_hash): Don't GCPRO path. (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP. (syms_of_lread): Remove Qlocate_file_hash_table. (locate_file_find_directory_hash_table): Use Vlocate_file_hash_table. (locate_file_refresh_hashing): Ditto. * lread.c: Renamed read_objects to Vread_objects. 1999-04-16 Olivier Galibert <galibert@pobox.com> * mule-charset.c: Generally resync with fsf 20.3 charset interface. (make_charset): Add long and short name. Use id instead of leading byte. (Fmake_charset): Ditto. (Fmake_reverse_direction_charset): Ditto. (Fcharset_property): Ditto. (Fcharset_short_name): Added. (Fcharset_long_name): Added. (Fcharset_description): Renamed from charset-doc-string. (syms_of_mule_charset): Synced symbols. (complex_vars_of_mule_charset): Synced charsets. * mule-charset.h: Removed leading byte (uses id instead), added short and long name. 1999-04-15 Hrvoje Niksic <hniksic@srce.hr> * file-coding.c (Fdefine_coding_system_alias): New function. 1999-04-08 Olivier Galibert <galibert@pobox.com> * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859 and -ascii fonts for displaying ascii instead of iso8859-1 only. 1998-12-14 Hrvoje Niksic <hniksic@srce.hr> * extents.c (set_extent_glyph_1): Make sure that the glyph we attach to the extent is valid. 1998-12-12 Hrvoje Niksic <hniksic@srce.hr> * dired.c (user_name_completion): Mule-ize. (user_name_completion): Use xmalloc/xrealloc/xfree. (user_name_completion): Use DO_REALLOC. (user_name_completion): Cut down the number of static variables; use a structure. (user_name_completion): Username completion is always case-sensitive. 1998-12-06 Hrvoje Niksic <hniksic@srce.hr> * fns.c (base64_decode_1): Remove COUNTER. (base64_decode_1): Accept CRLF in addition to CR. (base64_decode_1): Disallow a stray character after final EOF; the check was probably a remnant of buggy recode code. 1998-12-05 Hrvoje Niksic <hniksic@srce.hr> * fns.c (init_provide_once): Provide `base64'. 1998-12-04 Hrvoje Niksic <hniksic@srce.hr> * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity. (Fbase64_encode_region): If buffer is read-only, bail out early. (Fbase64_decode_region): Ditto. (Fbase64_encode_region): Initialize SPECCOUNT to pacify the compiler. (Fbase64_encode_string): Ditto. (Fbase64_decode_region): Ditto. (Fbase64_decode_string): Ditto. 1998-11-25 Hrvoje Niksic <hniksic@srce.hr> * dired.c (Fdirectory_files): Remove redundant code. 1999-03-05 Philip Aston <philipa@parallax.co.uk> * frame-msw.c Make raise-frame restore minimised windows. 1999-03-05 Philip Aston <philipa@parallax.co.uk> * device-msw.c: Fix DEFVAR format - Death to phantom quote, and add magic newline. 1999-03-05 Philip Aston <philipa@parallax.co.uk> * toolbar-msw.c Consider captions when deciding whether to rebuild toolbar. This fixes the initial toolbar display for those of us who don't like captions. These patches applied by Andy Piper. 1999-03-12 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.13 is released 1999-03-12 SL Baur <steve@xemacs.org> * file-coding.c: Guard ucs table initialization with ifdef MULE. 1999-03-10 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> * file-coding.c: docstring and comment improvements. (decode_ucs4) flag possible data loss with comment. 1999-03-10 Martin Buchholz <martin@xemacs.org> * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR (ucs_to_char): (Fucs_char): (Fset_char_ucs): (decode_coding_ucs4): (encode_coding_ucs4): (detect_coding_utf8): (decode_coding_utf8): (encode_utf8): (encode_coding_utf8): Add CHECK_* macros where needed to avoid crashes. #ifdef out all composite character support using #ifdef ENABLE_COMPOSITE_CHARS Use normal XEmacs coding standards. Fix docstrings. Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE. 1998-09-08 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (make-coding-system): Add description about `ucs-4' and `utf-8'. (detection_state): Modify to implement ucs-4 and utf-8. (detect_coding_type): Likewise. (detect_coding_ucs4): New implementation. (detect_coding_utf8): New implementation. (encode_utf8): fixed. (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and `utf-8'. 1998-09-08 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO 2022 registry to private area. 1998-09-07 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (encode_utf8): New function. (encode_coding_utf8): New implementation. 1998-09-07 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (ucs_to_mule_table): New variable; abolish `Vucs_to_mule_table' (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'. (set-ucs-char): New function. (ucs_to_char): New function. (ucs-char): New function. (set-char-ucs): New function. (char-ucs): New function. (decode_ucs4): Use `ucs_to_char'. (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and `mule-to-ucs-table'. 1998-09-06 MORIOKA Tomohiko <morioka@jaist.ac.jp> * chartab.h: EXFUN `Fget_char_table'. * file-coding.c (encode_ucs4): New function. (encode_coding_ucs4): Use `encode_ucs4'. 1998-09-06 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (decode_coding_ucs4): New implementation. 1998-09-06 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (decode_coding_ucs4): fixed. * file-coding.c (Vmule_to_ucs_table): New variable. (mule_char_to_ucs4): New function. (encode_coding_ucs4): New implementation. (complex_vars_of_mule_coding): Define variable `mule-to-ucs-table'. 1998-09-06 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (decode_coding_utf8): New implementation. 1998-09-06 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (decode_coding_utf8): fixed. 1998-09-06 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (Vucs_to_mule_table): New variable. (decode_ucs4): Refer `Vucs_to_mule_table'. (complex_vars_of_mule_coding): Define variable `ucs-to-mule-table'. 1998-09-04 MORIOKA Tomohiko <morioka@jaist.ac.jp> * file-coding.c (detect_coding_ucs4): New function (not implemented yet). (decode_coding_ucs4): New function. (encode_coding_ucs4): New function (not implemented yet). (detect_coding_utf8): New function (not implemented yet). (decode_coding_utf8): New function. (encode_coding_utf8): New function (not implemented yet). (make-coding-system): New type `ucs4' and `utf8'. (coding-system-type): Likewise. (detection_state): Add `ucs4' and `utf8'. (detect_coding_type): Likewise. (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'. (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'. (decode_ucs4): New function (very incomplete). (syms_of_mule_coding): Add `ucs4' and `utf8'. * file-coding.h: Add definitions for UCS-4 and UTF-8. 1999-03-08 Martin Buchholz <martin@xemacs.org> * mule-charset.c: (non_ascii_valid_char_p): (lookup_composite_char): (composite_char_string): (make-composite-char): (composite-char-string): (syms_of_mule_charset): (complex_vars_of_mule_charset): * mule-charset.h (LEADING_BYTE_COMPOSITE): (CHAR_LEADING_BYTE): (MAKE_CHAR): * file-coding.h (CODING_STATE_COMPOSITE): (CODING_STATE_ISO2022_LOCK): (iso_esc_flag): (LEADING_BYTE_COMPOSITE): * file-coding.c (struct iso2022_decoder): (decoding_closer): (reset_iso2022): (parse_iso2022_esc): (encode_coding_iso2022): #ifdef out all composite character support using #ifdef ENABLE_COMPOSITE_CHARS * alloc.c: Define lrecord_coding_system only if ! FILE_CODING 1999-03-04 Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp> * fns.c (Fbase64_encode_string): Calculate `allength' in the same way of `Fbase64_encode_region'. 1999-02-18 Katsumi Yamaoka <yamaoka@jpl.org> * fns.c (base64_encode_1): Don't add a newline at the tail. 1999-03-08 Andy Piper <andy@xemacs.org> * menubar-msw.c (displayable_menu_item): correct off-by-one & handling. 1999-03-07 Martin Buchholz <martin@xemacs.org> * console-stream.h (struct stream_console): * event-unixoid.c (event_stream_unixoid_select_console): (event_stream_unixoid_unselect_console): * print.c (Fexternal_debugging_output): * sysdep.c (reset_one_device): * console-stream.c (stream_init_console): (stream_delete_console): (allocate_stream_console_struct): move into stream_init_console. (free_stream_console_struct): move into stream_delete_console. Use `fd' only for file descriptors. Therefore, rename members of struct stream_console. * systime.h: Unix98 says sys/time.h should define select(), but some systems define that in unistd.h. So include that file always. * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'. Avoid multiple evaluation of first arg. Do proper do {} while (0) wrapping. (HAS_IIFORMAT_METH_P): Prevent macro from being used in non-boolean context (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention. * EmacsShell.c: * balloon_help.c: Add #include <stdio.h>. Some versions of assert.h use printf() without #include'ing stdio.h * free-hook.c (blocktype): Add gcpro5_type to blocktype. (log_gcpro): Remove unused variable FRAME. (show_gcprohist): Ansify. Comment the #endif's * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f) after it's just been XtDestroy'ed! 1999-02-18 Martin Buchholz <martin@xemacs.org> * opaque.c (print_opaque): (sizeof_opaque): (equal_opaque): (hash_opaque): Egcs 1.1.1 seems to have a bug where INTP (p->size_or_chain) will crash XEmacs. Fix by introducing intermediate variable. * sound.c (Fdevice_sound_enabled_p): Fix compiler warning. * dired.c (Fdirectory_files): (Ffile_name_completion): (Ffile_name_all_completions): (file_name_completion): - Use `directory' instead of `dirname' to sync with FSF Emacs and avoid compiler warnings. - Fix up docstrings so that C variables match documentation. 1999-03-05 Martin Buchholz <martin@xemacs.org> * alloc.c: (garbage_collect_1): Reorg code to make scope of local variables as small as possible to help out the compiler and the maintainer. * alloc.c: (disksave_object_finalization): Set all the *-load-path variables to nil, not just load-path itself. This gets the locate-file hash tables garbage collected BEFORE dump, and has the side effect of preventing crashes on OSF4.0+egcs. * alloc.c: * gdbinit: * dbxrc: - Clean up gdb/dbx debugging support. - Storing an EMACS_INT in an enum is not 64-bit clean! - So change the enum to a set of separate variables. - Add test cases to help debug the debugging support! - Add `lisp-shadows' and `run-temacs' targets for dbx. - Both dbx and gdb have been tested now. 1999-03-05 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.12 is released 1999-02-16 Kazuyuki IENAGA <ienaga@jsys.co.jp> * device-x.c: Support to find best visual without flashing. 1999-03-02 Paul Keusemann <pkeusem@visi.com> * database.c (berkdb_map): Add flags argument to cursor call (must be 0 according to docs) required for Berkeley DB 2.6.4 and later. 1999-03-03 Martin Buchholz <martin@xemacs.org> * hash.c: * hash.h: General cleanup. Get free-hook.c working again. Remove unused functions: make_strings_hash_table, copy_hash, expand_hash_table. * malloc.c: * mem-limits.h: Always use new ANSI-style function prototypes. * unexalpha.c (unexec): Never use implicit int. * sgiplay.c (close_sound_file): (play_sound_file): (restore_audio_port): (play_sound_data): (audio_initialize): (play_internal): (drain_audio_port): (write_mulaw_8_chunk): (write_linear_chunk): (write_linear_32_chunk): (initialize_audio_port): (open_audio_port): (set_channels): (set_output_format): (adjust_audio_volume): (get_current_volumes): (parse_snd_header): Always use new ANSI-style function prototypes. Use unistd.h for missing prototypes. * unexelfsgi.c (round_up): (find_section): (unexec): Always use new ANSI-style function prototypes * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio * console.h (struct console_methods): Always use full ANSI prototypes * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes 1999-03-02 Andy Piper <andy@xemacs.org> * event-stream.c (init_event_stream): make sure native mswindows gets an appropriate event loop. 1999-02-22 Andy Piper <andy@xemacs.org> * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather than SW_SHOWNORMAL to prevent resizing of maximised frames. (mswindows_raise_frame): remove comment. 1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.11 is released 1999-02-25 SL Baur <steve@xemacs.org> * mule-charset.c (Qleading_byte): New variable to implement charset-leading-byte function. (Fcharset_property): Use it. (syms_of_mule_charset): Initialize it. From Kazuyuki IENAGA <ienaga@jsys.co.jp> 1999-02-17 Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp> * glyphs-x.c (cononvert_EImage_to_XImage): correct bytes per pixel counting. 1999-02-15 Andy Piper <andy@xemacs.org> * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes major lockups. 1999-02-16 MORIOKA Tomohiko <morioka@jaist.ac.jp> * fns.c (Fbase64_encode_string): New optional argument `NO_LINE_BREAK'. 1999-02-16 Martin Buchholz <martin@xemacs.org> * gdbinit: Fix up commands to run temacs. Add lisp-shadows command. * alloc.c (xcalloc): undef xcalloc, just like xmalloc 1999-02-10 Martin Buchholz <martin@xemacs.org> * s/bsdos4.h: New file. Port to BSDI BSD/OS 4.0. * xintrinsic.h: Redo CONST support for X11 R4 compatibility. 1999-02-05 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.10 is released 1999-02-02 Gleb Arshinov <gleb@cs.stanford.edu> * process-nt.c (nt_send_process): Fix for process-send-region/process-send-string breaking when size of the input > 128 chars: change maximum chunk size for process stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer succeeds. 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.9 is released 1999-01-30 Martin Buchholz <martin@xemacs.org> * bytecode.c (funcall_compiled_function): Call UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY. * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY): #ifdef 0 out unused macro. 1999-01-27 Martin Buchholz <martin@xemacs.org> * gui.c (gui_parse_item_keywords_internal): Make static. 1999-01-21 Andy Piper <andy@xemacs.org> * glyphs-msw.c: add xface support. (mswindows_xface_instantiate): new function copied from glyphs-x.c (image_instantiator_format_create_glyphs_mswindows): do device specific initialisation for xfaces. (xbm_create_bitmap_from_data): line data must be padded to a word boundary. * glyphs-x.c (xface_validate): moved to glyphs.c (xface_normalize): ditto. (xface_possible_dest_types): ditto. (image_instantiator_format_create_glyphs_x): do device specific initialisation for xfaces. * glyphs.h: declare xface symbol. * glyphs.c: move generic xface support here. (xface_validate): moved from glyphs-x.c (xface_normalize): ditto. (xface_possible_dest_types): ditto. (image_instantiator_format_create): xface declarations moved from glyphs-x.c. 1999-01-14 Adrian Aichner <adrian@xemacs.org> * event-stream.c (vars_of_event_stream): Fixing documentation. 1999-01-17 Gunnar Evermann <ge204@eng.cam.ac.uk> * glyphs-eimage.c (gif_instantiate): Correct handling of interlaced gifs to avoid writing past the end of the eimage buffer. 1999-01-13 Hrvoje Niksic <hniksic@srce.hr> * search.c (Freplace_match): Handle single backslash at end of NEWTEXT correctly. 1999-01-12 William M. Perry <wmperry@aventail.com> * eldap.c (Fldap_open): slow down interrupts around ldap_open to avoid connection errors. 1999-01-12 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_update_line): backout change that shouldn't have gone ine. 1999-01-09 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may collide with ldap.el 1999-01-11 Andy Piper <andy@xemacs.org> * redisplay.h (DISPLAY_LINE_HEIGHT): new macro. (DISPLAY_LINE_YPOS): new macro. * redisplay-msw.c (mswindows_output_string): use it. (mswindows_output_pixmap): ditto. (mswindows_output_display_block): ditto. * redisplay-output.c (redisplay_output_display_block): new function. just call the devmeth, maybe insert some generic code here later. (compare_display_blocks): use it. (output_display_line): ditto. (redisplay_unmap_subwindows_maybe): new function. potentially unmap subwindows in the given area. * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are resetting. 1999-01-10 J. Kean Johnston <jkj@sco.com> * Makefile.in.in: Set value of moduledir - Changed DUMPENV to include $(MODULEPATH) - Added install rule to install header files for use by ellcc. * config.h.in: Added INHIBIT_SITE_MODULES - Added HAVE__DLERROR - Added HAVE_DLFCN_H - Added DLSYM_NEEDS_UNDERSCORE * dll.c: Removed. * emodules.c: New file containing dynamic loading code. * emodules.h: New file. * emacs.c: Added variables Vmodule_directory, Vsite_module_directory, Vconfigure_module_directory and Vconfigure_site_module_directory. - (main_1): Added new variable inhibit_site_modules and command line options `-no-site-modules' and `--no-site-modules'. - (main_1): Call syms_of_module() instead of syms_of_dll(). - (main_1): Call vars_of_module(). - (vars_of_emacs): Introduce inhibit-site-modules, module-directory, configure-module-directory, site-module-directory, and configure-site-module-directory to the Lisp reader. * lisp.h: Declare load_module and list_modules, as well as Vmodule_directory, Vsite_module_directory, Vconfigure_module_directory and Vconfigure_site_module_directory. * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES. - Added correct support for site-lisp directory. * symbols.c (defsubr): Modified to allow modules to add new subrs after dump time. - (defsubr_macro): Same. - (defvar_magick): Only use purespace when not initialized, so that loaded modules can still add symbols. * symsinit.h: Add definitions for syms_of_module(), vars_of_module(). Removed syms_of_dll(). * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined. - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account. - (dll_error): use _dlerror() if HAVE__DLERROR is defined. * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and explicitly pass -belf for native cc. * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of hard-coding the library name. 1999-01-01 <martin@xemacs.org> * device-x.c (Fx_set_font_path): Add proper cast to permit compilation under C++. * buffer.c (directory_is_current_directory): Add proper casts to permit compilation under C++. 1998-12-30 Damon Lipparelli <lipp@primus.com> * event-msw.c (mswindows_wnd_proc): Fixed failure when building with MSVC 5. 1998-12-29 Martin Buchholz <martin@xemacs.org> * file-coding.c (decode_coding_iso2022): - Prevent crash when decoding ISO7/Lock detected files - the usual martin fiddling 1998-12-29 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c: glyphs-msw.c: Fixed failures when building with MSVC. * unexnt.c (dump_bss_and_heap): Removed compiler warning by removing bss_data variable. 1998-12-18 Jim Radford <radford@robby.caltech.edu> * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions so that packages that distribute their own fonts can access them. 1998-12-28 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_button_instantiate): cope with buttons that have an image provided. * glyphs.h: add Q_image decl. * glyphs-widget.c new functionality allowing images in widgets. (check_valid_glyph_or_image): new function to validate glyphs passed in through :image. (widget_normalize): new function. convert :image parameters into real glyphs if not already so. (widget_instantiate_1): mess with size parameters to be similar to :image if provided. (syms_of_glyphs_widget): new keyword :image. (image_instantiator_format_create_glyphs_widget): normalize buttons and allow :image. 1998-12-27 Andy Piper <andy@xemacs.org> * frame-msw.c (mswindows_init_frame_1): warning elimination. * glyphs-widget.c (check_valid_anything): no-op function. (check_valid_callback): check callbacks in gui_items. (check_valid_symbol): as it sounds. (check_valid_string_or_vector): ditto. (widget_validate): modified for descriptors that are vectors or sequences of keyword/val pairs. (widget_instantiate_1): ditto. (image_instantiator_format_create_glyphs_widget): allow gui_item keywords in the instantiator. * gui.c (gui_parse_item_keywords_internal): renamed from gui_parse_item_keywords but taking error behaviour. (gui_parse_item_keywords): use it. (gui_parse_item_keywords_no_errors): ditto. (gui_item_add_keyval_pair): add Error_behavior flag and only signal invalid keywords if required. * gui.h: new gui signatures. * menubar.c (menu_parse_submenu_keywords): use new gui_item_add_keyval_pair signature. * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings. 1998-12-28 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.8 is released. 1998-12-28 Martin Buchholz <martin@xemacs.org> * editfns.c (get_home_directory): (user-home-directory): Simplify. * callproc.c (child_setup): - Environment variables were being passed to inferior processes using internal encoding. - Convert to external encoding. - Rename local var `tem' to better name `tail'. - Use Flength instead of `manual' calculation. * buffer.c (kill-buffer): (record-buffer): (set-buffer-major-mode): (current-buffer): - Fix up parameter names to correspond to docstrings. - Don't use `bufname' when a buffer will do as well. - Remove one unneeded GCPRO. * buffer.h (initial_directory): * buffer.c (init_initial_directory): - use correct conversions between internal and external format. (directory_is_current_directory): new function (init_buffer): convert initial_directory to internal format. - solve crashes when current working directory is non-ASCII. * alloc.c (xmalloc): (xcalloc): (xrealloc): - remove stupid casts, since XEmacs requires an ANSI C system. (lrecord_type_index): replace abort() with more readable assert(). (reset_lcrecord_stats): remove. (sweep_lcrecords_1): - replace call to reset_lcrecord_stats() with call to xzero(). 1998-12-27 Martin Buchholz <martin@xemacs.org> * process-unix.c (unix_create_process): - Fix crash invoking program with non-ASCII name. Try invoking xemacs with SHELL=/bin/sh, then M-x shell. - Remove unused variable `env'. - Rename `temp' to better name `save_errno'. - Reorganize code for clarity. But still too chicken to nuke the BSD 4.2 support. 1998-12-24 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.7 is released. 1998-12-23 Martin Buchholz <martin@xemacs.org> * glyphs.c (decode_device_ii_format): - Fix indentation. - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *. * glyphs-x.c (x_subwindow_instantiate): - A image instance mask was being assigned to a image instance type! - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++. * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance): Fix indentation. * glyphs-x.h: Make indentation consistent. * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts. * glyphs-widget.c (check_valid_glyph): Warning suppression. - Make it static - #ifdef it out, since it's not actually used yet (FIX THIS!) * glyphs-widget.c: * glyphs.h: Move declarations of decode_device_ii_format and decode_image_instantiator_format into glyphs.h where they belong. 1998-12-22 Martin Buchholz <martin@xemacs.org> * frame-x.c (x_delete_frame): Revert part of my changes at the suggestion of Gunnar Evermann - unfortunately no one really understands this code. * callproc.c (init_callproc): code cleanup. * free-hook.c (malloc): (check_malloc): (__free_hook): (__malloc_hook): (__realloc_hook): (block_input_malloc): (block_input_realloc): * device-x.c (x_delete_device): * emacs.c (voodoo_free_hook): * events.c (print_event): (CHECK_EVENT_TYPE): (CHECK_EVENT_TYPE2): (CHECK_EVENT_TYPE3): Use proper prototypes. Make C_E_T macros a little faster. Pedantic fiddly little changes. You really don't care. 1998-12-22 Andy Piper <andy@xemacs.org> * redisplay-output.c (redisplay_clear_region): make sure that fg/bg colors get set even when we are in the border area. 1998-12-13 Martin Buchholz <martin@xemacs.org> * console-msw.c: Function definitions follow coding standards - This prevents e.g. find-tag on Lisp_Event finding DEVENT 1998-12-11 Martin Buchholz <martin@xemacs.org> * events.h (struct timeout_data): * event-tty.c (tty_timeout_to_emacs_event): * event-msw.c (mswindows_wm_timer_callback): * event-Xt.c (Xt_timeout_to_emacs_event): * event-msw.c (mswindows_cancel_dispatch_event): Make sure Lisp_Objects inside events are initialized to Qnil, not Qnull_pointer, which is now illegal. 1998-12-10 Martin Buchholz <martin@xemacs.org> * lisp.h: Fix up prototypes to match alloc.c 1998-12-08 Martin Buchholz <martin@xemacs.org> * windowsnt.h: Remove `support' for using index and rindex * filelock.c (current_lock_owner): - Change uses of index -> strchr, rindex -> strrchr 1998-12-07 Martin Buchholz <martin@xemacs.org> * sysdep.c (set_descriptor_non_blocking): Since O_NONBLOCK is now always #defined, make use of fcntl conditional on F_SETFL being defined. * console-msw.c (DHEADgER): (DOPAQUE_DATA): (DEVENT): (DCONS): (DCONSCDR): (DSTRING): (DVECTOR): (DSYMBOL): (DSYMNAME): - max_align_t should not be visible to the user of the XOPAQUE_DATA macro. - use Bufbyte instead of char - parens around (FOOP (obj)) are always redundant. If they were necessary, we should fix the macro instead. - Always use string_data(foo) instead of foo->data. 1998-12-06 Martin Buchholz <martin@xemacs.org> * frame-msw.c (mswindows_init_frame_1): - use make_lisp_hash_table, not Fmake_hash_table - include elhash.h * lisp.h: * alloc.c (make_vector): remove travesty (Fmake_vector): (make_pure_vector): (pure_cons): (make_bit_vector_internal): (make_bit_vector): (make_bit_vector_from_byte_vector): (Fmake_bit_vector): - make vector_equal a little faster. - Don't use variable name `new'. - Use size_t instead of EMACS_INT. - usual Martin-style pointless bit-twiddling. * fns.c (mapcar1): (Fmapconcat): (Fmapcar): (Fmapvector): Make mapcar faster. In particular, make (mapc #'identity long-string) MUCH faster under Mule. * tests/automated/lisp-tests.el: Test 'em! * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded bytecode. 1998-12-01 Martin Buchholz <martin@xemacs.org> * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use Qnil, not NULL, to initialize `null' Lisp_Objects. 1998-11-29 Hrvoje Niksic <hniksic@srce.hr> * specifier.c (display_table_validate): Update. * redisplay.c (create_text_block): Use them. * glyphs.c (display_table_entry): New function. (get_display_tables): Ditto. 1998-12-15 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c (toplevel): Mention that eldap.c compiles with OpenLDAP libs (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA' (Fldap_search_internal): Ditto 1998-12-11 Martin Buchholz <martin@xemacs.org> * event-msw.c (mswindows_cancel_dispatch_event): Gratuitous code prettification 1998-12-07 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fnconc): Fix use of wrong_type_argument(). * floatfns.c (Ffloat): Fix docstring. (Ffloat): Fix use of wrong_type_argument(). (Fabs): Ditto. (extract_float): Ditto. (Fceiling): Ditto. (Fround): Ditto. (Ftruncate): Ditto. 1998-12-06 Martin Buchholz <martin@xemacs.org> * frame-msw.c (mswindows_init_frame_1): - use make_lisp_hash_table, not Fmake_hash_table - include elhash.h * lisp.h: * alloc.c (make_vector): remove travesty (Fmake_vector): (make_pure_vector): (pure_cons): (make_bit_vector_internal): (make_bit_vector): (make_bit_vector_from_byte_vector): (Fmake_bit_vector): - make vector_equal a little faster. - Don't use variable name `new'. - Use size_t instead of EMACS_INT. - usual Martin-style pointless bit-twiddling. * fns.c (mapcar1): (Fmapconcat): (Fmapcar): (Fmapvector): Make mapcar faster. In particular, make (mapc #'identity long-string) MUCH faster under Mule. * tests/automated/lisp-tests.el: Test 'em! * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded bytecode. 1998-12-02 Didier Verna <didier@xemacs.org> * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the accelerator field to nil for labels. 1998-12-16 Jonathan Harris <jhar@tardis.ed.ac.uk> * menubar-msw.c (displayable_menu_item): Escape occurrences of '&' and support occurrences of the '%_' accelerator indicator in menus. 1998-11-26 Didier Verna <didier@xemacs.org> * dired.c (Fdirectory_files): use make_string instead of make_ext_string on the filename. The conversion external->internal format is already done in sys_readdir. 1998-12-15 Gunnar Evermann <ge204@eng.cam.ac.uk> * glyphs.c (normalize_image_instantiator): GCPRO instantiator 1998-12-16 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c (Belatedly) added Kirill to list of file's authors. emacs_mswindows_quit_p: Don't process WM_PAINT messages in quit checking. WM_PAINT messages cause redisplay, but windows' states are not necessarily stable when this function gets called. 1998-12-17 Andy Piper <andy@xemacs.org> * strftime.c (zone_name): CONSTify. 1998-12-15 Andy Piper <andy@xemacs.org> * glyphs-msw.c (mswindows_combo_instantiate): ditto. (mswindows_widget_property): return Qunbound when no property available. (mswindows_button_property): ditto. (mswindows_combo_property): ditto. (mswindows_widget_set_property): ditto. * glyphs-widget.c (check_valid_item_list): use properties. * glyphs.h (struct Lisp_Image_Instance): we have properties now. * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties. (Fimage_instance_property): ditto. * glyphs-widget.c (widget_property): ditto. (widget_set_property): ditto. * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well as setting the class cursor so that GC actually changes the cursor. * config.h: don't undef MAIL_USE_POP. 1998-12-13 Andy Piper <andy@xemacs.org> * glyphs-msw.c (image_instantiator_format_create_glyphs_mswindows): line -> label. (mswindows_label_instantiate): ditto. Play with window flags. (image_instantiator_format_create_glyphs_mswindows): ditto. (vars_of_glyphs_mswindows): provide Qlabel as we support it now. * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to cope with lines and labels. (static_instantiate): use widget_instantiate_1. line -> label. (image_instantiator_format_create_glyphs_widget): ditto. 1998-12-10 Andy Piper <andy@xemacs.org> * Makefile.in.in (objs): add gui.o 1998-12-10 Andy Piper <andy@xemacs.org> * gui.c: adjust defines of HAVE_POPUPS so that we can build with no window system. 1998-12-09 Andy Piper <andy@xemacs.org> * glyphs.c (finalize_image_instance): mark glyphs changed when an image instance is removed so that the subwindow cache gets reset and thus destroyed images get GC'd. 1998-12-08 Andy Piper <andy@xemacs.org> * gui-msw.c (mswindows_handle_gui_wm_command): call MARK_SUBWINDOWS_CHANGED. * glyphs-msw.c (mswindows_finalize_image_instance): make sure subwindows really get deleted. * redisplay.c: new variable subwindows_changed[_set]. (redisplay_window): use it. (redisplay_frame): ditto. (redisplay_device): ditto. (redisplay_without_hooks): ditto. * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for subwindows redisplay as per glyphs equivalent. * redisplay.h: ditto. (MARK_SUBWINDOWS_CHANGED): ditto. (RESET_CHANGED_SET_FLAGS): ditto. * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto. 1998-12-07 Andy Piper <andy@xemacs.org> * frame.c (Fmake_frame): reset subwindow cachels on non-stream frames. * redisplay.c (redisplay_frame): invalidate subwindow cachels. * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR* messages and paint widget glyphs as appropriate with their face fg & bg. 1998-12-06 Andy Piper <andy@xemacs.org> * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types here rather than in glyphs-widget - do this because we only want to provide what is really available. * glyphs.c (Fimage_instance_property): new function to get the properties of image instances. wires through to console specific methods and then to widget specific methods. (Fset_image_instance_property): ditto but for setting widget properties. (check_valid_face): make extern so that it can be used elsewhere. * glyphs-widget.c (widget_property): new function. gets the properties of widgets in general and wires the function through to widget specific ones. (widget_set_property): ditto but for setting widget properties. * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to add items to the list. Play with window styles a bit to get the desired effect. (mswindows_widget_property): break out specific widget properties. (mswindows_button_property): new function. gets the checked state of a button. (mswindows_combo_property): new function. gets the current selection in the combo box. (mswindows_widget_set_property): new function. sets specific properties of specific widgets. * glyphs-widget.c (check_valid_item_list): new function. check that items for a combo-box are just a list of strings. (combo_validate): new function. check there is an item list. (widget_instantiate_1): new function. renamed from widget_instantiate so that we can do slightly different things for other widgets. (widget_instantiate): call widget_instantiate_1. (combo_instantiate): new function to instantiate combo boxes, defaults height to the pixel height of the number of items in the box. (syms_of_glyphs_widget): move widget keywords here. (image_instantiator_format_create_glyphs_widget): use new combo functions. 1998-12-04 Andy Piper <andy@xemacs.org> * event-msw.c (mswindows_wnd_proc): mule-ize. * glyphs.c (pixmap_to_lisp_data): mule-ize. * glyphs-msw.c (extract_xpm_color_names): mule-ize. (resource_name_to_resource): ditto. (mswindows_resource_instantiate): ditto. (mswindows_widget_instantiate): ditto. (mswindows_widget_set_property): ditto. * redisplay-output.c (redisplay_output_subwindow): don't show subwindows if they are obscured at the edge of the frame, emacs gets into some sort of redisplay loop otherwise. * gui.h: prototype gui_item_selected_p. * gui.c (gui_item_selected_p): new function to determine the selected state of a gui_item. * frame.h (struct frame): add subwindows_changed flag. * redisplay.c (redisplay_frame): call update_frame_subwindows (). * glyphs.c (update_subwindow): new function to update a subwindow's state. (update_frame_subwindows): new function to update all the subwindows on a frame. * console.h (struct console_methods): add update_subwindow. * glyphs-msw.c (mswindows_widget_property): return selected state for selected property. (mswindows_update_subwindow): new function. updates widget glyphs in redisplay as per menubars or toolbars e.g. selected state. (console_type_create_glyphs_mswindows): add update_subwindow. 1998-12-03 Andy Piper <andy@xemacs.org> * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since tty coding system things are such. * glyphs-widget.c (widget_face_font_info): new function for pulling out height and width metrics for a widget's face. (widget_text_to_pixel_conversion): calculate pixel sizes of text for widgets. * event-msw.c (mswindows_drain_windows_queue): translate messages that are destined for subwindows. This makes edit fields interact with the keyboard correctly. nuke warnings by #ifndef'ing out stuff not required by msg select(). * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new macro defining the iiforma without the symbol required by widget. (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it. * general.c (syms_of_general): add Qwidget, Qselected. * faces.c (complex_vars_of_faces): add widget face inheriting from gui-element face. 1998-11-09 Andy Piper <andy@xemacs.org> * window.h (struct window): add a cache of subwindows on a per-window basis. * window.c (mark_window): mark the subwindow_instance_cache. (allocate_window): initialise the subwindow instance_cache. * toolbar-x.c (x_output_toolbar): call redisplay_clear_region instead of the devmeth. (x_clear_toolbar): ditto. * redisplay-x.c (x_output_display_block): call redisplay_output_subwindow for subwindows and widgets. * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to types to do nothing for. * lisp.h: declare new widget/subwindow symbols. * glyphs.c (image_instantiate): cache subwindows on a per-window basis. (subwindow_possible_dest_types): new function for subwindow dest types. (subwindow_instantiate): generic instantiation of a subwindow. specialised by device multi-methods. (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based subwindows. (Fimage_instance_subwindow_id): ditto. (Fresize_subwindow): ditto. (Fforce_subwindow_map): ditto. * glyphs-x.c (x_print_image_instance): remove subwindow stuff. Handled genrically in glyphs.c. (x_image_instance_equal): ditto. (x_image_instance_hash): ditto. (x_finalize_image_instance): delete subwindows when required. (mark_subwindow) (print_subwindow) (finalize_subwindow) (subwindow_hash) (Fmake_subwindow): deleted because of new, glyph-based, subwindow implementation. (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased in glyphs.el (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to glyphs.c. (x_unmap_subwindow): new function to unmap X subwindows. (x_map_subwindow): new function to map X subwindows. (x_subwindow_instantiate): new function to instantiate X subwindows. (x_resize_subwindow): new function to resize X subwindows. (console_type_create_glyphs_x): add subwindow functions. (image_instantiator_format_create_glyphs_x): add device multi-methods for xpm, xbm and subwindow. * glyphs.el (subwindow-xid): old alias for new subwindow functions. (subwindow-width): ditto. (subwindow-height): ditto. * glyphs-msw.c (mswindows_widget_instantiate): new function for generally instantiating ms subwindows. Used by mswindows_*_instantiate. (mswindows_edit_instantiate): instantiate an edit field on a mswindows frame. 1998-11-04 Andy Piper <andy@xemacs.org> * symsinit.h: declare new functions. * redisplay.h: declare new functions. * redisplay-x.c (x_output_display_block): call redisplay_clear_region rather than x_clear_region. (x_output_string): ditto. (x_output_pixmap): ditto. (x_clear_to_window_end): ditto. (x_output_eol_cursor): ditto. (x_clear_region): only do X specific things. other duties handled in redisplay_clear_region. * redisplay-tty.c (tty_clear_region): do tty specific things - some duties moved to redisplay_clear_region. * redisplay-output.c (clear_left_border): use redisplay_clear_region instead of device method. (clear_right_border): ditto. (output_display_line): ditto. (redisplay_output_subwindow): ditto. (redisplay_clear_top_of_window): ditto. (redisplay_clear_region): perform duties previously handled by device methods. call the appropriate device method at the end. unmap subwindows if necessary. * redisplay-msw.c (mswindows_output_string): use redisplay_clear_region instead of mswindows_clear_region. (mswindows_clear_to_window_end): ditto. (mswindows_output_display_block): output subwindows when required. (mswindows_clear_region): only do mswindows specific things, everything else is now handled in redisplay_clear_region. * gui.h: add item id hash defines and declare function prototypes. * gui.c (mark_gui_item): new function for marking gui_items. (gui_item_hash): generic hash function for generating command ids for gui_items. * gui-msw.c: new file. (mswindows_handle_gui_wm_command): new function to handle widget callbacks. * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device multi-methods. (IIFORMAT_HAS_SHARED_METHOD): ditto. (DEFINE_DEVICE_IIFORMAT): ditto. (INITIALIZE_DEVICE_IIFORMAT): ditto. (struct Lisp_Image_Instance): add widget and subwindow data plus appropriate access functions. * glyphs.c (decode_device_ii_format): new function for decoding image instantiator functions based on a device type as well as an image format. (decode_image_instantiator_format): just call decode_device_ii_format with nil device. (add_entry_to_device_ii_format_list): new function for per device method instances. (add_entry_to_image_instantiator_format_list): just call add_entry_to_device_ii_format_list with nil device. (check_valid_vector): new function. (instantiate_image_instantiator): instantiate using per-format method and then per-format-per-device method (device multi-methods). signal an error if neither is possible. (mark_image_instance): cope with subwindows and widgets. (print_image_instance): ditto. (image_instance_equal): ditto. (image_instance_hash): ditto. (allocate_glyph): ditto. (glyph_width): ditto. (glyph_height_internal): ditto. (xpm_instantiate): removed because of device multi-methods. (mark_subwindow_cachels): new cachel functions for caching instantiated subwindows on a per-frame basis. mostly copied from glyph cachel functions. (update_subwindow_cachel_data): ditto. (add_subwindow_cachel): ditto. (get_subwindow_cachel_index): ditto. (reset_subwindow_cachels): ditto. (mark_subwindow_cachels_as_not_updated): ditto. (unmap_subwindow): generic unmapping of subwindows based on cachel data. (map_subwindow): ditto. (initialize_subwindow_image_instance): generic initialisation of subwindow data. (syms_of_glyphs): add widget keywords. * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to x_subwindow_data. 1998-11-04 Andy Piper <andy@xemacs.org> * glyphs-widget.c: new file for instantiating widget type glyphs. (widget_possible_dest_types): new general dest type function for widgets. (widget_validate): ditto. (initialize_widget_image_instance): ditto (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing before handing on control to device multi-methods. (syms_of_glyphs_widget): new function. (image_instantiator_format_create_glyphs_widget): new function, added placeholders for button, edit, combo, scrollbar (vars_of_glyphs_widget): new function. * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for storing window ids of widgets. * glyphs-msw.c (mswindows_finalize_image_instance): cope with deletion of widget and subwindow glyphs. (mswindows_unmap_subwindow): new device function for unmapping subwindows on a msw frame. (mswindows_map_subwindow): ditto. (mswindows_register_image_instance): register instantiated widgets with the widget hashtable. (mswindows_button_instantiate): instantiate a button type widget on an msw frame. (mswindows_subwindow_instantiate): instanttiate a subwindow on a mswindows frame. (image_instantiator_format_create_glyphs_mswindows): add device multi-methods for xbm, xpm, subwindow, edit and button. * frame.h (struct frame): add subwindow_cachels dynarr for caching information about subwindows visible on the current frame. used by redisplay_clear_region to unmap subwindows as required. * frame.c (mark_frame): mark subwindow_cachels. (allocate_frame_core): instantiate subwindow_cachels. * frame-msw.c (mswindows_init_frame_1): instntiate and mark the widget hashtable. * event-msw.c (mswindows_wnd_proc): add call to mswindows_handle_gui_wm_command to handle widget callbacks. * emacs.c (main_1): add calls to glyphs-widget initialisation routines. * console.h (struct console_methods): add unmap/map_subwindow_method for use be redisplay_clear_region to map and unmap subwindows. Remove xpm and xbm stuff - now dealt with by image instantiator multi-methods. Add resize_subwindow_method. * console-stream.c (stream_clear_region): change signature to match new generic clear region function. * Makefile.in.in: add glyphs-widget.o to list of objects. * console-msw.h (struct mswindows_frame): add widget hashtable for wiring command ids to callbacks. 1998-12-16 Andy Piper <andy@xemacs.org> * XEmacs 21.2.6 is released 1998-12-08 Hrvoje Niksic <hniksic@srce.hr> * md5.c (Fmd5): Correctly initiate string input stream. * Makefile.in.in (tests): Add md5-tests.el. 1998-12-06 Martin Buchholz <martin@xemacs.org> * lisp.h: * alloc.c (make_vector): remove travesty (Fmake_vector): (make_pure_vector): (pure_cons): (make_bit_vector_internal): (make_bit_vector): (make_bit_vector_from_byte_vector): (Fmake_bit_vector): - make vector_equal a little faster. - Don't use variable name `new'. - Use size_t instead of EMACS_INT. - usual Martin-style pointless bit-twiddling. * fns.c (mapcar1): (Fmapconcat): (Fmapcar): (Fmapvector): Make mapcar faster. In particular, make (mapc #'identity long-string) MUCH faster under Mule. * tests/automated/lisp-tests.el: Test 'em! 1998-12-06 Martin Buchholz <martin@xemacs.org> * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded bytecode. 1998-12-13 Martin Buchholz <martin@xemacs.org> * console-msw.c: Function definitions follow coding standards - This prevents e.g. find-tag on Lisp_Event finding DEVENT 1998-12-11 Martin Buchholz <martin@xemacs.org> * events.h (struct timeout_data): * event-tty.c (tty_timeout_to_emacs_event): * event-msw.c (mswindows_wm_timer_callback): * event-Xt.c (Xt_timeout_to_emacs_event): * event-msw.c (mswindows_cancel_dispatch_event): Make sure Lisp_Objects inside events are initialized to Qnil, not Qnull_pointer, which is now illegal. 1998-12-10 Martin Buchholz <martin@xemacs.org> * lisp.h: Fix up prototypes to match alloc.c 1998-12-09 Andy Piper <andy@xemacs.org> * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use XSETINT for assigning lisp objects. 1998-12-07 Martin Buchholz <martin@xemacs.org> * opaque.h: * console-msw.c (DHEADER): (DOPAQUE_DATA): (DEVENT): (DCONS): (DCONSCDR): (DSTRING): (DVECTOR): (DSYMBOL): (DSYMNAME): - max_align_t should not be visible to the user of the XOPAQUE_DATA macro. - use Bufbyte instead of char - parens around (FOOP (obj)) are always redundant. If they were necessary, we should fix the macro instead. - Always use string_data(foo) instead of foo->data. 1998-12-07 Martin Buchholz <martin@xemacs.org> * sysdep.c (set_descriptor_non_blocking): Since O_NONBLOCK is now always #defined, make use of fcntl conditional on F_SETFL being defined. 1998-12-09 Andy Piper <andy@xemacs.org> * menubar-msw.c (mswindows_handle_wm_command): add back in checks that got removed in the merge 1998-11-30 Greg Klanderman <greg@alphatech.com> * dired.c (vars_of_dired): bugfix for previous conditionalization of user-name-completion on non- Windows NT. 1998-12-08 Martin Buchholz <martin@xemacs.org> * windowsnt.h: Remove `support' for using index and rindex * filelock.c (current_lock_owner): - Change uses of index -> strchr, rindex -> strrchr 1998-12-06 Martin Buchholz <martin@xemacs.org> * frame-msw.c (mswindows_init_frame_1): - use make_lisp_hash_table, not Fmake_hash_table - include elhash.h 1998-12-05 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.5 is released 1998-11-30 Martin Buchholz <martin@xemacs.org> * xselect.c (receive_incremental_selection): * xselect.c (x_get_window_property): * xmu.c (XmuReadBitmapDataFromFile): * xmu.c (XmuCursorNameToIndex): * xgccache.c (describe_gc_cache): * xgccache.c (gc_cache_lookup): * xgccache.c (free_gc_cache): * xgccache.c (make_gc_cache): * window.h: * window.c (map_windows_1): * window.c (Fother_window_for_scrolling): * window.c (window_scroll): * window.c (change_window_height): * window.c (Fsplit_window): * window.c (window_left_gutter_width): * window.c (window_modeline_height): * window.c (invalidate_vertical_divider_cache_in_window): * window.c (window_needs_vertical_divider_1): * window.c (update_mirror_internal): * window.c (SET_LAST_FACECHANGE): * widget.c (Fwidget_plist_member): * unexec.c (copy_text_and_data): * unexcw.c (copy_executable_and_dump_data_section): * tooltalk.doc: * tooltalk.c (struct Lisp_Tooltalk_Pattern): * tooltalk.c (struct Lisp_Tooltalk_Message): * toolbar.h (struct toolbar_button): * toolbar.c (default_toolbar_visible_p_changed_in_window): * toolbar.c (recompute_overlaying_specifier): * toolbar.c (toolbar_validate): * toolbar.c (toolbar_button_at_pixpos): * toolbar.c (get_toolbar_coords): * toolbar.c (update_frame_toolbars): * toolbar-x.c: * toolbar-msw.c (mswindows_handle_toolbar_wm_command): * toolbar-msw.c (mswindows_find_toolbar_pos): * toolbar-msw.c (mswindows_output_toolbar): * toolbar-msw.c (mswindows_clear_toolbar): * toolbar-msw.c: * systty.h: * syssignal.h: * sysproc.h: * sysfile.h: * sysdll.c: * sysdep.h: * sysdep.c (rmdir): * sysdep.c (sys_fopen): * sysdep.c (sys_open): * sysdep.c (tty_init_sys_modes_on_device): * sysdep.c (get_eof_char): * sysdep.c (child_setup_tty): * sysdep.c (set_descriptor_non_blocking): * syntax.h: * syntax.c (scan_words): * syntax.c: * symsinit.h: * symeval.h (struct symbol_value_varalias): * symeval.h (struct symbol_value_forward): * symbols.c (syms_of_symbols): * symbols.c (init_symbols_once_early): * symbols.c (Fbuilt_in_variable_type): * symbols.c (Fsymbol_value_in_buffer): * symbols.c (default_value): * symbols.c (Fset): * symbols.c (find_symbol_value_quickly): * symbols.c (store_symval_forwarding): * symbols.c (set_default_console_slot_variable): * symbols.c (set_default_buffer_slot_variable): * symbols.c (verify_ok_for_buffer_local): * symbols.c (symbol_is_constant): * symbols.c (oblookup): * symbols.c (Funintern): * symbols.c (Fintern): * symbols.c (check_obarray): * sunplay.c: * specifier.h (struct specifier_methods): * specifier.h: * specifier.c (specifier_instance): * specifier.c (specifier_instance_from_inst_list): * specifier.c (decode_locale_type): * specifier.c (specifier_equal): * specifier.c (finalize_specifier): * specifier.c (prune_specifiers): * specifier.c (kill_specifier_buffer_locals): * sound.c (init_native_sound): * sound.c: * signal.c (alarm): * search.c (Fmatch_data): * search.c (match_limit): * search.c (Freplace_match): * search.c (skip_chars): * search.c (scan_buffer): * search.c: * scrollbar.c (specifier_vars_of_scrollbar): * scrollbar.c (Fscrollbar_set_hscroll): * scrollbar.c (vertical_scrollbar_changed_in_window): * scrollbar.c (release_window_mirror_scrollbars): * scrollbar.c (free_scrollbar_instance): * scrollbar-x.c: * scrollbar-msw.c: * s/msdos.h (O_BINARY): * s/linux.h: * s/freebsd.h (LIBS_TERMCAP): * regex.c (re_match_2_internal): * regex.c (compile_extended_range): * regex.c (POP_FAILURE_POINT): * regex.c (PUSH_FAILURE_POINT): * redisplay.h (RESET_CHANGED_SET_FLAGS): * redisplay.h: * redisplay.h (struct display_line): * redisplay.h (struct rune): * redisplay.c (vars_of_redisplay): * redisplay.c (redisplay_variable_changed): * redisplay.c (UPDATE_CACHE_RETURN): * redisplay.c (validate_line_start_cache): * redisplay.c (mark_redisplay_structs): * redisplay.c (mark_glyph_block_dynarr): * redisplay.c (window_line_number): * redisplay.c (redisplay_frame): * redisplay.c (redisplay_window): * redisplay.c (generate_modeline): * redisplay.c (create_right_glyph_block): * redisplay.c (create_left_glyph_block): * redisplay.c (create_text_block): * redisplay.c: * redisplay-x.c (x_output_hline): * redisplay-x.c (x_output_vertical_divider): * redisplay-tty.c (tty_output_display_block): * redisplay-output.c (output_display_line): * redisplay-output.c: * redisplay-msw.c (mswindows_output_vertical_divider): * redisplay-msw.c (mswindows_ring_bell): * redisplay-msw.c (mswindows_output_cursor): * redisplay-msw.c: * rangetab.c: * ralloc.c: * puresize.h (RAW_PURESIZE): * profile.c (syms_of_profile): * profile.c (Fstart_profiling): * profile.c (sigprof_handler): * profile.c: * procimpl.h: * process.c (vars_of_process): * process.c (read_process_output): * process.c (get_process): * process.c: * process-unix.c (unix_open_multicast_group): * process-unix.c (unix_get_tty_name): * process-unix.c (unix_send_process): * process-unix.c (unix_reap_exited_processes): * process-unix.c (unix_create_process): * process-unix.c (unix_init_process_io_handles): * process-unix.c (allocate_pty): * process-unix.c: * process-nt.c (nt_open_network_stream): * process-nt.c (nt_update_status_if_terminated): * process-nt.c (nt_finalize_process_data): * process-nt.c: * print.c (debug_short_backtrace): * print.c (debug_backtrace): * print.c (print_symbol): * print.c (print_internal): * print.c (print_cons): * print.c (Fwrite_char): * print.c (print_prepare): * print.c (canonicalize_printcharfun): * print.c (output_string): * print.c: * opaque.h: * opaque.c (allocate_managed_opaque): * opaque.c: * offix.c (DndSetData): * objects.c (face_boolean_create): * objects.c (font_instantiate): * objects.c (font_create): * objects.c (color_create): * objects.c (finalize_font_instance): * objects.c (finalize_color_instance): * objects.c: * objects-x.c (x_font_instance_truename): * objects-x.c: * objects-x.c (x_initialize_font_instance): * objects-x.c (allocate_nearest_color): * objects-tty.c (tty_initialize_font_instance): * objects-tty.c (tty_initialize_color_instance): * objects-msw.c (mswindows_initialize_color_instance): * ntproc.c (syms_of_ntproc): * ntproc.c (Fwin32_set_process_priority): * ntproc.c (sys_spawnve): * ntproc.c: * ntheap.c (get_data_end): * nt.c (period): * nt.c: * nt.c (stat): * nt.c (generate_inode_val): * nt.c (sys_rename): * nas.c: * mule-wnnfns.c (Fwnn_hinsi_number): * mule-wnnfns.c (Fwnn_yuragi): * mule-wnnfns.c (Fwnn_common_learn): * mule-wnnfns.c (Fwnn_suffix_learn): * mule-wnnfns.c (Fwnn_prefix_learn): * mule-wnnfns.c (Fwnn_okuri_learn): * mule-wnnfns.c (Fwnn_complex_conv): * mule-wnnfns.c (Fwnn_last_is_first): * mule-wnnfns.c (Fwnn_bmodify_dict_add): * mule-wnnfns.c (Fwnn_notrans_dict_add): * mule-wnnfns.c (Fwnn_fiusr_dict_add): * mule-wnnfns.c (Fwnn_fisys_dict_add): * mule-wnnfns.c (Fwnn_hinsi_list): * mule-wnnfns.c (Fwnn_fuzokugo_set): * mule-wnnfns.c (Fwnn_dict_search): * mule-wnnfns.c (Fwnn_word_toroku): * mule-wnnfns.c (Fwnn_hindo_update): * mule-wnnfns.c (Fwnn_bunsetu_henkou): * mule-wnnfns.c (Fwnn_kakutei): * mule-wnnfns.c (Fwnn_begin_henkan): * mule-wnnfns.c (Fwnn_dict_comment): * mule-wnnfns.c (Fwnn_dict_add): * mule-wnnfns.c (Fwnn_open): * mule-mcpath.c (mc_getcwd): * mule-coding.c (vars_of_mule_coding): * mule-coding.c (convert_to_external_format): * mule-coding.c (encoding_marker): * mule-coding.c (decoding_marker): * mule-coding.c (Fcopy_coding_system): * mule-coding.c (Fmake_coding_system): * mule-coding.c (Fcoding_system_list): * mule-coding.c (Ffind_coding_system): * mule-coding.c (symbol_to_eol_type): * mule-coding.c: * mule-charset.c (complex_vars_of_mule_charset): * mule-charset.c (vars_of_mule_charset): * mule-charset.c (Fset_charset_ccl_program): * mule-charset.c (struct charset_list_closure): * mule-charset.c (Ffind_charset): * mule-charset.c (make_charset): * mule-charset.c (non_ascii_valid_char_p): * mule-charset.c: * mule-ccl.c (ccl_driver): * mule-canna.c (c2mu): * mule-canna.c (Fcanna_henkan_begin): * mule-canna.c (Fcanna_parse): * mule-canna.c (Fcanna_store_yomi): * mule-canna.c (Fcanna_touroku_string): * mule-canna.c (Fcanna_initialize): * minibuf.c: * menubar.c (menu_parse_submenu_keywords): * menubar-x.c (make_dummy_xbutton_event): * menubar-x.c (set_frame_menubar): * menubar-x.c (menu_item_descriptor_to_widget_value_1): * menubar-x.c: * menubar-msw.h: * menubar-msw.c (mswindows_popup_menu): * menubar-msw.c (mswindows_update_frame_menubars): * menubar-msw.c (mswindows_handle_wm_command): * menubar-msw.c (unsafe_handle_wm_initmenu_1): * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): * menubar-msw.c (update_frame_menubar_maybe): * menubar-msw.c (populate_or_checksum_helper): * menubar-msw.c (empty_menu): * menubar-msw.c: * md5.c: * marker.c (set_marker_internal): * marker.c (print_marker): * malloc.c: * make-src-depend: * lstream.c (lisp_buffer_rewinder): * lstream.c (mark_lstream): * lrecord.h: * lrecord.h (struct lrecord_header): * lread.c (readevalloop): * lread.c (locate_file): * lread.c (locate_file_in_directory): * lread.c (Flocate_file): * lread.c (load_force_doc_string_unwind): * lread.c (ebolify_bytecode_constants): * lread.c: * lisp.h: * lisp-union.h: * lisp-disunion.h: * linuxplay.c (linux_play_data_or_file): * linuxplay.c (audio_init): * line-number.c: * keymap.h: * keymap.c (describe_map): * keymap.c (describe_map_mapper): * keymap.c (Fdescribe_bindings_internal): * keymap.c (Fsingle_key_description): * keymap.c (map_keymap_sorted): * keymap.c (get_relevant_keymaps): * keymap.c (Flookup_key): * keymap.c (raw_lookup_key_mapper): * keymap.c (Fdefine_key): * keymap.c (Fevent_matches_key_specifier_p): * keymap.c (key_desc_list_to_event): * keymap.c (define_key_parser): * keymap.c (define_key_check_and_coerce_keysym): * keymap.c (keymap_submaps): * keymap.c (keymap_store_internal): * keymap.c (keymap_delete_inverse_internal): * keymap.c (keymap_store_inverse_internal): * keymap.c (print_keymap): * keymap.c (Lisp_Keymap): * keymap.c: * intl.c: * insdel.c (convert_bufbyte_string_into_emchar_dynarr): * insdel.c (make_gap): * input-method-xlib.c (get_XIM_input): * input-method-xlib.c (XIM_init_frame): * imgproc.c: * hash.h: * hash.c: * gui.c: * gui-x.c (button_item_to_widget_value): * gui-x.c (popup_selection_callback): * glyphs.h (struct image_instantiator_methods): * glyphs.c (mark_glyph_cachels): * glyphs.c (Fglyph_type): * glyphs.c (image_instantiate): * glyphs.c (image_create): * glyphs.c (make_image_instance_1): * glyphs.c (finalize_image_instance): * glyphs.c: * glyphs-x.c (finalize_subwindow): * glyphs-x.c (xface_validate): * glyphs-x.c (x_locate_pixmap_file): * glyphs-x.c (convert_EImage_to_XImage): * glyphs-msw.c: * glyphs-msw.c (mswindows_resource_instantiate): * glyphs-msw.c (xpm_to_eimage): * glyphs-msw.c (convert_EImage_to_DIBitmap): * glyphs-eimage.c (tiff_instantiate): * glyphs-eimage.c (png_instantiate): * glyphs-eimage.c (struct png_error_struct): * glyphs-eimage.c (gif_memory_storage): * glyphs-eimage.c: * gifrlib.h: * getloadavg.c (getloadavg): * getloadavg.c: * gdbinit: * free-hook.c (log_gcpro): * free-hook.c (check_malloc): * free-hook.c (check_free): * free-hook.c (ROUND_UP_TO_PAGE): * free-hook.c: * frame.h (struct frame): * frame.h: * frame.c (change_frame_size_1): * frame.c (allocate_frame_core): * frame.c: * frame-x.c (x_focus_on_frame): * frame-x.c (x_init_frame_2): * frame-x.c (x_popup_frame): * frame-x.c (xemacs_XtPopup): * frame-x.c: * frame-x.c (Foffix_start_drag_internal): * frame-x.c (x_cde_destroy_callback): * frame-x.c (x_wm_hack_wm_protocols): * frame-tty.c (tty_frame_visible_p): * frame-msw.c (mswindows_make_frame_invisible): * frame-msw.c (mswindows_after_init_frame): * frame-msw.c (mswindows_init_frame_1): * fns.c (syms_of_fns): * fns.c (Fbase64_decode_string): * fns.c (Fnconc): * fns.c (Ffillarray): * fns.c (Fobject_plist): * fns.c (Fget): * fns.c (Fcanonicalize_lax_plist): * fns.c (Fcanonicalize_plist): * fns.c (Fplist_remprop): * fns.c (Fplist_get): * fns.c (advance_plist_pointers): * fns.c (internal_plist_put): * fns.c (Fnreverse): * fns.c (Fremassq): * fns.c (Felt): * fns.c (Fsubstring): * fns.c (Fbvconcat): * fns.c (Flength): * fns.c (length_with_bytecode_hack): * fns.c (print_bit_vector): * fns.c: * floatfns.c (Ffloor): * floatfns.c: * floatfns.c (in_float_error): * fileio.c (Ffile_modes): * fileio.c (Fexpand_file_name): * fileio.c (Fmake_temp_name): * fileio.c (Ffile_name_nondirectory): * fileio.c (Ffile_name_directory): * file-coding.h: * file-coding.c (vars_of_mule_coding): * file-coding.c (convert_to_external_format): * file-coding.c (encoding_marker): * file-coding.c (decoding_marker): * file-coding.c (Fcopy_coding_system): * file-coding.c (Fmake_coding_system): * file-coding.c (struct coding_system_list_closure): * file-coding.c (Ffind_coding_system): * file-coding.c (symbol_to_eol_type): * file-coding.c: * faces.h (struct face_cachel): * faces.c (vars_of_faces): * faces.c (face_property_was_changed): * faces.c (mark_face_cachels): * faces.c (temporary_faces_list): * faces.c (struct face_list_closure): * faces.c: * extents.h (struct extent): * extents.c (vars_of_extents): * extents.c (struct copy_string_extents_1_arg): * extents.c (add_string_extents_mapper): * extents.c (Fextent_property): * extents.c (Fset_extent_property): * extents.c (symbol_to_glyph_layout): * extents.c (properties_equal): * extents.c (print_extent): * extents.c (print_extent_1): * extents.c (extent_in_region_p): * extents.c (gap_array_make_gap): * extents.c: * events.h (struct Lisp_Event): * events.h: * events.c (Fevent_properties): * events.c (format_event_object): * events.c (Fmake_event): * events.c (event_equal): * events.c (print_event): * events.c (mark_event): * event-stream.c ((read-char) * event-stream.c (vars_of_event_stream): * event-stream.c (syms_of_event_stream): * event-stream.c (Fset_recent_keys_ring_size): * event-stream.c (Fsit_for): * event-stream.c (Fnext_event): * event-stream.c (execute_help_form): * event-stream.c (maybe_kbd_translate): * event-stream.c: * event-msw.c (vars_of_event_mswindows): * event-msw.c (mswindows_wnd_proc): * event-msw.c (mswindows_need_event): * event-msw.c (mswindows_drain_windows_queue): * event-msw.c (mswindows_pump_outstanding_events): * event-msw.c: * event-msw.c (slurp_thread): * event-msw.c (struct ntpipe_slurp_stream): * event-msw.c (HANDLE_TO_USID): * event-Xt.c (emacs_Xt_handle_magic_event): * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (x_reset_modifier_mapping): * event-Xt.c (x_reset_key_mapping): * event-Xt.c: * eval.c (syms_of_eval): * eval.c (warn_when_safe): * eval.c (warn_when_safe_lispobj): * eval.c (Fbacktrace_frame): * eval.c (Fbacktrace): * eval.c (top_level_set): * eval.c (unbind_to_hairy): * eval.c (specbind_magic): * eval.c (specbind_unwind_wasnt_local): * eval.c (call2_trapping_errors): * eval.c (call1_trapping_errors): * eval.c (catch_them_squirmers_call2): * eval.c (call0_trapping_errors): * eval.c (run_hook_trapping_errors): * eval.c (catch_them_squirmers_eval_in_buffer): * eval.c (call4_in_buffer): * eval.c (call3_in_buffer): * eval.c (call2_in_buffer): * eval.c (call1_in_buffer): * eval.c (call0_in_buffer): * eval.c (run_hook): * eval.c (run_hook_with_args_in_buffer): * eval.c (Fapply): * eval.c (Feval): * eval.c (do_autoload): * eval.c (un_autoload): * eval.c (Fautoload): * eval.c (Finteractive_p): * eval.c (Fcommand_execute): * eval.c (signal_quit): * eval.c (call_with_suspended_errors): * eval.c (signal_error): * eval.c (return_from_signal): * eval.c (Fcall_with_condition_handler): * eval.c (run_condition_case_handlers): * eval.c (condition_case_1): * eval.c (Funwind_protect): * eval.c (unwind_to_catch): * eval.c (internal_catch): * eval.c (Fmacroexpand_internal): * eval.c (Fuser_variable_p): * eval.c (Fdefconst): * eval.c (Fdefvar): * eval.c (Ffunction): * eval.c (signal_call_debugger): * eval.c (call_debugger): * eval.c: * emacs.c (main): * emacs.c (sort_args): * emacs.c (main_1): * elhash.h: * elhash.c: * editfns.c (Fencode_time): * editfns.c (Fdecode_time): * editfns.c (Fuser_full_name): * editfns.c: * editfns.c (save_excursion_restore): * ecrt0.c: * dynarr.c: * doprnt.c (emacs_doprnt_1): * doc.c (verify_doc_mapper): * doc.c (Fsnarf_documentation): * doc.c (Fdocumentation): * dll.c: * dired.c (user_name_completion): * dired.c (Fdirectory_files): * dialog-x.c: * dialog-msw.c: * dgif_lib.c (FreeSavedImages): * dgif_lib.c (DGifGetImageDesc): * device.h: * device.h (struct device): * device.c (Fselect_device): * device.c (allocate_device): * device.c: * device-x.c (Fx_keysym_on_keyboard_p): * device-x.c (Fx_valid_keysym_name_p): * device-x.c (x_IO_error_handler): * device-x.c (x_delete_device): * device-x.c (x_finish_init_device): * device-x.c (x_init_device): * device-x.c: * device-msw.c (mswindows_init_device): * dbxrc: * database.c (vars_of_database): * database.c (Fput_database): * database.c (Fopen_database): * database.c (berkdb_remove): * database.c (berkdb_put): * database.c (Fdatabasep): * database.c (print_database): * database.c: * data.c (vars_of_data): * data.c (syms_of_data): * data.c (init_errors_once_early): * data.c (prune_weak_lists): * data.c (finish_marking_weak_lists): * data.c (print_weak_list): * data.c (Fmod): * data.c (Fstring_to_number): * data.c (Fnumber_to_string): * data.c (Findirect_function): * data.c (Fsetcdr): * data.c (Ffloatp): * data.c (Fsubr_interactive): * data.c (Farrayp): * data.c (Fkeywordp): * data.c (Fnull): * data.c: * console.h (CONSOLE_NAME): * console.h: * console.c (vars_of_console): * console.c (Fselect_console): * console.c: * console-x.h (DEVICE_X_COLORMAP): * console-x.h (struct x_device): * console-x.c (x_device_to_console_connection): * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y): * console-tty.c (tty_init_console): * console-tty.c: * console-msw.h (struct mswindows_frame): * conslots.h: * config.h.in: * cmds.c (internal_self_insert): * cmds.c (Fforward_line): * cmds.c (Fforward_char): * cmds.c: * cmdloop.c: * chartab.c (mark_char_table_entry): * chartab.c: * casefiddle.c (casify_word): * callproc.c (child_setup): * callproc.c (Fcall_process_internal): * callproc.c: * callint.c (Fcall_interactively): * bytecode.h: * bytecode.c (execute_rare_opcode): * bytecode.c (execute_optimized_program): * bytecode.c: * bufslots.h: * buffer.h (BUFFER_REALLOC): * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA): * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA): * buffer.h: * buffer.h (MAP_INDIRECT_BUFFERS): * buffer.h (CHECK_LIVE_BUFFER): * buffer.c (init_initial_directory): * buffer.c (complex_vars_of_buffer): * buffer.c (vars_of_buffer): * buffer.c (finish_init_buffer): * buffer.c (Fget_file_buffer): * buffer.c (Fbuffer_list): * buffer.c (mark_buffer): * balloon_help.c (balloon_help_move_to_pointer): * balloon_help.c (show_help): * balloon_help.c: * backtrace.h: * alloc.c (garbage_collect_1): * alloc.c (sweep_strings): * alloc.c (sweep_compiled_functions): * alloc.c (sweep_bit_vectors_1): * alloc.c (sweep_vectors_1): * alloc.c (sweep_lcrecords_1): * alloc.c (tick_lcrecord_stats): * alloc.c (pure_string_sizeof): * alloc.c (mark_conses_in_list): * alloc.c (mark_object): * alloc.c (report_pure_usage): * alloc.c (make_pure_float): * alloc.c (make_pure_string): * alloc.c (free_managed_lcrecord): * alloc.c (mark_string): * alloc.c (noseeum_make_marker): * alloc.c (allocate_event): * alloc.c (Fbit_vector): * alloc.c (Fvector): * alloc.c (make_float): * alloc.c (Fmake_list): * alloc.c (Flist): * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): * alloc.c (DECLARE_FIXED_TYPE_ALLOC): * alloc.c (dbg_constants): * alloc.c (gc_record_type_p): * alloc.c (free_lcrecord): * alloc.c (xmalloc): * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER): * abbrev.c: * Makefile.in.in (mostlyclean): * Makefile.in.in (external_client_xlib_objs_nonshared): * Makefile.in.in (temacs_link_args): * Makefile.in.in (release): * Makefile.in.in (dnd_objs): * Makefile.in.in (objs): * Makefile.in.in (PROGNAME): * EmacsShell.c: cast strings to (XtPointer) * EmacsFrame.c: cast strings to (XtPointer) - mega patch - rewrite basic lisp functions for speed - rewrite bytecode interpreter for speed - rewrite list looping constructs for speed and safety using tortoise/hare. - use size_t where appropriate. - new hashtable implementation - cleanup implementation of opaques - opaques can now be purecopy'ed - move some cl functionality into C for speed. - remove last remaining VMS support - spelling fixes - improve gdb/dbx debugger support - move pure.c back into alloc.c for performance - enable report_pure_usage() if --memory-usage-stats - remove remnants of Energize support (EMACS_BTL, cadillac...) - don't use symbols with leading `_' or embedded `__' - globally cleanup duplicated semicolons `;;' - I give in on %p vs %lx - we use printf("%lx",(long) p) globally. - globally replace O_NDELAY with O_NONBLOCK. - globally replace CDISABLE with _POSIX_VDISABLE. - use O_RDONLY and O_RDWR instead of magic `0' and `2'. - define (and maybe use!) STDERR_FILENO and friends. - add support for macros defined in C - `when', `unless', `not' and `defalias' now defined in C, so that they are universally available. - rename defvar_mumble to defvar_magic - rename RETURN__ to RETURN_SANS_WARNINGS - use consistent style of initial caps in error messages - implement last, butlast, nbutlast, copy-list in C. - provide typedefs for all struct Lisp_foo types - Lisp_Objects must be initialized to Qnil rather than 0. - make sure XEmacs runs (slowly) with always_gc == 1; - fast and safe LOOP_* macros - change calls to XSETOBJ to XSETFOO - replace calls to XSETINT by make_int() - plug up memory leaks - use style markobj (foo), not silly ((markobj) (foo)) - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj)) 1998-12-02 P. E. Jareth Hein <jareth@camelot.co.jp> * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0 1998-11-28 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta4 is released. 1998-11-27 SL Baur <steve@altair.xemacs.org> * mule-charset.c (complex_vars_of_mule_charset): Fix graphic property in control-1 charset. From Julian Bradfield <jcb@daimi.au.dk> 1998-11-26 Jan Vroonhof <vroonhof@math.ethz.ch> * gui-x.c (button_item_to_widget_value): Ignore :key-sequence keyword. Add stub for :label. * gui.c (gui_item_add_keyval_pair): ditto. * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore :key-sequence keyword. Add stub for:label. Support :active for submenus like the Windows code and FSF Emacs. 1998-11-27 Hrvoje Niksic <hniksic@srce.hr> * dired.c (make_directory_hash_table): make_string() is OK because readdir() Mule-encapsulates. 1998-11-26 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fbase64_encode_string): Fix docstring. (Fbase64_decode_string): Ditto. 1998-11-26 Hrvoje Niksic <hniksic@srce.hr> * editfns.c (Ftranslate_region): Use convert_bufbyte_string_into_emchar_string(). 1998-11-25 Hrvoje Niksic <hniksic@srce.hr> * editfns.c (Ftranslate_region): Accept vectors and char-tables as well as strings. (Ftranslate_region): Turn table into an array of Emchars for larger regions. 1998-11-25 Hrvoje Niksic <hniksic@srce.hr> * chartab.c (Freset_char_table): Fix wrong placement of #endif. 1998-11-24 Hrvoje Niksic <hniksic@srce.hr> * chartab.c (Freset_char_table): Don't blindly fill chartables of type `char' with nils. * chartab.c (canonicalize_char_table_value): Coerce ints to chars for tables of type `char'. 1998-11-26 Didier Verna <didier@xemacs.org> * input-method-xlib.c (Initialize_Locale): don't call XtSetLanguageProc. We've done the whole work here. * input-method-xfs.c (Initialize_Locale): ditto. * input-method-motif.c (Initialize_Locale): ditto. 1998-11-26 Didier Verna <didier@xemacs.org> * process-unix.c (unix_create_process): handle properly Vfile_name_coding_system for converting the program and directory names. 1998-11-27 SL Baur <steve@altair.xemacs.org> * m/arm.h: New file. From James LewisMoss <dres@ioa.com> 1998-11-27 Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp> * m/mips-nec.h: Fix the realpath() problem of UnixWare2.1.3. Patches for NEC's sysv4.2 machine. 1998-11-25 Hrvoje Niksic <hniksic@srce.hr> * dired.c (Fdirectory_files): Remove redundant code. 1998-11-25 Hrvoje Niksic <hniksic@srce.hr> * fns.c (free_malloced_ptr): New function. (XMALLOC_OR_ALLOCA): New macro. (XMALLOC_UNBIND): Ditto. (Fbase64_encode_region): Use malloc() for large blocks; arrange it to be freed in case of non-local exit. (Fbase64_encode_string): Ditto. (Fbase64_decode_region): Ditto. (Fbase64_decode_string): Ditto. (STORE_BYTE): New macro. (base64_decode_1): Use it. 1998-11-25 Hrvoje Niksic <hniksic@srce.hr> * fns.c (base64_value_to_char): Base64 stuff. 1998-11-24 Hrvoje Niksic <hniksic@srce.hr> * editfns.c (Fbuffer_substring): New function. * lisp.h: Declare make_string_from_buffer_no_extents(). * insdel.c (make_string_from_buffer_1): New function. (make_string_from_buffer_no_extents): Ditto. 1998-11-15 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes sound work on AIX with OSS installed. Linux should still work. 1998-11-03 Andy Piper <andyp@parallax.co.uk> * config.h.in: name change for cygwin/version.h * configure.in: check for cygwin/version.h now. * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR -> CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20. move cygwin32/version.h to cygwin/version.h 1998-11-03 Olivier Galibert <galibert@pobox.com> * lisp.h (struct Lisp_Bit_Vector): Fix declaration of bits from int to long. 1998-10-22 Andy Piper <andyp@parallax.co.uk> * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR -> CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20. enable BROKEN_SIGIO under b20 to make QUIT work. 1998-10-22 Andy Piper <andyp@parallax.co.uk> * frame-msw.c (mswindows_size_frame_internal): force frame sizing to fit within the constraints of the screen size. I.e. make the frame small enough to fit and move it if some of it will be off-screen. 1998-10-19 Greg Klanderman <greg@alphatech.com> * dired.c: conditionalize inclusion of user-name-completion primitives on non-Windows NT. The needed functions don't exist on NT. 1998-11-24 SL Baur <steve@altair.xemacs.org> * gifrlib.h: Clean up types for 64 bit compile. * dgif_lib.c (DGifInitRead): Ditto. (MakeSavedImage): Ditto. * emacs.c (decode_path): Ditto. From Steve Carney <carney@pa.dec.com> 1998-10-16 William M. Perry <wmperry@aventail.com> * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps (cehckboxes instead of checkboxes). 1998-10-15 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta3 is released. 1998-10-13 Raymond Toy <toy@rtp.ericsson.se> * runemacs.c (WinMain): If the basename is "rungnuclient.exe", run gnuclient. Otherwise, we run xemacs as we always did. This gets rid of the annoying DOS window when running gnuclient. 1998-10-13 Andy Piper <andyp@parallax.co.uk> * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS -> HAVE_MS_WINDOWS typo. 1998-10-13 SL Baur <steve@altair.xemacs.org> * process-unix.c (unix_send_process): Set closed flag on writable pipe after SIGPIPE is received and before we call deactivate_process. 1998-10-03 Gunnar Evermann <ge204@eng.cam.ac.uk> * window.c (Fset_window_start): respect narrowing when checking wheter start is at the beginning of a line. (Fset_window_buffer): Ditto Fixes repeatable crash in VM. 1998-10-09 SL Baur <steve@altair.xemacs.org> * window.c (specifier_vars_of_window): Set default vertical divider width to 1 on ttys. 1998-10-08 Martin Buchholz <martin@xemacs.org> * alloc.c: * unexec.c: * malloc.c: Add <stddef.h> to get ptrdiff_t declaration 1998-10-07 Jonathan Harris <jhar@tardis.ed.ac.uk> * scrollbar-msw.c: Use the same vertical scrollbar drag hack as is used for Motif or Lucid scrollbars under X. 1998-10-08 Pierre Wendling <pw@ebc.vbe.dec.com> * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running `configure' 1998-10-06 Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp> * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget. 1998-10-05 Andy Piper <andyp@parallax.co.uk> * s/cygwin32.h: more cygwin b20 reorganisation. 1998-10-01 Raymond Toy <toy@rtp.ericsson.se> * nas.c: Added necessary support functions to be able to handle WAVE files in memory, just like the support for SND files in memory. 1998-09-30 SL Baur <steve@altair.xemacs.org> * callproc.c (child_setup): Fix spelling typo. 1998-09-29 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta2 is released. 1998-09-27 P. E. Jareth Hein <jareth@camelot.co.jp> * regex.c (re_match_2_internal): Add in code to reset lowest_active_reg to prevent memory corruption in the case of jumping out of a series of nested match patterns. This is a rather brute force approach, though. 1998-09-02 Andy Piper <andyp@parallax.co.uk> * config.h.in: ditto. * s/cygwin32.h: rearrange declarations to cope with cygwin b20. Include cygwin32/version.h if it exists. 1998-09-20 Jonathan Harris <jhar@tardis.ed.ac.uk> * device-msw.c (mswindows_init_device): Call new mswindows_enumerate_fonts() function in objects-msw.c instead of font_enum_callback_1() to enumerate fonts. font_enum_callback_1() and _2() moved to objects-msw.c. * faces.c (complex_vars_of_faces): Make the mswindows default face font fully specified and provide some fallbacks. * objects-msw.c: font_enum_callback_1() and _2() moved here from objects-msw.c. Obtain the enumerated font's character sets by table lookup instead of using the locale-specific string provided by Windows. New public non-method mswindows_enumerate_fonts() that fills in the supplied mswindows device's font list. mswindows_initialize_font_instance: Use the supplied name variable instead of f->name when signalling errors. Match font weights and character sets using lookup tables which handle spaces instead of by frobbing. 1998-09-20 Jonathan Harris <jhar@tardis.ed.ac.uk> * process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE, on the size of code fragments passed to run_in_other_process. run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine the amount of memory to allocate in the other process. Removed sigkill_code_end(), sigint_code_end() and sig_enable_code_end() since they are now redundant. send_signal() and enable_child_signals(): Don't try to work out the end of the code fragments passed to run_in_other_process() 1998-09-10 Kazuyuki IENAGA <ienaga@jsys.co.jp> * src/s/freebsd.h: Added __ELF__ and compiler/liker flags for FreeBSD-current. * src/unexelf.c: Partially synched with FSF's 20.3. 1998-09-10 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (signal_after_change): Map across indirect buffers here, and not in the upper-level functions. (signal_first_change): Don't check for Armageddon. (signal_before_change): Map across indirect buffers here. (prepare_to_modify_buffer): ...and here. 1998-09-09 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (signal_after_change): Add return value. (buffer_insert_string_1): Use it. (buffer_delete_range): Ditto. (buffer_replace_char): Ditto. (cancel_multiple_change): Map the indirect buffers. 1998-09-06 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (init_buffer_text): Remove INDIRECT_P parameter. (uninit_buffer_text): Ditto. * buffer.c (Fmake_indirect_buffer): Implement stricter error-checking. 1998-09-04 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (change_function_restore): Reverse order of function-call and assignment. (first_change_hook_restore): Ditto. * extents.c (mark_extent_auxiliary): Mark them. (Fset_extent_property): Set them. (Fextent_property): Get them. (Fextent_properties): Ditto. (vars_of_extents): Set their default. * extents.h (struct extent_auxiliary): Add before_change_functions and after_change_functions. * insdel.c (signal_before_change): Use it. (signal_after_change): Ditto. * extents.c (report_extent_modification): New function. * insdel.c (signal_before_change): Don't check for Armageddon. (signal_after_change): Ditto. 1998-09-11 Gunnar Evermann <Gunnar.Evermann@nats.informatik.uni-hamburg.de> * redisplay.c (redisplay_window): make sure a new starting point is chosen if it somehow got moved from the beginning of the line -- this can happen because Fwiden was called recently. * window.c (Fset_window_start): set start_at_line_beg correctly (Fset_window_buffer): Ditto 1998-09-06 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (init_buffer_text): Remove INDIRECT_P parameter. (uninit_buffer_text): Ditto. * buffer.c (Fmake_indirect_buffer): Implement stricter error-checking. 1998-05-14 Jan Vroonhof <vroonhof@math.ethz.ch> * emacs.c (main_1): Removed references to *vars_of_filelock. * lisp.h: Added Fsystem_name. * filelock.c: Replaced by version from FSF 20.2. Now implements locking by using symlinks which is NFS safe. However keep the GCPRO's in lock_file and the calls to callx_in_buffer like our old version (and of course use ansi C, acessor macros, etc). 1998-09-06 Jan Vroonhof <vroonhof@math.ethz.ch> * process-unix.c (unix_create_process): Reset SIGHUP handler to SIG_DFL. We now try to conserve any inherted SIG_IGN settings in init_signals_very_early. However these should not be passed on to children attached to the new pty. 1998-08-28 Andy Piper <andyp@parallax.co.uk> * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use. 1998-09-07 Jonathan Harris <jhar@tardis.ed.ac.uk> * fileio.c (file-name-directory, file_name_as_directory): Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT. 1998-09-02 Andy Piper <andyp@parallax.co.uk> * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC * ralloc.c: uncomment __morecore. 1998-09-92 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c(winsock_writer): Supply a dummy 4th argument to WriteFile() to fix a winsock 1.x bug on Win95. 1998-08-28 Hrvoje Niksic <hniksic@srce.hr> * event-Xt.c (emacs_Xt_mapping_action): Check for device being deleted. (x_event_to_emacs_event): Ditto. (emacs_Xt_handle_focus_event): Ditto. (emacs_Xt_handle_magic_event): Ditto. * console-x.h (struct x_device): New flag being_deleted. (DEVICE_X_BEING_DELETED): New macro. * device-x.c (x_IO_error_handler): Throw to top-level instead of returning. Before doing that, set the being_deleted flag on the device. 1998-08-27 Hrvoje Niksic <hniksic@srce.hr> * device-x.c (x-seppuku-on-epipe): Removed. 1998-08-26 Gunnar Evermann <Gunnar.Evermann@nats.informatik.uni-hamburg.de> * frame-x.c (x_delete_frame): Flush the X output buffer after calling XtDestroyWidget to ensure that the windows are really killed right now. 1998-08-26 Hrvoje Niksic <hniksic@srce.hr> * menubar-x.c (my_run_hook): New unused function. (pre_activate_callback): Use run_hook for Qactivate_menubar_hook, since we ignore the results of the contained functions anyway. 1998-08-26 P. E. Jareth Hein <jareth@camelot.co.jp> * glyphs-eimage.c (gif_instantiate): Fix a crash in handling interlaced GIF files that are smaller than 4 lines high... 1998-08-31 Hrvoje Niksic <hniksic@srce.hr> * buffer.c (map_over_sharing_buffers): Deleted. * insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h. * buffer.c (Fkill_buffer): Keep indirect_children updated while killing them. 1998-08-31 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (buffer_insert_string_1): Advance the point bytind in all the buffers. (buffer_delete_range): Ditto. * marker.c (init_buffer_markers): Set point-marker to the value of point in an indirect buffer. 1998-08-30 Hrvoje Niksic <hniksic@srce.hr> * undo.c (undo_prelude): Test last-undo-buffer against base buffer. * insdel.c (MAP_INDIRECT_BUFFERS): Use it. * buffer.h (BUFFER_BASE_BUFFER): New macro. 1998-08-30 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (init_buffer_text): Initialize it here. * line-number.c: Address line_number_cache through buffer->text. * buffer.c (mark_buffer): Mark line number cache. * bufslots.h (line_number_cache): Move to struct buffer_text. * insdel.c (buffer_insert_string_1): Propagate signals and changes across the children buffers. (buffer_delete_range): Ditto. (buffer_replace_char): Ditto. (gap_left): Ditto. (gap_right): Ditto. * insdel.c (MAP_INDIRECT_BUFFERS): New macro. * buffer.c (Fmake_indirect_buffer): Uncomment. 1998-08-31 Hrvoje Niksic <hniksic@srce.hr> * macros.c (Fend_kbd_macro): Remove trailing period from error message. (Fexecute_kbd_macro): Ditto. 1998-08-21 Greg Klanderman <greg@alphatech.com> * dired.c (Fuser_name_completion): remove optional 2nd argument. (Fuser_name_completion_1): new function to return uniqueness indication in addition to the user name completion. (user_name_completion): change type of `uniq' argument. 1998-08-19 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * lread.c (vars_of_lread): Removed `source-directory' variable. 1998-08-22 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to Cygwin. 1998-08-19 SL Baur <steve@altair.xemacs.org> * dired.c (vars_of_dired): Fix misapplied patch. 1998-08-16 Martin Buchholz <martin@xemacs.org> * fns.c (Fremrassq, remrassq_no_quit): A XCAR that should have been an XCDR turned Fremrassq into Fremassq 1998-07-17 Didier Verna <didier@xemacs.org> * redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill style as foreground GC for faces that have the `dim' property. (x_output_string): when the `dim' face property is set, ensure the gray pixmap has been created, and get a proper foreground GC to draw the text. 1998-08-09 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug: Manually track the state of the left and right Ctrl and Alt modifiers. 1998-08-07 Matt Stupple <matts@tibco.com> * ntproc.c: don't wait on char_consumed at thread entry. Additionally, to get the 'process' marked as finished, ensure that the CHILD_ACTIVE macro returns false, so before exiting close char_avail and set it to NULL, and close other handles to reduce handle leak problems. 1998-08-09 Jonathan Harris <jhar@tardis.ed.ac.uk> * menubar-msw.c (displayable_menu_item): take account of menu depth when deciding whether to try to display accelerators. 1998-08-04 Andy Piper <andyp@parallax.co.uk> * event-msw.c: use MsgWaitForMultipleObjects if there are no subprocesses. * glyphs-msw.c: fix a couple of potential handle leaks. 1998-08-04 P. E. Jareth Hein <jareth@camelot.co.jp> * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF *decoding ONLY* back into the core. * glyphs-eimage.c: Change referenced header file for GIF reading to point to the incore version. 1998-07-20 Martin Buchholz <martin@xemacs.org> * casefiddle.c (casify_object): Change algorithm from O(N**2) to O(N). Code cleanup. Doc string cleanup. 1998-07-22 Greg Klanderman <greg@alphatech.com> * dired.c (file_name_completion_unwind): don't leak the cons. 1998-07-20 Greg Klanderman <greg@alphatech.com> * dired.c (Fuser_name_completion): new function. (Fuser_name_all_completions): new function. (user_name_completion): new function. (syms_of_dired): 2 new DEFSUBRs. (vars_of_dired): initialize user name cache vars. 1998-07-29 P. E. Jareth Hein <jareth@camelot.co.jp> * glyphs-eimage.c (png_instantiate): Add proper handling for background colors taken from the default face. Also correct a thinko in transparency (not alpha) handling. 1998-07-23 Martin Buchholz <martin@xemacs.org> * s/decosf4-0.h: Use a perfectly ordinary link. Nuke BSD crap. * unexalpha.c: ANSI C-ize. Clean compiler warnings. * lread.c (Fload_internal): Be very careful with printfs of size_t's * gui-x.c (menu_name_to_accelerator): tolower wants an `int' argument. 1998-07-27 Gunnar Evermann <Gunnar.Evermann@nats.informatik.uni-hamburg.de> * callint.c (Fcall_interactively): GCPRO prompt string before passing it to Fread_key_sequence 1998-07-27 SL Baur <steve@altair.xemacs.org> * keymap.c (vars_of_keymap): Initialize Vkey_translation_map and Vvertical_divider_map. * mule-canna.c (vars_of_mule_canna): Initialize every symbol to Qnil or 0, none were initialized prior to this change. Rename misnamed `V' prefixed integer variables: Vcanna_empty_info, Vcanna_through_info, Vcanna_underline, Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos, Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos, Vcanna_ichiran_revLen. Rename misnamed `V' prefixed integer variables and initialize properly in the vars_of routine. Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode, Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode, Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode, Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode, Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode, Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode, Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode, Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode, Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode, Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode, Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode, Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode, Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode, Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode, Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode, Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode, Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode, Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode, Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode, Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert, Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode, Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward, Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine, Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious, Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei, Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu, Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu, Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku, Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper, Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana, Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana, Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku, Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei, Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle, Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle, Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward, Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode, Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark, Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer, Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down, Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown, Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key, Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up, Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down, Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up, Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down 1998-07-16 Jan Vroonhof <vroonhof@math.ethz.ch> * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms. (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier keys thus no longer considering all keysyms on a key. 1998-07-19 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta1 is released. 1998-07-12 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c (Fldap_search_internal): When converting the list of attributes to search Copy the final 0 from Lisp strings to C strings. Check base, not Vldap_default_base as a a string 1998-07-13 Jonathan Harris <jhar@tardis.ed.ac.uk> * nt.c: Remove Vstdio_str; already defined in console-stream.c. * unexnt.c: Unconditionally define bss_start and bss_size, and ensure that they don't go in the .bss section. 1998-07-17 Olivier Galibert <galibert@pobox.com> * glyphs-x.c (convert_EImage_to_XImage): Fix previous patch (conv byte order is dependant of the local byte order). From Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp> 1998-07-18 SL Baur <steve@altair.xemacs.org> * glyphs-msw.c (mswindows_resource_normalize): Qresource -> Qmswindows_resource. From Jonathan Harris <jhar@tardis.ed.ac.uk> 1998-07-12 SL Baur <steve@altair.xemacs.org> * general.c (syms_of_general): Add defsymbol for Qresource. * glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to Qmswindows_resource. (TopLevel): Rename 'resource image format to 'mswindows_resource. (mswindows_resource_validate): Rename. (mswindows_resource_normalize): Rename. (mswindows_resource_possible_dest_types): Rename. (mswindows_resource_instantiate): Rename. (image_instantiator_format_create_glyphs_mswindows): Replace `resource' with `mswindows.resource'. * XEmacs 21.0-pre5 is released. 1998-07-10 SL Baur <steve@altair.xemacs.org> * mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn server type in environment. Use alloca-ed strings instead of tiny fixed size ones. 1998-07-09 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-pre4 is released. 1998-07-01 James N. Potts <jnpotts@plutonium.net> * fileio.c: (expand_file_name): under win32: Don't treat names as UNC names if a drive letter has been specified. If a drive has been specified, strip out extra directory-separators that reportedly cause problems under Win95. 1998-07-09 Jonathan Harris <jhar@tardis.ed.ac.uk> * windowsnt.h: Define DUMP_SEPARATE_SECTION when building with MSVC >= 5.0. Put emacs init and zero-init data in a special section of the executable when this is defined. * unexnt.c, ntheap.h: Removed unused find_section() and get_section_size(). * unexnt.c: Fix up the executable's checksum after dumping otherwise the profiler complains. When DUMP_SEPARATE_SECTION is defined, don't need to dump zero-init data separately from init data. Dump emacs data into a special section of the executable. When DUMP_SEPARATE_SECTION not defined, dump .bss up to my_ebss instead of up to the end of bss. 1998-07-09 Jonathan Harris <jhar@tardis.ed.ac.uk> * filelock.c: Removed Vconfigure_lock_directory - already defined in emacs.c. * frame-msw.c: Removed Qinitially_unmapped and Qpopup - already defined in frame.c and general.c respectively. * glyphs-msw.c: Removed Qresource - already defined in general.c. 1998-07-05 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c (Fldap_search_internal): Docstring fixes 1998-07-04 Jonathan Harris <jhar@tardis.ed.ac.uk> * nt.c (init_environment): Removed unused PRELOAD_WINSOCK, EMACSDOC and TERM variables. Added EMACSDEBUGPATHS, EMACSPACKAGEPATH and INFOPATH variables. Removed unused get_emacs_configuration function. * s/windowsnt.h: Don't define EMACS_CONFIGURATION here because it is now defined at build-time by the makefile. 1998-07-01 James N. Potts <jnpotts@plutonium.net> * fileio.c: (expand_file_name): under win32: Don't treat names as UNC names if a drive letter has been specified. If a drive has been specified, strip out extra directory-separators that reportedly cause problems under Win95. 1998-07-05 Andy Piper <andyp@parallax.co.uk> * faces.c (complex_vars_of_faces): for the gui-element face don't fallback to the default face, instead provide reasonable default fallbacks that were previously hardcoded elsewhere. 1998-07-06 Olivier Galibert <galibert@pobox.com> * glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem when the X server endianness is different than the client's one. 1998-06-29 Kyle Jones <kyle_jones@wonderworks.com> * eval.c (run_hook_with_args_in_buffer): Check default (non-buffer-local) value of hook for nil before treating it as a function. Don't initialize the `globals' variable twice. 1998-06-24 Jonathan Harris <jhar@tardis.ed.ac.uk> * fileio.c: Don't do directory separator canonicalisation in substitute-in-file-name because we don't know that the filename refers to a local file. 1998-06-24 Adrian Aichner <adrian@xemacs.org> * process-nt.c (nt_create_process): Try appending the standard executable file extensions to the filename if none supplied. 1998-06-29 SL Baur <steve@altair.xemacs.org> * fileio.c (Fsubstitute_in_file_name): Enable double slash notation for cygwin32. From Keisuke Mori <ksk@ntts.com> 1998-06-24 Andy Piper <andyp@parallax.co.uk> * toolbar-msw.c (mswindows_output_toolbar): only enable masked images if we have masks. This handles the xbm case (have masks) and avoids overuse of resources in the xpm case (generally no masks). Don't output small toolbars. 1998-06-29 Kyle Jones <kyle_jones@wonderworks.com> * eval.c (run_hook_with_args_in_buffer): Don't treat the default value of a buffer local hook as a list of hooks unless it is both a cons and the car of that cons is not Qlambda. 1998-06-29 SL Baur <steve@altair.xemacs.org> * extents.c: Email address for Ben Wing is ben@xemacs.org. * process-unix.c: Ditto. * mule-coding.h: Ditto. * mule-coding.c: Ditto. * mule-charset.c: Ditto. * mule-charset.h: Ditto. * file-coding.c: Ditto. * file-coding.h: Ditto. 1998-06-22 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c: Guard against recursion when freeing FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing. * frame-msw.c: Don't set WS_VISIBLE attribute on first frame. Call ShowWindow twice in init_frame_3 to get round runemacs weirdness. 1998-06-27 Hrvoje Niksic <hniksic@srce.hr> * scrollbar.c (vertical_scrollbar_changed_in_window): Ditto. * winslots.h: Rename. * window.c (specifier_vars_of_window): Renamed vertical-divider-draggable-p to vertical-divider-always-visible-p, as suggested by Ben Wing. (specifier_vars_of_window): Fix docstrings. 1998-06-22 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * unexaix.c: Line number information works correctly again. 1998-06-22 Olivier Galibert <galibert@pobox.com> * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry. 1998-06-21 Martin Buchholz <martin@xemacs.org> * editfns.c (get_home_directory): ANSIfy. XEmacs is compilable under C *and* C++. It's XEmacs, not Xemacs! 1998-06-19 Jonathan Harris <jhar@tardis.ed.ac.uk> * console-msw.h: added a list of fonts to device data. * device-msw.c: enumerate list of available fonts in mswindows_init_device. Free list in mswindows_delete_device. * objects-msw.c: Added helper function match_font used by mswindows_initialize_font_instance and mswindows_list_fonts. Allow a charset to be specified in a font string, even if previous fields haven't been specified. 1998-06-23 Greg Klanderman <greg@alphatech.com> * indent.c (column_at_point): column cache bugfix. Set last_known_column_point to the buffer position for which the column was requested, not buffer's point. * redisplay.c (decode_mode_spec): for current-column, show window's point's column, not buffer's point's column. 1998-06-23 Andy Piper <andyp@parallax.co.uk> * menubar-msw.c (mswindows_handle_wm_command): use enqueue_misc_user event rather than mswindows_enqueue_msic_user_event to fix customize problems. Add some checks that X does. * console-msw.h: declare mswindows_enqueue_magic_event. * event-msw.c (mswindows_enqueue_magic_event): make global. 1998-06-24 Hrvoje Niksic <hniksic@srce.hr> * line-number.c (LINE_NUMBER_FAR): Reverted to 16384. (buffer_line_number): Use EMACS_INT_MAX instead of random LOTS. (add_position_to_cache): Use EMACS_INT instead of int. 1998-06-21 Olivier Galibert <galibert@pobox.com> * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something suitable for an int used as a boolean (btw, C sucks.). 1998-06-18 Andy Piper <andyp@parallax.co.uk> * object-msw.c: remove warnings. * device-msw.c: #define wrongly named cygwin structure elements. * s/cygwin32.h: define DEMI_BOLD 1998-06-19 Jonathan Harris <jhar@tardis.ed.ac.uk> * redisplay-msw.c: new function mswindows_apply_face_effects. This is called by output_string and output_cursor to display underline and strikeout on faces. 1998-06-19 Jonathan Harris <jhar@tardis.ed.ac.uk> * console-msw.h: added a list of fonts to device data. * device-msw.c: enumerate list of available fonts in mswindows_init_device. Free list in mswindows_delete_device. * objects-msw.c: Added helper function match_font used by mswindows_initialize_font_instance and mswindows_list_fonts. Allow a charset to be specified in a font string, even if previous fields haven't been specified. 1998-06-15 Jonathan Harris <jhar@tardis.ed.ac.uk> * objects-msw.c: Removed compilation warnings from mswindows_string_to_color. mswindows_list_fonts returns a more general bogus font. New lisp-visible function mswindows-color-list. 1998-06-19 David Bush <david.bush@adn.alcatel.com> * editfns.c (Fuser_login_name): Modify to user new function user_login_name. (user_login_name): C only function to avoid Lisp object overhead Returns "unknown" instead of nil in Cygwin environment * fileio.c (Fexpand_file_name): Treat "~" and "~user" as equivalent for current user in Cygwin environment. Use new function user_login_name to get username. * lisp.h: Declare user_login_name 1998-06-18 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * unexaix.c (make_hdr): Fixed bias computations so debugging info works again. Some other insignificant nitpicks. 1998-06-18 Andy Piper <andyp@parallax.co.uk> * toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when creating the image list and make sure he bk color is transparent. 1998-06-18 Jan Vroonhof <vroonhof@math.ethz.ch> * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from completed_timeouts. The timer could have expired. 1998-06-17 Andy Piper <andyp@parallax.co.uk> * console-msw.h: move XEMACS_RECT_WH inside frame parameters. define macors to access it. * frame-msw.c (mswindows_init_frame_1): use new target_rect parameter to initialize desired sizing. (mswindows_init_frame_2): enable and size the frame to something sensible when we get here. (mswindows_set_frame_properites): use new mswindows_size_frame_internal function and size frame if frame parameters not just if init is finished - WM_SIZE happens too early for some specs. (mswindows_size_frame_internal): new function abstracted from mswindows_set_frame_properties. (Vmswindows_use_system_frame_size_defaults): new variable controls whether to allow the system to pick frame size defaults, defaults to nil. * event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather than duplicated code. 1998-06-15 Colin Rafferty <colin@xemacs.org> * Makefile.in.in: Made EXTW_LINK expand properly. 1998-06-12 Martin Buchholz <martin@xemacs.org> * redisplay.c (vars_of_redisplay): default value of column-number-start-at-one should be NIL! 1998-06-11 Martin Buchholz <martin@xemacs.org> * casefiddle.c: (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar" 1998-06-05 Hrvoje Niksic <hniksic@srce.hr> * eldap.c (Fldap_search_internal): Use build_ext_string instead of build_string to avoid crashes under Mule. 1998-06-13 Andy Piper <andyp@parallax.co.uk> * ntplay.c (play_sound_data_1): don't delete the sound data until the next sound is played and the previous one finished. 1998-06-10 Samuel Mikes <smikes@alumni.hmc.edu> * fileio.c (directory-sep-char): Escape backslashes. 1998-06-10 Hrvoje Niksic <hniksic@srce.hr> * event-stream.c: Fix docstring reference. 1998-06-12 Hrvoje Niksic <hniksic@srce.hr> * alloc.c (make_float): Remove useless initialization of `next' field. (make_pure_float): Ditto. * lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'. 1998-06-08 Kirill M. Katsnelson <kkm@kis.ru> * fileio.c (Fmake_directory_internal): Remove conditionals on WINDOWSNT when calling mkdir. * ntproc.c: Deleted the following unused functions: register_child, reap_subprocess, sys_wait. * nt.c (sys_rename): Ifzeroed this implementation. Deleted the following unused functions: sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir, sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2, sys_read, sys_write. Merger sys_fopen and sys_open with sysdep.c implementation. * sysdep.c: Removed MS-DOS code. (sys_rename): Deal with Microsoft rename weirdness. (sys_open): Implemented for Windows. (sys_fopen): Ditto. (sys_mkdir): Ditto. 1998-06-08 Kirill M. Katsnelson <kkm@kis.ru> * buffer.c (complex_vars_of_buffer): Removed %t description from the docstring. 1998-06-04 Rick Rankin <Rick_Rankin-P15254@email.mot.com> * scrollbar-msw.c: initialize the cbSize element of the SCROLLINFO struct before calling SetScrollInfo. WinNT seems to ignore the value of cbSize, but Win95 (and I presume Win98) appear to want it set to sizeof(SCROLLINFO). 1998-06-04 Kirill M. Katsnelson <kkm@kis.ru> * event-stream.c: Defined Qcancel_mode_internal. (syms_of_event_stream): defsymbol'ed it. * events.h: Externed it. * event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler. 1998-06-04 Oliver Graf <ograf@fga.de> * frame-x.c (x_cde_destroy_callback): free the data (cde-start-drag-internal) corrected root position, 21.1 needs this hardcoded in Button events (offix-start-drag-internal) corrected root position 1998-06-03 Kirill M. Katsnelson <kkm@kis.ru> * process-nt.c (signal_cannot_launch): Use signal_simple_error() instead of error(). 1998-06-03 Kirill M. Katsnelson <kkm@kis.ru> * dialog-msw.c (button_width): Removed `inline' from the function declaration. 1998-06-03 Rick Rankin <Rick_Rankin-P15254@email.mot.com> * frame-msw.c: add WS_VISIBLE flag to the first frame created. Note that adding this flag to subsequent frames causes problems. 1998-06-03 Gunnar Evermann <Gunnar.Evermann@nats.informatik.uni-hamburg.de> * glyphs-eimage.c (png_instantiate) move 'struct png_memory_storage tbr' out of nested block to avoid dangling reference 1998-06-02 Andy Piper <andyp@parallax.co.uk> * faces.h: * faces.c: rename 3d-object -> gui-element. add toolbar face which inherits from gui-element. * glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent with existing code, generate masks correctly. 1998-06-03 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-eimage.c: Changed included header for gifs to use Gifreader instead of giflib. * glyphs-x.c: removed the image-related functions that were moved into glyphs-eimage. 1998-06-02 David Bush <david.bush@adnb.alcatel.com> * glyphs.c (bitmap_to_lisp_data) Define XFree to be free if built without X Windows support. 1998-06-02 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fconcat): Synch docstring with new reality. 1998-06-03 SL Baur <steve@altair.xemacs.org> * frame.c: Remove reference to msdos.h (which is going away). Suggested by Hrvoje Niksic and Kirill Katsnelson. 1998-06-02 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-eimage.c (jpeg_instantiate): Fix handling of grayscale images/ 1998-05-30 Kirill M. Katsnelson <kkm@kis.ru> * events.h: Fixed commentary about misc-user scrollbar events. * scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame object as an event channel, instead of window object. (x_update_horizontal_scrollbar_callback): Ditto. 1998-05-29 Andy Piper <andyp@parallax.co.uk> * ntplay.c (play_sound_data_1) new function. convert alloca data to malloc if necessary. (play_sound_file): if the file is not in our path then convert to data and play. 1998-06-01 SL Baur <steve@altair.xemacs.org> * mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy. * msdos.c (Frecent_doskeys): Ditto. * unexalpha.c (unexec): Reverse parameters in call to memcpy. Suggested by Reggie Perry <perry@zso.dec.com> * buffer.h: Eliminate size in declaration. 1998-06-01 Olivier Galibert <galibert@pobox.com> * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge. 1998-06-01 Kirill M. Katsnelson <kkm@kis.ru> * gui.c (gui_item_init): Changed the default value for config member from Qunbound to Qnil. 1998-06-01 Greg Klanderman <greg@alphatech.com> * indent.c (vmotion_pixels): Don't #define abs(). 1998-05-30 Kirill M. Katsnelson <kkm@kis.ru> * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose respectively. 1998-05-30 Andy Piper <andyp@parallax.co.uk> * glyphs.h: add xbm declarations. * console.h: add xbm_instantiate_method device method. * glyphs.c (check_valid_xbm_inline) (xbm_validate) (bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize) (xbm_possible_dest_types): moved here from glyphs-x.c. use locate_pixmap_file device method and read_bitmap_data_from_file instead of XmuReadBitmapDataFromFile. (xbm_instatntiate): make a device method. * glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file) new function that just calls XmuReadBitmapDataFromFile. (x_xbm_instatntiate): device method from xbm_instantiate. * glyphs-msw.c (read_bitmap_data) (NextInt) (read_bitmap_data_from_file): new functions copied from Xmu sources. (xbm_create_bitmap_from_data) from Ben <ben@666.com> convert inline data to an mswindows bitmap. (init_image_instance_from_xbm_inline) (xbm_instantiate_1) (mswindows_xbm_instantiate): mswindows-ized versions of the X functions. 1998-05-30 Kirill M. Katsnelson <kkm@kis.ru> * window.c (specifier_vars_of_window): Renamed `has_modeline-p' to `modeline-visible-p'. Declared specifier lisp variables at the beginning oh the file as static. * procimpl.h (struct process_methods): Changed semantics of create_process method so it accepts lisp strings instead of char pointers. * process.c (Fstart_process_internal): Moved building of unix style argv from here to process-unix.c, ... * process-unix.c (unix_create_process): ... right here. * process-nt.c (nt_create_process): Changed this function to support new semantics, so avoided a GC problem. * events.c (Fmake_event): Document misc-user events properties. (Fmake_event): Do not allow arbitrary objects for channel property of misc-user events. (Fmake_event): Change misc-user event validation: it is function which is required, not button. * event-msw.c (mswindows_user_event_p): Recognize misc user events as user events. (mswindows_enqueue_misc_user_event): Added function. (mswindows_bump_queue): Removed function. (mswindows_enqueue_magic_event): Support NULL HWND parameter. (mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event(). (mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto. (emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing really nothing, which is my personal favorite thing. * console-msw.h: Removed prototype for mswindows_bump_queue(). Added prototype for mswindows_enqueue_misc_user_event(). * menubar-msw.c (mswindows_handle_wm_command): Use mswindows_enqueue_misc_user_event(). * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto. * dialog-msw.c (dialog_proc): Ditto. * scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto. (mswindows_handle_scrollbar_event): Use frame, not window, for misc user events channel. 1998-05-29 Greg Klanderman <greg@alphatech.com> * window.c (Fwindow_displayed_text_pixel_height): was relying on incorrect semantics of vmotion_pixels which has been fixed. don't use it anymore as it can't easily be used. * indent.c (vmotion_pixels): fix off by one bug moving up. also the motion was reported incorrectly if you tried to go past end of buffer. 1998-05-30 Kirill M. Katsnelson <kkm@kis.ru> * toolbar.h: Removed misleading commentary, as Martin suggested. 1998-05-30 Kirill M. Katsnelson <kkm@kis.ru> * lisp.h: Extern Qactivate_menubar_hook. * menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to run_hook (). 1998-05-29 Andy Piper <andyp@parallax.co.uk> * glyphs-msw.c: use BPLINE macro. * select-msw.c (mswindows-selection-exists-p) (mswindows-delete-selection): doc string fixes. * toolbar-msw.c (mswindows_output_toolbar): make disabled buttons unpressable. warning elimination. 1998-05-28 Martin Buchholz <martin@xemacs.org> * alloc.c (dbg_constants): * dbxrc: * gdbinit: Remove toolbar_data debugging code, since that lrecord has also been removed. Wed May 27, 1998 Darryl Okahata <darrylo@sr.hp.com> * alloc.c: zap cached value of (user-home-directory), so that it's not undumped. * buffer.c: From init_buffer(), separated out code that determined the initial directory for the *scratch* buffer, and put them into a function called "init_initial_directory()". The initial directory is now available as a global "char *" called initial_directory. * buffer.h: Added extern entries for initial_directory[] and init_initial_directory(). * editfns.c: added new elisp function "user-home-directory", which basically returns getenv("HOME"), but attempts to use other values if $HOME isn't set.This may have to be tweaked in the future as, under Unix, "/" is used if $HOME isn't set (this probably should be set to the current directory). To support this, a new C function, "get_home_directory()", now exists, which returns the "home directory", as a "char *" string. * emacs.c: Rearrange NT initialization order so that environment/registry variables will be properly entered into Vprocess_environment. * fileio.c: replaced egetenv("HOME") with calls to the new get_home_directory(). * lisp.h: Added function prototypes for uncache_home_directory() and get_home_directory(), along with lisp prototypes for Fuser_home_directory() and friends. * nt.c: replaced getenv("HOME") with calls to the new get_home_directory(). * sysfile.h: for WINDOWSNT, #include <direct.h>, to suppress warnings about getcwd(), etc. not having prototypes. 1998-05-28 Kirill M. Katsnelson <kkm@kis.ru> * process-nt.c (send_signal): Emulate SIGHUP. (validate_signal_number): Ditto. * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally remove MOD_SHIFT from ASCII characters. (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when F10 is pressed. 1998-05-24 Oliver Graf <ograf@fga.de> * frame-x.c (cde-start-drag-internal): added filename and multi- data transfers (x_cde_convert_callback) dito 1998-05-26 Oliver Graf <ograf@fga.de> * frame-x.c: include event-mod.h also with CDE (x_cde_convert_callback) made the thing working (cde-start-drag-internal) also debugging 1998-05-25 Hans Guenter Weigand <hgweigand@wiesbaden.netsurf.de> * m/sparc.h: * getloadavg.c: * malloc.c: * unexec.c: * mem-limits.h: - add __OpenBSD__ where __NetBSD__ was found. - TODO: replace platform-specific conditional compilation by feature tests in configure.in. 1998-05-15 Greg Klanderman <greg@alphatech.com> * window.c (Fwindow_displayed_text_pixel_height): New function. (syms_of_window): DEFSUBR it. * indent.c (Fvertical_motion_pixels): New function - request movement in pixels. (vmotion_pixels): helper. (syms_of_indent): DEFSUBR. * lisp.h: declaration for vmotion_pixels(). * indent.c (Fvertical_motion): Add optional third argument PIXELS, to request returning motion in pixels. (Fvertical_motion_pixels): Remove, functionality merged into Fvertical_motion. * window.c (window_scroll): call Fvertical_motion with 3 arguments. (Fmove_to_window_line): ditto. * lisp.h: Change declaration for Fvertical_motion. * window.c: rename window-text-pixel-{height,width,edges} to window-text-area-pixel-*. 1998-05-26 Gunnar Evermann <Gunnar.Evermann@nats.informatik.uni-hamburg.de> * tooltalk.c (vars_of_tooltalk) added staticpro for Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str 1998-05-27 Andy Piper <andyp@parallax.co.uk> * faces.c: create a new 3d_object_face, make modeline and vertical_divider faces fallback to this rather than the default. 1998-05-21 Andy Piper <andyp@parallax.co.uk> * s/cygwin32.h: define charsets for cygwin. 1998-05-25 Andy Piper <andyp@parallax.co.uk> * toolbar-msw.c (mswindows_output_toolbar): fix up button sizes and coordinates. resize bitmaps if we have already settled on a different size. * glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler. 1998-05-25 Hrvoje Niksic <hniksic@srce.hr> * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto. * menubar-msw.c (mswindows_handle_wm_command): Ditto. * gui.h: Ditto. * gui-x.c (popup_selection_callback): Ditto. * dialog-msw.c (dialog_proc): get_callback -> get_gui_callback. * gui.c (get_callback): Renamed to get_gui_callback. 1998-05-17 Martin Buchholz <martin@xemacs.org> * glyphs.h: order rearrangement. * device-tty.c (tty_asynch_device_change): Warning suppression. * device-x.c (x_device_system_metrics): Warning suppression. Make Doc strings consistent with coding standards. 1998-05-24 Martin Buchholz <martin@xemacs.org> * general.c: multiple definition of `Qicon'. general.c seems like a good home for Qicon. 1998-05-20 Kirill M. Katsnelson <kkm@kis.ru> * This patch is to fix compilation warnings under Windows. * s/windowsnt.h: Encapsulate getpid with sys_getpid. Added prototypes for FSF inherited functions, with which XEmacs is sprinkled thoroughly. Removed some #if 0 code. Bracketed some more definitions, probably related to Visual C versions prior to 4 (we do not support them). * sysfloat.h (logb): Finally, get logb() prototyped. * sysfile.h: Added Windows specific includes. Removed old Windows specific code bracketed with #if 0. * sysdep.h: Added prototype for xrealpath(). * sysdep.c (sys_getpid): Added function, to support '95 negative pids. * symsinit.h: Added prototypes for syms_of_dired_mswindows, vars_of_dired_mswindows and init_ntproc (Grrr). * realpath.c: Added Windows specific include files. (xrealpath): Conditionalized declaration of some auto variables on S_IFLNK, to avoid warnings. * ntproc.c: Disabled some compiler warnings. This file is going to die, so I have not cleaned it up much. (set_process_dir): Const parameter. (Fwin32_short_file_name): Down CHECK_* macros to one argument. (Fwin32_long_file_name): Ditto. (Fwin32_set_process_priority): Ditto. Why didn't I remove these three functions? * nt.h: Added prototypes for set_process_dir and convert_time. * nt.c: More include files. (getpwnam): Consted char* argument. (get_emacs_configuration): Const return value. (opendir): Const argument. (stat): Casted converstion long->short. (stat): Removed ad hoc and questionable support for non-MSC compile. (sys_pipe): Removed unused auto variable. (_sys_read_ahead): Removed calls to DebPrint. (sys_read): Ditto, in 2 places. (term_ntproc): Added unused int parameter to signal handler, to avoid a warning when compiling a call to signal(). (msw_sigset): Properly return old signandler or NULL instead of void. * floatfns.c (Flogb): Casted arguments to unary minus to signed. * gmalloc.c (morecore): Ditto. (_free_internal): Ditto. * lread.c (parse_integer): Ditto. * dired-msw.c: Added several include files. * cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List of Compilers to Shut Up. * callproc.c: Added #includes to suppress warnings under Windows. (init_callproc): Removed #if0'ed code and unused variables. 1998-05-25 Andy Piper <andyp@parallax.co.uk> * device-msw.c (mswindows_device_system_metrics): do planes in a way consistent with X. * glyphs-msw.c (mswindows_initialize_image_instance_mask): don't use SetPixel, use DIBits functions. (xpm_to_eimage): frob colors more closely like xpm deos. * toolbar-msw.c: only resize bitmaps when shrinking. Adjust look to be closer to X version. * event-msw.c: use tooltip string directly. * redisplay-msw.c: reinstate Kirill's bg pixmap change. * objects-msw.c: frob rgb colors that only Kyle uses. * dialog-msw.c (button_width): INLINE -> inline. 1998-05-23 SL Baur <steve@altair.xemacs.org> * getloadavg.c (getloadavg): Fix typo. 1998-05-23 Kirill M. Katsnelson <kkm@kis.ru> * objects-msw.c (mswindows_initialize_font_instance): Added support for font character sets. Replaced 'XXX' with '####' in comments throughout the file. 1998-05-23 Kirill M. Katsnelson <kkm@kis.ru> * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and console_type_create_dialog_mswindows(), to initialize Windows dialog support. * symsinit.h: Prototyped the above functions. * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency checks to dialog.c... * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a device must support dialog boxes, and the descriptor must supply at least one button. * dialog-msw.c: New file, dialogs for Windows. 1998-05-21 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c (ldap_search_unwind): Return Qnil instead of nothing (Fldap_search_internal): Removed unused variable `err' * eldap.h: Moved Lisp_LDAP declaration here instead of using a forward declaration 1998-05-17 Martin Buchholz <martin@xemacs.org> * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is defined. Therefore there is no need to handle the case when HAVE_LDAP is undefined. Similarily, there is no reason to have any code wrapped within `#ifdef emacs', since this code is only useful within an emacs. This simplifies the code significantly. * inline.c: Include eldap.h only if HAVE_LDAP. * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h already does that. 1998-05-21 Kirill M. Katsnelson <kkm@kis.ru> * unexnt.c (copy_executable_and_dump_data_section): Suppress printing dump stats when building without DEBUG_XEMACS. (dump_bss_and_heap): Ditto. 1998-05-21 Andy Piper <andyp@parallax.co.uk> * gnuclient.c: don't suppress window system if there is no display and we are running under mswindows. send 'mswindows device type if we are in this situation. 1998-05-20 Andy Piper <andyp@parallax.co.uk> * general.c: * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c. * glyphs-msw.c: change cursor imgae type name to resource. Fix some nits. 1998-05-20 Kirill M. Katsnelson <kkm@kis.ru> * EmacsFrame.c (Xt_StringToScrollBarPlacement): Added support for {top,bottom}-{left,right} values in addition to {top,bottom}_{left,right}. 1998-05-18 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fmake_temp_name): Remove unreached code. * process-nt.c (validate_signal_number): Use signal_simple_error(). 1998-05-19 Martin Buchholz <martin@xemacs.org> * unexhp9k800.c: * sound.c (vars_of_sound): * sysdep.c (reset_sigio_on_device): * window.c (window_bottom_gutter_height): unexhp9k800.c:258: warning: implicit declaration of function `calculate_checksum' sound.c:604: warning: implicit declaration of function `vars_of_hpplay' sysdep.c:1012: warning: unused variable `owner' window.c:993: warning: `window_right_toolbar_width' defined but not used 1998-05-19 Andy Piper <andyp@parallax.co.uk> * glyphs-msw.c (mswindows_create_resized_mask) (mswindows_create_resized_bitmap): new funnctions split out from mswindows_resize_dibitmap_instance. * glyphs-msw.h: declare new resize functions. * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize functions so that the original bitmaps are preserved. * sheap.c: fixup static heap exhausted error to avoid FAQs. * redisplay-msw.c (mswindows_output_blank): fixup brush from bg color if we are trying to output 0 depth bg pixmap. * scrollbar-msw.c: warning elimination. 1998-05-18 Martin Buchholz <martin@xemacs.org> * frame-x.c (x_update_frame_external_traits): Start preprocessor directives in column 1. * search.c (skip_chars): Avoid using xzero with arrays, since some compilers get confused by the construct &array. 1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> * objects-msw.h: * objects-msw.c: Changed the charset value for a new font from "don't care" to "ansi". * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix. 1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift modifier on control chars. Use IsCharAlpha() instead of isaplha(). 1998-05-19 Kazuyuki IENAGA <ienaga@jsys.co.jp> * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, ""). 1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> * objects-msw.c (mswindows_initialize_font_instance): Use ANSI charset when creating font. (mswindows_initialize_color_instance): Do not create brush along with a color. (mswindows_finalize_color_instance): Do not delete it then. * objects-msw.h (struct mswindows_color_instance_data): Removed brush slot, and corresponding accessor macro. 1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> * toolbar.c: Removed toolbar_data lrecord implementation. (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS). (compute_frame_toolbar_buttons): Ditto. (CHECK_TOOLBAR): Ditto. (set_frame_toolbar): Removed allocation of toolbar_data lrecord. (update_frame_toolbars): Do not check for changed buffer here. Toolbar information is provided by cached specs in windows. The check for buffer is eliminated because toolbars are marked changed in set_frame_selected_window() in frame.c Added check for changed toolbars geometry. (compute_frame_toolbars_data): Removed unused second parameter; Adjusted callers of this static function throughout the file. (init_frame_toolbars): Initialize current_toolbar_size. (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of what is its current expansion, for clarity. (init_frame_toolbars): Ditto. (init_device_toolbars): Ditto. (init_global_toolbars): Ditto. * toolbar.h: Removed definition of toolbar_data lrecord. Added accessor macros FRAME_TOOLBAR_BUTTONS and FRAME_CURRENT_TOOLBAR_SIZE. Added macro DEVICE_SUPPORTS_TOOLBARS_P. * toolbar-x.c (x_output_toolbar): The same change as in toolbar-msw.c (x_output_toolbar): Ditto. (x_redraw_exposed_toolbar): Ditto. * toolbar-msw.c (mswindows_output_toolbar): Retrieve current buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro. (mswindows_output_toolbar): Ditto. (mswindows_output_toolbar): Ditto. * frame.c (mark_frame): Removed marking of arrays, according to frameslots.h change. (nuke_all_frame_slots): Ditto. (set_frame_selected_window): Mark toolbars changed when last_nonminibuf_window changes. * frame.h (struct frame): Moved some slots to frameslots.h. Added current_toolbar_size array. Changed references from toolbar_data to toolbar_buttons in macros FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE, FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH. * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h Moved arrays of lisp objects here from frame.h: toolbar_size, toolbar_visible_p, toolbar_border_width. Removed toolbar_data slot and added toolbar_buttons. 1998-05-17 Kirill M. Katsnelson <kkm@kis.ru> * symsinit.h: Externed syms_of_process_nt() * emacs.c (main_1): Call syms_of_process_nt() * process-nt.c: Quote process arguments by a call to Lisp function `nt-quote-process-args'. (syms_of_process_nt): New function. (nt_send_process): Flush data stream after each write, to avoid leaving buffered data. (nt_send_process): When blocked on process output, wait for process to slurp more for progressively increasing time intervals. 1998-05-17 Martin Buchholz <martin@xemacs.org> * window.c (have_undivided_common_edge): Make file-local function static. (map_windows): Return 0 if all map functions successful. Fix typos. * winslots.h: Use unlikely names for local variables in macros to avoid shadowing warnings. 1998-05-17 Andy Piper <andyp@parallax.co.uk> * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width so that we re-output if the toolbar size has changed. 1998-05-17 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c. * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c. * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully greater). 1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to get bitmap manifest constants defined. * console-msw.h: Include system files in angle brackets, not in quotes. * window.c (specifier_vars_of_window): Fixed a typo in `vertical-divider-line-width' docstirng. 1998-05-16 Olivier Galibert <galibert@pobox.com> * line-number.c (delete_invalidate_line_number_cache): Use an EMACS_INT. (buffer_line_number): Remove dangerous, plain wrong when using 64bits emacs ints, cast. * insdel.c (buffer_delete_range): Use an EMACS_INT. * cmds.c (Fforward_line): Use EMACS_INTs. * search.c (bi_scan_buffer): Change to use EMACS_INTs. (scan_buffer): Ditto. (bi_find_next_newline_no_quit): Remove useless cast. (find_next_newline_no_quit): Ditto. (find_next_newline): Ditto. (find_before_next_newline): Use an EMACS_INT. * lisp.h: Change scan_buffer to pass EMACS_INTs. 1998-05-16 Hrvoje Niksic <hniksic@srce.hr> * menubar-msw.c (mswindows_handle_wm_command): Ditto. * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto. * gui-x.c (popup_selection_callback): Use it. * gui.h (get_callback): Declare it. * gui.c (get_callback): New function. 1998-05-15 SL Baur <steve@altair.xemacs.org> * window.c (have_undivided_common_edge): Guard scrollbar specific stuff. (window_needs_vertical_divider_1): Ditto. 1998-05-16 Hrvoje Niksic <hniksic@srce.hr> * emacs.c (decode_path): Eliminate compiler warning. (Fdecode_path): Renamed to Fsplit_path. (Fsplit_string_by_char): New function. 1998-05-14 Damon Lipparelli <lipp@primus.com> * winslots.h: close comment 1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> * callproc.c: Removed declared and unused variable Qbuffer_file_type. * bufslots.h: Removed buffer_file_type slot. * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from buffer local flags. (complex_vars_of_buffer): Removed buffer-file-type variable and its default reference. 1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> * faces.c (complex_vars_of_faces): Defined Vvertical_divider_face. (vars_of_faces): Staticpro it. * faces.h: Externed Vvertical_divider_face. * redisplay-x.c (x_output_vertical_divider): Use Vvertical_divider_face to draw the divider instead of modeline face. * redisplay-msw.c (mswindows_output_vertical_divider): Draw divider face using Vvertical_divider_face background. Fix drawing spacing gaps around the divider. 1998-05-14 Didier Verna <didier@xemacs.org> * redisplay-x.c (x_output_vertical_divider): removed hard-wired values for the vertical divider line width and spacing. Use the cached values from the window structure instead. (x_divider_width): ditto. * window.c (specifier_vars_of_window): new specifiers: vertical-divier -line-width and -spacing. (vertical_divider_global_width_changed): formerly known as vertical_divider_shadow_thickness_changed. * winslots.h: new slots: vertical_specifier _line_width and _spacing. Plus corrected a comment typo. 1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> * window.h: Declared window_divider_width(). * console-stream.c (stream_divider_width): Removed method. (console_type_create_stream): And declaration for it. * redisplay.c (pixel_to_glyph_translation): Use window_divider_width() instead of divider_width redisplay method. (pixel_to_glyph_translation): Fix top divider edge calculation when scrollbar is on top. * window.c (window_divider_width): New function, an outphaser for divider_width redisplay method. (window_right_gutter_width): Use it. (specifier_vars_of_window): For vertical-divider-{spacing,line-width} specifiers, set fallback values differently on TTYs, and document the behavior of these on TTYs in the docstrings. * scrollbar.c (update_scrollbar_instance): Use window_divider_width() instead of divider_width redisplay method. * console.h (struct console_methods): Removed divider_width_method. * redisplay-tty.c (tty_divider_width): Removed device method. (console_type_create_redisplay_tty): Removed definition for it. (tty_output_vertical_divider): Respect the value returned by window_divider_width thus divider line width specification. * redisplay-msw.c (mswindows_divider_width): Removed device method. (console_type_create_redisplay_mswindows): Removed definition for it. (mswinodws_output_vertical_divider): Respect the value returned by window_divider_width thus divider line width specification. 1998-05-15 Andy Piper <andyp@parallax.co.uk> * toolbar-msw.c: guess toolbar frame size a bit more accurately. 1998-05-15 Andy Piper <andyp@parallax.co.uk> * glyphs-msw.c: resource loading implementation. (cursor_normalize): new function. (cursor_validate): ditto. (cursor_instantiate): ditto. (cursor_name_to_resource): ditto. (cursor_possible_dest_types): ditto. (check_valid_symbol): ditto. (check_valid_string_or_int): ditto. 1998-05-14 Martin Buchholz <martin@xemacs.org> * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like VINTR and VQUIT. * process-unix.c (process_signal_char): Use VSUSP instead of non-standard VSWTCH. Always prefer VSUSP to VSWTCH. 1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> * specifier.c (specifier_instance): Change locale precedence of instantiation so window locale has higher priority than buffer locale. (Fspecifier_instance): Reflect this in docstring. (Fadd_spec_list_to_specifier): Ditto. (Fadd_spec_to_specifier): Ditto. (Fremove_specifier): Ditto. 1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> ** Dialog separation into a device method from Andy Piper * emacs.c (main_1): Call console_type_create_dialog_x(). * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted into this device method. (console_type_create_dialog_x): New function. * dialog.c (Fpopup_dialog_box): New function. (syms_of_dialog): Defsubr it. * console.h (struct console_methods): Declared popup_dialog_box_method(). * symsinit.h: Defined console_type_create_dialog_{x,mswindows} 1998-05-14 Oliver Graf <ograf@fga.de> * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created * frame-x.c (x_cde_transfer_callback): checked for merge errors 1998-05-13 Oliver Graf <ograf@fga.de> * dragdrop.c (vars_of_dragdrop): provide dragdrop-api 1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> * console.h (device_metrics): Removed dbcs, input-method-editor and right-to-left metrics. * device.c (Fdevice_system_metric): Ditto. (Fdevice_system_metrics): Ditto. (syms_of_device): Ditto. (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back again. 1998-05-14 Hrvoje Niksic <hniksic@srce.hr> * line-number.h (mark_line_number_cache): Remove unused declaration. * line-number.c (LINE_NUMBER_FAR): Increase to 32768. (get_nearest_line_number): Simplify. (add_position_to_cache): Make the old marker point nowhere. 1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> ** Renamed window-divider-map => vertical-divider-map and event-over-divider-p => event-over-vertical-divider-p, in the following files/functions: * events.h: * events.c (Fevent_over_divider_p): * keymap.c (get_relevant_keymaps): (vars_of_keymap): * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER. * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER. 1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> * window.c (vertical_divider_changed_in_window): Renamed so. (specifier_vars_of_window): Defined Vvertical_divider_draggable_p. (window_needs_vertical_divider_1): Decide whether we need it based on the value of the above specifier. If separators are unwanted, put them only if there's no scrollbar between this window and its right neighbor. (have_undivided_common_edge): New function, helper for the above. (window_needs_vertical_divider): Return either a cached value, or clauclate and cache one. (invalidate_vertical_divider_cache_in_window): Implemented. (map_windows): Changed return type to int, return the value from MAPFUN. * window.h: Prototype invalidate_vertical_divider_cache_in_window. (struct window): Added need_vertical_divider_p and need_vertical_divider_valid_p. * winslots.h: Added vertical_divider_draggable_p slot. * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented. (specifier_vars_of_scrollbar): Used it in all vertical specifiers. * frame.c (invalidate_vertical_divider_cache_in_frame): New function. * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call invalidate_vertical_divider_cache_in_frame(). Prototype it. 1998-05-14 Andy Piper <andyp@parallax.co.uk> * toolbar-msw.c: provide correct parameters to TB_SETROWS. * glyphs-msw.c (mswindows_initialize_image_instance_mask): size masks correctly and don't select 0. 1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> * winslots.h: New file, declaration of some struct window and struct saved_window members. * window.h (struct window): Include it, with required preprocessor magic. * window.c (mark_window): Ditto. (allocate_window): Ditto. (struct saved_window): Ditto. (mark_window_config): Ditto. (saved_window_equal): Ditto. (Fset_window_configuration): Ditto. 1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix. 1998-05-12 Didier Verna <didier@xemacs.org> * redisplay-x.c (x_output_vertical_divider): draw shadows around the divider line. The shadow thickness is currently hard-wired. This will probably be turned into a specifier soon. 1998-05-12 Didier Verna <didier@xemacs.org> * console.h (struct console_methods): the divider_width console method now requires a struct window * argument. * redisplay-x.c (x_divider_width): ditto. Plus remove X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS. (x_output_vertical_divider): give a depressed look when the shadow thickness is negative. * console-stream.c (stream_divider_width): pass a struct window * argument. * redisplay-tty.c (tty_divider_width): ditto. * window.c (window_right_gutter_width): totdi. * redisplay.c (generate_modeline): ittod. * scrollbar.c (update_scrollbar_instance): ttido. * redisplay-msw.c (mswindows_divider_width): ottid. WARNING: this enables to compile, but the feature is not functional. * window.h (struct window): new field vertical_divider_shadow_thickness. * window.c (specifier_vars_of_window): new specifier vertical-divider-shadow-thickness. (vertical_divider_shadow_thickness_changed): new function to inform redisplay that the window has changed. (mark_window): handle new field vertical_divider_shadow_thickness from struct window. (allocate_window): ditto. (saved_window_equal): toddi. (Fset_window_configuration): totid. (save_window_save): ttdio. (struct saved_window): new field vertical_divider_shadow_thickness. 1998-05-14 Kirill M. Katsnelson <kkm@kis.ru> * device-msw.c (mswindows_device_system_metrics): Support a deluge of metrics. 1998-05-12 Oliver Graf <ograf@fga.de> * frame-x.c (x_cde_transfer_callback): fixed for the new protocol * event-Xt.c (x_event_to_emacs_event): C++ compability 1998-05-14 Hrvoje Niksic <hniksic@srce.hr> * emacs.c (Fdecode_path): Default SEPCHAR to value of path-separator. 1998-05-14 Hrvoje Niksic <hniksic@srce.hr> * emacs.c (vars_of_emacs): Do it here; change the meaning of Vpath_separator. * fileio.c (vars_of_fileio): Don't define Vpath_separator here. 1998-05-14 Hrvoje Niksic <hniksic@srce.hr> * emacs.c (decode_path_1): New function. (decode_path): Use it. (Fdecode_path): Renamed from Fdecode_path_internal; use decode_path_1. 1998-05-12 Hrvoje Niksic <hniksic@srce.hr> * macros.c (Fzap_last_kbd_macro_event): New function. (Fend_kbd_macro): Remove REMOVE_LAST kludge. 1998-05-10 Andy Piper <andyp@parallax.co.uk> * redisplay-msw.c (mswindows_output_dibitmap_region): make sure multiple bitmaps are output vertically as well as horizontally. * (mswindows_output_dibitmap): don't cope with bitmap boundaries crossing lines this is handled by mswindows_output_dibitmap_region. 1998-05-12 Martin Buchholz <martin@xemacs.org> * inline.c: Include eldap.h * menubar-x.c (x_update_frame_menubar_internal): Remove: unused variable `container' 1998-05-11 Martin Buchholz <martin@xemacs.org> * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly. Unfortunately, the resulting temacs still cannot dump. * symbols.c (symbol_is_constant): (verify_ok_for_buffer_local): -Wswitch Warning suppression - add default case to switches. * redisplay.c (decode_mode_spec): Remove unused variables, Replace Fcoding_system_property (codesys, Qmnemonic) with XCODING_SYSTEM_MNEMONIC (codesys); Fcoding_system_property is for users. * buffer.c: * fileio.c: * lread.c: * xselect.c: Change empty docstrings into no doc strings at all. Fix bogus FSF-format docstrings. * extents.c: Standardize docstrings. * floatfns.c: Explain problems with matherr. * glyphs.c: make DEFUNs etags-readable, i.e. single-line * syssignal.h: if BROKEN_SIGIO, then SIGIO wants to be undefined. if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\ Fix the weird resultant interaction (causes windows problems) * gdbinit: * dbxrc: Take new EMACSBOOTSTRAPLOADPATH into account. Update documentation strings * Makefile.in.in: - Adjust for luser's CDPATH being set to something weird. - Take into account bash 2.02's tendency to print the cwd when using CDPATH. Always use `cd ./foo' instead of `cd foo'. - fix the run-temacs target to use $(DUMPENV) - fix the run-puremacs target to use $(DUMPENV) - fix the `depend' target to properly $(RM) the right files - Generate a better TAGS file for XEmacs' lisp code using hand-crafted regexps. - Use standard coding conventions for modules/Makefile.in 1998-05-12 Didier Verna <didier@xemacs.org> * redisplay.c: removed the scrolling modeline code that didn't make it for 21.0. To be continued ... 1998-05-13 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c (Fdecode_path_internal): Removed bogus handling of nil and empty string inputs. 1998-05-12 Hrvoje Niksic <hniksic@srce.hr> * redisplay-x.c (x_output_vertical_divider): Fixed typo. 1998-05-10 Oliver Graf <ograf@fga.de> * event-stream.c (enqueue_misc_user_event_pos): created * lisp.h (enqueue_misc_user_event_pos): prototype added * frame-x.c (x_cde_transfer_callback): debug code plus API changes * emacs.c: call vars_of_dragdrop * dragdrop.c (vars_of_dragdrop): provide dragdrop 1998-05-11 Oliver Graf <ograf@fga.de> * frame-x.c (x_cde_transfer_callback): return at correct pos * event-Xt.c (x_event_to_emacs_event): changed format of drop object for MIME (see comment in dragdrop.c) * dragdrop.c: API change documented in comment removed provide of dragdrop [is provided by dragdrop.el] 1998-05-12 Kirill M. Katsnelson <kkm@kis.ru> * window.c (window_needs_vertical_divider): Enable vertical dividers for every non-rightmost window. (window_left_gutter_width): Left gutter consists of mythical toolbar and a virtual scrollbar. (window_right_gutter_width): The right one may have a divider also. * scrollbar.c (update_scrollbar_instance): Position vertical scrollbar left to divider if the latter present. * redisplay.h: Declared OVER_DIVIER constant. * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER case. * redisplay-x.c (x_output_vertical_divider): Output divider along the right side of the window, down to window bottom. Swapped foreground and background colors so it is visible by default. * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally stick the divider to the right window side. * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed deadbox painting. (mswindows_divider_width): Ask system for user preferred value. (mswindows_output_vertical_divider): Always output the divider on the right side of a window, down to bottom. * keymap.c (get_relevant_keymaps): Route mouse button events which happened over a window divider through window-divider-map. (Fkey_binding): Documented that in the docstring. Defined the variable Vwindow_divider_map. * events.c (Fevent_over_divider_p): Added this function. * events.h: EXFUNed it. 1998-05-12 Kirill M. Katsnelson <kkm@kis.ru> * toolbar.c (update_frame_toolbars): Re-layout frame windows if toolbar geometry is suspected to change. 1998-05-11 Jonathan Harris <jhar@tardis.ed.ac.uk> * src/device-msw.c * src/event-msw.c Condition dnd and dde code on HAVE_DRAGNDROP. 1998-05-11 Hrvoje Niksic <hniksic@srce.hr> * events.c (format_event_object): Print space as SPC etc. 1998-05-11 Hrvoje Niksic <hniksic@srce.hr> * print.c (print_internal): In the default case, abort() if ERROR_CHECK_TYPECHECK. * fileio.c (Fmake_temp_name): Doc fix. 1998-05-10 Hrvoje Niksic <hniksic@srce.hr> * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS. * undo.c (Fprimitive_undo): Fixed typo. 1998-05-11 Hrvoje Niksic <hniksic@srce.hr> * fns.c (concat): Signal error on integer argument. 1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> * console.h (device_metrics): Prefixed each constatnt with DM_ * device.c: (Fdevice_system_metric): Renamed so from plural form (metrics); Changed parameters order and added DEFAULT parameter; Unabbreviated some metric constants; Fixed and untabified doc string. (Fdevice_system_metrics): Added. Returns a plist of all provided metrics. * device-msw.c (mswindows_device_system_metrics): Renamed device_metrics enum constants. Return Qunbound instead of Qnil. * device-tty.c (tty_device_system_metrics): Ditto. * device-x.c (x_device_system_metrics): Ditto. 1998-05-10 Andy Piper <andyp@parallax.co.uk> * redisplay-msw.c: implement background pixmaps (really!). Make sure bg color is transparent if we have bg pmaps. * (mswindows_output_string) (mswindows_clear_region): output bg pmap if required. * (mswindows_output_dibitmap_region): new function. * (mswindows_output_dibitmap): output offset pixmaps, blt masks in the bg color rather than transparently. * toolbar-msw.c: use masks if they exist. * glyphs-msw.c: set up masks correctly. * event-msw.c: typedef SOCKET if cygwin and not msg select(). 1998-05-10 Hrvoje Niksic <hniksic@srce.hr> * regex.c (re_match_2_internal): Check for quit. 1998-05-10 Hrvoje Niksic <hniksic@srce.hr> * frame.c (Ffocus_frame): New function. 1998-05-06 Oliver Graf <ograf@fga.de> * Makefile.in.in: removed dragdrop.o from objs * config.h.in: HAVE_DRAGNDROP added * emacs.c: do syms_of_dragdrop only if HAVE_DRAGNDROP is defined * event-Xt.c: dragdrop.h include now depends on HAVE_DRAGNDROP changed calls to dnd_url_hexify_string MIME data is now a list of MIME strings or lists this was required by CDE, and a good idea in any case * dragdrop.c (dnd_url_hexify_string): method prefix code added * dragdrop.h: dnd_url_hexify_string prototype changed * frame-x.c (x_cde_transfer_callback): CDE adapted the new API 1998-05-05 Jonathan Harris <jhar@tardis.ed.ac.uk> * event-msw.c: now creates misc-user-events on dnd drops 1998-05-05 Oliver Graf <ograf@fga.de> * events.h: changed comment for misc_user_events * events.c (make-event): removed dnd_data defs * frame.c: removed everything referring to drag_and_drop_functions * frame-x.c (x_cde_transfer_callback): disabled (needs to be changed) * lisp.h: removed Qdnd_data * general.c: removed Qdnd_data * symsinit.h: added syms_of_dragdrop * frame.el: deleted default-drag-and-drop-functions 1998-05-04 Oliver Graf <ograf@fga.de> * events.c: removed all dnd_drop stuff * events.h: extended misc_user_data by button info removed dnd_drop event * emacs.c: added call to syms_of_dragdrop * dragdrop.c: created * dragdrop.h: created * event-stream.c (enqueue_misc_user_event): initialization of the new fields of misc_user_data dnd_drop stuff removed * keymap.c: drop symbols removed * Makefile.in.in: added dragdrop.o to objs 1998-05-09 SL Baur <steve@altair.xemacs.org> * EmacsFrame.c (EmacsFrameSetValues): Fix typo. Suggested by: Kirill M. Katsnelson <kkm@kis.ru> 1998-05-09 Kirill M. Katsnelson <kkm@kis.ru> * This change adds four scrollbar specifiers: {horizontal,vertical}-scrollbar-visible-p and scrollbar-on-{top,left}-p. Spare parts supplied by Didier Verna <didier@xemacs.org> * frameslots.h: Added slots for the four specifier caching. * frame.h: FRAME_SCROLLBAR_{WIDTH,HEIGHT} count for scrollbar visible specifiers. Removed old resource-only controlled scrollbar_on_* ints. * frame-x.c (x_layout_widgets): Removed (to x-scrollbar.el) initialization of old style scrollbar placement from resources. * frame-tty.c (tty_init_frame_1): Removed initialization of old style scrollbar placement. * frame-msw.c (mswindows_init_frame_1): Removed random initialization of scrollbar sizes to 15 pixel. * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Use scrollbar placement specifiers cached values from window, instead of the old per-frame values. (mswindows_output_vertical_divider): Ditto. * redisplay-x.c (x_output_vertical_divider): Ditto. * redisplay-output.c (redisplay_clear_bottom_of_window): Ditto. * scrollbar.c (update_scrollbar_instance): Ditto. (specifier_vars_of_scrollbar): Declared the four specifiers. * window.h (struct window): Defined slots for caching the new specifiers. * window.c (mark_window): Mark them. (allocate_window): Initialize them. (struct saved_window): Store them in a cool place. (saved_window_equal): Compare them. (save_window_save): Save them. (Fset_window_configuration): Fetch them back. (window_needs_vertical_divider): Check for scrollbar placement using window cached specs. (window_top_gutter_height): Ditto. (window_bottom_gutter_height): Ditto. (window_left_gutter_width): Ditto. (window_right_gutter_width): Ditto. (window_scrollbar_width): Account for scrollbar visibility specification in window. (window_scrollbar_height): Ditto. 1998-04-18 Kirill M. Katsnelson <kkm@kis.ru> * device.c (Fdevice_system_metrics): Added function. Moved (device-pixel-height), (device-pixel-width), (device-mm-width), (device-mm-height), (device-bitplanes), (device-color-cells) to device.el, amd make them call (device-system-metrics). * console.h (struct console_methods): Replaced methods: device_pixel_width_method(), device_pixel_height_method(), device_mm_width_method(), device_mm_height_method(), device_bitplanes_method(), device_color_cells_method() with single device_system_metrics_method(). (device_metrics): Declared enumeration of supported device system metrics. * device-msw.c (mswindows_device_system_metrics): Implement device_system_metrics_method(), remove six obsolete methods. * device-tty.c (tty_device_system_metrics): Ditto. * device-x.c (x_device_system_metrics): Ditto. 1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> * EmacsFrame.c (update_various_frame_slots): Do not store internal border width there. (EmacsFrameInitialize): Do it rather here. (EmacsFrameSetValues): If EditRes has changed internal border width, mark frame size as slipped. 1998-05-06 Kirill M. Katsnelson <kkm@kis.ru> * frame.h (struct frame): Added char_{width,height} member variables and access macros Added size_slipped redisplay bit and mark/clear macros. * redisplay.c (redisplay_frame): Adjust frame size if size slipped bit is set. (redisplay_device): Call redisplay_frame if size slipped bit is set. * frame.c (adjust_frame_size): Redisplay beats frame back in shape with this. Added. (frame_size_slipped): Added. (internal_set_frame_size): Clear size slipped bit. (change_frame_size_1): Store real charsize into frame object. (vars_of_frame): Declared adjust-frame-function. * frame-msw.c (mswindows_update_frame_external_traits): Same change as for frame-x.c (mswindows_frame_size_fixed_p): Implemented the method. * frame-x.c (x_update_frame_external_traits): Do not call Fset_frame_size to adjust frame, redisplay will do. * faces.c (update_EmacsFrame): Mark frame as slipped when default font changes. * toolbar.c (compute_frame_toolbars_data): Removed obsoleted call to change_frame_size. Redisplay will fix it later. Removed toolbar_*_changed_in_frame specifier change handlers. (specifier_vars_of_toolbar): Calls to these routed to frame_size_slipped generic handler. * toolbar-x.c: Removed toolbar_*_changed_in_frame device methods. * scrollbar-x.c: Removed scrollbar_*_changed_in_frame device methods. * scrollbar.c: Removed scrollbar_*_changed_in_frame specifier change handlers. (specifier_vars_of_scrollbar): Calls to the above changed to frame_size_slipped generic handler. * menubar-x.c (x_update_frame_menubar_internal): Do not resize frame, just mark frame size as slipped. * device-x.c: Removed declaration of in_specifier_change_function. * EmacsFrame.c (EmacsFrameSetValues): Do not check in_specifier_change_function. (EmacsFrameSetValues): Simulate a call to resize callback when no actual geometry change happened. * console.h (struct console_methods): Removed declarations for all <specifier>_changed_in_frame methods for toolbars and scrollbars. Added frame_size_fixed_p method. 1998-05-08 SL Baur <steve@altair.xemacs.org> * redisplay.c (decode_mode_spec): Guard against garbage overwriting the stack. 1998-05-08 Kirill M. Katsnelson <kkm@kis.ru> * dired-msw.c (vars_of_dired_mswindows): Syntax fix for union lisp object type. * menubar-msw.c (populate_menu_add_item): Ditto. * ntheap.c (sbrk): Ditto. * ntproc.c (create_child): Ditto. (syms_of_ntproc): Ditto. 1998-05-07 Andy Piper <andyp@parallax.co.uk> * glyphs-msw.c: updates to support total transparency. (mswindows_initialize_image_instance_icon): don't resize bitmaps for icons. (mswindows_initialize_image_instance_mask): new function. Use these new functions as appropriate. * glyphs-msw.h (mswindows_initialize_image_instance_icon): function renamed. * frame-msw.c: use renamed mswindows_initialize_image_instance_icon. * redisplay-msw.c: MaskBlt bitmaps if we have a mask, BitBlt otherwise. 1998-05-07 Kirill M. Katsnelson <kkm@kis.ru> * unexnt.c (read_in_bss): Removed unused variables, replaced exits with aborts. (map_in_heap): Ditto. 1998-05-06 SL Baur <steve@altair.xemacs.org> * frame.c (adjust_frame_size): Don't mix integers and Lisp_Objects. 1998-05-07 Kirill M. Katsnelson <kkm@kis.ru> * print.c (write_string_to_stdio_stream): Under MS Windows, flush stdio and stderr after output. Ouch. 1998-05-05 Andy Piper <andyp@parallax.co.uk> * event-msw.c: comment out broken dnd stuff and don't use msw socket support if we have cygwin select. 1998-05-03 Kirill M. Katsnelson <kkm@kis.ru> * events.h (STREAM_* defines): Defined constants for the parameter FLAGS to create_stream_pair_cb(). * process.c (Fopen_network_stream_internal): Use flags from events.h (Fopen_multicast_group_internal): Ditto. * process-unix.c (unix_create_process): Ditto. * event-unixoid.c (event_stream_unixoid_create_stream_pair): Ditto. Changed #ifdef process type logic to catch configuretion errors when no process type is defined. * event-msw.c: Implemented winsock_stream (get_process_input_waitable): Differentiate network connections. (emacs_mswindows_select_process): Ditto. (emacs_mswindows_create_stream_pair): Ditto. (emacs_mswindows_delete_stream_pair): Ditto. * process-nt.c: Implemented network connections. (nt_init_process): Initialize Winsock. * sysdep.c (init_system_name): Ask for the right name right from the system. * ntproc.c: Removed select emulation crap and dynamic Windock loading. * nt.c: Removed a lot of terrible wrappers for socket functions. * s/windowsnt.h: Removed sys_select encapsulation. 1998-05-05 Hrvoje Niksic <hniksic@srce.hr> * search.c (Fmatch_data): Synch with FSF. 1998-05-04 Greg Klanderman <greg@alphatech.com> * events.h: Add extern declarations for focus_follows_mouse and investigate_frame_change(). * cmdloop.c (Fcommand_loop_1): cleanup focus-follows-mouse handling - move externs to events.h. 1998-05-05 Andy Piper <andyp@parallax.co.uk> * glyphs-msw.c: generate an AND mask when creating an icon and really make it an icon if that is what is required. * glyphs-msw.h (mswindows_create_icon_from_image): new cursor argument. * frame-msw.c (mswindows_set_frame_pointer): set the frame cursor when asked. 1998-05-05 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * s/windowsnt.h: * s/rtu.h: * s/aix4.h: * m/wicat.h: * m/gould.h: * m/gould-np1.h * unexhp9k3.c: * unexconvex.c: * unexalpha.c: * unexaix.c: * regex.c: * process-unix.c: * mule-mcpath.c: * msdos.c: * lisp.h: * gmalloc.c: * getloadavg.c: * broken-sun.h: Removed references to ancient bcmp, bzero, and bcopy. 1998-05-04 Andy Piper <andyp@parallax.co.uk> * gui.el: make gui-button-face colors apply in the mswindows domain as well as for x. * objects-msw.c (mswindows_string_to_color): grok rgb:rrrr/gggg/bbbb color formats used by xpm-button.el. 1998-05-04 Greg Klanderman <greg@alphatech.com> * window.c (Fselect_window): Add optional second argument `norecord' to avoid recording a buffer change. * window.h: change the EXFUN for Fselect_window. * window.c (Fdelete_window): call Fselect_window with 2nd arg Qnil. (Fother_window): ditto. (temp_output_buffer_show): ditto. (Fset_window_configuration): ditto. (Fset_window_configuration): ditto. * frame.c (Fselect_frame): ditto. (Fset_frame_selected_window): ditto. (delete_frame_internal): ditto. * device.c (Fselect_device): ditto. * console.c (Fselect_console): ditto. * callint.c (Fcall_interactively): ditto. 1998-05-05 Hrvoje Niksic <hniksic@srce.hr> * search.c (Fregexp_quote): Loop by characters, not by bytes. 1998-05-05 Jan Vroonhof <vroonhof@math.ethz.ch> * redisplay.c (window_line_number): Guard against selected_device = nil. * frame-x.c (x_init_frame_2): Revert to updating frame title. 1998-05-05 SL Baur <steve@altair.xemacs.org> * emacs.c (shut_down_emacs): Update crash report information. 1998-05-04 Kyle Jones <kyle_jones@wonderworks.com> * linuxplay.c: Initialize audio_dev to /dev/dsp at compile time instead of at run-time. Don't initialize mixer_fd, audio_fd and audio_vol to -1; none of them need it, and XEmacs will crash on some architectures when these variable are modified after being initialized. Declare audio_dev, audio_vol, audio_fd, and mixer_fd as static, since none of them need to be visible outside linuxplay.c. 1998-04-27 Hrvoje Niksic <hniksic@srce.hr> * eldap.c (make_ldap): New function. (finalize_ldap): Use it. (Fldap_open): Ditto. * eldap.c (struct Lisp_LDAP): Removed connection status symbol. * eldap.h (LDAP_LIVE_P): Removed (CHECK_LIVE_LDAP): Adapt to changes in struct Lisp_LDAP 1998-05-03 Hrvoje Niksic <hniksic@srce.hr> * lread.c: (read_escape): Restore handling of \M-a; clarify comment. 1998-05-04 Kyle Jones <kyle_jones@wonderworks.com> * realpath.c: Rename realpath() to xrealpath(). * fileio.c: Call xrealpath() instead of realpath(). * sysdep.h: Use #define to map xrealpath() calls to realpath() on systems that have realpath(). 1998-05-04 Martin Buchholz <martin@xemacs.org> * rangetab.c: * rangetab.h: Move #include's from rangetab.h into rangetab.c for consistency. * inline.c: include rangetab.h to get GCC inlines 1998-05-03 SL Baur <steve@altair.xemacs.org> * event-stream.c (event_stream_next_event): Reverse previous patch to slow down poll for quit. Suggested by Kyle Jones <kyle_jones@wonderworks.com> * lread.c (read_escape): Turn off interpretation of "\M..." Suggested by Olivier Galibert <galibert@pobox.com> * lread.c (read_escape): add explanatory comment about why FSF_KEYS are being turned off. 1998-05-02 SL Baur <steve@altair.xemacs.org> * lread.c (FSF_KEYS): Remove if built with Mule. 1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> * event-msw.c (ntpipe_shove_flusher): Removed. (init_shove_stream): Flusher undeclared. 1998-05-02 SL Baur <steve@altair.xemacs.org> * rangetab.c: `default_dumped' removed. 1998-05-02 Hrvoje Niksic <hniksic@srce.hr> * events.c (Fmake_event): Initialize key data for key-press events. 1998-05-02 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (close_stream_unwind): Renamed to delete_stream_unwind. Delete the stream. (Finsert_file_contents_internal): Delete STREAM after use. (Fmake_temp_name): Improve randomness of generated file names. (Fmake_temp_name): Don't initialize COUNT if in temacs. 1998-05-02 Olivier Galibert <galibert@pobox.com> * buffer.h: Put the range_table lrecrod declaration where it belongs... * rangetab.h: New file - ...which is here. * rangetab.c: Move declarations to rangetab.h 1998-05-01 Hrvoje Niksic <hniksic@srce.hr> * data.c (Fneq): Fix docstring. (arithcompare_many): Slightly simplify. 1998-04-29 Andy Piper <andyp@parallax.co.uk> * s/cygwin32.h: don't define BROKEN_CYGWIN anymore since we normally link with unixoid event loop now. 1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> * event-stream.c (event_stream_next_event): Disable polling for quit while XEmacs is blocked waiting for an event. 1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> * specifier.h: Corrected documentation on magic specifiers. Documented DEPTH parameter to instantiate_method. Renamed reveal->unlock_ghost_specifiers_protected(). * specifier.c: Removed the reveal mechanism and made ghost specifiers read-only, so they are accessible as fallbacks of magic specifier, but aren't modifiable unless C code enables so. (specifier_equal): Compare specifier fallbacks as well. * scrollbar.c (init_frame_scrollbars): (init_device_scrollbars): (init_global_scrollbars): Renamed reveal->unlock_ghost_specifiers_protected(). 1998-05-01 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fcar_less_than_car): Fix Flss caller. (Fcdr_less_than_cdr): Ditto. * lisp.h: Fix declarations. * data.c: Enable many arguments versions of <, >, <=, >= and /=. * bytecode.c (Fbyte_code): Use arithcompare. * data.c (arithcompare): Make non-static. 1998-04-30 Greg Klanderman <greg@alphatech.com> * frame.c (Fselect_frame): update docstring to describe focus-follows-mouse behavior. 1998-05-01 Hrvoje Niksic <hniksic@srce.hr> * print.c (Fwrite_char): Don't touch Vprint_gensym. (print_error_message): Don't gcpro TAIL. (Fdisplay_error): Simplify. 1998-04-30 Hrvoje Niksic <hniksic@srce.hr> * print.c (print_internal): Use long_to_string(). * redisplay.c (decode_mode_spec): Remove bogus calculation of the number of digits. * print.c (Fprin1): Removed THE_STREAM. (Fprinc): Ditto. (Fprint): Ditto. (Fdisplay_error): Canonicalize STREAM here. (print_error_message): Don't canonicalize STREAM. (print_error_message): Use print_internal() instead of Fprin1 and Fprinc. * print.c: (Fprin1_to_string): Delete internal stream explicitly. (Ferror_message_string): Ditto. (Fterpri): Use write_char_internal. 1998-04-18 Martin Buchholz <martin@xemacs.org> * console-x.h: Initialize_Locale should not depend on HAVE_XIM, esp. in the future. * Makefile.in.in: be more careful generating depend. * *.c (F*): Unfortunately, etags can only detect per-line patterns, and so the DEFUN macro must have the lisp name and the C name on the same line for a complete TAGS file. Make it so. * signal.c (init_signals_very_early): * process.c (Fsignal_process): Order the signals in decreasing order of standardization. Provide helpful standardization comments. Add missing signal names. * unexhp9k800.c: Remove undefined roundup. * symsinit.h: Add prototype for init_hpplay(). 1998-04-30 Hrvoje Niksic <hniksic@srce.hr> * window.c (Fcenter_to_window_line): New function. (Frecenter): Use it. 1998-04-30 Hrvoje Niksic <hniksic@srce.hr> * dired.c (make_directory_hash_table): Constify. * scrollbar.c (Fscrollbar_page_up): Use Fcenter_to_window_line instead of Frecenter. (Fscrollbar_page_down): Ditto. (Fscrollbar_to_top): Ditto. (Fscrollbar_to_bottom): Ditto. * window.c (Frecenter): Removed. 1998-04-29 Andy Piper <andyp@parallax.co.uk> * console.h: xpm_normalize is not a console method anymore. * event-msw.c: honour toolbar help string length. * glyphs-msw.c: make copyright more meaningful. implement color symbol support for Xpm. (extract_xpm_color_symbols) new function. * glyphs.c (pixmap_to_lisp_data) (xpm_normalize): fucntions moved from glyphs-x.c * glyphs.h: declare pixmap_to_lisp_data. * toolbar-msw.c: more meaningful copyright. 1998-04-30 Hrvoje Niksic <hniksic@srce.hr> * macros.c (Fend_kbd_macro): New arg REMOVE-LAST. * gui-x.c (popup_selection_callback): Treat anonymous interactive and compiled-function interactive callbacks as commands. 1998-04-28 Hrvoje Niksic <hniksic@srce.hr> * abbrev.c (obarray_has_blank_p): Simplify. 1998-04-27 Hrvoje Niksic <hniksic@srce.hr> * getloadavg.c (getloadavg): Removed some code repetition. 1998-05-01 Kirill M. Katsnelson <kkm@kis.ru> * process-nt.c: Document usage of #pragma warning. (alloc_process_memory): Spell _ALPHA_ correctly. 1998-04-29 SL Baur <steve@altair.xemacs.org> * Makefile.in.in: Change `progname' to `PROGNAME' for consistency. 1998-04-29 Kirill M. Katsnelson <kkm@kis.ru> * frame.c (change_frame_size_1): Adjust frame row/columns taking real toolbar size into account, not the theoretical one. * toolbar.c (set_frame_toolbar): Removed unused parameter. Return void, not unused int. Logic which checks whether toolbar to be recomputed moved here from macro COMPUTE_TOOLBAR_DATA (r.i.p) (compute_frame_toolbars_data): Removed COMPUTE_TOOLBAR_DATA. It did not work due to a bug, and also did not check whether toolbar size has changed. Compute new character sizes passed to change_frame_size, do not use the old (pre-toolbar-change) ones. (update_frame_toolbars): Honor frame_changed and clear frame bits. (recompute_overlaying_specifier): New helper function, called from default toolbar specifier change handlers. (default_toolbar_specs_changed): Use it. (default_toolbar_size_changed_in_frame): Ditto. (default_toolbar_border_width_changed_in_frame): Ditto. (default_toolbar_visible_p_changed_in_frame): Ditto. (toolbar_geometry_changed_in_window): New handler. The old one, some_windows_value_changed, did not do the trick. (default_toolbar_size_changed_in_window): New handler for default toolbar. (default_toolbar_border_width_changed_in_window): Ditto. (default_toolbar_visible_p_changed_in_window): Ditto. (specifier_vars_of_toolbar): Use one of the above four handlers instead of some_windows_value_changed in toolbar specifiers. 1998-04-29 Andy Piper <andyp@parallax.co.uk> * redisplay-msw.c (mswindows_output_string) (mswindows_output_string): output the background pixmap if we have one. 1998-04-28 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * paths.h.in: Added PATH_PROGNAME and PATH_VERSION. 1998-04-28 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c (complex_vars_of_emacs): Added `emacs-program-name' and `emacs-program-version'. 1998-04-29 Kirill M. Katsnelson <kkm@kis.ru> * process-nt.c: Signal support for Windows NT. New code under subheadings "Running remote threads" and "Sending signals". (nt_create_process): Create new process suspended, then enable signals in it, then resume it. (nt_kill_child_process): Implemented (nt_kill_process_by_pid): Ditto. (process_type_create_nt): Registered the two above. 1998-04-28 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c : slight cleanup and bugfix related to memory corruption and possible leaks. Also fix a visual problem with XPM pointers 1998-04-28 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (x_init_image_instance_from_eimage): Make sure automatic pointers are null... 1998-04-27 Greg Klanderman <greg@alphatech.com> * cmdloop.c (Fcommand_loop_1): Call investigate_frame_change if focus_follows_mouse is true. * event-stream.c (next_event_internal): Only call investigate_frame_change if focus_follows_mouse is false. * event-stream.c (investigate_frame_change): Fix focus_follows_mouse handling. It was the case that, with focus_follows_mouse true, (select-frame (next-frame)) could leave next-frame with input focus, but not window manager focus. Now needs to be called from 2 places, conditional on the value of focus_follows_mouse. 1998-04-24 Kirill M. Katsnelson <kkm@kis.ru> * frame.c (Fmake_frame): GC-protect new frame immediately upon creation. 1998-04-27 Kirill M. Katsnelson <kkm@kis.ru> * frame.c (delete_frame_internal): Fixed spurious minibuffer frames when creating minibufferless frames (reverted to 20.3 source, change not in ChangeLog) 1998-04-26 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.h: Added CONCHECK_LDAP macro * eldap.c: Moved definition of most Lisp_object keywords to general.c (Fldap_close): Modified semantics to match those of `Fclose_database' (Fldap_search_internal): Do not consider a `LDAP_SIZELIMIT_EXCEEDED' a fatal error * general.c: Added several keywords needed by eldap.c. Sorted keywords alphabetically. 1998-04-24 Hrvoje Niksic <hniksic@srce.hr> * eldap.c (finalize_ldap): New function; use it when declaring LDAP lrecord type. 1998-04-27 Kirill M. Katsnelson <kkm@kis.ru> * fileio.c (Fwrite_file_contents_internal): Prefer stat() over fstat() back for Windows, where closing a file changes its modification time. 1998-04-26 Amir J. Katz <amir@ndsoft.com> * sysdep.h: Simplified definition of strerror() Sun Apr 23 1998 Andy Piper <andyp@parallax.co.uk> * emacs.c: * symsinit.h: * glyphs-eimage.c: rename glyphs_read to glyphs_eimage. * glyphs.c: * console.h: * glyphs-x.c: * glyphx-msw.c: make xpm_normalize and xpm_instantiate device methods and use them appropriately. Remove redundant pixmap file handling functions. Sun Apr 23 1998 Andy Piper <andyp@parallax.co.uk> * glyphs-msw.c: use XINT for lisp ints. * console-msw.c: remove redundant functions that break under union type. * frame-msw.c: build lisp ints for functions that expect them. * objects-msw.c: don't LISP_HASH COLORREF's. * sheap.c: remove dependency on VALMASK. 1998-04-27 SL Baur <steve@altair.xemacs.org> * debug.c (vars_of_debug): Remove `Fprovide("internal-debug")'. 1998-04-27 Jonathan Harris <jhar@tardis.ed.ac.uk> * device-msw.c: Unconditionally use InitCommonControls() instead of InitcommonControlsEx() - the latter is not defined in all environments. 1998-04-26 SL Baur <steve@altair.xemacs.org> * Makefile.in.in: Religiously use ${progname}. * paths.h.in: Remove reference to user-defined site-lisp location. * debug.c (vars_of_debug): Rename feature to 'internal-debug. 1998-04-24 Martin Buchholz <martin@xemacs.org> * mule-charset.h: * mule-charset.c: Use ints instead of bitfields for Lisp_Charset fields. This should work around bugs in the latest egcs snapshot, and make XEmacs faster. Introduce dimension and chars as fields in Lisp_Charset instead of computing them every time. The extra space is about 1k, a reasonable price. 1998-04-25 SL Baur <steve@altair.xemacs.org> * glyphs-x.c (xface_normalize): Add console_type parameters to calls to `potential_pixmap_file_instantiator'. Sat Apr 24 1998 Andy Piper <andyp@parallax.co.uk> * event-msw.c: fix and enable signal pipe handling when using msg select(). 1998-04-25 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * process-unix.c (allocate_pty): Typo fix. 1998-04-25 Olivier Galibert <galibert@pobox.com> * s/irix5-0.h (PTY_OPEN): Ditto * s/irix4-0.h (PTY_OPEN): Restore the stb variable. 1998-04-25 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c (complex_vars_of_emacs): Typo fixes. * emacs.c: Added configure-exec-prefix-directory. * paths.h.in: Added PATH_EXEC_PREFIX. 1998-04-25 Olivier Galibert <galibert@pobox.com> * unexelfsgi.c (unexec): Kludge for Irix 5.3 which clears the .sbss section no matter what. Defensively remove the alignment fix if the .sbss section type isn't modified (Irix 6.5SE). Remove some warnings. 1998-04-24 Martin Buchholz <martin@xemacs.org> * data.c (Fnot): There has traditionally been kludgy startup lisp code that called `null' even if `not' was more appropriate, because `not' was defined in lisp. This is one primitive sufficiently important that it should ALWAYS be defined. Sat Apr 24 1998 Andy Piper <andyp@parallax.co.uk> * Makefile.in.in: add glyphs-eimage.o to build. * console.h: added console methods init_image_instance_from_eimage and locate_pixmap_file. * emacs.c: add initialisation for glyphs-eimage.c * symsinit.h: declare glyphs-eimage functions. * glyphs-eimage.c: New file - generalised eimage support for gif, tiff, png and jpeg, mainly from glyphs-x.c. * glyphs-msw.c: added init_image_instance_from_eimage. Tidied up file location. * glyphs-x.c: disable gif, tiff, png and jpeg support in this file. Added init_image_instance_from_eimage. Tidied up file location. * glyphs.h: * glyphs.c: abstract image location. Fri Apr 24 19:38:19 1998 Andy Piper <andyp@parallax.co.uk> * config.h.in: support our special select * event-msw.c: * toolbar-msw.c: * console-msw.h: toolbar cleanup. * device-msw.c: * emacs.c: * frame-msw.c: * glyphs-msw.h: * ntplay.c: * process-unix.c: * select-msw.c: * sheap.c: * s/cygwin32.h: warning elimination. 1998-04-24 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fload_average): New argument USE_FLOATS. * alloc.c (Fstring): New function, synched with FSF 20.3. Thu Apr 23 19:38:19 1998 Andy Piper <andyp@parallax.co.uk> * unexcw.c: cope with the reversed executable sections written by binutils-2.9 ld and egcs. 1998-04-24 Kirill M. Katsnelson <kkm@kis.ru> * menubar-msw.c (populate_or_checksum_helper): Fixed to compile with union type. 1998-04-23 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fload_average): Respect errno when reporting getloadavg() errors. * getloadavg.c (getloadavg): Cleaner Solaris implementation, based on sample code by Casper Dik. 1998-04-23 SL Baur <steve@altair.xemacs.org> * frame-x.c (x_delete_frame): remove dead code. 1998-04-22 SL Baur <steve@altair.xemacs.org> * print.c (Falternate_debugging_output): Unconditionally define. 1998-04-22 Hrvoje Niksic <hniksic@srce.hr> * eval.c: Ditto. * alloc.c: Ditto. * lread.c: Ditto. * print.c: Removed standalone hacks. 1998-04-23 Kirill M. Katsnelson <kkm@kis.ru> * toolbar-msw.c (mswindows_clear_toolbar): Fixed wabbit buttons. (mswindows_output_toolbar): Gave 3D look to toolbars. Still no pretty, needs more work. (mswindows_move_toolbar): Renamed so because it does not deal with redrawing exposed toolbars. Properly position toolbars. (mswindows_redraw_exposed_toolbars): Changed calls to the above. (mswindows_find_toolbar_pos): Do not assert if toolbar not found: a command can come from a menu. (mswindows_handle_toolbar_wm_command): Quickly return nil if toolbar not found. 1998-04-22 Kirill M. Katsnelson <kkm@kis.ru> * device-msw.c (tagINITCOMMONCONTROLSEX): Uniform declaration between SDK and cygwin. (mswindows_init_device): InitCommonControls -> InitCommonControlsEx typo fix. Wed Apr 22 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> * glyphs-msw.c (EImage2DIBitmap): count the number of bytes correctly. Wed Apr 22 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> * config.h.in: support for HAVE_MSG_SELECT. * console-msw.h: add support for four toolbars. * device-msw.c: init common controls. * event-msw.c: if HAVE_MSG_SELECT is defined use unixoid event stream tye callbacks and select() on events rather than MWFMO. Added event handling for tooltip messages. If you have this special select then all process support works under cygwin. * frame-msw.c: add support for four toolbars. * redisplay-msw.c: update toolbars when an area is exposed. * signal.c: _WIN32 -> WINDOWSNT. * event-stream.c: enable unixoid initialization if we have it. * event-unixoid.c: allow us to turn off the signal pipe. * toolbar-msw.c: major overhaul. Enable support for all four toolbars, fix display and sizing problems, enable tooltip support, be more optimal about deleting toolbars. * toolbar.h: reinstate 0 toolbar border width for msw. * s/cygwin32.h: minor define updates. 1998-04-22 Hrvoje Niksic <hniksic@srce.hr> * print.c (Falternate_debugging_output): Define only if DEBUG_XEMACS. 1998-04-21 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fmake_temp_name): Updated docstring. 1998-04-21 Hrvoje Niksic <hniksic@srce.hr> * print.c (print_prepare): New argument FRAME_KLUDGE. (print_prepare): If writing to a frame, return a resizing buffer stream. (print_finish): Flush the stream. (Fprin1): Adjust calls to print_prepare() and print_finish(). (Fprinc): Ditto. (Fprint): Ditto. (print_internal): Optimize printing of characters. * print.c (RESET_PRINT_GENSYM): New macro. (print_prepare): Use it. (print_finish): Ditto. (Fwrite_char): Ditto. (Fprin1_to_string): Ditto. 1998-04-22 SL Baur <steve@altair.xemacs.org> * config.h.in: add FOR_MSW variable. From Itay Ben-Yaacov <pezz@www-mail.huji.ac.il> 1998-04-20 Kirill M. Katsnelson <kkm@kis.ru> * alloc.c (report_pure_usage): Remove ifdef WINDOWSNT around "Don't panic, I will restart make". 1998-04-19 Kirill M. Katsnelson <kkm@kis.ru> * process.c (vars_of_process): Declared lisp variable windowed-process-io. * procimpl.h: Externally declared it. * process-nt.c (nt_create_process): Changed to honor the above variable, and to utilize SHGetFileInfo to determine file type. 1998-04-21 Martin Buchholz <martin@xemacs.org> * mule-ccl.c: Fix compiler warnings. I hate compiler warnings. The code is clearer anyways without macros that goto. 1998-04-22 SL Baur <steve@altair.xemacs.org> * glyphs.h: Add prototypes for signal_image_error and signal_image_error_2. Suggested by Hrvoje Niksic <hniksic@srce.hr> 1998-04-18 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * fileio.c: Changed `directory-sep-char' to `path-separator', following a change in GNU Emacs. 1998-04-21 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c: As suggested by Hrvoje Niksic (Fldap_search_internal): Loop and GCPRO cleanup (print_ldap): Removed text translation 1998-04-19 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c: (print_ldap): Ignore escapeflag (Fldap_search_internal): Added unwind protection to appropriately free the LDAP temporary structures in case of interruption. Added a QUIT to the result fetching loop. 1998-04-19 SL Baur <steve@altair.xemacs.org> * emacs.c (TopLevel): New variables: Vinfodock_major_version, Vinfodock_minor_version, Vinfodock_build_version. (vars_of_emacs): Initialize them. * config.h.in: Add InfoDock version numbers. * device-x.c (have_xemacs_resources_in_xrdb): distinguish whether we're running as InfoDock or XEmacs. 1998-04-18 SL Baur <steve@altair.xemacs.org> * glyphs-x.c: Remove definition of Q_color_symbols. * glyphs.h: Declare Q_color_symbols and evaluate_xpm_color_symbols. 1998-04-17 Jonathan Harris <jhar@tardis.ed.ac.uk> * console-msw.h: Added "commctrl.h" and "X11/xpm.h" includes to support toolbars and XPM. * glyphs-msw.c: Removed (!NILP (Vmswindows_bitmap_file_path)) check in locate_pixmap_file() so that lookups of absolute paths don't fail if this is unset. Added new mswindows_xpm_normalize(); * glyphs.h: * glyphs.c: * glyphs-x.c: Moved generic XPM support out of glyphs-x.c into glyphs.c. Functions moved: signal_image_error, signal_image_error_2, check_valid_xpm_color_symbols, evaluate_xpm_color_symbols, xpm_possible_dest_types. xpm_normalize and xpm_instantiate in glyphs.c just call the appropriate x_ or mswindows_ funtion in glyphs-x.c or glyphs-msw.c. * toolbar-msw.c: Don't assert on empty toolbar. * toolbar.c: * toolbar.h: Adjusted mswindows default toolbar height/widths so redisplay is correct. 1998-04-18 Hrvoje Niksic <hniksic@srce.hr> * tooltalk.c (tt_message_arg_ival_string): Ditto. * redisplay.c (window_line_number): Ditto. (decode_mode_spec): Ditto. * glyphs.c (print_image_instance): Ditto. * doprnt.c (emacs_doprnt_1): Ditto. * data.c (Fnumber_to_string): Use long_to_string(). * lisp.h: Declare long_to_string(). * print.c (Fprin1_to_string): Do the Vprint_gensym_alist stunt. * emacs.c (main_1): Don't create print stream. * print.c: Removed print_stream implementation. (print_prepare): Don't create a print_stream. (long_to_string): New function, from GNU Wget. (print_internal): Use it. (output_string): alloca() copies only for strings smaller than 65536 bytes; else, inhibit gc. 1998-04-18 Hrvoje Niksic <hniksic@srce.hr> * config.h.in: Check for DLERROR. * sysdll.c: Cosmetic changes. 1998-04-18 Hrvoje Niksic <hniksic@srce.hr> * sysdll.c (dll_error): It's `dlerror', not `dl_error'. 1998-04-17 Kirill M. Katsnelson <kkm@kis.ru> * specifier.c (prune_specifiers): Fix for Vall_specifiers corruption. * specifier.h: Fixed GC_* macros to utilize GC_EQ, as suggested by Steve. 1998-04-17 Hrvoje Niksic <hniksic@srce.hr> * dll.c (Fdll_open): Simplify interface. * sysdll.c: Allocate BUF dynamically. * cmds.c (internal_self_insert): Removed `no-self-insert' hack. Fri Apr 17 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> * event-msw.c: don't use LocalAlloc()/LocalFree(). With unix processes use a filestream for output. This makes subprocess support work under cygwin. 1998-04-17 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * fileio.c (vars_of_fileio): Resurreced directory-sep-char to be DIRECTORY_SEP instead of hardwired "/". 1998-04-16 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * fileio.c (file_name_as_directory): Now returns "./" (or NT equivalent) for "". 1998-04-09 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c: Fully rewritten introducing a new opaque LDAP Lisp data type. * eldap.h: Ditto 1998-04-17 Olivier Galibert <galibert@pobox.com> * fileio.c (vars_of_fileio): Finish directory_sep_char removal. 1998-04-14 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c (main_1): Added option --debug-paths and analogous variable. 1998-04-15 Hrvoje Niksic <hniksic@srce.hr> * frame-msw.c (Vmswindows_frame_being_created): Don't staticpro. * console-msw.h, event-msw.c, frame-msw.c: Renamed mswindows_frame_being_created to Vmswindows_frame_being_created. 1998-04-12 Kirill M. Katsnelson <kkm@kis.ru> * event-msw.c (emacs_mswindows_quit_p): Do not check for quit character in modal loop. * fileio.c: Removed Vdirectory_sep_char variable. * lisp.h: Removed extern decl for the above. 1998-04-16 SL Baur <steve@altair.xemacs.org> * indent.c (vertical_motion_1): set_marker_restricted takes Lisp_Objects. 1998-04-17 Hrvoje Niksic <hniksic@srce.hr> * md5.c (Fmd5): Correctly rename argument. * print.c (Fprin1_to_string): Remove useless variable. 1998-04-13 Greg Klanderman <greg@alphatech.com> * indent.c (vertical_motion_1): new helper function to share common code between Fvertical_motion and Fvertical_motion_pixels. Properly handle the WINDOW argument as the doc string indicates it should. Update docstrings to be more clear and concise. (Fvertical_motion): use vertical_motion_1. (Fvertical_motion_pixels): use vertical_motion_1. 1998-04-15 Kirill M. Katsnelson <kkm@kis.ru> * specifier.h: Introduced magic specifiers. Please read comments in specifier.h. * specifier.c: Reworked many functions to support magic specifiers. * scrollbar.c (specifier_vars_of_scrollbar): Made magic specifiers Vscrollbar_width and Vscrollbar_height. (init_frame_scrollbars): Enabled critical lisp code operate on ghost specifiers. (init_device_scrollbars): Ditto. (init_global_scrollbars): Ditto. * scrollbar-msw.c (Fmswindows_init_scrollbar_metrics): Scrollbar init function, called from init-scrollbars-from-resuorce in lisp/scrollbar.c (syms_of_scrollbar_mswindows): DEFSUBR it. * emacs.c (main_1): Called syms_of_scrollbar_mswindows() * symsinit.h: Declared syms_of_scrollbar_mswindows() Thu Apr 16 12:59:35 1998 Andy Piper <andyp@parallax.co.uk> * frame-msw.c: * console-msw.h: add toolbars to frame parameters. * emacs.c: call console_type_create_mswindows_toolbar * event-msw.c: call toolbar handling code in main event loop. * glyphs-msw.c (mswindows_create_icon_from_image) (mswindows_resize_dibitmap_instance): new functions. Remove mask stuff from various others. * redisplay-msw.c: * menubar-msw.c: warning elimination. * toolbar-msw.c: new file. Reasonable implementation of toolbars for mswindows. Some features are not complete. * toolbar.c: enable toolbar parameters for mswindows. * toolbar.h: choose slightly different toolbar defaults for mswindows. 1998-04-16 Hrvoje Niksic <hniksic@srce.hr> * lisp.h (CHECK_IMPURE): Use it. * data.c (pure_write_error): Accept an argument. * emacs.c (vars_of_emacs): New variable `internal-error-checking'; initialize it. 1998-04-16 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fmake_temp_name): Avoid random(); simplify. 1998-04-13 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c (complex_vars_of_emacs): Changed configure-exec-path to configure-exec-directory. (decode_path): Doesn't call file-name-as-directory no more as empty components would lead to evil behavior. 1998-04-16 Hrvoje Niksic <hniksic@srce.hr> * extents.c (decode_extent): Unify the error message. 1998-04-17 Hrvoje Niksic <hniksic@srce.hr> * md5.c (Fmd5): Simplify; use only input and encoding streams. (Fmd5): Separate coding guesswork into md5_coding_system(). (Fmd5): Don't close the stream; deleting it is enough. 1998-04-16 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Finsert_file_contents_internal): Prefer fstat() over stat. 1998-04-15 Martin Buchholz <martin@xemacs.org> * fns.c (Fsubseq): Make (subseq nil 0 0) return nil, not #*. 1998-04-16 SL Baur <steve@altair.xemacs.org> * device-x.c (get_device_from_display): Use "infodock" as the fallback name when running as InfoDock. 1998-04-14 Greg Klanderman <greg@alphatech.com> * device-x.c (compute_x_app_name): New function needed to compute application name to use now that XtOpenDisplay is decomposed into XOpenDisplay and XtDisplayInitialize. (x_init_device): use it. 1998-04-06 Greg Klanderman <greg@alphatech.com> * device-x.c (have_xemacs_resources_in_xrdb): adhere to coding standards and avoid opening display twice by breaking XtOpenDisplay into XOpenDisplay and XtDisplayInitialize. (x_init_device): Ditto. 1998-04-15 Olivier Galibert <galibert@pobox.com> * s/aix3-2-5.h: Ditto. * s/aix4-1.h: Ditto. * s/aix4-2.h: Ditto. * s/bsd386.h: Ditto. * s/bsdos2-1.h: Ditto. * s/dgux.h: Ditto. * s/esix.h: Ditto. * s/esix5r4.h: Ditto. * s/hpux8.h: Ditto. * s/hpux9-shr.h: Ditto. * s/hpux9-x11r4.h: Ditto. * s/hpux9.h: Ditto. * s/hpux9shxr4.h: Ditto. * s/isc3-0.h: Ditto. * s/isc4-0.h: Ditto. * s/ptx.h: Ditto. * s/sco4.h: Ditto. * s/sco5.h: Ditto. * s/usg5-3.h: Ditto. * s/usg5-4-2.h: Ditto. * s/usg5-4.h: Kill a bunch of now autodetected defines. 1998-04-05 Greg Klanderman <greg@alphatech.com> * window.c (Fwindow_displayed_pixel_height): rename more appropriately as window-text-pixel-height. (syms_of_window): Update the DEFSUBR. (Fwindow_text_pixel_width): New function for completeness. (Fwindow_text_pixel_edges): New function. (syms_of_window): DEFSUBR 2 new functions. 1998-04-13 Greg Klanderman <greg@alphatech.com> * redisplay.c (redisplay_window): When echo area is active, and we swap in the echo area buffer, restore the minibuffer's pointm and startp when we restore the minibuffer to the window. This avoids having the minibuffer point randomly change when it is active but not selected and a message is shown. 1998-04-16 Hrvoje Niksic <hniksic@srce.hr> * md5.c: replaced RSA reference code with GNU textutils implementation. 1998-04-14 Martin Buchholz <martin@xemacs.org> * signal.c (init_signals_very_early): Make `nohup xemacs &' work. Wrap #ifdefs around uses of SIGQUIT and SIGILL. 1998-04-12 Kirill M. Katsnelson <kkm@kis.ru> * objects-msw.c (mswindows_initialize_font_instance): Fixed assert abuse; proper cleanup on GDI error. 1998-04-14 Kirill M. Katsnelson <kkm@kis.ru> * console-msw.h: Declared get_nt_process_handle() and mswindows_bump_queue(). Removed declarations for mswindows_enqueue_dispatch_event() and mswindows_enqueue_magic_event(). * event-msw.c (emacs_mswindows_create_stream_pair): Casts on handle types and get_osfhandle() return type. From Andy Piper. (emacs_mswindows_select_process): Get Win32 process handle directly from process lrecord. (get_process_handle): Removed function. (emacs_mswindows_handle_magic_event): Removed handling of XM_BUMPQUEUE magic event. (mswindows_wnd_proc): Removed handling of WM_EXITMENULOOP message, which called a do-nothing handler in menubar-msw.c (mswindows_wnd_proc, WM_EXITSIZEMOVE): Queue an empty event instead of magic event, via mswindows_bump_queue(). (mswindows_wnd_proc, WM_CLOSE): Ditto. (mswindows_need_event): Call mswindows_bump_queue() upon process termination, in case process pipe does not get closed along. Do not close process handle. (mswindows_bump_queue): Added function. (mswindows_enqueue_dispatch_event): Made static. (ntpipe_slurp_*): Revamped the slurp thread implementation so the stream does not expect the thread to terminate when stream is closed. (ntpipe_slurp_reader): Fixed an attempt to read zero bytes from the pipe. * event-stream.c (event_stream_deal_with_async_timeout): Conditionalized timer-based polling for finished processes on HAVE_UNIX_PROCESSES. * menubar-msw.c (mswindows_handle_wm_command): Queued proper bump queue event. (mswindows_handle_wm_exitmenuloop): Removed function. * menubar-msw.h: Removed unused function prototype. * process-nt.c (get_nt_process_handle): Added function. * signal.c (init_poll_for_sigchld): Conditionalized on HAVE_UNIX_PROCESSES. 1998-04-13 Kirill M. Katsnelson <kkm@kis.ru> * frame-msw.c: Implemented the following methods: mswindows_get_mouse_position() mswindows_set_mouse_position() mswindows_frame_totally_visible_p() 1998-04-11 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c: Renamed inhibit-package-init to inhibit-early-packages to better reflect its semantics. Renamed inhibit-update-autoloads to inhibit-package-autoloads. (complex_vars_of_emacs): Added site-directory and lisp-directory. -no-packages -> no-early-packages. * Makefile.in.in: Reflected reinstatement of paths.h.in. * paths.h.in: Reinstated. * paths.h.in.in: Removed. * config.h.in: Moved configure path and directory options from paths.h.in.in. 1998-04-11 Kirill M. Katsnelson <kkm@kis.ru> * event-msw.c (emacs_mswindows_quit_p): don't recurse. 1998-04-10 Kirill M. Katsnelson <kkm@kis.ru> * callproc.c (init_callproc): Correctly initialize `shell-file-name' for WINDOWSNT * emacs.c (main_1): Properly called new functions (see symsinit.h entry for which). * event-msw.c (struct ntpipe_slurp_stream): (slurp_thread): (make_ntpipe_input_stream): (get_ntpipe_input_stream_waitable): (get_ntpipe_input_stream_param): (ntpipe_slurp_reader): (ntpipe_slurp_closer): (init_slurp_stream): Win32 pipe input stream implementation. (struct ntpipe_shove_stream): (shove_thread): (make_ntpipe_output_stream): (get_ntpipe_output_stream_param): (ntpipe_shove_writer): (ntpipe_shove_was_blocked_p): (ntpipe_shove_flusher): (ntpipe_shove_closer): (init_shove_stream): Win32 pipe output stream implementation. (mswindows_enqueue_process_event): Dispatch helper. (find_waitable_handle): (add_waitable_handle): (remove_waitable_handle): New three, waitable handles handling. (mswindows_need_event_in_modal_loop): Simplified. (mswindows_need_event): Simplified. (mswindows_need_event): Generate process events on process output; kick status_notify when a process ends. (mswindows_find_console): Simplified. (emacs_mswindows_event_pending_p): Adjusted parameters to mswindows_need_event(). (emacs_mswindows_next_event): Ditto. (get_process_input_waitable): (get_process_handle): Process select/unselect helpers. (emacs_mswindows_select_process): Implemented. (emacs_mswindows_unselect_process): Implemented. (emacs_mswindows_quit_p): Call mswindows_drain_windows_queue() directly so do not even try do dequeue process events. Saved a byte and a tick. (emacs_mswindows_create_stream_pair): Implemented. (emacs_mswindows_delete_stream_pair): Implemented. (vars_of_event_mswindows): Registered the above two. (lstream_type_create_mswindows_selectable): Function called from emacs.c to create two pipe lstream types. * ntproc.c (sys_select): Disgustful brain fart this file is. * process-nt.c: New file: Asynchronous subprocess implemenation for Win32. * process.h: Declare Fprocess_id(). * signal.c (init_signals_very_early): Conditionalize possibly nonexistent signals. * symsinit.h: Declared: lstream_type_create_mswindows_selectable () process_type_create_nt () vars_of_process_nt () * s/windowsnt.h: Defined HAVE_WIN32_PROCESSES. Removed fake SIGTRAP, SIGPIPE and SIGCHLD. 1998-04-10 Martin Buchholz <martin@xemacs.org> * fns.c (Fnthcdr): Most times through the loop will get a cons, so optimize for that. * bytecode.c (Fbyte_code): Remove '91 vintage compiler bug workaround. Add NATNUMP check for Bnth bytecode. Bnth: Optimize case of n > length (list). QUITs not necessary since even if list is circular, n will count down to 0. Bnthcdr: inline the code for nthcdr (we have a bytecode for it, after all) Bcdr, Bcar: Use tail recursion. 1998-04-10 Hrvoje Niksic <hniksic@srce.hr> * redisplay.c (redisplay_window): Don't lose with negative scroll_step. 1998-04-09 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fmake_temp_name): Don't use `+' in generated file names. (Fmake_temp_name): Randomize the initial values of counters. 1998-04-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * Makefile.in.in: paths.h.in is now generated from paths.h.in.in. * emacs.c (decode_path): Removed parsing of "::" into nil component. 1998-04-09 Martin Buchholz <martin@xemacs.org> * lstream.c (make_filedesc_stream_1): Fix another Martin blooper. 1998-04-07 SL Baur <steve@altair.xemacs.org> * emacs.c (Fdump_emacs): Delete superfluous open comment. 1998-04-06 SL Baur <steve@altair.xemacs.org> * emacs.c (Fdump_emacs): Move call to disable_free_hook back to Fdump_emacs where it belongs. 1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> * nt.c (sys_mkdir): Added the second unused parameter, after UNIX version. Suggested by Martin. 1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> * event-msw.c (mswindows_wnd_proc): Fix member access macro names. * frame-msw.c (mswindows_frame_property): (mswindows_internal_frame_property_p): (mswindows_frame_properties): Implemented for the 'left and 'top properties. (console_type_create_frame_mswindows): Regsitered the above. (mswindows_set_title_from_bufbyte): Update title only if it has really changed. This avoids a bit of flashing. * console-msw.h (FRAME_MSWINDOWS_TITLE_CHECKSUM): To update title smoother. (MSWINDOWS_FRAME_*(f)): Were MSWINDOWS_FRAME_*(f). Eeek! 1998-04-06 Kazuyuki IENAGA <ienaga@jsys.co.jp> * unexfreebsd.c: introduce FreeBSD port's patch to avoid FreeBSD-current warns "Absurd new brk addr". 1998-04-06 Colin Rafferty <colin@xemacs.org> * glyphs-x.c (struct gif_error_struct): Made the err_str point to a CONST char* instead of non-const. (tiff_memory_write): Add fake return statement to shut up warnings. 1998-04-06 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Finsert_file_contents_internal): Correctly handle special files larger than 32K. 1998-04-06 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fmake_temp_name): Don't call mktemp(). 1998-04-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * unexelf.c: include <config.h> first. 1998-04-04 Martin Buchholz <martin@xemacs.org> * sysdep.c: Add #include <sys/termio.h> for AIXHFT as suggested on c.e.x. * nt.c: * ntproc.c: Change "config.h" to <config.h>. Add dire warnings to code since config.h is not included first. * powerpc.h: Avoid redefinition warning on START_FILES. * window.c: Rename Vminibuf_scroll_window to Vminibuffer_scroll_window. * hpplay.c: Rename play_gain to hp_play_gain in accordance with coding standards. * frame-x.c (x_lower_frame): (x_raise_frame_1): Clarify code. Save a nanosecond if frame not visible. * fileio.c (Fmake_temp_name): Use static CONST suffix; save a nanosecond. 1998-04-05 Amir J. Katz <amir@ndsoft.com> * sysproc.h: Added #include <sys/types.h> before <sys/socket.h> otherwise callproc.c does not compile on SunOS 4.1.4 with gcc 2.8.1 * sysdep.h: strerror() does not return CONST in gcc 2.8.1 1998-04-05 Hrvoje Niksic <hniksic@srce.hr> * redisplay.c (generate_fstring_runes): Grok specifiers and symbols indirecting to specifiers. 1998-04-06 Olivier Galibert <galibert@pobox.com> * events.c (print_event): XINT() may return a long. * insdel.c (make_gap): Thou shan't cast EMACS_INT_MAX to int. (buffer_insert_string_1): ditto. * regex.c (print_partial_compiled_pattern): Neither EMACS_INTs nor ptrdiff_t are portably printable as an int. * redisplay.c (window_line_number): Don't assume that an EMACS_INT in an int. * alloc.c (report_pure_usage): Don't assume that a size_t is displayable as an int. 1998-04-06 SL Baur <steve@altair.xemacs.org> * process-unix.c: Fix typo in #ifdef. From Hrvoje Niksic <hniksic@srce.hr> 1998-04-06 Olivier Galibert <galibert@pobox.com> * unexelfsgi.c (unexec): Don't treat the sbss section as bss if it isn't one. Needed for irix 6.5. 1998-04-05 Martin Buchholz <martin@xemacs.org> * sysdep.h: Two prototypes that weren't properly size_t'ed 1998-04-04 Martin Buchholz <martin@xemacs.org> * ralloc.c: mallopt <==> malloc.h. 1998-04-04 Martin Buchholz <martin@xemacs.org> * emacs.c: #include <paths.h>, not "paths.h" This is a standard bug. It manifests if you configure in the source tree, then configure elsewhere with --srcdir. Remove misleading PATH_EXEC comment; PATH_PACKAGEPATH is also used. 1998-04-04 Olivier Galibert <galibert@pobox.com> * s/386bsd.h: Removed obsolete define. 1998-04-04 Olivier Galibert <galibert@pobox.com> * s/386-ix.h: Removed useless define. * sysdep.c (insque): Removed. Not used anywhere in the code. 1998-04-04 Olivier Galibert <galibert@pobox.com> * process-unix.c (unix_kill_child_process): Use TIOCSIGSEND or TIOCSIGNAL as needed. * s/usg5-4.h: Remove kludgy TIOCSIGSEND #define which breaks on irix 6.5. 1998-03-28 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (emchar_string_displayed_columns): Simplify for non-Mule case. * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Issue nicer output. 1998-04-01 Martin Buchholz <martin@xemacs.org> * sysdir.h (sys_mkdir): * sysfile.h (sys_read): (sys_write): (sys_chmod): (sys_creat): * sysdep.c (sys_read_1): (sys_read): (sys_write_1): (sys_write): (sys_mkdir): (sys_readlink): (sys_chmod): (sys_creat): * nt.c (sys_read): (sys_chmod): (sys_creat): (sys_write): Change types of sys_* in accordance with published standards. Use size_t and mode_t instead of unsigned int and int. 1998-04-03 Martin Buchholz <martin@xemacs.org> * config.h.in (enum_field): * lisp-union.h: * extents.h: * redisplay.c (add_margin_runes): Prefer enums for use as bitfields in preference to unsigned int, but allow the possibility to suppress it if a compiler disallows it or emits annoying warnings. Currently only __SUNPRO_C cc -Xc used unsigned ints. * event-stream.c: Fixup DEFVAR for Vcomposed_character_default_binding; Real bug! * event-msw.c: Rename mswindows_button2* to mswindows_mouse_button* * emacs.c: Rename suppress_early_backtrace to suppress_early_error_handler_backtrace * objects-x.c: Rename handle_nonfull_spec_fonts to x_handle_non_fully_specified_fonts * lread.c: Rename puke_on_fsf_keys to fail-on-bucky-bit-character-escapes * lread.c: * doc.c: Rename Vdoc_file_name to Vinternal_doc_file_name * fileio.c: * bufslots.h: * buffer.c: Rename save_length to saved_size * alloc.c: Rename pureptr to pure_bytes_used * abbrev.c: Rename last_abbrev_point to last_abbrev_location * lisp.h: DEFVAR_* are supposed to be named following a standard convention. 1998-04-03 Martin Buchholz <martin@xemacs.org> * callint.c: * ralloc.c: * data.c: * eldap.c: * extents.c: * frame-msw.c: * frame-x.c: * general.c: * process.c: * xselect.c: Rationalize defsymbol handling. defsymbols are supposed to have equivalent C and Lisp names, for consistency. At least one real bug (end-glyph-layout) fixed. Move multiply defsymbol'ed stuff into general.c. 1998-04-03 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * m/ibmrs6000.inp: Removed; obsoleted by configure.in changes. 1998-04-03 Martin Buchholz <martin@xemacs.org> * console-tty.c (Fset_console_tty_input_coding_system): (Fset_console_tty_output_coding_system): Input/Output and encoding/decoding were reversed. 1998-04-02 SL Baur <steve@altair.xemacs.org> * m/powerpc.h: Remove LD_SWITCH_MACHINE for Linux. 1998-04-02 Greg Klanderman <greg@alphatech.com> * window.c (set_window_pixsize): Move up call to check_min_window_sizes. * indent.c (vmotion_1): renamed from vmotion() and added additional argument to optionally return the pixel motion. (vpix_motion): Helper for vmotion_1. (vmotion): Wrapper - just call vmotion_1() with the right args. (Fvertical_motion_pixels): New function. (syms_of_indent): DEFSUBR it. 1998-04-02 Martin Buchholz <martin@xemacs.org> * xselect.c: * event-Xt.c: * emacs.c: Remove last vestiges of #ifdef EPOCH code. It had no chance of working anyways. In honour of seeing Marc Andreesen in person for the first time today. 1998-04-01 Martin Buchholz <martin@xemacs.org> * extents.h: * lisp-union.h: Don't use enums as bitfields - only unsigned ints. Fixes: warning: nonportable bit-field type * eval.c (call_with_suspended_errors): More volatilizing to appease Sunpro cc. * mem-limits.h: * ralloc.c: Remove #undef NULL; they're not even used! * process-unix.c (unix_send_process): send_process is a method, so we can't include volatile in the prototype. We make the argument non-volatile, make a volatile copy, and then use that instead. * frame-x.c (x_delete_frame): The `frame' variable is initialized but not actually used. * Makefile.in.in (xselect.o): The last line of b34-pre2's src/Makefile.in.in contains a dependency that should have been patched away. (mostlyclean): Remove the removal of depend.* - no such files exist anymore * make-src-depend: include a dependency on only one of lisp-union.h or lisp-disunion.h. 1998-04-01 Martin Buchholz <martin@xemacs.org> * specifier.c (specifier_instance_from_inst_list): A nanosecond saved is a nanosecond earned. 1998-03-31 Greg Klanderman <greg@alphatech.com> * redisplay.c (update_line_start_cache): Fix bug involving invisible text in which the line_start_cache gets hosed. Sun Mar 29 1998 Andy Piper <andyp@parallax.co.uk> * console-msw.h: define FRAME_MSWINDOWS_CDC. * frame-msw.c: (mswindows_set_frame_icon) new function. Works but no masks as yet. * glyphs-msw.c: GNUize the code. Fix 24bpp display and make the default. Add managment of icons. * glyphs-msw.h: add icon attributes. * redisplay-msw.c: (mswindows_output_pixmap) remove unused cursor code. * objects-msw.c: eliminate char subscript warning. 1998-04-01 SL Baur <steve@altair.xemacs.org> * sysdll.c (dll_close): fix typo. Suggested by Marcus Thiessel <marcus_thiessel@hp.com> 1998-03-28 Kyle Jones <kyle_jones@wonderworks.com> * device.c (Fset_device_class): Recompute cached specifiers everywhere if device class is changed. Set various redisplay flags so that the device's various frames are redisplayed. 1998-03-31 SL Baur <steve@altair.xemacs.org> * lrecord.h (DECLARE_NONRECORD): Remove redundant paren. Suggested by Martin Buchholz <martin@xemacs.org> 1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> * gui.c (gui_item_display_flush_left): Fix suffix length. 1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> * s/windowsnt.h: Defined SIZEOF_LONG_LONG and SIZEOF_VOID_P * dired-msw.c: Included <limits.h> * config.h.in (VOID_P_BITS): Fixed so that uses SIZEOF_VOID_P 1998-03-31 SL Baur <steve@altair.xemacs.org> * glyphs.c (image_instantiate_cache_result): Correct order of parameters to Fputhash. Suggested by Kirill M. Katsnelson <kkm@kis.ru> 1998-03-30 Martin Buchholz <martin@xemacs.org> * redisplay.c (create_right_glyph_block): glyph_type should really be glyph_layout. 1998-03-29 Martin Buchholz <martin@xemacs.org> * sysfile.h: Move all encapsulations from lisp.h/emacsfns.h into sysfile.h. Users of the functionality herein will have to #include sysfile.h. Check all .o files for missing #includes. * config.h.in: Discovered that config.h.in was missing ENCAPSULATE_CLOSEDIR, as a result of fixing the above. * gui.c (gui_item_add_keyval_pair): We should not use the idiom error ("%S", lisp_object) in C code. I converted the code to use signal_simple_error_2 instead. (signal_too_long_error): Ditto. * glyphs.c (image_instantiate_cache_result): Use XC[AD]R instead of Fc[ad]r. This is always called with valid conses, and in fact, already assumed it. * font-lock.c (find_context): Use context_none with context instead of ccontext_none. * fns.c (Flength): The CONSP and NILP code can be combined. Change the name of the arg to SEQUENCE from OBJ. (Fnthcdr): CHECK_NATNUM instead of CHECK_INT. Optimize out Fcdr calls. (Felt): Change argument from seq to sequence to match docstring. 1998-03-28 Martin Buchholz <martin@xemacs.org> * fns.c (string_putprop): (string_getprop): Make method functions static. * window.c (find_window_by_pixel_pos): Warning suppression. * imgproc.c (splitbox): Warning suppression. * redisplay-x.c (x_output_eol_cursor): Remove redundant XSETWINDOW. * glyphs-x.c (signal_image_error): (signal_image_error_2): (convert_EImage_to_XImage): Make functions static. * editfns.c (Fbuffer_size): Rename the `F' function to Fbuffer_size in accordance with coding standards. * dll.c (Fdll_open): Fix up data conversion. Provide auxiliary function maybe_call_library_function(). * device-x.c (get_x_display): make function static. * data.c (Fcar): Should generate listp, not consp error. (Fcdr): Should generate listp, not consp error. 1998-03-27 Martin Buchholz <martin@xemacs.org> * console-tty.c (free_tty_console_struct): Replace con->console_data with CONSOLE_type_DATA (con) * *.[ch]: C++ compilability of xemacs, on Linux and Solaris. * casetab.c (Fcase_table_p): Optimize. * eval.c: * bytecode.c: Rename Fcondition_case_3 to condition_case_3 - it's not a DEFUN. * buffer.h: Remove all *BUFFER_OR_STRING* macros - unused. (memind_to_bytind): Merge two versions of function by moving #ifdef ERROR_CHECK_BUFPOS into the function body. (*_DATA_ALLOCA*): get types correct. rewrite for clarity. * balloon_help.c (balloon_help_destroy): rearrange order of functions, and remove prototype from header file. * alloc.c (deadbeef_memory): Rewrite. Use size_t for clarity. Don't bother with the left-over bytes, since in practice we will always get called with a size multiple of 4. (Fmake_list): CHECK_NATNUM instead of CHECK_INT (vector[4567]): Currently unused; ifdef out. (make_pure_float): make function static. (garbage_collect_1): Optimize. 1998-03-23 Martin Buchholz <martin@xemacs.org> * marker.c (print_marker): Fix compiler warning, real bug! * device.h (MARK_DEVICE_FRAMES_FACES_CHANGED): * frame.h (MARK_FRAME_FACES_CHANGED): (MARK_FRAME_TOOLBARS_CHANGED): (MARK_FRAME_SIZE_CHANGED): (MARK_FRAME_CHANGED): (MARK_FRAME_WINDOWS_CHANGED): (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Fix multiple evaluation of macro arguments. Macros are a fact of life. Callers have to use temp variables to avoid multiple evaluation of arguments. * data.c (Ftrue_list_p): New function, with obvious meaning. This is terminology from Cltl2. Also define a corresponding macro TRUE_LIST_P. * device-x.c (validify_resource_component): Optimize. Rename. Use the standard technique of using a precomputed table of valid chars. (x_get_resource_prefix): (Fx_get_resource): (Fx_get_resource_prefix): Avoid fixed buffer sizes. Use a char_dynarr. Run validify_resource_component on all computed components. * lisp.h: Define a char_dynarr type. 1998-03-22 Martin Buchholz <martin@xemacs.org> * fns.c (Fcopy_alist): Optimize. * alloc.c (acons): New function. Now used in the C code. Definition in cl.el is commented out. Add docstring. Use acons in functions which create alists. * lisp/cl.el (acons): Add docstring. Really otta be a macro, tho. * buffer.c (Fbuffer_memory_usage): * window.c (Fwindow_memory_usage): Clean up horrible consing code using new acons function. Fix incorrect value reported for gap-overhead. * fns.c (Fmember): (Fold_member): (Fmemq): (Fold_memq): (memq_no_quit): (Fassoc): (Fold_assoc): (Fassq): (Fold_assq): (assq_no_quit): (Frassoc): (Fold_rassoc): (Frassq): (Fold_rassq): (rassq_no_quit): (Fdelete): (Fold_delete): (Fdelq): (Fold_delq): (delq_no_quit): (delq_no_quit_and_free_cons): (Fremassoc): (Fremassq): (remassq_no_quit): (Fremrassoc): (Fremrassq): (remrassq_no_quit): (Fnreverse): (Freverse): (Fnthcdr): Optimize. Replace calls to Fcar, Fcdr, Fsetcar with XCAR and XCDR. Simplify logic. Many of these functions wouldn't QUIT if called on cyclic lists. e.g. try (progn (setq x '(nil)) (setcdr x x) (reverse x)) One benchmark of delq showed it to be 3 times faster. * emacs.c: * database.c: Cleanup of database functions. Make the get_subtype and get_type methods return Lisp_Objects, instead of C strings. No more need for both dbm_type and dbm_lisp_type. Rewrite the doc strings to be consistent with XEmacs tradition. Replace old `dbm' names with `database'. Rename struct database to struct Lisp_Database. Rename DEFUN arguments to `database', when applicable. * buffer.c: * chartab.c: * console.c: * data.c: * database.c: * device.c: * elhash.c: * eval.c: * event-stream.c: * extents.c: * faces.c: * frame.c: * glyphs.c: * keymap.c: * lstream.c: * mule-charset.c: * mule-coding.c: * objects.c: * opaque.c: * process.c: * rangetab.c: * specifier.c: * symbols.c: * tooltalk.c: * window.c: Place DEFINE_LRECORD_* after definition of static object methods, to avoid redundant declarations. * console.c: * console.h: * device.c: * device.h: * extents.c: * extents.h: * frame.c: * frame.h: * glyphs.c: * glyphs.h: * lisp.h: * lstream.c: * lstream.h: * signal.c: * specifier.c: * specifier.h: Eliminate MAC_* macros. The MAC_ macros use non-standard comiler extenstions which cause gcc to generate bad code on Sparc/Solaris. Attractive though the idea of using those compiler extensions is, they are just not robust enough to use in the real world. So we eliminate them. We put up with some sub-optimalities, like macros with multiple evaluation. Such is life with C. The MAC_ macros were pretty darn ugly anyways. We CAN use inline functions, since the advent of C++ means that compilers must support those anyways. 1998-03-21 Martin Buchholz <martin@xemacs.org> * alloc.c (list*): Optimize recursion levels. * alloc.c: Add debugger support via enum dbg_constants. * gdbinit: Complete rewrite. * gdbinit.union: Remove * gdbinit.pre-4.14: Remove * dbxrc: Complete rewrite. * man/xemacs-faq.texi: Proper robust debugger support for gdb and Sun's dbx. Support all combinations of Kylish DEFINEs. Work out of the box with no user customizations. See the updated faq for details. * emacsfns.h: Remove. Move declarations to lisp.h * dynarr.h: Remove. Move declarations to lisp.h * lisp.h. Optimize header file handling to improve compile time over a network. Introduce EXFUN macro for external declaration to correspond to DEFUN. Include header files only when necessary, i.e. not from lisp.h: - unistd.h, limits.h, fnctl.h, blocktype.h, dynarr.h, emacsfns.h * lisp.h: * lisp-union.h: * lisp-disunion.h: Rewrite low level object frobbing. Make it safe to use XSETOBJ on uninitialized Lisp_Objects. (markbit might have been set otherwise) Move XPRNTRVAL->XPNTR computation out of lisp-*union.h, since it is union-type-independent. * EmacsFrame.c: * alloc.c: * chartab.c: * console.c: * dialog-x.c: * doc.c: * elhash.c: * eval.c: * event-Xt.c: * event-stream.c: * event-unixoid.c: * extents.c: * faces.c: * file-coding.c: * frame.c: * glyphs.c: * insdel.c: * keymap.c: * lstream.c: * marker.c: * menubar-x.c: * mule-coding.c: * opaque.c: * ralloc.c: * rangetab.c: * redisplay-msw.c: * redisplay-output.c: * redisplay-tty.c: * redisplay-x.c: * redisplay.c: * scrollbar-x.c: * scrollbar.c: * specifier.c: * symbols.c: * toolbar-x.c: * toolbar.c: * window.c: As a result of the above lisp*.h changes, we can now safely remove initializations of Lisp_Objects before calling XSETOBJ on them. This was only being done half the time, anyways. * Makefile.in.in (depend): New target. calls make-src-depend. * depend: New file. Generated by make-src-depend * make-src-depend: New file. generates up-to-date dependencies. Makefile dependencies are now automagically maintained, and CORRECT. lisp.h and friends are now included in the dependencies, since this complies with the principle of least astonishment. * symbols.c (symbol_is_constant): Optimize. 1998-03-30 SL Baur <steve@altair.xemacs.org> * frame.c (vars_of_frame): Default frame name should be InfoDock for InfoDock. 1998-03-29 SL Baur <steve@altair.xemacs.org> * emacs.c (voodoo_free_hook): ELF libraries built with newer versions of GCC do horrible things in dumped binaries after exit() is called. (Fkill_emacs): Use it. 1998-03-28 SL Baur <steve@altair.xemacs.org> * s/linux.h: For simplicity, do not use standard linking because it is deadly with new GCC. Sat Mar 28 10:16:29 1998 Andy Piper <andyp@parallax.co.uk> * Makefile.in.in: fix fastdump target * console-msw.h: add memory dc to frame. * frame-msw.c: manage memory dc on frame creation/deleteion * frame.h: mess with toolbar macros so that xemacs doesn't die in redisplay with a triple build. * g;yphs-msw.c: GNUize the code. Fix 24bpp display and make the default. * glyphs-msw.h: remove memory dc from image attributes. * redisplay-msw.c: fix redisplay to use new frame memory dc. * sheap.c: bump initial sheap yet again to allow byyte recompilation. * unexcw.c: fix section parsing for multiple idata and rdata sections. 1998-03-27 SL Baur <steve@altair.xemacs.org> * emacs.c: Enabled free-hook.c code if LOSING_GCC_DESTRUCTOR_FREE_BUG is defined. 1998-03-28 Kyle Jones <kyle_jones@wonderworks.com> * Fixed display bug where changes to builtin glyphs like Vcontrol_arrow_glyph would not be propagated immediately to the display. * device.h: Added glyphs_changed field to device struct. Created MARK_DEVICE_GLYPHS_CHANGED macro. * frame.h: Added glyphs_changed field to frame struct. Created MARK_FRAME_GLYPHS_CHANGED macro. * redisplay.h: Declared glyph_changed and glyph_changed_set variables, mimicking clip_changed and clip_changed_set. New macro MARK_GLYPHS_CHANGED. * redisplay.c: Defined glyph_changed and glyph_changed_set variables, mimicking clip_changed and clip_changed_set. (redisplay_window): Reset the window's glyph cache is f->glyphs_changed is non-zero. Call regenerate_window if f->glyphs_changed is non-zero. (redisplay_frame): Clear f->glyphs_changed after successful redisplay of all windows on frame. (redisplay_device): Redisplay frame if f->glyphs_changed is non-zero. Clear d->glyphs_changed after successful redisplay of all frames on device (redisplay_without_hooks): Redisplay devices if glyphs_changed is non-zero. Redisplay an individual device if d->glyphs_changed is non-zero. Clear glyphs_changed after successful redisplay of all devices. (redisplay_glyphs_changed): Dropped use of MARK_CLIP_CHANGED. Call MARK_FRAME_GLYPHS_CHANGED for all affected frames. For locales that are not device related, mark all frames. * redisplay-output.c (compare_display_blocks): Output the whole display block if f->glyphs_changed is non-nil. 1998-03-27 Kyle Jones <kyle_jones@wonderworks.com> * callproc.c (Fcall_process_internal): In the case where fd_error and fd1 are the same don't close that descriptor twice. 1998-03-27 SL Baur <steve@altair.xemacs.org> * frame-x.c (x_update_frame_external_traits): Need a Lisp_Object frame as well as a struct frame. 1998-03-27 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c (main_1): Reinstated PATH searching for invocation data. 1998-03-26 Kirill M. Katsnelson <kkm@kis.ru> * menubar.c (Fmenu_find_real_submenu): See the entry for gui.h. * menubar-msw.c (populate_menu_add_item): Used GCPRO_GUI_ITEM macro to aviod warnings, in 2 places. (populate_or_checksum_helper): Ditto (populate_or_checksum_helper): Added placeholder for menu right flash customization. * gui.h (GCPRO_GUI_ITEM): Code which warning-free GC protects a GUI_ITEM structure moved into this macro from menubar.c * frame-x.c (x_update_frame_external_traits): Moved part of the former update_EmacsFrame() here. (console_type_create_frame_x): Declared the above method. * frame-msw.c (mswindows_set_frame_properties): Do not try to resize the frame if called from Fmake_frame the first time (potential race condition). (mswindows_init_frame_1): Fixed support for popup frames. (mswindows_delete_frame): Fixed memory leak. (mswindows_get_frame_parent): Implemented. (mswindows_update_frame_external_traits): Moved part of the former update_EmacsFrame() here. (console_type_create_frame_mswindows): Declare get_frame_parent and update_frame_external_traits methods. * faces.c (update_EmacsFrame): Converted into a device method `update_frame_external_traits'. * event-msw.c (mswindows_wnd_proc, WM_SIZE): Rewrote to avoid relying on an assumption on when Windows calls this handler. (mswindows_find_frame): Return the frame being created if the windows does not yet have associated frame object (mswindows_find_frame): Casted long to Lisp_Object properly. * device.c (window_system_pixelated_geometry): Changed to call the device_implementation_flags device method. * device-msw.c (mswindows_device_implementation_flags): Implemented. (console_type_create_device_mswindows): Declared the above. * console.h (struct console_methods): Added device_implementation_flags_method and update_frame_external_traits_method. Defined flags retuned by device_implementation_flags_method. * console-msw.h (struct mswindows_frame): Added charheight and charwidth fields. Added macros for referring to these two, Rvalue. Moved Windows-specific macros from frame.h here. (typedef struct XEMACS_RECT_WH): Added. Declared global variables. 1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> * console-msw.h: Added prototypes for mswindows_protect_modal_loop() and mswindows_unmodalize_signal_maybe(). * scrollbar-msw.c (mswindows_update_scrollbar_instance_status): Removed redundant call to set_frame_size method. * frame.c (Fframe_property): For a window system with pixel-based geometry, convert passed char-based metrics to pixels. (Fframe_properties): Ditto. (Fset_frame_height): Ditto. (Fset_frame_width): Ditto. (Fset_frame_size): Ditto. (frame_conversion_internal): Added a parameter, controlling whether the function uses real char metrics or 1 when geometry is pixel-based. Allow NULL for output int* params. (pixel_to_char_size): frame_conversion_internal() is called with indication to fake font size to 1. (char_to_pixel_size): Ditto. (round_size_to_char): Ditto. (pixel_to_real_char_size): (char_to_real_pixel_size): (round_size_to_real_char): New three counterparts of the above metioned functions, which always use real character metrics. (change_frame_size_1): Use real character metrics when computing minibuffer height. * frame.h: Prototypes for pixel_to_real_char_size(), char_to_real_pixel_size(), round_size_to_real_char(). * frame-msw.c (mswindows_init_frame_1): Rewritten to support system-default new window width and height. (mswindows_init_frame_2): Commented out, unused. (mswindows_after_init_frame): Added frame method. (mswindows_set_frame_size): Reworked to support pixel base geometry. (mswindows_set_frame_position): Cahnged to use SetWindowPos. (mswindows_lower_frame): Ditto. (mswindows_set_frame_properties): Fixed to perform correct calculation, and to support pixel geometry. (console_type_create_frame_mswindows): init_frame_2 removed, after_init_frame added. * faces.c (default_face_height_and_width_1): Added. (update_EmacsFrame): Changed method of notifying mswindwows frame, so modeline border gets redrawn. * faces.h: Prototype for default_face_height_and_width_1(). * event-msw.c (mswindows_wnd_proc, WM_SIZE): Redisplay after maximize/restore window. (mswindows_wnd_proc, WM_WINDOWPOSCHANGING): Do not round size to char if window is maximized. Use real char metrics for rounding. Call DefWindowProc to process WM_GETMINMAXINFO (mswindows_set_chord_timer): Changed chord timeout from 1/2 to 1/3 system double click time * device.c (domain_device_type): New function. (window_system_pixelated_geometry): New function. (Fdomain_device_type): New function, lisp interface to domain_device_type(). (syms_of_device): DEFSUBRed the above. * device.h: Ptorotypes for domain_device_type() and window_system_pixelated_geometry(). * menubar-msw.c (mswindows_update_frame_menubars): Call update_frame_menubar_maybe always. 1998-03-27 SL Baur <steve@altair.xemacs.org> * s/hpux11.h: * s/hpux11-shr.h: New files. From Marcus Thiessel <marcus_thiessel@hp.com> * Makefile.in.in: temporarily comment -lmcheck support. Suggested by Marcus Thiessel <marcus_thiessel@hp.com> 1998-03-26 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * emacs.c (vars_of_emacs): Fixed bug: Now respects configure setting of inhibit-site-lisp. (main_1): inhibit-site-lisp is now exclusively configure-initialized. 1998-03-27 Hrvoje Niksic <hniksic@srce.hr> * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Don't feed error_with_frob() with LispObjects. 1998-03-26 Kirill M. Katsnelson <kkm@kis.ru> * redisplay-msw.c (mswindows_output_cursor): Added parameters for character under cursor, and a flag indicating whether the cursir is over an image. Draw bar cursor always over an image glyph. Callers are changed accross the file. Honor the value of window::text_cursor_visible_p. (mswindows_output_pixmap): Cursor drawing code #if0ed. (mswindows_output_display_block): Call to output cursor after drawind an image. 1998-03-27 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c: * imgproc.c: * imgproc.h: * glyphs-x.h: Added in a colormap variable in the X specific image struct to handle IMAGE_POINTER images which must be allocated in the default colormap of the screen. Also reformated the code to follow coding standards. * glyphs.h: * glyphs.c: * glyphs-x.c: added image-conversion-error type * objects-x.c (allocate_nearest_color): Corrected a minor bug involving setting the values into XColor. 1998-03-25 P. E. Jareth Hein <jareth@camelot-soft.com> * free-hook.c (check_realloc): Handle the degerate case of realloc with a NULL value acting the same as malloc. 1998-03-24 Kyle Jones <kyle_jones@wonderworks.com> * redisplay-x.c (x_output_eol_cursor): Use x_clear_region instead of XClearArea to erase the cursor so that background pixmaps are handled properly. New fourth parameter findex added so that it can be passed to x_clear_region. 1998-03-25 Kirill M. Katsnelson <kkm@kis.ru> * process.c (Fprocess_send_eof): Close output stream before deleting stream pair. (deactivate_process): Ditto, both input and output streams. * event-unixoid.c (event_stream_unixoid_delete_stream_pair): Do not close passed lstreams. 1998-03-24 Kirill M. Katsnelson <kkm@kis.ru> * fileio.c (Ffile_readable_p): GC protect fix, MS Windows specific. Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> * configure.in: compile in glyphs-msw.o when compiling fopr mswindows. Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> * msw-glyphs.el: add support for xpm and bmp. change eval-and-compile to progn. Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> * Makefile.in.in: fastdump - new target for dumping bypassing bytecompilation, DOC. Add dependencies for glyphs-msw.o. Move imgproc.o to object list. * glyphs-msw.h: * glyphs-msw.c: new files adding support for xpm and bmp and EImages. * redisply-msw.c: add support for outputing color pixmaps. * console-msw.h: add bitspixel field to mswindows frame. * device-msw.c: initialise bitspixel field in mswindows frame. * glyphs-x.c (xpm_instantiate): call mswindows_xpm_instantiate if the device type is mswindows. * emacs.c: call glyphs-msw.c init functions if compiling with mswindows. * symsinit.h: add prototypes for glyphs-msw.c functions. * sheap.c: make includes src-dir compliant. * events.c: remove cygwin ^H <-> erase hack. * s/cygwin32.h: remove NOMULTIPLEJOBS defn. 1998-03-24 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (my_jpeg_output_message): Added new function to redirect any error/warning messages from the jpeg library to XEmacs. Also get rid of an unneeded temp variable in the tiff code. 1998-03-14 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (fixup_internal_substring): Protect asserts with #ifdef ERROR_CHECK_BUFPOS. * minibuf.c (scmp_1): c1 and c2 are Emchar, not Bufbyte. (Ftry_completion): Fixed typo. * dired.c (file_name_completion): Removed `readfunc', a remnant of dead VMS code. 1998-03-13 Hrvoje Niksic <hniksic@srce.hr> * dired.c (Fdirectory_files): Simplify logic. * symbols.c (reject_constant_symbols): Allow setting a keyword's function slot. 1998-03-23 Hrvoje Niksic <hniksic@srce.hr> * lread.c (readevalloop): Don't specbind Qstandard_input to READCHARFUN. 1998-03-09 Hrvoje Niksic <hniksic@srce.hr> * lread.c (read_atom): Ditto. * symbols.c (reject_constant_symbols): Do the keyword stunts only if the symbol is in Vobarray. * symbols.c (reject_constant_symbols): Signal error when attempting to assign a value to a keyword, unless the value is the keyword itself. * symbols.c (Fintern): Initialize symbol's ->obarray to t only when OBARRAY is Vobarray. 1998-03-21 Hrvoje Niksic <hniksic@srce.hr> * events.c (Fmake_event): Allow creation of misc-user-events. 1998-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * config.h.in, emacs.c: Changed allow-site-lisp to inhibit-site-lisp. Made -no-autoloads set inhibit-site-lisp. 1998-03-22 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * <Today>: The Big Path Searching Overhaul. * symsinit.h: Added declaration for complex_vars_of_emacs in emacs.c. * paths.h.in: Adjusted the comments to reality as dictated by configure. * filelock.c (complex_vars_of_filelock): Added support for lock directories passed in from configure. * emacs.c (complex_vars_of_emacs): Added all relevant installation paths passed from configure. They all have the prefix "configure-" now. * config.h.in: Added HAVE_SITE_LISP configuration option. * callproc.c (init_callproc): Ripped out all the bogus path setup. * Makefile.in.in: Updated all calls of "temacs -l" with absolute file names because auf the more minimalistic load-path setup in lread.c. Also set EMACSBOOTSTRAPLOADPATH on calling temacs rather than EMACSLOADPATH because EMACSLOADPATH is now more persistent than before. * lread.c (init_lread): Ripped out bogus load-path setup. 1998-03-21 Kyle Jones <kyle_jones@wonderworks.com> * frame.h: Move the check for an initialize_frame_toolbars method into FRAME_RAW_REAL_TOOLBAR_VISIBLE to avoid getting clunked by toolbar-less builds. 1998-03-20 SL Baur <steve@altair.xemacs.org> * m/powerpc.h (LD_SWITCH_MACHINE): Fix path to ppc.ldscript. 1998-03-16 Hrvoje Niksic <hniksic@srce.hr> * redisplay.c (window_line_number_buf): Made it larger. * opaque.c (print_opaque): Ditto. * lstream.c (print_lstream): Avoid `%p'. * keymap.c (ensure_meta_prefix_char_keymapp): Use error_with_frob(). * input-method-xlib.c (EmacsXtCvtStringToXIMStyles): Allocate buf dynamically. * event-Xt.c (describe_event_window): Allocate buf dynamically. * doc.c (Fsubstitute_command_keys): Warn of sprintf(). * device-x.c (x_init_device): Allocate path dynamically. (x_init_device): Allocate buf1 and buf2 dynamically. 1998-03-14 Hrvoje Niksic <hniksic@srce.hr> * ExternalShell.c (GetGeometry): Use a larger buffer for sprintf(). 1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> * redisplay.c (point_would_be_visible): Fix window::line_cache_validation_override reference counter. (start_with_line_at_pixpos): Ditto. 1998-03-20 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> * insdel.c (bytecount_to_charcount): Use 'L' suffix on long constants probably too large for an int. 1998-03-18 Hrvoje Niksic <hniksic@srce.hr> * lread.c (read_atom_0): Signal Qend_of_file if readcharfun returned -1. (read_escape): Ditto. (FSF_LOSSAGE): Ditto. 1998-03-20 SL Baur <steve@altair.xemacs.org> * emacs.c: path-separator (and parse-colon-path) moved from Lisp into C because we need it for early initialization. * Makefile.in.in (libmcheck): Add. * config.h.in: Add HAVE_LIBMCHECK and HAVE_MCHECK_H. * hash.c (grow_hashtable): Fix tests to compare against Qnull_pointer since this function may be called before any symbols or the Lisp engine is initialized. * emacs.c (main_1): Restore usage of free-hook.c. * free-hook.c (check_realloc): Change aborts to printfs. (check_free): Ditto. 1998-03-18 SL Baur <steve@altair.xemacs.org> * emacs.c (Fkill_emacs): Use LIST_LOOP_DELETING because our control variable is being modified underneath us. - Avoid calling delete_console_internal on stream consoles. * console-tty.c (free_tty_console_struct): NULL out pointers after xfree'ing. * console-stream.c (allocate_stream_console_struct): Fix memory leak -- if the stream_console struct is already allocated, don't reallocate it. (free_stream_console_struct): Don't leave dangling freed pointer around. * redisplay-output.c (redisplay_redraw_cursor): Fully bracket. 1998-03-17 SL Baur <steve@altair.xemacs.org> * frame.c (delete_frame_internal): Correct check. * imgproc.c: Include <config.h>. 1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c: fix for upside-down TIFFs. 1998-03-14 Kirill M. Katsnelson <kkm@kis.ru> * fileio.c (Finsert_file_contents_internal): Removed all DOS_NT specific code; rely on FILE_CODING streams instead. (Fwrite_region_internal): Ditto. (decide_buffer_type): Function removed. (buf_decide_buffer_type): Function removed. (Many places): References to DOS_NT replaced with WINDOWSNT. MSDOS- specific code removed. * lread.c (Fload_internal): Removed ugly DOS style re-opening a file in text mode. '\r' is perfectly handled in readevallop(). * redisplay.c (decode_mode_spec): Made %t decode to "T" unconditionally. * s/windowsnt.h (FILE_CODING): Define always. 1998-03-15 Kirill M. Katsnelson <kkm@kis.ru> * s/windowsnt.h: Added prototypes for generally used functions implemented in nt.c * fileio.c (Ffile_readable_p): Conditionalized declared never used variables. (Fexpand_file_name): Ditto. (check_executable): Ditto. * lread.c (parse_integer): Eliminated a warning resulted from applying unary minus to unsigned int. 1998-03-15 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> * eldap.c: (Fldap_search_internal): Print error information from errno when connection fails 1998-03-16 Hrvoje Niksic <hniksic@srce.hr> * lread.c: New macro, to avoid exposing an lstream to Lisp error handlers. (reader_nextchar): Use it. (read1): Ditto. 1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> * cmds.c (Fforward_char): Dropped support for signal-error-on-buffer-boundary. Added details to doc string. (Fbackward_char): Dropped support for signal-error-on-buffer-boundary by way of change to Fforward_char. Added details to doc string. Definition of signal-error-on-buffer-boundary moved to lisp/simple.el. * window.c (Fscroll_up): Dropped support for signal-error-on-buffer-boundary. Added details to doc string. (Fscroll_down): Dropped support for signal-error-on-buffer-boundary. Added details to doc string. 1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> * redisplay-tty.c (tty_clear_frame): Record that the real location of teh cursor has been moved to 0,0. Failure to do this makes the display code believe the cursor is in a place where it is not. 1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> * console.h: Added set_final_cursor_coords method to console struct. * console-tty.h: Added final_cursor_x and final_cursor_y slots to console struct. Added CONSOLE_TTY_FINAL_CURSOR macros to access them. * redisplay.c (create_text_block): No longer turn off the cursor if computing a block when cursor_in_echo_area is 0 and the echo area is inactive. Needed so that the cursor will not be frozen in the minibuffer when cursor_in_echo_area is non-zero. * redisplay-output.c (redisplay_move_cursor): Don't bail if we're moving the cursor in a selected minibuffer window. Needed so that simple cursor optimization can be done in the minibuffer even when cursor_in_echo_area is non-zero. (redraw_cursor_in_window): Set final cursor coordinates as a special case for cursor_in_echo_area != 0, since the buffer switching between minibuffer and echo area buffer seems to confuse the normal cursor positiong code otherwise. Set final cursor coordinates in the general case before calling output_display_line. * redisplay-tty.c: New function tty_set_final_cursor_coords. (tty_output_end): Set logical cursor position to the final cursor position as specified in CONSOLE_TTY_CURSOR_{X,Y}, and then go to it. (tty_redisplay_shutdown): Changed code to use tty_set_final_cursor_coords() to go to the bottom left of the screen instead of using cmgoto() (console_type_create_redisplay_tty): Declare that tty consoles have the set_final_cursor_coords method. 1998-03-13 Hrvoje Niksic <hniksic@srce.hr> * emacs.c (main_1): Avoid snprintf(); allocate the buffer dynamically. 1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (png_instantiate): Added in override support for png backgrounds. 1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (png_instantiate): Fixed a bug that was causing overruns when attempting to display transparent pngs 1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (png_instantiate): Fix brainfart in error handling code. 1998-03-13 SL Baur <steve@altair.xemacs.org> * emacs.c (main_1): Guard call to snprintf. * config.h.in: Add HAVE_SNPRINTF. 1998-03-13 Kirill M. Katsnelson <kkm@kis.ru> * event-stream.c (init_event_stream): Initialize mswindows event loop in stream mode if no other window systems available. Thanks to Darryl Okahata. 1998-03-04 Kirill M. Katsnelson <kkm@kis.ru> * alloc.c (garbage_collect_1): Removed #ifndef WINDOWSNT around mark_profiling_info(). 1998-03-11 SL Baur <steve@altair.xemacs.org> * console-tty.c (Fset_console_tty_coding_system): Guard against terminal-coding-system being left unitialized by a locale. From Kazuyuki IENAGA <ienaga@jsys.co.jp> 1998-03-11 P. E. Jareth Hein <jareth@camelot-soft.com> * config.h.in: Added in new feature check HAVE_VSNPRINT to check for safe ways to deal with vsprintf and friends. * glyphs-x.c (gif_instantiate): Changed gif support to call external library Giflib 3.1. Altered GIF/JPEG/PNG formats to use new EImage format for dealing with images to better support color handling, and facilitate the change to a device-neutral implementation. Added TIFF support. * Makefile.in.in: Removed all gif related files * emacs.c (main_1): Removed reference to init_gif_err * symsinit.h: ditto * dgif_lib.c: Removed from the source distribution * gif_err.c: ditto * gif_lib.h: ditto * gifalloc.c: ditto Mon Mar 09 13:00:55 1998 Andy Piper <andyp@parallax.co.uk> * file-coding.c: warning elimination * ntplay.c: new file. basic implementation of sound support. * redisplay-msw.c (mswindows_update_dc): cachel bug is gone so we don't need this code under cygwin. * sheap.c: need large heap slop for byte compiling with three display types. * sound.c: eliminate warnings. enable sound under mswindows. * s/cygwin32.h: miscellaneous updates for sound support. 1998-03-09 SL Baur <steve@altair.xemacs.org> * config.h.in: Add BITMAPDIR. * glyphs-x.c (locate_pixmap_file): Assume BITMAPDIR is a colon-separated path. * emacs.c (main_1): Initialize dll support with the path the binary. (make_arg_list_1): Ditto. * sysdll.h: Add legalese. * sysdll.c: Ditto. * sysdll.c: sysdll.h needs to be included with double quotes not angle brackets. Use RTLD_GLOBAL as an open flag if it exists. 1998-03-09 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> * eldap.c (Fldap_search_internal): call garbage_collect_1 instead of Fgarbage_collect. The two are identical except the latter generates some `fresh' garbage :) 1998-03-09 SL Baur <steve@altair.xemacs.org> * keymap.c: Add symbols for mouse-4 and mouse-5. (define_key_check_and_coerce_keysym): Mouse-4, Mouse-5 keysym support. (syms_of_keymap): Ditto. 1998-01-26 Hrvoje Niksic <hniksic@srce.hr> * marker.c (print_marker): Print marker's lheader.uid. (Fbuffer_has_markers_at): New function, synched with FSFmacs 20.2. (Fbuffer_has_markers_at): Disabled by default. 1998-01-25 Hrvoje Niksic <hniksic@srce.hr> * sound.c (Fplay_sound_file): Place the result of continuable error back to FILE. 1998-03-09 SL Baur <steve@altair.xemacs.org> * emacs.c, config.h.in: New DLL support. * sysdll.h, sysdll.c: New files. * dll.c: renamed from dlopen.c, use interface defined in sysdll.c. From William Perry <wmperry@aventail.com> * eldap.h: Fix copyright. * eldap.c: Ditto. 1998-03-08 SL Baur <steve@altair.xemacs.org> * Makefile.in.in: Add dependencies for process-unix.o. 1998-03-08 Kyle Jones <kyle_jones@wonderworks.com> * glyphs-x.c (write_lisp_string_to_temp_file): Don't explicitly initialize conversion_out_dynarr, because doing so may cause it to be put into read-only space and modifying it later would make XEmacs crash. 1998-03-07 Kyle Jones <kyle_jones@wonderworks.com> * events.h: Add do_backspace_mapping parameter to function prototype of character_to_event. * events.c: Add fifth parameter to character_to_event to control the backspace mapping. In character_to_event map most characters that match tty-erase-char to the backspace keysym, but only if do_backspace_mapping paramter is non-zero. (Fcharacter_to_event): Tell character_to_event() to DO backspace mapping. * event-stream.c: (maybe_read_quit_event): Tell character_to_event() to DO backspace mapping. (maybe_kbd_translate): Tell character_to_event() to DO backspace mapping. (lookup_command_event): Tell character_to_event() to DO backspace mapping. * event-unixoid.c: (read_event_from_tty_or_stream_desc): Tell character_to_event() to DO backspace mapping. * keymap.c: (get_keyelt): Tell character_to_event() to NOT DO backspace mapping. (define_key_parser): Tell character_to_event() to NOT DO backspace mapping. (Fsingle_key_description): Tell character_to_event() to DO backspace mapping. 1998-03-04 Kirill M. Katsnelson <kkm@kis.ru> * alloc.c (Fpurecopy): Do not mark symbols through Vpure_uninterned_symbol_table twice: hash (OBJ, nil) instead of (OBJ, OBJ). 1998-03-07 SL Baur <steve@altair.xemacs.org> * emacs.c (shut_down_emacs): Disable forced auto-save in a crash. It causes more problems than it solves. 1998-03-02 Greg Klanderman <greg@alphatech.com> * window.c (Fwindow_displayed_pixel_height) New function. (Fenlarge_window_pixels): New function. (Fshrink_window_pixels): New function. (window_displayed_pixel_height): New, helper for Fwindow_displayed_pixel_height. (change_window_height): Add `inpixels' argument. (syms_of_window): 3 new DEFSUBR's. Thu Mar 05 12:01:35 1998 Andy Piper <andyp@parallax.co.uk> * redisplay-msw.c (mswindows_output_cursor): separate getting cachel index from retrieving cachel to work around apparent bug in gcc. 1998-03-06 Kyle Jones <kyle_jones@wonderworks.com> * events.c (character_to_event): The tty_erase_char test doesn't do anything because it's in the wrong place. Moved it to where it can take effect. * dired.c (Fdirectory_files): Initialize GCPRO'ed variable. * events.c (character_to_event): Never map '(control foo) to QKbackspace. Only map ASCII 8 to QKbackspace; don't map any other key. 1998-03-05 Kyle Jones <kyle_jones@wonderworks.com> * src/redisplay-output.c (redisplay_move_cursor): Bail if cursor_in_echo_area is non-zero and we're fiddling with the cursor in a minibuffer window, since that is a special case that is handled elsewhere and this function need not handle it. Return 1 so the caller will assume we succeeded. Wed Mar 04 08:55:12 1998 Andy Piper <andyp@parallax.co.uk> * device.c (init_global_resources): compile in based on window system not just x. * console.c (select_console_1): add mswindows console type. 1998-03-04 Kyle Jones <kyle_jones@wonderworks.com> * redisplay-output.c (redisplay_redraw_cursor): Redraw the cursor in the minibuffer window if cursor_in_echo_area is non-zero. Wed Mar 04 08:55:12 1998 Andy Piper <andyp@parallax.co.uk> * emacs.c (main_1): predicate display_use to mswindows only if x is not already selected. * event-msw.c: comment out non-code for HAVE_TOOLBAR case. don't compile debug_process_finalisation if x is compiled in. * event-stream.c (init_event_stream): don't make X and mswindows mutually exclusive. Select msw event loop if started that way, X/tty event loop otherwise. * frame.h: protect toolbar #defines from assuming ints are in toolbar_data. This happens if you have two display types compiled in and one supports toolbars and the other doesn't. * s/cygwin32.h: warning elimination. 1998-03-03 SL Baur <steve@altair.xemacs.org> * editfns.c (Ftemp_directory): New function. From Glynn Clements <glynn@sensei.co.uk> * editfns.c (Ftemp_directory): Use build_ext_string. 1998-03-02 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> * symsinit.h: add prototype for syms_of_dlopen 1998-03-02 Kyle Jones <kyle_jones@wonderworks.com> * window.c (save_window_save): save value of default_toolbar_height slot. (Fset_window_configuration): restore value of default_toolbar_height slot. Fri Feb 20 21:22:34 1998 Darryl Okahata <darrylo@sr.hp.com> * "Fast" dired-in-C enhancements for Windows 95/NT: * ntproc.c: * device-msw.c: Moved definition of `Vwin32_downcase_file_names' from ntproc.c to device-msw.c, and renamed it to `Vmswindows_downcase_file_names'. It doesn't really belong here, but I didn't want to create a new file, just for this one variable. This fixes a bug in `expand-file-name' that caused all returned filenames to be lowercased (this was supposed to be conditional upon Vmswindows_downcase_file_names, but wasn't, as it was never initialized due to obsolescence of ntproc.c). This variable is also used by the dired-in-C enhancements. Also moved and renamed `Vwin32_get_true_file_attributes' to `Vmswindows_get_true_file_attributes'. This affects stat() in nt.c, and so it really does need to be initialized. However, there's still one more variable in ntproc.c that still needs to be moved/renamed, `Vwin32_pipe_read_delay', but I didn't touch this, as this is a subprocess issue. * dired-msw.c: New file for dired-in-C enhancements for Windows 96/NT. * emacs.c: Initialization calls for dired-msw.c. * nt.c (convert_time): make into public function (dired-in-C functions use it). 1998-02-28 Kirill M. Katsnelson <kkm@kis.ru> * sysdep.h: Prototypes for the above 2 functions * sysdep.c (get_pty_max_bytes): Moved here from process.c (get_eof_char): Ditto * symsinit.h: Prototypes for initialization functions called from emacs.c: process_type_create_mswindows, process_type_create_unix, vars_of_process_mswindows, vars_of_process_unix. * procimpl.h: New file. Includes prototypes and other stuff shared by process.c and implementation files (process-unix.c, process-msw.c in future). * process.h (PROCESS_LIVE_P): Changed to test against stream existence, to avoid dependency on fds. * process.c: Only process implementation independent code is now in this file. Moved the rest into process-unix.c (Fopen_network_stream_internal): Added 5th parameter, protocol family. Defaults to 'tcp/ip when unspecified. * process-unix.c: New file, implementation of UNIX processes. UNIX-specific code from the old process.c is here. * Lstream.c (Lstream_was_blocked_p): New function. Replaces filedesc_stream_was_blocked_p. (filedesc_was_blocked_p): Implementation of the method for filedesc stream (filedesc_stream_set_pty_flushing): set pty_flushing flag (filedesc_stream_fd): New function, returns fd of the stream * lstream.h (lstream_implementation): was_blocked_p is a new optional lstream method. Added prototypes for functions in lstream.c * lisp.h: (USID): Typedef for Unique Stream IDentifier. Reuqired by the new code in many places. * events.h (struct event_stream): Declaration of the two mandatory event stream methods, required by process support. * event-unixoid.c (event_stream_unixoid_create_stream_pair): Implementation of the method shared by TTY and X (event_stream_unixoid_delete_stream_pair): Ditto * event-tty.c (emacs_tty_next_event): get_process_from_usid() instead of get_process_from_fd() (emacs_tty_create_stream_pair): New events tream method (emacs_tty_delete_stream_pair): New events tream method * event-stream.c (event_stream_create_stream_pair): New event stream method (event_stream_delete_stream_pair): Ditto * event-msw.c (debug_process_finalization): Although if0'ed, removed obsolete code * event-Xt.c (emacs_Xt_create_stream_pair): Implementation if the new event stream method (emacs_Xt_delete_stream_pair): Ditto * emacs.c (main_1): Added calls to process_type_create*() and vars_of_process() * callproc.c: (many places): removed DOS support 1998-03-02 SL Baur <steve@altair.xemacs.org> * process.c (Fprocess_status): Restore old behavior -- call Fget_process on a string argument. Mon Mar 02 11:37:36 1998 Andy Piper <andyp@parallax.co.uk> * file-coding.h: * file-coding.c: more cleanup by only including iso2022 stuff in a mule build. (setup_eol_coding_systems) move (T) -> :T etc. * event-stream.c: (Fopen_dribble_file) Qescape_quoted only exists in mule. * md5.c: remove warning. * unexcw.c: move .idata -> .rdata for cygwin b19. * Makefile.in.in: add msw dependencies. * sheap.c: up static heap parameters. * s/cygwin32.h: add prototypes to eliminate warnings. 1998-03-02 SL Baur <steve@altair.xemacs.org> * Makefile.in.in (blddir): Import blddir. Add blddir to dump-time load-path. * nas.c (play_sound_data): Add braces for clarity. (play_sound_file): Ditto. 1998-03-01 SL Baur <steve@altair.xemacs.org> * alloc.c: Boost static vector size for breathing room. Double the size if we may be dynamically linking. * dlopen.c (Fdl_open): Use RTLD_GLOBAL flag on dlopen if available. * device-x.c (x_init_device): Hardcode `Emacs' as the filename containing localized menubars. * config.h.in: Add HAVE_UNIX_PROCESSES for 20.6. * alloc.c (init_alloc_once_early): Document movement of mmap enabling code to emacs.c. * Makefile.in.in: Update FILE_CODING dependencies. 1998-03-01 Kyle Jones <kyle_jones@wonderworks.com> * file-coding.c (setup_eol_coding_systems): Don't try to copy the mnemonic property of the coding system unless it is a string. (allocate_coding_system): Initialize coding system struct member 'mnemonic' to Qnil. Leaving its value set to 0 causes a crash. 1998-03-01 SL Baur <steve@altair.xemacs.org> * file-coding.c (DEFINE_SUB_CODESYS): Undo previous patch. 1998-03-01 Kyle Jones <kyle_jones@wonderworks.com> * callint.c: Read coding system names for the 'z' and 'Z' interactive specs if FILE_CODING or MULE is defined. Previously, coding system names were read only if MULE was defined. * file-coding.h: Removed charset-based category types from enumerated coding_category_type if not building with MULE. * file-coding.c (syms_of_mule_coding): Don't define symbols for charset-based coding systems unless building with MULE. 1998-02-28 SL Baur <steve@altair.xemacs.org> * alloc.c (garbage_collect_1): Guard call to selected_frame so it cannot be called during GC. - Update current count of staticpro'ed objects. 1998-02-28 Kyle Jones <kyle_jones@wonderworks.com> * menubar.c (Fmenu_find_real_submenu): Document the "use struct as array" hack. Convert struct pointer to array to avoid compiler warnings. 1998-02-26 SL Baur <steve@altair.xemacs.org> * buffer.c (complex_vars_of_buffer): Fix DOC string for buffer-file-coding-system. 1998-02-26 Damon Lipparelli <lipp@primus.com> * symsinit.h: syms_of_ldap() is actually syms_of_eldap(). * eldap.c: removed duplicates. 1998-02-26 SL Baur <steve@altair.xemacs.org> * file-coding.c (setup_eol_coding_systems): Disable SUB_CODESYS feature -- it causes stack corruption in Mule. 1998-02-27 Kirill M. Katsnelson <kkm@kis.ru> * events.c (character_to_event): The code which guesses TTY backspace character is conditionalized on HAVE_TTY 1998-02-26 SL Baur <steve@altair.xemacs.org> * console.c (complex_vars_of_console): Guard tty_erase_char with HAVE_TTY. * conslots.h: Ditto. 1998-02-25 SL Baur <steve@altair.xemacs.org> * events.c (character_to_event): Correct operations on tty_erase_char. From Martin Buchholz <martin@xemacs.org> * file-coding.c (setup_eol_coding_systems): Unix/Binary sub coding-system display should default to the empty string. - Use '(t)' for Mac/Text mode. Tue Feb 17 12:50:37 1998 Andy Piper <andyp@parallax.co.uk> * Makefile.in.in: make sure clean removes msw executables. This prevents the build stalling after puresize has been adjusted. Add file-coding.o to list of objects. * buffer.c: * buffer.h: * bufslots.h: * callproc.c: * console-tty.c: * emacs.c: * event-Xt.c: * event-stream.c: * glyphs-x.c: * lread.c: * md5.c: * mule-canna.c: * mule-ccl.c: * process.c: * redisplay-x.c: * redisplay.c: remove #ifdef MULE's from stuff that relates to file-coding. include file-coding.h rather than mule-coding.h where applicable. * mule-coding.c: #if 0 out functionality until file-coding is split up. * file-coding.h: * file-coding.c: new files. copies of mule-coding.h and mule-coding.c. The mule case is unchanged. The non-mule case removes coding relating to other charsets - iso2022, big5, sjis, ccl. (setup_eol_coding_systems) add the eol type to the subsidiary coding system mnemonics so that it shows on the modeline, currently (B) for unix style (T) for mac and dos styles. * fileio.c: remove #ifdef MULE's from stuff that relates to file-coding. include file-coding.h rather than mule-coding.h where applicable. FSFMACS_SPEEDY_INSERT is gone since file coding is always on. * sheap.c: (more_static_core) remove spurious \n's from error message. 1998-02-25 Kyle Jones <kyle_jones@wonderworks.com> * lisp-disunion.h: Added XUINT macro. * lisp-union.h: Added XUINT macro. * data.c (Flsh): Used XUINT instead of XINT to extract the value of the first argument to avoid sign extension of the result. 1998-02-25 SL Baur <steve@altair.xemacs.org> * s/decosf4-0.h: Add -D_BSD. From Tore Olsen <toreo@tihlde.hist.no> 1998-02-21 Greg Klanderman <greg@alphatech.com> * device-x.c (x_init_device): allow `x-emacs-application-class' to be nil prior to connecting to the X server. When this is the case, the application class is chosen based on whether the user has any resources with application class `XEmacs' set in the resource database. (vars_of_device_x): make x-emacs-application-class nil by default and document new behavior in its doc string. 1998-02-23 Aki Vehtari <Aki.Vehtari@hut.fi> * menubar.c: Doc fix: suffix can be form. * gui.c (gui_parse_item_keywords): Allow button descriptors at least 2 long. (gui_item_display_flush_left): Suffix can be form. * gui-x.c (button_item_to_widget_value): Allow button descriptors at least 2 long. (button_item_to_widget_value): Suffix can be form. 1998-02-24 SL Baur <steve@altair.xemacs.org> * s/sol2.h: define HAVE_GETLOADAVG for late edition Solaris From Georg Nikodym <georgn@Canada.Sun.COM> 1998-02-24 Didier Verna <didier@xemacs.org> * redisplay.c (generate_fstring_runes): fixed the modeline scrolling lossage (the % constructs appearing in the modeline). Now that we can have negative positions and boundaries, max_pos == -1 can't mean 'no limit' anymore. Me, stupido! (add_string_to_fstring_db_runes): Ditto. (add_glyph_to_fstring_db_runes): Ditto. 1998-02-19 Jim Radford <radford@robby.caltech.edu> * sysdep.c: Don't clobber SIGIO event flags we don't care about. * device.h: removed old_sigio_flag, sigio_enabled from device Secretly (on Solaris) F_SETOWN calls I_SETSIG. We unknowingly clobbered the changes so restoring the owner would cause F_SETOWN's I_SETSIG to fail therby causing an annoying syslog message. Changed FASYNC version to match (untested). 1998-02-22 SL Baur <steve@altair.xemacs.org> * emacs.c (main): Enable mmap for glibc-2.1 and Linux libc5. Enable mmap only for non-Mule for glibc-2.0. 1998-02-21 SL Baur <steve@altair.xemacs.org> * config.h.in: Define _NO_MALLOC_WARNING_ if using dlmalloc from Linux libc5. 1998-02-19 Andreas Jaeger <aj@arthur.rhein-neckar.de> * emacs.c: declare hooks only if !DOUG_LEA_MALLOC since the declaration conflicts with glibc's own. 1998-02-19 SL Baur <steve@altair.xemacs.org> * config.h.in: Remove HAVE_TERM, add USE_MINIMAL_TAGBITS and USE_INDEXED_LRECORD_IMPLEMENTATION. * process.c (Fopen_network_stream_internal): Remove TERM support. * sysproc.h: Remove TERM support. 1998-02-20 Kazuyuki IENAGA <ienaga@jsys.co.jp> * input-method-xfs.c: add setlocale(LC_CTYPE, "") right after setlocale(LC_NUMERIC, "C"). Because, without this, the LC_CTYPE got a side effect of LC_NUMERIC then set to "C". 1998-02-19 SL Baur <steve@altair.xemacs.org> * emacs.c (main): Enable mmap'ing with XEmacs/Mule. * redisplay.c (add_string_to_fstring_db_runes): Fix infloop problem with long modelines and glyphs. * unexelf.c: The proper way to check for GNU libc is with __GLIBC__. Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> 1998-02-18 SL Baur <steve@altair.xemacs.org> * Makefile.in.in: Remove all references to prefix-args. 1998-02-18 Kirill M. Katsnelson <kkm@kis.ru> * sysdep.c (mswindows_set_errno): New function (mswindows_set_last_errno): Ditto These convert Win32 error code to ANSI C errno. * sysdep.h: Prototypes for the above 2 functions. * menubar-msw.c (vars_of_menubar_mswindows): Fprovide ('mswindows-menubar) removed. See the entry of 1998-01-03 * process.c: FSFmacs proc_buffered_char static array #if0'ed in 2 places. It is never used. 1998-02-01 Kyle Jones <kyle_jones@wonderworks.com> * window.c (save_window_save): Save window-cached speciifer values. (saved_window_equal): Added comparisons of window-cached specifier values. (Fset-window-configuration): Restore window-cached specifier values. 1998-02-18 Didier Verna <didier@xemacs.org> * modeline.el (mouse-drag-modeline): added the horizontal scrolling functionality for the modeline. This could still be improved, for instance when the mouse goes out of the modeline. 1998-02-18 Didier Verna <didier@xemacs.org> * redisplay.c: (generate_formatted_string_db): new flag to distinguish a modeline string from a title or icon one, plus use a negative first pos to indicate the modeline hscroll amount. (add_string_to_fstring_db_runes): completely rewrote this function to handle the case of scrolled modelines. (add_glyph_to_fstring_db_runes): handle the case of scrolled modelines. * window.c: (Fmodeline_hscroll): new function to return the modeline current horizontal scroll amount. (Fset_modeline_hscroll): new function to scroll the modeline horizontaly. Plus some updates related to this new functionality (windows configuration, notably). * window.h (struct window): added the new field modeline_hscroll. 1998-02-18 SL Baur <steve@altair.xemacs.org> * m/alpha.h: * unexelf.c: Synched with Emacs 20.2. From Aki Vehtari <Aki.Vehtari@hut.fi> * emacs.c (main): Don't call __sbrk(). * gmalloc.c (__sbrk): Ditto. Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> 1998-02-17 SL Baur <steve@altair.xemacs.org> * console-tty.c (Fset_console_tty_coding_system): New function. From Kazuyuki IENAGA <ienaga@jsys.co.jp> 1998-02-15 SL Baur <steve@altair.xemacs.org> * ralloc.c (init_ralloc): DOUG_LEA_MALLOC support. (r_alloc_reinit): Ditto. [All non-HAVE_MMAP code]: Synched with Emacs 20.2. * emacs.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. (main): Ditto. Add LINUX_SBRK_BUG workaround, what is it? (Fdump_emacs): DOUG_LEA_MALLOC support from Emacs 20.2. * alloc.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. (init_alloc_once_early): Ditto. * config.h.in: Add DOUG_LEA_MALLOC symbol. * unexfreebsd.c (run_time_remap): Change printf format string to match parameters given. 1998-02-14 SL Baur <steve@altair.xemacs.org> * s/sco5.h: Define LIB_GCC as -lgcc for gcc 2.8 and egcs. Suggested by Robert Lipe <robertl@dgii.com> 1998-02-14 Martin Buchholz <martin@xemacs.org> * event-Xt.c (x_reset_key_mapping): * device-x.c: (x-keysym-on-keyboard-p): (x-keysym-on-keyboard-sans-modifiers-p): Use x-keysym-on-keyboard-sans-modifiers-p instead of x-keysym-on-keyboard-p to detect backspace. Use symbols instead of strings (now deprecated) with x-keysym-*-p. Clean up symbols used with dead keys, checking Linux and solaris keysyms. Simplify x-win-*.el using above methods. Change documentation for x-keysym-*-p functions. 1998-02-13 SL Baur <steve@altair.xemacs.org> * unexelfsgi.c: Various changes. From Olivier Galibert <galibert@pobox.com> * s/freebsd.h: Avoid redefining BSD. From Kazuyuki IENAGA <ienaga@jsys.co.jp> * extents.c (extent_fragment_update): Break up a line to avoid a Digital UNIX 3.2g C compiler bug. From Tonny Madsen <tma@nettest.dk> * process.c (create_process): Restore save_environ hackery. 1998-02-10 SL Baur <steve@altair.xemacs.org> * emacsfns.h: Remove mocklisp declarations. * redisplay-msw.c (mswindows_update_dc): Enable evil kludge for cygwin. From Andy Piper <andyp@parallax.co.uk> 1998-02-09 SL Baur <steve@altair.xemacs.org> * menubar-msw.c (vars_of_menubar_mswindows): Fix patch failure. Suggested by: kny@tekla.fi * data.c (Fold_eq): PC-ize. * chartab.c: PC-ize. * window.c (toplevel): PC-ize. (syms_of_window): Ditto. * search.c (Freplace_match): PC-ize. * lread.c: PC-ize. * buffer.c (Fbuffer_enable_undo): PC-ize. (Fbuffer_disable_undo): ditto. * eval.c (return_from_signal): PC-ize. * casetab.c: PC-ize. * callproc.c (Fcall_process_internal): PC-ize. 1998-02-02 Kirill M. Katsnelson <kkm@kis.ru> * gui.h (struct gui_item): Menu item, submenu or GUI button properties are abstracted into this new structure. Added prototypes for the following functions * gui.c (gui_item_init): New function (gui_item_add_keyval_pair): Ditto (gui_parse_item_keywords): Ditto (gui_item_active_p): Ditto (gui_item_included_p): Ditto (gui_item_display_flush_left): Ditto (gui_item_display_flush_right): Ditto. The above listen new functions manipulate on properties common to menu items and GUI buttons. * menubar.c (current_frame_menubar): Moved from menubar-msw.c (menu_parse_submenu_keywords): New function (Fmenu_find_real_submenu): Ditto, lisp accessible. The last two functions operate on menu properties stored in struct gui_item, but are specific to menus only. * menubar.h: Prototypes for the above functions. * menubar-msw.c: Modified to utilize struct gui_item instead of plists, to reduce garbage. Suggested by Ben Wing. Unreachable menus are fixed. 1998-01-03 Kirill M. Katsnelson <kkm@kis.ru> * menubar-msw.c (allocate_menu_item_id): Added third parameter to hash, suffix. Menus tend to put non-localizable items into suffix with empty name. (update_frame_menubar_maybe): top_level_menu is now set here. (mswindows_popup_menu): Ditto. It was incorrect to set it from populate. (vars_of_menubar_mswindows): Fprovide ('mswindows-menubar) removed: (featurep (and 'mswindows 'menubars)) tests the same. (mswindows_update_frame_menubars): update_..._maybe () now called only if frame->menubar_changed is set. Is it right to patch menubar.c instead? 1998-02-08 Jonathan Harris <jhar@tardis.ed.ac.uk> * objects-msw.c: Updated color database to X11R6. Also added support for "#RRRGGGBBB" and "#RRRRGGGGBBBB" in addition to "#RRGGBB". 1998-02-08 Jonathan Harris <jhar@tardis.ed.ac.uk> * console.h: * console-stream.c: * redisplay.c: * redisplay-msw.c: * redisplay-tty.c: * redisplay-x.c: Added the frame as a parameter to the text_width device method. * redisplay-msw.c: Support for proportional fonts. 1998-02-07 Hrvoje Niksic <hniksic@srce.hr> * window.c (map_windows): Don't return the value of map_windows_1. (map_windows): If F is NULL, map through all the windows. (mark_windows_in_use): Use map_windows(); made it static. (mark_windows_in_use_closure): New function. 1998-02-01 Hrvoje Niksic <hniksic@srce.hr> * alloc.c (Fpurecopy): Check for non-`nil'-ness instead of checking for Vobarray. * dlopen.c (Fdl_open): Indirect FUNCTION explicitly, for clarity. * elhash.c: Removed broken hashtable_hash(). 1998-01-28 Hrvoje Niksic <hniksic@srce.hr> * symbols.c (Fintern): Use Qt instead of the actual obarray. (init_symbols_once_early): Ditto. 1998-01-27 Hrvoje Niksic <hniksic@srce.hr> * lisp.h (DO_REALLOC): Name the variable `do_realloc_newsize' instead of `newsize', to avoid name collisions. 1998-01-26 Hrvoje Niksic <hniksic@srce.hr> * print.c (print_symbol): Be more wary about the contents of Vprint_gensym_alist. 1998-02-06 SL Baur <steve@altair.xemacs.org> * emacs.c (Frun_emacs_from_temacs): Disable largely meaning-free purity/impurity summary. Compile with -DREPORT_PURE_USAGE to get it back. * process.c (create_process): Unused variable elimination. * lread.c (Fload_internal): Compiler warning suppression. * alloc.c (report_pure_usage): Remove unused variable. Wed Jan 28 13:41:22 1998 Andy Piper <andyp@parallax.co.uk> * Makefile.in.in: add support for sheap-adjust.h generation for static heap. Wed Jan 28 13:41:22 1998 Andy Piper <andyp@parallax.co.uk> * Makefile.in.in: add sheap-adjust.h support, basically copied from puresize-adjust.h. predicate sheap.o on HEAP_IN_DATA. fix xemacs target slightly to not be a single shell command, this fixes an obscure bug in cygwin gmake. * alloc.c (report_pure_usage): call sheap_adjust_h if HEAP_IN_DATA is defined. * sysfile.h: add abstracted OPEN_BINARY, OPEN_TEXT etc defines. On Unix these are all 0 and have no effect. On systems defining O_BINARY these use it. WINDOWSNT is currently unaffected because there are individual #ifdefs in each source file, but with this change they could be removed. * emacs.c: * doc.c: * lread.c: * process.c: generalize open() calls with OPEN_BINARY. Does nothing under Unix. * emacs.c: predicate inclusion of windows.h on WINDOWSNT not _WIN32. * process.c: * sysdep.c: * signal.c: predicate SIGIO stuff also on !BROKEN_SIGIO, this is required for building on cygwin32 b19 which has SIGIO that only works on sockets. * fileio.c: * event-stream.c: generalize open() calls with OPEN_BINARY. Does nothing under Unix. Use open() instead of creat() to make this possible. use CREAT_MODE from sysfile.h * config.h.in: add MULE_CODING, currently not used. add support for HAVE_A_OUT_H. * elhash.c: * menubar-msw.c: * mule-ccl.c: * device-msw.c: warning elimination. * event-msw.c: add undeclared Dde calls for cygwin. * redisplay-msw.c: warning elimination under mule. * gmalloc.c: make initalize() really do that. If HEAP_IN_DATA is defined catch free() & realloc() calls with addresses in the data space. __morecore calls more_static_core for temacs, when dumped switches to sbrk(). * console-msw.h: undef CONST after windows.h inclusion since this defines CONST. #ifdef out shellapi under cygwin. * device-msw.c: include sysdep.h * objects-msw.c: add dummy mswindows_font_spec_matches_charset and mswindows_find_charset_font so that we can build with mule. * mem-limits: return -1 for get_lim_data() when HEAP_IN_DATA is defined. * sheap.c: new file. defines sheap_adjust_h and more_static_core so that data space can be used by gmalloc before dumping when HEAP_IN_DATA is defined. beef up error message about what to do if sheap space runs out. * sysdep.c: make start_of_data return something sensible for HEAP_IN_DATA. * systime.h: don't use itimer stuff on cygwin b19. * unexcw.c: new file. Full unexec() support for cygwin using the HEAP_IN_DATA setup provided by sheap.c and friends. No run-time remapping is performed. This could be generalized to support many platforms that use COFF. you need a.out.h from my website to build this. cygwin b19 will have this. * s/cygwin32.h: fixed commentary. compile in unexcw.o for dumping support. removed irrelevent things. define BROKEN_SIGIO. remove include of windows.h. add correct process support defines, process support might work when non-blocking io is implemented in cygwin. 1998-02-02 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs.c: Removed ImageMagick support, re-instituted the previous support for JPEG, GIF and PNG with the new color system. 1998-02-05 Olivier Galibert <galibert@pobox.com> * unexelf.c: Fix alignment problems on Linux. 1998-02-01 Kyle Jones <kyle_jones@wonderworks.com> * redisplay.c (redisplay_window): After outputting the window, invalidate its the line start cache if the we're displaying the minibuffer window and the echo area is active. The cache is only valid for the echo area buffer, and that buffer isn't associated with the minibuffer window anymore. 1998-01-31 SL Baur <steve@altair.xemacs.org> * alloc.c (disksave_object_finalization): Additional checking for sanity when zeroing out unused portions of string_chars_block's. (Fpurecopy): Spelling fixes in comment. (PURESIZE_SLOP): Set default slop to 0. 1998-01-31 Kyle Jones <kyle_jones@wonderworks.com> * chartab.c (make_char_table): Initialize mirror tables with Spunct in all the slots. Syntax table initialization doesn't touch slots for nonexistent characters sets. If character sets corresponding to those slots are created later Qnil values in the slots will cause crashes. (copy_char_table_entry): Return copy not original. 1998-01-28 Jonathon Harris <jhar@tardis.ed.ac.uk> * msw-proc.c: * event-msw.h: * event-msw.c: * console-msw.h: Deleted the first two and merged them into the last two files. * device-msw.c: * event-msw.c: * frame-msw.c: Added file-based drag and drop support. The "System/Open" DDE command is also implemented as if it were a drag and drop operation. * emacsfns.h: * event-stream.c: * events.c: * events.h: * frame.c: * keymap.c: Replaced all "#ifdef HAVE_OFFIX_DND" with "#if defined(HAVE_OFFIX_DND) || defined(HAVE_MS_WINDOWS)" * device.h: Added DEVICE_MSWINDOWS_P and related macros. * objects-msw.c: * select-msw.c: Eliminated warnings. * redisplay-msw.c: Changed color of "dead" box between scrollbars to windows' "button" color for compatibility with other windows apps. 1998-01-20 Stephen Turnbull <turnbull@sk.tsukuba.ac.jp> * Makefile.in.in: move `rm puresize-adjust.h' from distclean to mostlyclean 1998-01-29 SL Baur <steve@altair.xemacs.org> * Makefile.in.in (dlopen.o): Add dependencies. * s/sunos4-0.h: Conditionalize use of broken-sun.h for old Gccs. Suggested by Amir J Katz <amir@ndsoft.com> 1998-01-28 SL Baur <steve@altair.xemacs.org> * faces.c (init_device_faces): This function can call lisp. 1998-01-28 P. E. Jareth Hein <jareth@camelot-soft.com> * mule-coding.h: * mule-coding.c: (determine_real_coding_system): removed the static declaration to allow reuse. * md5.c (Fmd5): Rewrote to fully support MULE, as well as streamline the code. * mule-ccl.c (ccl_driver): Set initial values of variables to shut up the compiler and to give better error message if a quit happens before any ccl_code is generated. 1998-01-28 SL Baur <steve@altair.xemacs.org> * glyphs.c (allocate_glyph): This function can GC. Wrap GCPRO around unprotected function calls. (specifier_vars_of_glyphs): Comment change -- Can we GC here? 1998-01-27 SL Baur <steve@altair.xemacs.org> * lread.c (Fload_internal): Add extra GCPRO around call to Fassoc. Enable purespace usage counts always. * m/powerpc.h: Isolate changes for mklinux from AIX. 1998-01-27 Hrvoje Niksic <hniksic@srce.hr> * symbols.c (init_symbols_once_early): Decreased default size of Vpure_uninterned_symbol_table to 50. 1998-01-27 SL Baur <steve@altair.xemacs.org> * redisplay-x.c (x_output_string): Correction for handling underlined fonts when XGetFontProperty fails. From Chris Felaco <felaco@iatcmail.ed.ray.com> 1998-01-27 Kyle Jones <kyle_jones@wonderworks.com> * alloc.c (Fpurecopy): Store symbols that aren't interned in Vobarray into Vpure_uninterned_symbol_table. * symbols.c (init_symbols_once_early): Initialize Vpure_uninterned_symbol_table. * emacsfns.h: Declare Vpure_uninterned_symbol_table. 1998-01-26 SL Baur <steve@altair.xemacs.org> * alloc.c (report_pure_usage): New macro PURESIZE_SLOP to allow for extra pure space. 1998-01-23 SL Baur <steve@altair.xemacs.org> * sound.c (Fplay_sound_file): Use NILP for comparison of Lisp_Object. Wed Jan 21 10:49:47 1998 Andy Piper <andyp@parallax.co.uk> * unexcw.cc: new file for cygwin32 unexec() requires cygwin32 b19. Predicated on HAVE_COFF_H. * console.c: * device-msw.c: * event-msw.c: * frame-msw.c: * msw-proc.c: * objects-msw.c: Eliminate warnings. * redisplay-msw.c (mswindows_update_gc): eliminate warnings and extend hack for bogus bg values. * symsinit.h: add msw headers to eliminate warnings. * s/cygwin32.h: various updates for unexec() support. * lastfile.c: add my_ebss for cygwin32 unexec() support. * gmalloc.c: made __malloc_initialized non-static so that it goes into the bss where we expect it. * emacs.c: put run_time_remap() in a place where initialized is not always true. * Makefile.in.in: add support for compiling .cc files. * config.h.in: added HAVE_COFF_H support. 1998-01-23 Hrvoje Niksic <hniksic@srce.hr> * print.c (print_cons): Use XCAR/XCDR. (print_string): Fix up so it Vprint_string_length works under Mule correctly. * eval.c (Feval): Increase profile call count. * keymap.c: Fixed typo. 1998-01-22 Hrvoje Niksic <hniksic@srce.hr> * symbols.c (Funintern): Reset symbol's obarray property. 1998-01-22 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com> * alloc.c (size_vector): Declare *p as CONST to eliminate warning. 1998-01-22 Hrvoje Niksic <hniksic@srce.hr> * print.c (print_symbol): Recognize Vprint_gensym being a cons; use Vprint_gensym_alist. * symbols.c (init_symbols_once_early): Ditto. * alloc.c (Fmake_symbol): Reset it. * symbols.c (Fintern): Set it. * lisp.h (struct Lisp_Symbol): New element `obarray'. * print.c (print_prepare): Reset Vprint_gensym_alist. (print_finish): Ditto. * lread.c: Recognize #n= and #n#. (readevalloop): Reset read_objects to nil. (Fread): Ditto. 1998-01-23 SL Baur <steve@altair.xemacs.org> * toolbar.c (update_toolbar_button): Eliminate redundant NILP checks. From Martin Buchholz <martin@xemacs.org> 1998-01-21 Hrvoje Niksic <hniksic@srce.hr> * dlopen.c: New file. 1998-01-19 Steven L Baur <steve@altair.xemacs.org> * eval.c (prog1): Don't GCPRO unitialized variable. (prog2): Ditto. From Martin Buchholz <martin@xemacs.org> 1998-01-19 Hrvoje Niksic <hniksic@srce.hr> * sound.c (Fplay_sound_file): Use signal_simple_continuable_error() instead of error(). 1998-01-18 Hrvoje Niksic <hniksic@srce.hr> * README: Updated. 1998-01-18 SL Baur <steve@altair.xemacs.org> * glyphs-x.c (imagick_instantiate): Dynamically allocate pixar with alloca. From Damon Lipparelli <lipp@primus.com> 1998-01-14 Martin Buchholz <martin@xemacs.org> * eval.c (For, Fand, Fif, Fcond, Fprogn, Fprog1, Fprog2): Modernize and streamline. Replace Fcdr with XCDR, Fcar with XCAR for efficiency. Remove REGISTER declarations. 1998-01-13 Martin Buchholz <martin@xemacs.org> * emacsfns.h: * alloc.c: Add proper prototypes for print_cons, print_vector, print_string. * dired.c (directory-files): * elhash.c (elisp_maphash): * elhash.h (elisp_maphash): * lrecord.h: * mule-ccl.c (setup_ccl_program): * mule-coding.c (coding_system_charset): * offix-cursors.h (cursor_bits): Warning elimination. * redisplay.c (add_blank_rune): * redisplay.c (add_glyph_rune): * redisplay.c (add_emchar_rune): Warning elimination. Avoid useless computation in non-mule case. * config.h.in: Define HAVE_INVERSE_HYPERBOLIC using 1 configure test, not 3. * src/alloc.c: * src/events.c: Rearrange order of declarations and definitions to avoid forward * src/mem-limits.h: Add motivating comment for future cleanup. * s/linux.h: Cleanup. Remove old cruft. * config.h.in: Always define _GNU_SOURCE when using GNU libc. Support --without-FOO as a synonym for --with-FOO=no. Always use $srcdir to locate config.guess. Make it clear that CONFIGURATION is optional. De-emphasize CONFIGURATION parameter. Random cleanup. More compatible with standard GNU install instructions. --with-menubars=athena3d ==> --with-menubars=lucid. 1998-01-14 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fexpand_file_name): Synched with FSF. 1998-01-13 Hrvoje Niksic <hniksic@srce.hr> * objects-msw.c (mswindows_color_instance_rgb_components): Multiply components by 257 instead of shifting by 8. 1998-01-15 Hrvoje Niksic <hniksic@srce.hr> * elhash.c (Fhashtable_type): New function. (Fhashtable_test_function): Ditto. 1998-01-12 SL Baur <steve@altair.xemacs.org> * profile.c (Fclear_profiling_info): Fix typing error. * elhash.c (elisp_map_remhash): Fix typing error. (elisp_maphash): Ditto. 1998-01-12 Hrvoje Niksic <hniksic@srce.hr> * mule-ccl.c (Fccl_execute_on_string): Use Dynar_free to free a Dynarr. 1998-01-13 Hrvoje Niksic <hniksic@srce.hr> * profile.c (vars_of_profile): New variable `call-count-profile-table'. (Fclear_profiling_info): Clear call-count-profile-table. * eval.c (funcall_recording_as): Use it. * profile.c (profile_increase_call_count): New function. * lstream.c (stdio_flusher): Comment addition. * objects-msw.c (mswindows_string_to_color): Support #RRRGGGBBB, as well as #RRGGBB. (mswindows_X_color_map): Reformatted. 1998-01-12 Hrvoje Niksic <hniksic@srce.hr> * line-number.c (invalidate_line_number_cache): Comment fixup. * symbols.c (Fapropos_internal): Docstring fix. * fns.c (Fstring_equal): Docstring fix. 1998-01-12 Hrvoje Niksic <hniksic@srce.hr> * profile.c (get_profiling_info_maphash): Return int. (mark_profiling_info_maphash): Ditto. * elhash.c (Finternal_hash_value): New debugging function, undefined by default. 1998-01-11 Hrvoje Niksic <hniksic@srce.hr> * mule-coding.c (add_coding_system_to_list_mapper): Ditto. * mule-charset.c (add_charset_to_list_mapper): Return int. * faces.c (add_face_to_list_mapper): Return int. (mark_face_as_clean_mapper): Ditto. (update_face_inheritance_mapper): Ditto. * keymap.c (keymap_submaps_mapper_0): Return int. (keymap_submaps_mapper): Ditto. (copy_keymap_inverse_mapper): Ditto. (copy_keymap_mapper): Ditto. (map_keymap_unsorted_mapper): Ditto. (map_keymap_sorted_mapper): Ditto. * elhash.c (hashtable): Added a hash method. (hashtable_hash): New function. 1998-01-09 Hrvoje Niksic <hniksic@srce.hr> * elhash.c (lisp_maphash_function): Return 0. (hashtable_equal_mapper): Bail out when an element is not `equal'. * hash.c (maphash): Bail out if map function returns non-zero. 1998-01-11 SL Baur <steve@altair.xemacs.org> * eval.c (Fbacktrace): Treat first parameter to byte-code specially. Sat Jan 10 11:36:11 1998 Andy Piper <andyp@parallax.co.uk> * config.h.in: undef HAVE_SYS_UN_H so that it gets defined by configure for gnuserv with UNIX_DOMAIN_SOCKETS. 1998-01-09 SL Baur <steve@altair.xemacs.org> * buffer.c (reset_buffer_local_variables): Synch case-table resetting stuffs from Emacs 20.2. Suggested by Aki Vehtari <Aki.Vehtari@hut.fi> * src/symbols.c (Fsetq_default): Fix docstring. From Didier Verna <didier@xemacs.org> 1998-01-07 Kirill M. Katsnelson <kkm@kis.ru> * msw-proc.c (mswindows_wnd_proc): Calls to redisplay() from out of WM_SIZE handler limited to the case of dragging frame borders. * redisplay-msw.c (mswindows_bevel_modeline): Added support for negative modeline height. (mswindows_output_cursor): Added bar cursor drawing (mswindows_flash): Flash frame by inverting client area. 1998-01-08 Andy Piper <andyp@parallax.co.uk> * lread.c: guess load path if its not set just like the dumped version does. * doc.c: guess doc path if its not set just like the dumped version does Thu Jan 08 09:42:36 1998 Andy Piper <andyp@parallax.co.uk> * emacs.c: don't load loadup.el when CANNOT_DUMP is set, this is almost never right on XEmacs. * s/cygwin32.h: add comments about how to buid. Move some variables into configure so that we don't have to set them. * config.h.in: define HAVE_WINDOW_SYSTEM if HAVE_MS_WINDOWS is set. 1998-01-06 Kirill M. Katsnelson <kkm@kis.ru> * lread.c (Fload_internal): On Win32, this reopened the file without first closing the handle. This caused running out of handles. * nt.c (sys_open): This one made big mess when opening a handle next after MAXDESC-1. Fixed. 1998-01-06 Kirill M. Katsnelson <kkm@kis.ru> * objects-msw.c (mswindows_string_to_color): Patched not to modify const char* parameter. (hexval): Modified to accept uppercase hex digits. * ntproc.c (sys_spawnve): char* arguments made CONST, to comply with standard header declaration. * sysdep.c: Fixed ugly prototypes copied from system headers. Who says the solution is as ugly, is right. Added a couple of #include directives to avoid undefined functions. (struct save_signal): Added parameter to function pointer prototype when compiled under ANSI C. (save_signal_handlers): Ditto * s/windowsnt.h: Added prototypes for functions defined via sys_<name> which are not found or differ on Win32: pipe, sleep, spawnve, wait, kill Macros created from former nt.c functions: random srandom setpgrp Defined HAVE_STRCASECMP, and strcasecmp defined to _stricmp which is provided by the compiler. Removed hack which prevented winsock.h from including. * nt.c (random): Removed and made a macro in s/windowsnt.h (srandom): Ditto (setpgrp): Ditto (unrequest_sigio): #if0'ed. It is unreferenced; in XEmacs, calls to it seem to be controlled by HAVE_SIGIO. (request_sigio): Ditto * nt.h: Removed FD_* macros. Rely on definitions in winsock.h. Changed EMACSDEBUG references to DEBUG_XEMACS * event-msw.c (mswindows_cancel_dispatch_event): Returns Qnil when event not found in the queue. Used to return undefined value. 1998-01-07 SL Baur <steve@altair.xemacs.org> * emacs.c (main_1): Add `-no-autoloads' to suppress loading autoloads at startup. * Makefile.in.in (xemacs): Fix call to list load-path shadows. 1998-01-02 Charles G. Waldman <cgw@pgt.com> * frame.h: fix erroneous FRAME_RIGHT_BORDER_START macro. Corrects display glitch when toolbar is on the right. 1998-01-02 Kirill M. Katsnelson <kkm@kis.ru> * emacs.c (make_arg_list_1): On Win32 platforms, GetModuleFileName is consulted instead of argv[0] to get full path to the xemacs executable. 1998-01-01 SL Baur <steve@altair.xemacs.org> * m/sparc.h: Cleans up some warnings about unused variables in getloadavg.c under Sparc/Linux. From Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> * fileio.c (vars_of_fileio): Enable directory-sep-char always for compatibility. * emacs.c (main_1): Inhibit reloading dumped lisp when using `-batch' or `-vanilla'. 1997-12-31 SL Baur <steve@altair.xemacs.org> * emacs.c: New variables `inhibit-update-dumped-lisp' and `inhibit-update-autoloads'. (vars_of_emacs): Initialize them. 1997-12-29 Kirill M. Katsnelson <kkm@kis.ru> * msw-proc.c (mswindows_enqueue_magic_event): Made extern. User by menubar-msw.c * event-msw.h: Prototype for mswindows_enqueue_magic_event * event-msw.c (mswindows_wm_timer_callback): Fixed counter of outstanding timer events (decremented only when KillTimer succeeds) (emacs_mswindows_remove_timeout): Ditto * console-msw.h: Added frame structure field for menu checksum * menubar-msw.c: Miscellaneous patches and bug fixes. 1997-12-30 SL Baur <steve@altair.xemacs.org> * emacs.c (main): Clarify calls to main_1. * data.c (Fcompiled_function_annotation): Hide DEFUN from make-docfile. * emacs.c (main_1): The invocation name requires recomputing when running after dumping. 1997-12-29 SL Baur <steve@altair.xemacs.org> * free-hook.c (check_free): Added explicit braces to avoid dangling else clause. * sound.c (Fplay_sound_file): Ditto. * process.c (set_process_filter): Ditto. * linuxplay.c (linux_play_data_or_file): Ditto. * regex.c (regex_compile): Ditto. 1997-12-28 SL Baur <steve@altair.xemacs.org> * emacs.c (main_1): Fix logic to run in place when XEmacs is a login shell. (main_1): New parameter restart. (main): Use it. * bytecode.h: Disable COMPILED_FUNCTION_ANNOTATION_HACK. * print.c (debug_short_backtrace): Guard call to Fcompiled_function_annotation. * alloc.c (disksave_object_finalization): Don't zero out load-history if history of pure symbols is desired. * lread.c (build_load_history): If LOADHIST_DUMPED is defined, add pure symbols to load-history. * emacsfns.h: New symbols added -- LOADHIST_DUMPED, define to get a history of dumped lisp. LOADHIST_BUILTIN, define to get a history of symbols defined in C source. 1997-12-23 Andy Piper <andyp@parallax.co.uk> * Conditionals to enable XEmacs to compile (not run!) under CygWin32. Files touched: events.c getloadavg.c mem-limits.h objects-msw.c select-msw.c sysdep.c * s/cygwin.h: New file. 1997-12-26 Kirill M. Katsnelson <kkm@kis.ru> * menubar-msw.c, menubar-msw.h: New files. Menus support. * console-msw.h: Added frame menu hashtable variable. * gui.c: popup_up_p variable and Fpopup_up_p and separator_string_p functions are moved from gui-x.c * gui.h: New file declaring the above. It is #included into the following files: dialog-x.c gui-x.c menubar-x.c * emacs.c: Added calls to *_of_menubar_mswindows() * event-msw.c: Generalization of modal pump interface so it may be used bu menubars also. Some functions and vars renamed, to reflect more general approach (event_pump -> modal_loop) * frame-msw.c: Initialization and marking of menu hashtable. * msw-proc.c: Added handling for menu window messages. * opaque.c: opaque objects given hash and equal methods, so they can be compared with 'equal. Menubar uses opaque pointers as hash keys in an 'equal style hashtable. * Most of the above touched files: Eliminated compiler warnings. 1997-12-18 Hrvoje Niksic <hniksic@srce.hr> * elhash.c (print_hashtable): Use `%u' for fullness. (hashtable_equal): New function. (hashtable_equal_mapper): Ditto. * lread.c (vars_of_lread): Initialize Vread_buffer_stream here instead of in init_lread. 1997-12-26 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (imagick_instantiate): Add in error and warning handling for ImageMagick files 1997-12-26 SL Baur <steve@altair.xemacs.org> * Makefile.in.in (distclean): Remove `xemacs.*'. 1997-12-22 SL Baur <steve@altair.xemacs.org> * device.c (vars_of_device): Provide `devices' feature so W3's devices.el emulation won't bloat XEmacs. * lread.c (Fload_internal): Strip path and extension when considering a file as a candidate for running after-load functions. 1997-12-20 Kirill M. Katsnelson <kkm@kis.ru> * s/windowsnt.h: SIZEOF_SHORT set to 16 bits instead of 32, to get real. * redisplay-msw.c: (many functions): FillRect replaced with ExtTextOut where possible, which is much faster. (mswindows_redisplay_deadbox_maybe): New function which fixes deadbox, a square bounded by scrollbar ends and window corner (usually the lower right corner). * emacs.c (assert_failed): On Win32 platforms, when assertion fails, debugger break occurs if DEBUG_XEMACS is defined. * event-msw.c (mswindows_pump_outstanding_events): Fixed so two consequtive Fsignals are not lost. * scrollbar-msw.c (mswindows_update_scrollbar_instance_values): Added SBF_DISABLENOSCROLL flag so the bar is greyed out when all lines are visible. (mswindows_update_scrollbar_instance_status): Ditto for freshly assigned scrollbar. * scrollbar.c (Fscrollbar_set_hscroll): Fixed fitting scroll limits into range. 1997-12-18 Kirill M. Katsnelson <kkm@kis.ru> * events-msw.c: Added support for modal event dispatch pump. This mechanism is for scrollbars and menus. * events-msw.h: Public declaration for the pump function. * msw-proc.c: Pump scrollbar misc user events through the brand new pump. Pumps! * scrollbar-msw.c: Minor range fixes. Added misc events for horizontal bar, which did not fix it... Thu Dec 18 09:53:12 1997 <jsparkes@internetivity.com (Jeff Sparkes)> * objects-msw.c (mswindows_print_color_instance): Scale 8 bit RGB components up to 16 bit X sizes. (mswindows_string_to_color): numeric colors are #RRGGBB not #BBGGRR. * objects-msw.c (mswindows_color_instance_rgb_components): ditto * objects.c (Fcolor_instance_rgb_components): Document range of components as 0-65535. 1997-12-18 SL Baur <steve@altair.xemacs.org> * doc.c (verify_doc_mapper): Fix return value and argument list for map_obarray. * device-x.c: New variable -- Vx_app_defaults_directory. (x_init_device): Use locale directory searched from package-path. 1997-12-18 Kyle Jones <kyle_jones@wonderworks.com> * EmacsFrame.c: Added foregroundToolBarColor and foreground resources to the resources[] definition. Moved default gray8o color value from the bcakgroundToolBarCOlor resource to th background resource since the override order is now reversed in toolbar-x.c. Don't provide a default value for the foreground resource that the toolbar code looks at. * EmacsFrame.h: Define foregroundToolBarColor string for use in the resoruces code. * EmacsFrameP.h: Added foreground_toolbar_pixel slot to EmacsFramePart struct. * toolbar-x.c: Let the toolbar specific background resource override the global background resource. Added support for a toolbar specific foreground resource, which is not currently used for anything internally. 1997-12-17 Hrvoje Niksic <hniksic@srce.hr> * redisplay.c (decode_mode_spec): Comment fixup. * tooltalk.c (Freceive_tooltalk_message): Ditto. * search.c (Freplace_match): Ditto. * frame-x.c (x_frame_property): Ditto. * console.c (Fcurrent_input_mode): Ditto. * callint.c (Fcall_interactively): Ditto. * abbrev.c (Fexpand_abbrev): Ditto. * dired.c (file_name_completion): Use Qzero instead of make_int(0). * fileio.c (Finsert_file_contents_internal): Use report_file_error() to report reading error. * cmds.c (internal_self_insert): Don't self-insert if the expanded symbol's hook has a non-nil `no-self-insert' property; synch with FSF 20.2. * abbrev.c (Fexpand_abbrev): Return Vlast_abbrev, like in FSF 20.2. 1997-12-16 Hrvoje Niksic <hniksic@srce.hr> * abbrev.c (abbrev_match): User map_obarray() instead of crockishly copying it. (abbrev_match_mapper): New function. (Fexpand_abbrev): Check whether `pre-abbrev-expand-hook' has killed the buffer. * symbols.c (map_obarray): Accept a void * argument. (mapatoms_1): Adapt. (apropos_accum): Use fast_lisp_string_match(). (Fapropos_internal): Don't cons. (map_obarray): Stop mapping if FN returns non-zero. * marker.c (unchain_marker): Guard assert() with ERROR_CHECK_GC. (bi_marker_position): Guard assert() with ERROR_CHECK_BUFPOS. (set_bi_marker_position): Ditto. 1997-12-15 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Finsert_file_contents_internal): Use make_int when checking for overflow. (Finsert_file_contents_internal): Use EXTERNAL_LIST_LOOP. (Ffind_file_name_handler): Ditto. * dired.c (file_name_completion): Use noseeum_cons. (file_name_completion_unwind): Free the cons. 1997-12-16 <jsparkes@internetivity.com (Jeff Sparkes)> * scrollbar.c: Add HAVE_MS_WINDOWS to scrollbar-page functions. * msw-proc.c: Handle scrolling events. * frame-msw.c: Initialize scrollbar width and height. This should not be necessary, since the window shouldn't be created until init_frame_2 * emacs.c: Call mswindows scrolbar setup when appropriate. * scrollbar-msw.c: Created for mswindows-scrollbar support. * scrollbar-msw.h: Ditto. 1997-12-16 Kirill M. Katsnelson <kkm@kis.ru> * msw-proc.c: Minor bug in the middle button emulation code exterminated. * msw-proc.c: Character translation procedure reworked, so C-M-char keys now work properly. Keyboard layouts that use AltGr for third register characters are detected and handled. The code has been tested on French and UK keyboard layouts. * msw-proc.c: #if 0'ed remains of threaded code are removed. * event-msw.c: Mouse motion was incorrectly counted for a user event. * event-msw.c: lisp variables beginnig with w32- are renamed to begin with mswindows-. 1997-12-15 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Finsert_file_contents_internal): Use it. (Fcopy_file): Ditto. * sysdep.c (interruptible_open): New function. 1997-12-16 Kyle Jones <kyle_jones@wonderworks.com> * frame-x.c (x_init_frame_2): Don't call update_frame_title. Some modeline specs depend on f->device->selected_frame being non-nil and that will not be true during initialization of the first frame on a device. 1997-12-16 SL Baur <steve@altair.xemacs.org> * fileio.c: clean up paren levels between ifdefs. From Hrvoje Niksic <hniksic@srce.hr> 1997-12-15 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (imagick_instantiate): Remove an assumption that all machines have LSB XImage support. 1997-12-14 Kyle Jones <kyle_jones@wonderworks.com> * Makefile.in.in: Moved $(OFFIX_O) from x_objs to X11_objs to avoid having its initialized global variables be dumped read-only. 1997-12-14 SL Baur <steve@altair.xemacs.org> * offix.c (DndSetData): Use standard INT_MAX instead of MAXINT. Replace <values.h> with <limits.h> 1997-12-13 Kirill M. Katsnelson <kkm@kis.ru> * msw-proc.c: added emulation for middle mouse button by chording left and right buttons * event-msw.c: added lisp variables for resize behavior and middle button emulation thresholds * msw-proc.c: {un}map-frame-hook now are not called directly from the window procedure, rather from magic event handler. * Formulated golden rule for calling lisp from window procedure: "NOOOOOO!". May be violated under circumstances although. * frame-msw.c: corrected problem with setting frame width and height properties, introduced by 95-style look. 1997-12-12 SL Baur <steve@altair.xemacs.org> * input-method-xlib.c (describe_XIC): Add casts, use unsigned long int. * eval.c (funcall_subr): Ifdef out as it is now unused. * emacsfns.h: Declare Fdisplay_error. * callint.c (Fquote_maybe): Don't use `==' on Lisp_Objects. 1997-12-12 Michael Sperber <sperber@informatik.uni-tuebingen.de> * fileio.c: Removed stillborn set-buffer-modtime. 1997-12-10 Hrvoje Niksic <hniksic@srce.hr> * elhash.c (hashtable_instantiate): If SIZE is nil, set it to length of DATA. (print_hashtable): Would bogusly print #(hashtable). (verify_function): Use XCAR. 1997-12-12 Hrvoje Niksic <hniksic@srce.hr> * elhash.c (print_hashtable_data_mapper): Use a C structure instead of consing. 1997-12-12 Hrvoje Niksic <hniksic@srce.hr> * callint.c (quotify_arg): Don't quotify vectors, keywords, bit-vectors and lambdas. (Fquote_maybe): New subr, from quotify_arg. (quotify_args): Use it. (Fcall_interactively): Ditto. 1997-12-11 Hrvoje Niksic <hniksic@srce.hr> * window.c (Fset_window_point): Ditto for Fgoto_char. (Fset_window_configuration): Ditto. * undo.c (Fprimitive_undo): Ditto for Fset_buffer_modified_p, Fgoto_char and Fdelete_region. * print.c (temp_output_buffer_setup): Ditto. * glyphs.c (make_string_from_file): Ditto. * glyphs-x.c (pixmap_to_lisp_data): Ditto for Ferase_buffer. (pixmap_to_lisp_data): Ditto for Fbuffer_substring. * bytecode.c (Fbyte_code): Use Qnil instead of Fcurrent_buffer() when calling functions that use decode_buffer() internally -- it is faster. Change done for Fgoto_char, Fchar_after, Ffollowing_char, Fpreceding_char, Findent_to, Feolp, Feobp, Fbolp, Fbobp, Fforward_char, Fforward_word, Fskip_chars_forward, Fskip_chars_backward, Fforward_line, Fbuffer_substring, Fdelete_region, Fnarrow_to_region, Fwiden, Fend_of_line, Fupcase and Fdowncase. 1997-12-11 Jonathan Harris <jhar@tardis.ed.ac.uk>, Kirill M. Katsnelson <kkm@kis.ru> * The first collegial patch in the xemacs-nt history. Well... * device-msw.c, event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: xemacs is now single-threaded application. Due to this, the problem with crash during input events in GC got resolved. * xemacs frames are given "95ish" look with raised border. * stop character (ctrl+g) now works. SIGINT (ctrl+c or ctrl+break at the console) is still broken although. * frame "as lisp object" is now stored in window-associated space provided by the system. This enables obtaining frame object given window handle in constant time. * mswindows_cancel_dispatch_event() now has limited handling for key_press_event's in addition to timeout_event's. 1997-12-11 SL Baur <steve@altair.xemacs.org> * intl.c (init_intl_very_early): Force LC_NUMERIC to "C". * input-method-xfs.c (Initialize_Locale): Ditto. * input-method-motif.c (Initialize_Locale): Ditto. * input-method-xlib.c (Initialize_Locale): Ditto. Suggested by Didier Verna <didier@xemacs.org> and Martin Buchholz <martin@xemacs.org> 1997-12-10 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com> * config.h.in: #undef MAGICK_HEADERS_ARE_UNDER_X11 * glyphs-x.c: #ifdef MAGICK_HEADERS_ARE_UNDER_X11 added. 1997-12-11 SL Baur <steve@altair.xemacs.org> * glyphs-x.c (_XOS_H_): Try to avoid including Xos.h on Solaris. Suggested by Samuel Tardieu <sam@inf.enst.fr> 1997-12-11 David Hobley <davidh@wr.com.au> * pure.c: Removed WINDOWSNT conditional. 1997-12-10 SL Baur <steve@altair.xemacs.org> * Makefile.in.in: Doc changes, update dependencies. * frame-x.c (x_init_frame_1): Remove unused variable. * fns.c (internal_equal): Guard label with ifdef. (internal_old_equal): Ditto. * symsinit.h: Declare structure_type_create_hashtable. * elhash.c (finish_marking_weak_hashtables): Move unused variable so gcc doesn't complain about it. * elhash.h: Declare new weak hashtables. * elhash.c (print_hashtable): Fix format. 1997-12-10 Hrvoje Niksic <hniksic@srce.hr> * frame-tty.c (tty_raise_frame_no_select): Use LIST_LOOP. (tty_lower_frame): Ditto. * faces.c (face_validate): Don't check for doubly defined keywords; the reader does that. * emacs.c (main_1): Call structure_type_create_hashtable(). * general.c (syms_of_general): Added Qtest and Qsize. * elhash.c (structure_type_create_hashtable): New function. (hashtable_type_validate): Ditto. (hashtable_test_validate): Ditto. (hashtable_size_validate): Ditto. (hashtable_data_validate): Ditto. (hashtable_instantiate): Ditto. * extents.c (extent_putprop): Made it work. (extent_remprop): Ditto. 1997-12-08 Kirill M. Katsnelson <kkm@kis.ru> * device.h: device::fdin and device::fdout are now defined for systems which do not HAVE_UNIXOID_EVENT_LOOP. * device-tty.c, process.c, signal.c: call to signal_fake_event() bracketed out by #ifdef HAVE_UNIXOID_EVENT_LOOP / #endif directives. * signal.c: For Win32 systems, longjmp in signal handler excluded * nt.c, syssignal.h, systime.h: emulation for SIGALRM and SIGPROF and setitimer for Win32 platforms. Profiling now works. * emacs.c: calls to syms_of_profile and vars_of_profile enabled on Win32 platforms. * ntproc.c: handling of SIGCHLD now done by the common signal faking mechanism. (To no avail - subprocesses still broken) * s/windowsnt.h: Signal constants added * redisplay-msw.c: "Sticky" beep which blocked XEmacs until the sound finishes is now repaired 1997-12-06 Jonathan Harris <jhar@tardis.ed.ac.uk> * frame-msw.c, msw-proc.c Further changes to resizing code so that changing default font, either in .emacs or later, works properly. * msw-proc.c Minor optimization: Mouse movement events aren't generated while the user is resizing the frame. Function keys are returned lower-case. 1997-12-09 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c (imagick_instantiate): fix it so that it works properly for PseudoClass files. Still needs some thinking for full color... Also added support for old image instantiators in various places using the OLDCOMPAT define 1997-12-08 Kyle Jones <kyle_jones@wonderworks.com> * event-stream.c (Faccelerate_menu): Check for the existence of a menubar associated with the selected frame before trying to use it. Signal an error if there is no menubar. 1997-12-06 P E Jareth Hein <jareth@camelot-soft.com> * device-x.c: Change -privcmap to -privatecolormap. * events.c: corret minor think-o. 1997-12-04 Jonathon Harris <jhar@tardis.ed.ac.uk> * event-msw.c, faces.c, msw-proc.c: Frame resizing happens in multiples of the default character size. * frame-msw.c: mswindows_set_frame_size() and mswindows_set_frame_properties() now call AdjustWindowRect to set the correct window size. 1997-12-04 Jeff Sparkes <jsparkes@internetivity.com> * frame-msw.c: added frame functions for move, resize, iconify, raise, lower, visible_p, iconified_p, focus, make visible, make invisible, set title. 1997-12-01 Jonathon Harris <jhar@tardis.ed.ac.uk> * event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: - Implemeted simple emacs_mswindows_event_pending_p(). - Fixed deleting frames. - Rewrote timeout code, eliminating "!NILP(rest)" bug. - Special processing for 'Ctrl-@' keystroke. - Support for some new keysyms. 1997-12-03 Hrvoje Niksic <hniksic@srce.hr> * lstream.c (make_stdio_stream_1): Set it. (make_filedesc_stream_1): Ditto. (finalize_lstream): Use it. * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. 1997-11-29 Jeff Miller <jmiller@smart.net> * menubar-x.c: define restore_in_menu_callback() when motif menubars are used. * menubar-x.c: change #ifdef LWLIB_MENUBARS_MOTIF to #if defined LWLIB_MENUBARS_LUCID || defined LWLIB_MENUBARS_MOTIF around code for incremental menu build. * event-stream.c: Changed HAVE_MENUBARS to HAVE_MENUBARS_LUCID in the #ifdef wrappers around menubar accelerator stuff. 1997-12-05 SL Baur <steve@altair.xemacs.org> * keymap.h: update describe_map_tree prototype 1997-12-03 Hrvoje Niksic <hniksic@srce.hr> * lstream.c (make_stdio_stream_1): Set it. (make_filedesc_stream_1): Ditto. (finalize_lstream): Use it. * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. 1997-12-03 Hrvoje Niksic <hniksic@srce.hr> * editfns.c (save_excursion_restore): Fix comment. * fns.c (Fmapvector): GCPRO the vector. 1997-12-01 Hrvoje Niksic <hniksic@srce.hr> * cmdloop.c (default_error_handler): Respect errors-deactivate-region; use display-error. * editfns.c (vars_of_editfns): New variable user-full-name. (init_editfns): Initialize it. (Fuser_full_name): Use it. (vars_of_editfns): Docfixes. * dired.c (Fdirectory_files): Use FORMAT_FILENAME instead of FORMAT_BINARY. (make_directory_hash_table): Ditto. (file_name_completion): Bind `completion-ignore-case' to t under MS Windows. (file_name_completion): Signal an error if a member of `completion-ignored-extensions' is not a string. 1997-11-30 Hrvoje Niksic <hniksic@srce.hr> * doc.c (Fsubstitute_command_keys): Don't use Vprin1_to_string_buffer. * keymap.c (describe_map_tree): Accept a BUFFER argument. (describe_map): Ditto. (describe_command): Ditto. 1997-11-29 Hrvoje Niksic <hniksic@srce.hr> * insdel.c (signal_before_change): Don't treat Vprin1_to_string_buffer specially. (signal_after_change): Ditto. * buffer.c (Fkill_buffer): Don't treat Vprin1_to_string_buffer specially. (complex_vars_of_buffer): Ditto. * print.c (Ferror_message_string): Use Vprin1_to_string_stream. * events.c (Fmake_event): Changed error message. * print.c (Fprin1_to_string): Use a resizing-buffer stream. 1997-12-03 Hrvoje Niksic <hniksic@srce.hr> * buffer.c (Fkill_buffer): Use EXTERNAL_LIST_LOOP. (Fget_file_buffer): Use LIST_LOOP. 1997-12-02 Hrvoje Niksic <hniksic@srce.hr> * editfns.c (save_excursion_save): Don't save VISIBLE-P. (save_excursion_restore): Changed accordingly. (save_excursion_restore): Free the markers and conses even if the buffer is dead. (save_restriction_restore): Use XCAR/XCDR. (Fencode_time): Use XCAR/XCDR, when safe. * menubar.c (Fnormalize_menu_item_name): Use INC_CHARPTR; allow `%%' to mean `%'. * minibuf.c (regexp_ignore_completion_p): Use EXTERNAL_LIST_LOOP; check type of list elements. * dired.c (file_name_completion): Set up a proper unwind form. (file_name_completion_unwind): New function. (file_name_completion): Allow errors. * line-number.c (invalidate_line_number_cache): Would lose in precence of Finsert_before_markers. (narrow_line_number_cache): Only mark LINE_NUMBER_BEGV as dirty. (buffer_line_number): Recalculate LINE_NUMBER_BEGV on demand. (buffer_line_number): Would ignore LINE_NUMBER_FAR. 1997-12-01 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fmapvector): Don't stack-allocate args; allocate the vector and call mapcar1 with its data. 1997-12-02 P E Jareth Hein <jareth@camelot-soft.com> * objects-x.c: Added colormap/visual support, rewrote allocate_nearest_color, and changed the x-color-instance to deal with possibly not freeing a color. * objects-x.h: Added dealloc_on_gc flag for x-color-instances. * redisplay-x.c: Added colormap/visual support. * balloon-x.c: Added colormap/visual support. * console-x.h: Added colormap/visual support by adding visual, depth and colormap slots to a device. * device-x.c: Added colormap/visual support with the command line options "-privcmap" and "-visual" and Xresources ".privateColormap" and ".EmacsVisual". Also changed the device-init so that the app-shell is always realized to properly deal with GCs (previously only realized when OFFIX was supported), and added the x-display-visual-depth lisp function to complement x-display-visual-class. * event-Xt.c: Added colormap/visual support, and stuck in a patch/hack to change the way Xt inherits visuals to match the way it inherits colormaps. * frame-x.c: Added colormap/visual support. * glyphs-x.c: Added colormap/visual support. Will probably need a lot more work. 1997-11-27 Kyle Jones <kyle_jones@wonderworks.com> * src/keymap.c (munging_key_map_event_binding): Don't do the meta char hack when processing key-translation-map. Return nil if the map to be processed (function-key-map or key-translation-map) is not a keymap. 1997-11-27 SL Baur <steve@altair.xemacs.org> * device-msw.c: Turn on italic flag if appropriate * objects-msw.c: Set device-class to color. From Jeff Sparkes <jsparkes@internetivity.com> * glyphs-x.c: Should include <magick/magick.h> since that is what is autodetected by configure. 1997-11-26 SL Baur <steve@altair.xemacs.org> * events.c (Fmake_event): correct type bug. From Colin Rafferty <craffert@ml.com> 1997-11-26 Kyle Jones <kyle_jones@wonderworks.com> * lisp-disunion.h (VALMASK): Use 1UL instead of 1L to shut up Sun's niggling compiler warnings about integer overflow. * print.c (Fprin1_to_string): Don't change and restore the current buffer; no buffer change is needed to accomplish the task. 1997-11-23 Jeff Miller <jmiller@smart.net> * Makefile.in.in removed energize support * buffer.c removed energize support * config.h.in removed energize support * console-x.h removed energize support * doc.c removed energize support * emacs.c removed energize support * extents.c removed energize support * extents.h removed energize support * frame-x.c removed energize support * gui-x.c removed energize support * menubar-x.c removed energize support * process.c removed energize support * puresize.h removed energize support * symsinit.h removed energize support * sysproc.h removed energize support * syssignal.h removed energize support * undo.c removed energize support * window.c removed energize support * energize.c removed * energize.h removed 1997-11-23 Kyle Jones <kyle_jones@wonderworks.com> * faces.c (face_property_was_changed): Don't call update_faces_inheritance, it isn't needed. 1997-11-22 Kyle Jones <kyle_jones@wonderworks.com> * redisplay-x.c (x_flash): Flash the root window area instead of the entire frame area. * frame.h: Added echo_area_garbaged field to frame struct. * frame.c (change_frame_size_1): Set the echo_area_garbaged flag in a frame that has been resized. * redisplay.c (redisplay_frame): Clear echo_area_garbaged flag on frame after displaying the frame. (Fredisplay_echo_area): Clear echo_area_garbaged flag on frame after displaying in echo area. * redisplay.c: Added hscroll_glyph_width_adjust field to position_redisplay_data_type struct. (add_hscroll_rune): Compute the difference in width between the hscroll glyph and a canonical space; store it in data->hscroll_glyph_width_adjust. (create_text_block): In tab field computation, adjust left margin to account for the difference between the width of the hscroll glyph and the width of a canonical space. 1997-11-19 Kyle Jones <kyle_jones@wonderworks.com> * Emacs.ad: Change uses of Gray75 to Gray80. Don't set modeline colors here. * EmacsFrame.c: Fetch "background" resource for use by the toolbar initialization code; default this fetched value to -1 if it is unspecified, which is different from what is found in ef->core.background_pixel in that case. * EmacsFrame.h: Define macros for "Background" and "background" resource strings. * EmacsFrameP.h: Added background_pixel field to EmascFrmaePart struct. * toolbar-x.c (x_initialize_frame_toolbar_gcs): Added code to use the global background resource as the toolbar background color if it is sepcified. Otherwise fall back to the backgroundToolBarColor resource. 1997-11-17 Marc Paquette <marcpa@cam.org> * callproc.c (Fcall_process_internal): Fix for bug in CRLF -> LF conversion. 1997-11-19 Jonathan Harris <jhar@tardis.ed.ac.uk> * redisplay-msw.c: Calls GdiFlush() in _ouput_end, _clear_frame and _redraw_exposed_area * frame-msw.c: mswindows_init_frame_2 Sets frame's pixel width and height 1997-11-19 Kyle Jones <kyle_jones@wonderworks.com> * callproc.c (call_process_cleanup): Actaully wait for the process, rather than not doing it and saying we did. 1997-11-20 Hrvoje Niksic <hniksic@srce.hr> * callproc.c (Fcall_process_internal): Close fd_error. 1997-11-19 Didier Verna <didier@xemacs.org> * emacs.c (main_1): Added the missing argmatch call to check for the '-h' option. 1997-11-18 SL Baur <steve@altair.xemacs.org> * mule-coding.h: Replace freshly broken ENCODE_SJIS and DECODE_SJIS macros with working versions from beta4. 1997-11-17 Kyle Jones <kyle_jones@wonderworks.com> * frame-x.c (x_init_frame_1): Set frame visibility flag to 1 immediately so that echo area message are displayed in it promptly. * redisplay.c (Fredisplay_echo_area): If frame has changed, clear it to avoid garbled messages. * window.c (set_window_pixsize): Restore the bail out if no size change, but do it after the loop that recomputers major child corner coordinates. * keymap.c (describe_map_mapper): Recognize the buttonXup keysyms as mouse bindings. 1997-11-17 Tor Arntsen <tor@spacetec.no> * Makefile.in.in (update-elc.stamp): Add temacs to dependency. 1997-11-16 Kyle Jones <kyle_jones@wonderworks.com> * Added suport for toolbar borders. * EmacsFrame.c: Added X resources for new toolbar borders. (EmacsFrameSetValues): Added Fadd_spec_to_specifier calls to move resourced toolbar border width data into the speciifers. * EmacsFrame.h: Defined X resource strings for toolbar border width resources. * EmacsFrameP.h: Added toolbar border width fields to the EmacsFramePart struct. * console.h: Added toolbar_border_width_changed_in_frame_method field to struct console. * events.c (event_x_y_pixel_internal): Factor the toolbar border into pixel offset. * frame.c: Document new toolbar border width speciifer as being usable as frame properties. (frame_conversion_internal): Factor the toolbar border widths into the geometry calculations. (change_frame_size_1): Ditto. * frame.h: Added field to struct frame for toolbar border widths. Modified geomtry macros and created others in support of the new toolbar border widths. * frameslot.h: Added a default_toolbar_border_width slot. * redisplay-x.c (x_clear_frame): Factor the toolbar border widths into the geometry calculations. * toolbar-x.c (x_draw_blank_toolbar_button): Add support for drawing a border along with the blank button. Accept border_width and vertical args. (x_output_toolbar_button): Added support for drawing a border along with the button. (X_OUTPUT_BUTTONS_LOOP): Pass border_width and vert args to x_draw_blank_toolbar_button. Set vertical and border_width fields in toolbar button. (x_output_toolbar): Support toolbar border widths. (x_toolbar_size_changed_in_frame_1): Mark all toolbar buttons in the change toolbar as dirty so that they are refreshed if had been painted over. New function: x_toolbar_border_width_changed_in_frame. Used it as a console method. * toolbar.c: New function: mark_frame_toolbar_buttons_dirty. New function: toolbar_border_width_changed_in_frame. Used it as a specifier frame slot change method. (get_toolbar_coords): Factor the toolbar border widths into the geometry calculations. (Fset_default_toolbar_position): Update the fallback border width specifiers for the affected toolbar positions. (specifier_vars_of_toolbar): Added specifiers for the toolbar border widths. * toolbar.h: Added vertical and border_width field to the toolbar button struct. * window.h: Added default_toolbar_border_width slot to window struct, along with four slots for the four window local toolbar border width values. 1997-11-16 Kyle Jones <kyle_jones@wonderworks.com> * frame-x.c: Fixed typo in the documentation of the top-toolbar-shadow-color frame property. 1997-11-16 Skip Montanaro <skip@calendar.com> * redisplay.c: suppress buffer computation in several places if MULE is not defined. 1997-11-16 Hrvoje Niksic <hniksic@srce.hr> * events.c (print_event): Use `event-x-pixel' and `event-y-pixel', to be consistent with `make-event' and `event-properties'. (Fmake_event): Allow nil dnd-data. 1997-11-15 Jonathan Harris <jhar@tardis.ed.ac.uk> * console.h mswindows is now a window-system according to CONSOLE_TYPESYM_WIN_P * device.msw.c Now calls init_baud_rate & init_one_device * msw-proc.c Fixed C-key so key is returned unshifted * redisplay-msw.c Modeline and vertical divider appearance tweaks 1997-11-14 SL Baur <steve@altair.xemacs.org> * console.c (Fsuspend_emacs): Fix docstring. Evaluating `suspend-hook' cannot stop suspension. 1997-11-14 Marc Paquette <marcpa@cam.org> * callproc.c (Fcall_process_internal): Do CRLF -> LF conversion when reading process output. 1997-11-14 Hrvoje Niksic <hniksic@srce.hr> * redisplay.c (init_redisplay): Handle not having DISPLAY and not having TTY support. 1997-11-14 Hrvoje Niksic <hniksic@srce.hr> * events.c (Fmake_event): Support DND events. 1997-11-10 Hrvoje Niksic <hniksic@srce.hr> * events.c (Fmake_event): Reenable the event creation code. (Fmake_event): Canonicalize the plist. 1997-11-13 SL Baur <steve@altair.xemacs.org> * mule-charset.c (Fcharset_id): Typecast result to Lisp_Object. * mule-ccl.c (CCL_WRITE_STRING): Reorder parens to avoid compiler barf on Lisp_Object. (Fregister_ccl_program): Remove unused variable idx. * mule-canna.c: Fix declaration of mule_strlen(). * mule-coding.h (ENCODE_SJIS): Parenthesize first two params to avoid compilation problems. 1997-11-13 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> * mule-charset.h: Added preliminary support for charset Ids. * mule-charset.c: Added preliminary support for charset Ids. * redisplay-msw.c (separate_textual_runs): Synched with FSF 20.2 ccl API. * redisplay-x.c (separate_textual_runs): Synched with FSF 20.2 ccl API. * mule-coding.c: Synched with FSF 20.2 ccl API. * mule-coding.h: Moved ccl part to mule-ccl.h. * mule-ccl.c: Synched with FSF 20.2. * mule-ccl.h: New file. Thu Nov 13 21:34:13 1997 Marc Paquette <marcpa@cam.org> * nt.c (REG_ROOT): Use a registry key different that the one for NTEmacs. 1997-11-12 SL Baur <steve@altair.xemacs.org> * lrecord.h: Fix typo in set_lheader_implementation. From: Robert Pluim <Robert_Pluim@BayNetworks.COM> 1997-11-13 Olivier Galibert <galibert@renaissance.loria.fr> * configure.in: Remove HAVE_TIMEZONE_DECL test. 1997-11-13 Olivier Galibert <galibert@renaissance.loria.fr> * s/freebsd.h: Remove HAVE_TIMEZONE_DECL forced value. * config.h.in: Remove HAVE_TIMEZONE_DECL reference. * systime.h: Remove timezone conditional declaration. 1997-11-12 Kyle Jones <kyle_jones@wonderworks.com> * console.c: Use symbol_value_forward_lheader_initializer in various DEFVAR* macros. Forgot this in previous related patch. * lisp-disunion.h: Provide a no-op XUNMARK macro for the GC error checking code even if GCMARKBITS is not greater than 0. * lisp-union.h: Ditto. 1997-11-10 Hrvoje Niksic <hniksic@srce.hr> * event-stream.c: Make echo_keystrokes a Lisp_Object. (maybe_echo_keys): Adapt to that. 1997-11-11 SL Baur <steve@altair.xemacs.org> * eval.c (throw_or_bomb_out): Remove abort. Suggested by: Kyle Jones <kyle_jones@wonderworks.com> 1997-11-11 Kyle Jones <kyle_jones@wonderworks.com> * Added support for referencing lrecord_implementations via an index in an lrecord_header rather than a raw pointer. Also added a mark bit and a pure bit. * alloc.c: Made lrecord_type_index() and lrecord_implementations_table[] global, previously they were static. Used new XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION macros to access lrecord_implementations found in Lisp_Objects and lrecord_headers instead of referencing ->implementation. (gc_record_type_p): For USE_INDEXED_LRECORD_IMPLEMENTATION, there's no need to check for equality to type or type + 1. lrecords are no longer marked by incrementing the implementation pointer. (init_alloc_once_early): Initialized subr and symbol_value_forward lrecord indexes early so that the staticly defined subrs and symbol_value_forward object indexes match the lrecord_implementations_table. * buffer.c: Used symbol_value_forward_lheader_initializer in various DEFVAR* macros. Used new XRECORD_LHEADER_IMPLEMENTATION macro. * elhash.c: Used new XRECORD_LHEADER_IMPLEMENTATION macro. * fns.c: Used new XRECORD_LHEADER_IMPLEMENTATION macro. * lisp.h: Defined subr_lheader_initializer macro, used it in DEFUN macro. * lrecord.h: For USE_INDEXED_LRECORD_IMPLEMENTATION, changed lrecord_header to contain an index into lrecord_implementations_table[], plus a mark bit and a pure bit. Added support code for this. Defined new XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION macros to be used to find the lrecord_implementation of a Lisp_Object. * print.c: Used new XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION macros. * symbols.c: Used symbol_value_forward_lheader_initializer in definition of guts_of_unbound_marker. * symeval.h: Defined symbol_value_forward_lheader_initializer macro. Used symbol_value_forward_lheader_initializer in various macros. Used new XRECORD_LHEADER_IMPLEMENTATION macro. 1997-11-10 SL Baur <steve@altair.xemacs.org> * window.c (set_window_pixsize): Remove unused variable. * extents.c (print_extent_1): Fix type check error in sprintf. * doc.c (Fsnarf_documentation): Remove unused label weird_function. * symsinit.h: Restore declaration of vars_of_dialog_x. * database.c (Fopen_database): Fix unused variable message. * sysdep.c (sys_subshell): vfork() is a demented, obsolete hack. * offix.c (struct): Make ImageData, MaskData be unsigned char *. * event-Xt.c (x_event_to_emacs_event): Clean up typecasting. * frame-x.c (Foffix_start_drag_internal): Ditto. 1997-11-09 Kyle Jones <kyle_jones@wonderworks.com> * extents.c (print_extent_1): Use %lx instead of %p to get the same output on all compilers. 1997-11-09 Hrvoje Niksic <hniksic@srce.hr> * line-number.c: Use markers. * redisplay.c (window_line_number): Restored. * line-number.c (allocate_line_number_cache): Account for narrowing. (buffer_line_number): New function. * line-number.c (get_nearest_line_number): New function. (window_line_number): Use it. (narrow_line_number_cache): New function. (invalidate_line_number_cache): Ditto. (insert_invalidate_line_number_cache): Ditto. (delete_invalidate_line_number_cache): Ditto. (add_line_number): Ditto. * editfns.c (widen_buffer): Update line number cache. (Fnarrow_to_region): Ditto. (save_restriction_restore): Ditto. * insdel.c (buffer_insert_string_1): Invalidate cache for insertion. (buffer_delete_range): Invalidate cache for deletion. * line-number.c: New file. (window_line_number): Moved from redisplay.c. * print.c (debug_print): Print a carriage return, too. * bufslots.h: New slot `line_number_cache'. 1997-11-09 Kyle Jones <kyle_jones@wonderworks.com> * event-stream.c: New Lisp variable: last-command-event-time. 1997-11-08 SL Baur <steve@altair.xemacs.org> * lread.c (init_lread): start from lisp, not lisp/prim. * Makefile.in.in: lisp/prim does exist any more. 1997-11-07 Kyle Jones <kyle_jones@wonderworks.com> * abbrev.c (abbrev_lookup): Don't delete dash at the abbrev start location; abbrev-prefix-mark no longer inserts one. Wed November 05 23:40:00 1997 <jhar@tardis.ed.ac.uk> * fileio.c: insert-file-contents-internal Added a bodge to do CRLF->LF conversion of text files, conditioned on DOS_NT. This is currently only one-way, so all text files written by XEmacs will be UNIXified. CRLF conversion is required to make bytecompile work. * Added file headers to: console-w32.c, console-w32.h, device-w32.c, event-w32.c, event-w32.h, frame-w32.c, objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c Sun November 01 12:00:00 1997 <jhar@tardis.ed.ac.uk> * redisplay-x.c: x_output_vertical_divider: If HAVE_SCROLLBARS was not defined, coordinate of the right of the divider was being used unitialised. * console.h: Added Qw32 and CONSOLE_W32* macros, conditioned on HAVE_W32GUI. * emacs.c: Added calls to the following, conditioned on HAVE_W32GUI: syms_of_*_w32, vars_of_*_w32, console_type_create_*w32. * event-stream.c: Conditioned on HAVE_W32GUI: - vars_of_event_stream calls vars_of_event_w32. - init_event_stream calls init_event_w32_late. * events-mod.h: Removed comment about having alternative making MOD_* constants for different windowing systems. * events.c: Conditioned on HAVE_W32GUI: - event-equal: Added case for w32 magic events. - event-hash: Added case for w32 magic events. * events.h: Conditioned on HAVE_W32GUI: Added struct underlying_w32_event to magic_data. * faces.c: complex_vars_of_faces Added fallbacks for w32 faces, conditioned on HAVE_W32GUI. * frame.c: set-frame-properties Added reference to default-w32-frame-plist to docstring. * general.c: Added new Lisp_Object Qw32 and defsymbol. * redisplay-output.c: redisplay_update_line Conditioned reference to stupid_vertical_scrollbar_drag_hack on HAVE_X_WINDOWS. This will need a proper fix when w32 gets scrollbars. * redisplay-tty.c: init_tty_for_redisplay Conditioned blocking and unblocking of SIGTTOU on !WIN32 because these signals don't exist under win32. * redisplay.c: init_redisplay Initialise window system to w32, conditioned on HAVE_W32GUI. * symsinit.h: Added syms_of_*_w32, vars_of_*_w32 and init_event_w32_late. * sysdep.c: Conditioned various things on WIN32 in addition to MSDOS. * New files: console-w32.c, console-w32.h, device-w32.c, event-w32.c, event-w32.h, frame-w32.c, objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c 1997-11-07 Hrvoje Niksic <hniksic@srce.hr> * doc.c (Fdocumentation_property): GCPRO doc. (Fsubstitute_command_keys): Disallow zero bsize. 1997-11-06 Hrvoje Niksic <hniksic@srce.hr> * events.c (Fevent_modeline_position): Return nil if event is not over modeline, as the docstring says. 1997-11-05 Martin Buchholz <Martin Buchholz <martin@xemacs.org>> * s/aix3-1.h: Remove ^L character wich confuses AIX make. 1997-11-06 Tomasz Cholewo <tjchol01@mecca.spd.louisville.edu> * event-stream.c (Fnext_command_event): Document keystroke echoing. 1997-11-06 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Ffeaturep): Use call1, to prevent stack thrashing with circular lists. - Update docstring. 1997-11-06 Kyle Jones <kyle_jones@wonderworks.com> * frame-x.c (x_delete_frame): Removed code that blocked the deletion of popup frames. No need for it. 1997-11-05 SL Baur <steve@altair.xemacs.org> * balloon_help.h: Replace <X11/Intrinsic.h> with "xintrinsic.h" * balloon_help.c: Ditto. * offix.h: Ditto. * mule-coding.c (coding_system_charset): Add prototype. 1997-11-04 Kazuyuki IENAGA <ienaga@jsys.co.jp> * s/freebsd.h: Add HAVE_TIMEZONE_DECL. Configure will fail at checking for the existence of `extern long timezone'. FreeBSD actualy has the `timezone', but due to its <time.h> and <sys/time.h>, it cannot be recognized by configure. 1997-11-03 Hrvoje Niksic <hniksic@srce.hr> * data.c (Fsubr_interactive): New function. 1997-11-03 Kyle Jones <kyle_jones@wonderworks.com> * frame.c (change_frame_size_1): Added explanatory comment. * window.c (set_window_pixsize): Don't bail out before looping over the major children if there is no size change indicated. The top and left coordinates may need to be recomputed, e.g. in toolbar visibility updates. 1997-11-02 Kyle Jones <kyle_jones@wonderworks.com> * fileio.c (Ffile_truename): Make the errno == EACCES case behave the same as errno == ENOENT. 1997-11-03 Kyle Jones <kyle_jones@wonderworks.com> * frame.c (Fframe_property, Fframe_properties): Check for minibuffer-onlyness of frame before checking whether it has a minibuffer. This makes the minibuffer property value be reported as 'only when that is appropriate. The check order was reversed which resulted in minibuffer-only frames having the minibuffer property reported as t. 1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * m/vax.h: * s/cxux.h: * s/xenix.h: * s/umax.h: * s/msdos.h: * s/template.h: * termcap.c: * signal.c: * lread.c: * callproc.c * buffer.c: Remove VMS dependent code. 1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * syspwd.h: * systty.h: * systime.h: * syssignal.h: * sysproc.h: * sysfloat.h: * sysfile.h: * regex.h: * process.h: * ndir.h: * mule-mcpath.h: * getpagesize.h: * sysdep.h: * fileio.c: * process.c: Remove old VMS code. 1997-11-02 SL Baur <steve@altair.xemacs.org> * glyphs-x.c: Use <magick/magick.h> instead of <magick.h> 1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdep.c: * getloadavg.c: * malloc.c: Remove old VMS code. 1997-11-02 Hrvoje Niksic <hniksic@srce.hr> * database.c (print_database): Don't use a static buffer to store file name. * dired.c (make_directory_hash_table): Ditto. * fileio.c (Ffile_truename): Use `make_ext_string' instead of `make_string'. 1997-11-01 Hrvoje Niksic <hniksic@srce.hr> * database.c (CONCHECK_DATABASE): Define. * dired.c (Fdirectory_files): Use `make_ext_string' instead of `make_string', to avoid crashes under Mule. (file_name_completion): Use `make_ext_string'. * database.c (new_database): Renamed to `allocate_database', as per coding conventions. 1997-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * dired.c: Remove VMS dependent code. 1997-11-01 Kyle Jones <kyle_jones@wonderworks.com> * buffer.h: Change XCHAR_OR_CHAR_INT to use XCHAR or XINT as appropriate instead of using XREALINT. * regex.c (re_search_2): cast translate[*d] to unsigned char when indexing fastmap to avoid sign change when value has the 0x80 bit set. 1997-10-31 SL Baur <steve@altair.xemacs.org> * linuxplay.c (audio_init): Update for newer Linux kernels. From Robert Bihlmeyer <robbe@orcus.priv.at> 1997-11-01 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Finsert_file_contents_internal): Fix misleading comment. 1997-10-31 Kyle Jones <kyle_jones@wonderworks.com> * callproc.c: GC protect current_dir while infile and error_file are being initialized. 1997-10-30 SL Baur <steve@altair.xemacs.org> * config.h.in: Remove HAVE_GIF, HAVE_JPEG, HAVE_PNG, HAVE_TIFF and replace with HAVE_IMAGEMAGICK. 1997-10-30 Kyle Jones <kyle_jones@wonderworks.com> * process.c (Fprocess_send_string): Protect against SIGPIPE when flushing outstream. 1997-10-30 SL Baur <steve@altair.xemacs.org> * input-method-xfs.c: Xlocale.h must be included after config.h. * input-method-motif.c: ditto. * input-method-xlib.c: ditto. 1997-10-28 Kyle Jones <kyle_jones@wonderworks.com> * Under LRECORD_VECTOR, moved vectors from being an basic lrecord tpye to an lcrecord. Added support for 31 bits Lisp integers. Added support for maskless pointers to Lisp objects. * alloc.c (allocate_lisp_storage): Use XSETOBJ instead of XSETCONS to avoid tripping the ERROR_CHECK_TYPECHECK code with uninitialized data. XSETCONS used to work until it became an lrecord type. Removed sweep_vectors_1, all_vectors and other vector specific GC related objects in the LRECORD_VECTOR case, as they are unneeded now that lrecord-based vectors are lcrecords. Added `equal' methods for lrecord-based conses, vectors and strings. I was mistaken before; they are needed. (pure_cons): moved XSETCONS call to after the set_lheader_implementation call, to avoid tripping the type checking code on an uninitialized implementation pointer. (make_pure_vector): moved XSETVECTOR call to after the set_lheader_implementation call, to avoid tripping the type checking code on an uninitialized implementation pointer. (Fpurecopy): return if given a null pointer. THis can happen when initializing Qnil. (mark_object): return if passed a null pointer. I think this can happen when marking through some kind of objects that contain Lisp_Objects and null pointers. (marked_p): Ditto * buffer.c (mark_buffer): Don't mark conses in the indirect children list is said list is in fact a null pointer. The indirect children list gets reset to a null pointer when a bfufer is killed. (complex_vars_of_buffer): initialize indirect_children slow of Vbuffer_local_symbols and Vbuffer_defaults to nil. * chartab.c (Fcheck_category_at): Don't use XREALINT to extract a char from a Lisp_Object, use XCHAR instead. (Fchar_in_category): Ditto. * data.c (eq_with_ebola_notice): Use XCHAR_OR_INT instead of XREALINT to extract data from a Lisp_Object that could contain a charater or an integer. (make_int): use XSETINT in the USE_MINIMAL_TAGBITS case. (make_char): use XSETINT in the USE_MINIMAL_TAGBITS case. (Flsh): XUINT is gone; use XINT instead. * elhash.c (elisp_hvector_malloc): Use Qnull_pointer instead of Qzero, as Qzero is no longer guaranteed to contain an all-zero bit pattern. (make_lisp_hashtable): Ditto. (Fcopy_hashtable): Ditto. * emacsfns.h Conditionalize the declaration of make_char() on whether a make_char macro exists or not. * fns.c (internal_equal): Conditionalize existence of cons, string and vector comparison code on whether they are lrecord-based. (internal_old_equal): Ditto. * lisp-disunion.h USE_MINIMAL_TAGBITS support. 31 bit Lisp integer support. Conditionalized existence of markbit related macros on the existence of a markbit in a Lisp_Object. There are no markbits in the USE_MINIMAL_TAGBITS implementation of a Lisp_Object. Replaced XUINT with XPNTRVAL. Added declaration for Qnull_pointer. * lisp-union.h USE_MINIMAL_TAGBITS support. 31 bit Lisp integer support. Conditionalized existence of markbit related macros on the existence of a markbit in a Lisp_Object. There are no markbits in the USE_MINIMAL_TAGBITS implementation of a Lisp_Object. Replaced XUINT with XPNTRVAL. Added a make_char macro, similar to the make_int macro, for use with the GCC-specific XMAKE_LISP hack. * lisp.h USE_MINIMAL_TAGBITS support. 31 bit Lisp integer support. Added GCMARKBITS macro to specify how many markbits a Lisp_Object contains. Support for lcrecord-based vectors. Added XCHAR_OR_INT for accessing data in an object that might contain either a character or an integer. Made HACKEQ_UNSAFE use XCHAR_OR_INT instead of XREALINT during its Ebola check. * print.c Made the printing code undestand the split Lisp integer type. * symbols.c Added declaration for Qnull_pointer. 1997-10-27 Martin Buchholz <mrb@eng.sun.com> * m/ibmrs6000.h: * s/aix3-2.h: C_SWITCH_SYSTEM ==> configure.in * s/aix4-1.h: -li18n ==> configure.in * s/aix4.h: Always include strings.h * config.h.in: Add AIXV3 define, suggested by xmkmf. Remove AIX_SMT_EXP. * unexaix.c: Fix nested comments compiler warning 1997-10-27 Kyle Jones <kyle_jones@wonderworks.com> * profile.c (sigprof_handler): Don't call XUNMARK on fun, it isn't needed. * faces.c (face_property_matching_instance): Check for charset == Qunbound, which it can be if the character set is unspecified. 1997-10-27 SL Baur <steve@altair.xemacs.org> * mule-wnnfns.c (vars_of_mule_wnn): Provide 'wnn feature. * mule-canna.c (vars_of_mule_canna): Provide 'CANNA feature. 1997-10-27 Kazuyuki IENAGA <ienaga@jsys.co.jp> * device-x.c (x_init_device): To avoid crazy menubars due to lack of suitable font loading. Disabled locale based app-defaults loading when menubars=motif or menubars=lucid + xfs feature is not used. Currently, the menubar resource has no effect for tty use. 1997-10-25 Andreas Jaeger <aj@arthur.rhein-neckar.de> * README: Remove references to VMS. * vlimit.h: * s/vms5-5.h: * s/vms4-4.h: * s/vms4-2.h: * s/vms4-0.h: * s/vms.h: Remove files since VMS isn't supported any more. 1997-10-25 Kyle Jones <kyle_jones@wonderworks.com> * toolbar.h: Reduce MINIMUM_SHADOW_THICKNESS to 1. 1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de> * database.c: Added support for Berkeley DB 2.x. 1997-10-23 SL Baur <steve@altair.xemacs.org> * alloc.c: Disable purespace statistics unless --debug is in effect. * console-stream.c (init_console_stream): At the price of a tiny memory leak, reinitialize FILE fields of the console. From Tonny Madsen <tma@nettest.dk> * emacs.c: New variable `inhibit_package_init'. (vars_of_emacs): Use it. (main_1): Initialize from command line. * Makefile.in.in (xemacs): Specify -vanilla when searching for shadows. * emacs.c: Remove VMS ifdefs. (standard_args): Added -no-packages, --no-packages. Added -vanilla, --vanilla. (Frun_emacs_from_temacs): Guard pure usage report with DEBUG_XEMACS (Fdump_emacs): Ditto. 1997-10-22 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Ffeaturep): Use `Fcar' with `or'. 1997-10-22 Kyle Jones <kyle_jones@wonderworks.com> * alloc.c: drop the Lisp_Type_Record case clause that I added to the switch statement in a previous patch. The string, vector and cons cases belong in the `default' clause with the other lrecord types. 1997-10-22 Kyle Jones <kyle_jones@wonderworks.com> * Added support for strings as lrecords. * lisp.h: #ifdef'd out Lisp_Type_String enum value if LRECORD_STRING is defined. * alloc.c: Added allocation and garbage collection code for lrecord-based strings. * print.c: move Lisp_String printing code to a separate function so that it could be used as a `print' method for lrecord-based strings. 1997-10-20 Jan Vroonhof <vroonhof@math.ethz.ch> * extents.c: Renamed shot property to initial-redisplay-function (extent_fragment_update): Changed the bookkeeping whether an event has been spawned. The initial-redisplay-function property is no longer set to nil. * extents.h: ditto 1997-10-20 Kyle Jones <kyle_jones@wonderworks.com> * Added support for conses and vectors to be lrecords. * alloc.c: Modified allocation and GC code for LRECORD_CONS and LRECORD_VECTOR support. Moved some macros to lrecord.h. * bytecode.c: Warning comment about LRECORD_CONS. * elhash.c: Let internal_hash handle vector hashing if LRECORD_VECTOR is defined, just as it does when LRECORD_VECTOR is not defined. The code could have been copied into an `hash' method function but I don't see any point to it. Added lrecord style marking code to finish_marking_weak_hashtables. Bracketed code that groks the non-lrecord method of marking vectors with #ifdefs. * fns.c: Let internal_equal and internal_old_equal handle vector comparisons when LRECORD_VECTOR is defined, just as it does when LRECORD_VECTOR is not defined. The code could have been copied into an `equal' method function but I don't see any point to it. * lisp.h: Added typecheck macros for LRECORD_CONS support. LRECORD_VECTOR macros were already present. * print.c: New functions print_cons and print_vector for LRECORD_CONS and LRECORD_VECTOR support. Some GC protection also added. * lrecord.h: Received some macros from alloc.c, so that they could be used in lisp.h. 1997-10-20 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Ffeaturep): Handle `not' correctly. * lread.c (vars_of_lread): Use defsymbol for featurep. 1997-10-15 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> * s/irix5-0.h: Removed -G 0 from LD_SWITCH_SYSTEM. .sbss sections are supported since unexelfsgi.c upgrade. 1997-10-16 Kyle Jones <kyle_jones@wonderworks.com> * lstream.c (Lstream_close): Don't return early if the closer method reports failure. Doing so caused GC and memory corruption crashes. 1997-10-14 Hrvoje Niksic <hniksic@srce.hr> * extents.c (Fset_extent_property): Allow `keymap' property to be set to nil. 1997-10-15 SL Baur <steve@altair.xemacs.org> * mule-coding.c (acceptable_control_char_p): Add C-_ for info. (detect_coding_iso2022): Ditto. From SENDA Shigeya <senda@ic.rdc.ricoh.co.jp> 1997-10-09 MORIOKA Tomohiko <morioka@jaist.ac.jp> * mule-coding.c (make-coding-system, detect-coding-region): Modify DOC-string because of renaming `automatic-conversion' -> `undecided' to sync with Emacs 20.2. (make-coding-system, coding-system-type, detect-coding-region): Rename `Qautomatic_conversion' -> `Qundecided'. * general.c (syms_of_general): Rename `automatic-conversion' -> `undecided' to sync with Emacs 20.2. * emacsfns.h, event-Xt.c (x_to_emacs_keysym): Rename `Qautomatic_conversion' -> `Qundecided'. * buffer.c (buffer-file-coding-system): Modify DOC-string because of renaming `automatic-conversion' -> `undecided' to sync with Emacs 20.2. 1997-10-15 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> * lisp.h (MANY): Bump SUBR_MAX_ARGS to 12 and add corresponding DEFUN_n macros. 1997-10-13 Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp> * console-tty.c: Include gpmevent.h * gpmevent.c (connect_to_gpm): change to void * gpmevent.h: Ditto. 1997-10-13 Kyle Jones <kyle_jones@wonderworks.com> * lisp-disunion.h (XSETOBJ): cast Lisp type enum to an EMACS_UINT quantity to avoid a compiler warning about integer overflow when the most significat bit of the type tag is shifted into the sign bit position of an EMACS_INT. 1997-10-12 SL Baur <steve@altair.xemacs.org> * s/freebsd.h: Add X11 guard for building without X11. From Hrvoje Niksic <hniksic@srce.hr> 1997-10-12 Kyle Jones <kyle_jones@wonderworks.com> * doprnt.c (emacs_doprnt_1): if forwarded field width is negative, set minus_flag and make the field width positive. Makes (format "%*s" -10 "abc") work like (format "%-*s" 10 "abc"). 1997-10-12 SL Baur <steve@altair.xemacs.org> * unexsol2.c (unexec): CONST isn't defined here. From Adrian Aichner <aichner@ecf.teradyne.com> 1997-10-11 SL Baur <steve@altair.xemacs.org> * realpath.c (realpath): CONST IS LOSING but removing it conflicts with system headers. * callproc.c: New variable infopath-internal. (complex_vars_of_callproc): Declare and initialized it. * paths.h.in: New variable PATH_INFOPATH. 1997-10-10 Martin Buchholz <mrb@eng.sun.com> * systty.h: - change Xemacs --> XEmacs * buffer.c: * editfns.c: * msdos.c: - Remove bogus FSF-origin \n\ sequences. 1997-10-09 Kyle Jones <kyle_jones@wonderworks.com> * doprnt.c (parse_doprnt_spec): parse `*' field width and precision specs and set up spec forwarding. * doprnt.c (emacs_doprnt_1): implement `*' by forwarding flags, precision and field width data from a spec to a subsequent spec. * editfns.c: document new `*' field width and precision spec. 1997-10-09 SL Baur <steve@altair.xemacs.org> * database.c (Fclose_database): Rename C function. (Fdatabase_last_error): Ditto. (Fopen_database): Ditto. (Fput_database): Ditto. (Fremove_database): Ditto. (Fget_database): Ditto. (syms_of_dbm): Reflect above changes. From Martin Buchholz <mrb@Eng.Sun.COM> 1997-10-08 Hrvoje Niksic <hniksic@srce.hr> * events.c (Fmake_event): Allow only frames as channel. 1997-10-07 Hrvoje Niksic <hniksic@srce.hr> * extents.c (print_extent_1): Fixed typo. 1997-10-07 Kyle Jones <kyle_jones@wonderworks.com> * insdel.c (buffer_replace_char): if doing delete/insert because of characters with deiffering byte lengths,move point forward with the insertion if it was moved backwrad to equal the insertion point by the earlier deletion. 1997-10-06 SL Baur <steve@altair.xemacs.org> * window.c (Fset_window_dedicated_p): register -> REGISTER. * unexalpha.c (update_dynamic_symbols): register-> REGISTER. * sysdep.c: Global change: register -> REGISTER. * strcat.c (strcat): register -> REGISTER. * search.c: Global change: register -> REGISTER. * regex.c: Global change: register -> REGISTER. - Ensure REGISTER is always defined. * nt.c: Global change: register -> REGISTER. * linuxplay.c: Global change: register -> REGISTER. * input-method-xlib.c (best_style): register -> REGISTER. * gifalloc.c: Global change: register -> REGISTER. - Ensure REGISTER is always defined. * getloadavg.c (getloadavg): register -> REGISTER. * eval.c (unwind_to_catch): [Unused variable] register -> REGISTER. * cmds.c (Fpoint_at_bol): register -> REGISTER. * chartab.c (check_category_char): register -> REGISTER. * buffer.c (assoc_ignore_text_properties): [Unused function] register -> REGISTER. * alloca.c: Global change: register -> REGISTER. * xmu.h (XmuCopyISOLatin1Lowered): Global change: const -> CONST. * gif_lib.h: Global change: const -> CONST. * balloon_help.h (balloon_help_move_to_pointer): const -> CONST. * xmu.c: Global change: const -> CONST. * unexsol2.c (unexec): const -> CONST. * unexhp9k3.c (unexec_error): const -> CONST. * unexfreebsd.c (unexec_error): const -> CONST. * sunOS-fix.c (mbstowcs): const-> CONST. (wcstombs): Ditto. * strcpy.c (strcpy): const -> CONST. * strcmp.c: Global change: const -> CONST. * strcat.c (strcat): const -> CONST. * realpath.c (realpath): const -> CONST. * keymap.c (where_is_recursive_mapper): const -> CONST. * extents.c (extent_priority_sort_function): const -> CONST. * dgif_lib.c (DGifOpenFileName): const -> CONST. * balloon_help.c: Global change: const -> CONST. 1997-10-03 SL Baur <steve@altair.xemacs.org> * lisp.h: Nuke register declarations. 1997-10-03 Karl M. Hegbloom <karlheg@inetarena.com> * window.c (Frecenter): Correct variable names in docstring. 1997-10-03 Karl M. Hegbloom <karlheg@inetarena.com> * fns.c: Add some cross references between destructive and non-destructive versions of similar functions. Fri Oct 3 12:28:08 1997 Kyle Jones <kyle_jones@wonderworks.com> * lisp-disunion.h: Move markbit to be between the type bits and the value bits. Previously it was always the sign bit of a EMACS_INT, unless modified by a #define in a machine dependent .h file. 1997-10-02 Hrvoje Niksic <hniksic@srce.hr> * profile.c (Fclear_profiling_info): Made interactive. 1997-10-02 SL Baur <steve@altair.xemacs.org> * glyphs-x.c (USE_TEMP_FILES_FOR_PNG_IMAGES): Move outside of HAVE_JPEG ifdef. 1997-10-01 SL Baur <steve@altair.xemacs.org> * lisp.h (min): Fully parenthize. (max): Ditto. * Makefile.in.in (widget.o): Insert dependencies. - Insert HAVE_OFFIX_DND dependencies. * casefiddle.c (casify_object): Back out bogus undocumented patch from 20.3-beta18. 1997-09-30 SL Baur <steve@altair.xemacs.org> * events.c (Fevent_type): Add OffiX guard. (command_event_p): Ditto. (mark_event): Ditto. (print_event): Ditto. 1997-09-30 SL Baur <steve@altair.xemacs.org> * mule-canna.c (Fcanna_set_bunsetsu): Return a value. (Fcanna_parse): Remove unused variables `ks' and `ksv'. (Fcanna_henkan_begin): Remove unused variable `res'. (Fcanna_henkan_next): Remove unused variable `nbun'. (count_char): Change return type to void. * event-Xt.c (x_event_to_emacs_event): Remove unused variable `event-size'. * menubar.c (Fnormalize_menu_item_name): Remove unused variable `res'. * redisplay-x.c (x_flash): Reorganize test to prefer select over poll. * xselect.c (Fx_store_cutbuffer_internal): Remove unused variable `encoding'. 1997-09-30 Hrvoje Niksic <hniksic@srce.hr> * frame.c (Fmake_frame): Call `custom-initialize-frame'. 1997-09-24 MORIOKA Tomohiko <morioka@jaist.ac.jp> * mule-coding.c: Rename `pathname-coding-system' to `file-name-coding-system' to sync with Emacs 20.2. 1997-09-26 Hrvoje Niksic <hniksic@srce.hr> * window.c (saved_window_equal): Ditto. * process.c (Fget_process): Use internal_equal. * lread.c (build_load_history): Use internal_equal. (build_load_history): Use XCAR/XCDR where safe. * events.c (event_equal): Ditto. * event-stream.c (Fdispatch_event): Ditto. * elhash.c (lisp_object_eql_equal): Ditto. (lisp_object_equal_equal): Ditto. * device.c (find_device_of_type): Ditto. * console.c (find_console_of_type): Ditto. * console-tty.c (tty_init_console): Ditto. * console-stream.c (stream_init_console): Use internal_equal. (stream_canonicalize_console_connection): Ditto. * fns.c (Fmember): Use internal_equal, to avoid a necessary funcall and NILP check. (Fold_member): Ditto for internal_old_equal. (Fassoc): Use XCAR when we know we deal with a cons. Use internal_equal. Removed tem. (Fold_assoc): Ditto. (Fassq): Use XCAR. (Frassoc): Use internal_equal; remove tem. (Fold_rassoc): Ditto for internal_old_equal. (Frassq): Use XCDR with what we know is a cons. (Fold_rassq): Ditto. (Fdelete): Use internal_equal. (Fold_delete): Ditto for internal_old_equal. (Fremassoc): Use internal_equal; use XCAR/XCDR with what we know is a cons. (Fremrassoc): Ditto. * dired.c (Fdirectory_files): Nreverse the list only if it will be sorted. Fri Sep 26 13:55:28 1997 Kyle Jones <kyle_jones@wonderworks.com> * faces.c (update_face_cachel_data): Don't allow the background pixmap of the default face to override the background of a face if that color has been specified. 1997-09-26 Hrvoje Niksic <hniksic@srce.hr> * dired.c (close_directory_fd): New function. (Fdirectory_files): Use it to set up an unwind-protection to close the descriptor. (Fdirectory_files): Allow QUIT in re_search. (Fdirectory_files): If the file is too big, allocate necessary data with malloc. (Fdirectory_files): Use simple Fcons to build the list. (close_directory_fd): Free the opaque pointer. 1997-09-25 Hrvoje Niksic <hniksic@srce.hr> * extents.c (Fset_extent_properties): New function. 1997-09-24 SL Baur <steve@altair.xemacs.org> * dired.c (Fdirectory_files): Remove broken VMS stuff. (file_name_completion_stat): Ditto. (file_name_completion): Ditto. (Top Level): Ditto. (syms_of_dired): Ditto. 1997-09-25 Hrvoje Niksic <hniksic@srce.hr> * widget.c (Fwidget_apply): Don't GCPRO result of Fwidget_get. 1997-09-24 SL Baur <steve@altair.xemacs.org> * symsinit.h: Declare syms_of_widget. * emacsfns.h: Declare Fchar_syntax. * bytecode.c (Fbyte_code): Call Fchar_syntax for the Bchar_syntax bytecode. * syntax.c (Fchar_syntax): convert nil input to \000 for compatibility. * alloc.c (report_pure_usage): Increase slop to 512 bytes in betas and reduce it to 4 bytes in releases. 1997-09-23 SL Baur <steve@altair.xemacs.org> * Makefile.in.in (objs): Add new C file widget.o. 1997-09-22 SL Baur <steve@altair.xemacs.org> * editfns.c (vars_of_editfns): New feature 'ampersand-full-name declared if AMPERSAND_FULL_NAME configuration option is enabled. * callproc.c (vars_of_callproc): Update docstring of `data-directory'. Sun Sep 21 14:14:44 1997 Kyle Jones <kyle_jones@wonderworks.com> * lisp.h: underspecify lisp_fn_t function prototype to avoid compiler errors in inline_funcall_subr(). * eval.c (Fprogn): Walk forms list with XCDR, access with XCAR. Check forms list CONSP, so that XCDR and XCAR are safe. * eval.c (Fsetq): replace Flength call with for-loop to compute list length. Walk arg list with XCDR, access with XCAR. Check arg list with CONSP, so that XCDR and XCAR are safe. * eval.c: New macro inline_funcall_subr, an inline version of funcall_subr + primitive_funcall. * eval.c (Feval): replace Flength call with for-loop to compute list length. Use XCAR and XCDR in some places where it is safe to do so. Use inline_funcall_subr() in place of funcall_subr(). * eval.c (funcall_recording_as): Use XCAR instead of Fcar where it was safe. * eval.c (Fapply): replace Flength call with for-loop to compute list length. * eval.c (apply_lambda):Use XCAR and XCDR in some places where it is safe to do so. * eval.c (funcall_lambda): Walk param list with XCDR, access with XCAR. Check param list CONSP, so that XCDR and XCAR are safe. * symbols.c (find_symbol_value): return quickly if no symbol magic is involved, to avoid the expensive call to find_symbol_value_1. * symbols.c (store_symval_forwarding): don't call reject_constant_symbols unless there is a chance a constant symbol is involved. This break the encapsulation of the constants check, but symbol stores are used heavily and speed is most important than cleanliness in this case. 1997-09-21 Joel Peterson <tarzan@aosi.com> * menubar.c (normalize-menu-item-name): New function. 1997-09-21 SL Baur <steve@altair.xemacs.org> * keymap.c (get_relevant_extent_keymaps): Previous patch reversed. 1997-09-20 SL Baur <steve@altair.xemacs.org> * Makefile.in.in (xemacs): Adoption of shadow.el to print load-path shadowings after successful dump. 1997-09-20 Hrvoje Niksic <hniksic@srce.hr> * redisplay.c (scroll_conservatively): New variable. (redisplay_window): Use it. 1997-09-16 SL Baur <steve@altair.xemacs.org> * events.c (Fmake_event): Add default case, remove unused variables. 1997-08-21 Jan Vroonhof <vroonhof@math.ethz.ch> * extents.c (extent_fragment_update): Trigger one_shot_function * extents.c (set-extent-one-shot-function): New function * extents.h (struct extent_auxiliary): Added one_shot_function * extens.c: Added one_shot_function to assesor functions. 1997-09-14 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Fexpand_file_name): Don't treat "//" and "~/" in the middle of path specially. 1997-09-10 Hrvoje Niksic <hniksic@srce.hr> * event-stream.c (inhibit_input_event_recording): New boolean variable. (Fnext_event): Use it. 1997-09-13 Hrvoje Niksic <hniksic@srce.hr> * fns.c (Fmapc): Renamed from Fmapc_internal. 1997-09-10 Hrvoje Niksic <hniksic@srce.hr> * database.c (Fmake_database): Expand FILE. * redisplay.c (window-system): Warn against using it. 1997-09-08 SL Baur <steve@altair.xemacs.org> * emacs.c (PACKAGE_PATH): Reverse PACKAGE_PATH. Suggested by Colin Rafferty <craffert@ml.com> 1997-09-03 SL Baur <steve@altair.xemacs.org> * print.c (print_internal): Special treatment for C-\. 1997-08-13 P E Jareth Hein <jareth@camelot-soft.com> * insdel.c (buffer_delete_range): Changed the location where point was actually moved to after all other movement handling. This prevents a MULE related crash in VALID_BYTIND. 1997-08-11 SL Baur <steve@altair.xemacs.org> * doc.c (Fsnarf_documentation): Semi-clarify types of weird functions. 1997-08-05 Jens-Ulrik Holger Petersen <petersen@kurims.kyoto-u.ac.jp> * eval.c (vars_of_eval): Updated docstring for `debug_on_error' to mention `debug-ignored-errors'. 1997-08-01 SL Baur <steve@altair.xemacs.org> * emacsfns.h: Fix declaration. * event-stream.c (syms_of_event_stream): HAVE_MENUBARS not HAVE_MENUBAR. 1997-07-31 SL Baur <steve@altair.xemacs.org> * frame-x.c (x_offix_drop_event_handler): Use stderr_out instead of fprintf. * mule-coding.c (parse_iso2022_esc): Add abort() trap on unhandled condition. * mule-wnnfns.c (Fwnn_dict_search): Remove unused variable. (Fwnn_hindo_update): Ditto. (Fwnn_inspect): Ditto. (Fwnn_bunsetu_henkou): Ditto. * eval.c (call_with_suspended_errors): Fix Gcc warning: argument `retval' might be clobbered by `longjmp' or `vfork' 1997-07-30 SL Baur <steve@altair.xemacs.org> * redisplay.c: `window-system' isn't going away any time soon. 1997-07-29 SL Baur <steve@altair.xemacs.org> * callint.c (Fcall_interactively): Allow floating point numbers for `n' and `N' interactive specs. 1997-07-27 SL Baur <steve@altair.xemacs.org> * event-stream.c (command_builder_find_leaf): Fix typo in HAVE_MENUBARS. * gui-x.c (popup_selection_callback): Fix typo in HAVE_MENUBARS. * event-stream.c (syms_of_event_stream): accelerate_menu needed guards. * emacs.c (vars_of_emacs): Main default package directory is now ${prefix}/lib/xemacs/packages. 1997-07-25 David Moore <dmoore@ucsd.edu> * alloc.c (Fmake_byte_code): GC protect newly allocated function when looking up filename. 1997-07-25 SL Baur <steve@altair.xemacs.org> * Makefile.in.in: Added support for linking with dmalloc. 1997-07-25 P E Jareth Hein <jareth@camelot-soft.com> * xselect.c (x_atom_to_symbol): Fixed a memory corruption bug where a possibly MULEified string was getting freed before use. 1997-07-21 SL Baur <steve@altair.xemacs.org> * callproc.c: New variable Vdata_directory_list. * emacsfns.h: Declare it. * fns.c (Frequire): Undo previous change. * print.c (print_internal): Handle circular objects like Emacs handles them (and as documented in the Lispref). * database.c (Fputdatabase): Complain when `val' is not a string. * event-stream.c (command_builder_find_leaf): Guard menubar accelerator stuffs with HAVE_MENUBAR. * gui-x.c (popup_selection_callback): Ditto. 1997-07-20 SL Baur <steve@altair.xemacs.org> * event-stream.c (menu_move_up): Guard menubar accelerator code with HAVE_MENUBARS. * emacs.c (decode_path): New function, derived from latter portion of decode_env_path. (decode_env_path): Break out the naughty bits -- shouldn't do getenv and separator parsing in one function. New variable Vpackage_path. (vars_of_emacs): Use it. * editfns.c (Fstring_to_char): Return nil instead of `0' for empty string. 1997-07-10 Hrvoje Niksic <hniksic@srce.hr> * fileio.c (Finsert_file_contents_internal): Handle non-regular files. 1997-07-12 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (LOCK_OBJ): Only include filelock.[co] when CLASH_DETECTION is defined. 1997-07-11 Steven L Baur <steve@altair.xemacs.org> * emacs.c (main_1): Spelling fix. 1997-07-10 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (dump-elcs): Shouldn't use SATISFIED hack. (xemacs-no-site-file): Not supported any more. (binary): New dependency for dumping XEmacs. (xemacs): Attempt to be a little smarter about not dumping a new XEmacs if it is not needed. (temacs): Remove `xemacs' after success. 1997-07-09 Hrvoje Niksic <hniksic@srce.hr> * extents.c: Allow non-symbol properties of extents. 1997-07-08 Hrvoje Niksic <hniksic@srce.hr> * data.c (Fstring_to_number): Use `check_int_range'. (Fstring_to_number): Would bug out on wrong type check. 1997-07-07 Steven L Baur <steve@altair.xemacs.org> * data.c (Fcompiled_function_doc_string): Implement correctly. Was forgotten cut & paste identical clone to Fcompiled_function_interactive? * Makefile.in.in (alloc.o): Remove dependency on puresize_adjust.h so alloc.c need not be recompiled when puresize changes. * alloc.c (PURIFIED): Use get_PURESIZE() instead of constant. (check_purespace): Ditto. (alloc_pure_lrecord): Ditto. (report_pure_usage): Ditto. (disksave_object_finalization): Ditto. (report_pure_usage): Modify message reported when Build is restarted due to change in PURESIZE_ADJUSTMENT. * puresize.h: Remove dependency on puresize_adjust.h. (get_PURESIZE): New function -- declare it. * pure.c: Move final PURESIZE computation and include of puresize_adjust.h into here so alloc.c need not be recompiled each time the puresize is adjusted. (get_PURESIZE): New function. 1997-07-06 Steven L Baur <steve@altair.xemacs.org> * data.c (Fstring_to_number): Wrong parameter was being checked. * emacs.c (vars_of_emacs): Fprovide the system type as a feature. 1997-07-03 Steven L Baur <steve@altair.xemacs.org> * data.c (Fstring_to_number): Fix typo. base isn't an integer. 1997-07-01 Steven L Baur <steve@altair.xemacs.org> * data.c, emacsfns.h: This is the port of GNU Emacs capability. I am still not sure what this buys us, but I guess it doesn't hurt to have it. From Hrvoje Niksic <hniksic@srce.hr> * glyphs.c (make_string_from_file): Use insert-file-contents-literally instead of insert-file-contents-internal. 1997-06-30 Steven L Baur <steve@altair.xemacs.org> * fns.c (check_losing_bytecode): Correct reported version. * Makefile.in.in (${libsrc}DOC): Break up line length for stupid make programs. 1997-06-29 Steven L Baur <steve@altair.xemacs.org> * emacsfns.h: Put void in prototype. Suggested by Ben Wing. 1997-07-01 MORIOKA Tomohiko <morioka@jaist.ac.jp> * glyphs.c (make_string_from_file): must protect from `format-alist'. 1997-06-28 Steven L Baur <steve@altair.xemacs.org> * config.h.in: Back out previous change to LOSING_BYTECODE. It's just not worth it. 1997-06-27 Mike Scheidler <c23mts@eng.delcoelect.com> * s/sol2.h: Undefined _XOPEN_SOURCE for Solaris 2.4. 1997-06-28 Hrvoje Niksic <hniksic@srce.hr> * abbrev.c (abbrev_match): New function. (abbrev_oblookup): New function. (obarray_has_blank_p): New function. (abbrev_count_case): New function. (Fexpand_abbrev): Use them. Allow abbreviations to contain arbitrary characters. 1997-06-28 Steven L Baur <steve@altair.xemacs.org> * config.h.in: LOSING_BYTECODE will not be compiled into XEmacs. * doc.c (Fsnarf_documentation): Remove VMS dependent stuff for cleanliness. 1997-06-28 Hrvoje Niksic <hniksic@srce.hr> * print.c (Ferror_message_string): Simplify. 1997-06-27 Steven L Baur <steve@altair.xemacs.org> * symbols.c (Fdefine_function): Correct docstring. (Fsetplist): Ditto. (Ffset): Ditto. (Fsetq_default): Ditto. 1997-06-27 Hrvoje Niksic <hniksic@srce.hr> * eval.c (skip_debugger): Removed comment and #ifdef-ed code. (signal_call_debugger): Call skip_debugger after wants_debugger. (signal_call_debugger): Gcpro cons sent to skip_debugger. 1997-06-26 Steven L Baur <steve@altair.xemacs.org> * process.c (create_process): Default to fork instead of vfork. * callproc.c (Fcall_process_internal): Default to fork instead of vfork. * emacsfns.h: Add declarations of Ferror_message_string(), Frunning_temacs_p(). * eval.c: Remove declarations of Ferror_message_string(), Frunning_temacs_p(). * Makefile.in.in (${libsrc}DOC): Correct dependency for the docfile. (${mo_dir}emacs.po): Remove obsolete references to lisp source. 1997-06-29 MORIOKA Tomohiko <morioka@jaist.ac.jp> * mule-charset.c: Modify charset DOC-strings to be more detailed. 1997-06-25 Steven L Baur <steve@altair.xemacs.org> * alloc.c (Flist): Optimize. From Hrvoje Niksic. 1997-06-23 Steven L Baur <steve@altair.xemacs.org> * lisp.h: Get uintptr_t stuffs because it is needed for including emacsfns.h. * sysdep.h: Removed uintptr_t stuffs. 1997-06-22 Steven L Baur <steve@altair.xemacs.org> * fns.c (concat): Replace Fcar/Fcdr with XCAR/XCDR. (Fnreverse): Ditto. (internal_equal): Ditto. (internal_old_equal): Ditto. (Fnconc): Ditto. (Freverse): Saner implementation. From Hrvoje Niksic <hniksic@srce.hr> * s/linux.h: getpgrp with glibc is now properly detected by configure. Suggested by Andreas Jaeger <aj@arthur.rhein-neckar.de> 1997-06-20 Steven L Baur <steve@altair.xemacs.org> * events.c: Remove declaration of Qempty. 1997-06-20 Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr> * frame-x.c, EmacsFrame.c, menubar-x.c, redisplay-x.c, scrollbar-x.c: Make 64 bit clean. 1997-06-19 Martin Buchholz <mrb@eng.sun.com> * config.h.in: - Autodetect X defines using xmkmf. - Compute rpath on *bsd* systems as well. - rewrite PRINT_VAR m4 macro. - detect sizes of void* and long long for future use by unex*.c * regex.c: _GNU_SOURCE may be defined by config.h; don't redefine. 1997-06-18 Martin Buchholz <mrb@eng.sun.com> * Makefile.in: * s/*.h: * m/*.h: * config.h.in: * emacs.c: * version.sh: * configure.in: Another rewrite. - support powerpcle (Solaris on ppc) - Now just have one s/sol2.h for all Solaris versions - Specifying colon-separated directories actually works now. - OS_RELEASE is a new define to avoid proliferation of s&m files. - extract more stuff from s&m files. - more debugging info - More changes to avoid the `echo -e' problem - Add more tests: fcntl.h AC_TYPE_*, AC_FUNC_GETPGRP - Back out -lPW test. - More paranoid xpm test - Put version information in version.sh instead of version.el - Make quoted pre-processor string tokens out of all macro values to be used only by configure. * xmu.c: DON'T use Xos.h * sysdep.c (wait_for_termination): * search.c: * editfns.c: * console-*: 1997-06-18 Steven L Baur <steve@altair.xemacs.org> * unexelfsgi.c: Some things that Needed To Be Done(tm) into unexelfsgi: - support for .sbss section (no more -G 0 needed, 0.00001% speed increase) - support for Elf64 (64bits executables) From Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr> * fns.c (Fmapvector): New function converted from Lisp. From Hrvoje Niksic <hniksic@srce.hr> Wed Jun 18 16:42:10 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in: Convert two missed C style comments. (LIBES): Remove LIBS_DEBUG which is no longer defined. (LIBES): lwlibs_libs was misspelled. 1997-06-17 Hrvoje Niksic <hniksic@srce.hr> * eval.c (vars_of_eval): New variable Vdebug_ignored_errors. (skip_debugger): New function; use Vdebug_ignored_errors. (signal_call_debugger): Use it. 1997-06-17 Steven L Baur <steve@altair.xemacs.org> * emacs.c (vars_of_emacs): Moved symbols emacs-version, emacs-major-version, and emacs-minor-version from version.el to here. * general.c (syms_of_general): New symbols and, not, and or. * emacsfns.h: New symbols Qand, Qnot, Qor. * Makefile.in.in: Call temacs to compute lisp libraries to include in the DOC file. 1997-06-15 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (lisp): Remove explicit mention of auto-autoloads.el. Sat Jun 14 21:55:27 1997 Kyle Jones <kyle_jones@wonderworks.com> * console.c (Fselect_console): Check DEVICE_SELECTED_FRAME of console's selected device for non-nil value before using it as a frame. 1997-06-13 Steven L Baur <steve@altair.xemacs.org> * data.c (eq_with_ebola_notice): Remove horrible hack to avoid unavoidable Ebola notices in the bytecompiler. * emacsfns.h: Fextent_in_region_p: Move. * keymap.c Fextent_in_region_p: Move. Fri Jun 13 00:38:29 1997 Kyle Jones <kyle_jones@wonderworks.com> * console.c (Fsuspend_console): Disable input on ttys. Hide unhidden frames. * console.c (Fresume_console): Enable input on ttys. Raise the device selected frame. Fri Jun 13 00:25:46 1997 Kyle Jones <kyle_jones@wonderworks.com> * process.c (status_notify): Revert back to the code that does not use save_excursion_restore. Just bounds check opoint instead. * process.c (read_process_output): Bounds check saved clip region and point values for validity before using them. Call Fwiden before calling Fnarrow_to_region to insure values will not be out of range. 1997-06-12 Steven L Baur <steve@altair.xemacs.org> * alloc.c: Make the GC cursor appear on all frames. From Hrvoje Niksic <hniksic@srce.hr> 1997-06-11 Steven L Baur <steve@altair.xemacs.org> * data.c (eq_with_ebola_notice): Add byte-optimize-logmumble and byte-compile-push-constant to list of ignored functions. 1997-06-11 Hrvoje Niksic <hniksic@srce.hr> * bytecode.c (Bsave_current_buffer): Register. (Fbyte_code): Do action. * editfns.c (Fsave_current_buffer): New SUBR. 1997-06-11 Steven L Baur <steve@altair.xemacs.org> * syntax.c (Fchar_syntax): Handle case of being passed nil. * data.c (eq_with_ebola_notice): Add more legitimate places in the bytecompiler that should not get Ebola notices. Tue Jun 10 00:34:40 1997 Kyle Jones <kyle_jones@wonderworks.com> * process.c (status_notify): Use record_unwind_protect and save_excursion_restore to handle the point and buffer restoration. Cleaner. Doesn't crash the editor if before/after-change-functions change things behind our back. 1997-06-10 Steven L Baur <steve@altair.xemacs.org> * data.c (vars_of_data): Set Ebola warning backtrace limit to 16. (eq_with_ebola_notice): Bypass Ebola warnings for special bytecompiler functions where they are 100% spurioius. 1997-06-11 MORIOKA Tomohiko <morioka@jaist.ac.jp> * Makefile.in.in: Use lisp/mule/language/misc-lang.el instead of lisp/mule/ipa-hooks.el. 1997-06-10 MORIOKA Tomohiko <morioka@jaist.ac.jp> * Makefile.in.in: Use lisp/mule/language/thai.elc instead of lisp/mule/thai-hooks.elc. 1997-06-09 MORIOKA Tomohiko <morioka@jaist.ac.jp> * Makefile.in.in: Use lisp/mule/language/chinese.el, lisp/mule/language/cyrillic.el, lisp/mule/language/european.el, lisp/mule/language/greek.el, lisp/mule/language/japanese.el and lisp/mule/language/korean.el instead of lisp/mule/chinese-hooks.el, lisp/mule/cyrillic-hooks.el, lisp/mule/european-hooks.el, lisp/mule/greek-hooks.el, lisp/mule/japanese-hooks.el and lisp/mule/korean-hooks.el. 1997-06-09 Steven L Baur <steve@altair.xemacs.org> * keymap.c: Declare Fextent_in_region_p. * s/linux.h: Can't use ORDINARY_LINK in linux until usage of -lPW is determined more sensibly. 1997-06-09 Hrvoje Niksic <hniksic@srce.hr> * keydefs.c (get_relevant_extent_keymaps): Choose correct keymap at extent boundaries. Mon Jun 9 19:35:19 1997 Kyle Jones <kyle_jones@wonderworks.com> * redisplay.c (pixel_to_glyph_translation): Fixed off by one error in computation of closest position when mouse is in the frame's right-side border area. Sat Jun 7 22:07:41 1997 Kyle Jones <kyle_jones@wonderworks.com> * frame.c (delete_frame_internal): Calling Fselect_frame isn't sufficient to set the frame device's selected frame if the frame we're selecting is on a different device. Call set_device_selected_frame apprpriately in that case. Also don't set the frame device's selected frame to a frame that's on another device. 1997-06-09 Steven L Baur <steve@altair.xemacs.org> * sysdep.c: MS Windows NT doesn't (yet) do child TTY processes. From David Hobley <davidh@wr.com.au> Sat Jun 7 22:00:54 1997 Kyle Jones <kyle_jones@wonderworks.com> * device-x.c (x_delete_device): Add an EQ check so that we don't set Vdefault_x_device back to the device we're deleting. 1997-06-05 Steven L Baur <steve@altair.xemacs.org> * frame.c (Fmake_frame): Correct checking of first_frame_on_device. From Hrvoje Niksic <hniksic@srce.hr> 1997-06-04 Steven L Baur <steve@altair.xemacs.org> * device.c (delete_deviceless_console): New function. (Fmake_device): Use it. Fix problem of creation of a frame on a tty where something fails during initialization. From Kyle Jones <kyle_jones@wonderworks.com> * specifier.c (Fboolean_specifier_p): Correct spelling in Docstring (synch from Infodock 3.5). * frame.c: Update docstring. 1997-06-03 Hrvoje Niksic <hniksic@srce.hr> * sysdep.c (tty_init_sys_modes_on_device): Initialize it. * console.c (complex_vars_of_console): New variable `tty-erase-char'. * conslots.h (MARKED_SLOT): New slot. Mon Jun 2 02:49:44 1997 Kyle Jones <kyle_jones@wonderworks.com> * frame.c, frame-tty.c Treat tty frames like a cross between stacked window system frames and frames on virtual displays. All frames but the top frame are visible but hidden by default. next-frame and previous-frame now skip invisible tty frames by default. raise-frame and lower-frame now control whether a frame is hidden instead of whether it is visible. Frames are no longer automatically raised when they are selected. After a raise/lower operation selection of the new topmost frame is deferred until a selection magic event is read. Sat May 31 19:59:49 1997 Kyle Jones <kyle_jones@wonderworks.com> * frame-tty.c (tty_init_frame_3: Defer selection of the newly created frame until an event is read. 1997-06-02 Steven L Baur <steve@altair.xemacs.org> * search.c (REGEXP_CACHE_SIZE): Bump to 20. Suggested by Karl M. Hegbloom <karlheg@inetarena.com> 1997-05-30 Steven L Baur <steve@altair.xemacs.org> * device-tty.c (tty_asynch_device_change): * gpmevent.c (connect_to_gpm): Makes it so it doesn't **ck up the mouse stuff on an XTerm, and resets the internal GPM variables for the width and height of the screen when we get a sigwinch. From William M. Perry <wmperry@aventail.com> 1997-05-29 Steven L Baur <steve@altair.xemacs.org> * eval.c (Fprogn): Delete mocklisp support. (Fwhile): Ditto. (Fcommandp): Ditto. (Feval): Ditto. (funcall_recording_as): Ditto. (funcall_lambda): Ditto. * elhash.c (verify_function): Delete mocklisp support. * doc.c (Fdocumentation): Delete mocklisp support. * data.c (wrong_type_argument): Delete mocklisp support. * config.h.in: Delete mocklisp support. * callint.c (Fcall_interactively): Delete mocklisp support. * emacs.c (main_1): Delete mocklisp initialization. * symsinit.h: Delete mocklisp.c decls. * Makefile.in.in: Delete mocklisp stuffs. Thu May 29 03:00:16 1997 Kyle Jones <kyle@crystal.wonderworks.com> * frame.c (change_frame_size_1): Drop code that returns immediately if the old frame size is equal to the new. Leave the minibuffer height the same if the frame has been initialized, and the minibuffer height is tall enough to display at least one line of text in the default font, and the old minibuffer height is a multiple of the default font height. This should cause the minibuffer height to be recomputed on font changes but not for other frame size changes, which seems reasonable. 1997-05-26 Steven L Baur <steve@altair.xemacs.org> * event-stream.c (Frecent_keys): Take optional parameter to indicate how many keystrokes to return. (Frecent_keys_ring_size): New function returns the maximum number of events `recent-keys' can return. (Fset_recent_keys_ring_size): New function. Modifies the above. From Hrvoje Niksic <hniksic@srce.hr> * event-stream.c: New variable recent_keys_ring_size replacing a hard-coded macro. 1997-05-23 Steven L Baur <steve@altair.xemacs.org> From Hrvoje Niksic <hniksic@srce.hr> * sysdep.c: Correction of subprocess support when compiling without ttys. 1997-05-21 Steven L Baur <steve@altair.xemacs.org> * editfns.c (format-time-string): Update DOCstring. Make time parameter optional. Wed May 21 11:58:17 1997 Kyle Jones <kyle@crystal.wonderworks.com> * insdel.c (signal_first_change): record the current buffer for the unwind instead of the buffer that's about to become the current buffer. Tue May 20 23:23:39 1997 Steven L Baur <steve@altair.xemacs.org> * frame.c: Correct spelling typo in docstring. Mon May 19 03:40:46 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> * redisplay.c: (window_line_number) don't prefer buffer point value over window point value unless window, frame, device and console are all selected. * redisplay.c: (redisplay_window) don't prefer buffer point value over window point value unless window, frame, device and console are all selected. * redisplay.c: (create_text_block) don't prefer buffer point value over window point value unless window, frame, device and console are all selected. Sun May 18 13:03:50 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (distclean): remove xemacs-version.h. Sun May 11 13:38:46 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> * frame.c (change_frame_size_1): return without doing anything if the frame has benn initialized and the new frame size is same as the current frame size. Sat May 17 19:35:48 1997 Steven L Baur <steve@altair.xemacs.org> * device-tty.c (tty_asynch_device_change): Make `no-redraw-on-reenter' work. Patch from Hrvoje Niksic. Sat May 17 23:39:03 1997 Hrvoje Niksic <hniksic@srce.hr> * frame-tty.c: Support multiple frames. * redisplay.c (decode_mode_spec): New coding `%N'. Sun May 11 23:36:08 1997 Steven L Baur <steve@altair.xemacs.org> * buffer.c: Rename Vdelete_auto_save_files to coding standards. * frame.c: Rename Vallow_deletion_of_last_visible_frame to coding standards. Thu May 8 19:10:03 1997 Steven L Baur <steve@altair.xemacs.org> * frame.c: Change internal type of `allow-deletion-of-last-visible-frame' to boolean. * buffer.c: Change internal type of `delete-auto-save-files' to boolean. Sat May 3 15:28:56 1997 Steven L Baur <steve@altair.xemacs.org> * redisplay.c: `column-number-start-at-one' is a user customizable variable. * event-stream.c (vars_of_event_stream): `focus-follows-mouse' is a user customizable variable. * cmds.c (vars_of_cmds): `signal-error-on-buffer-boundary' is a user customizable variable. * lread.c (parse_integer): Fix incorrect upper bounds on loop. Thu May 1 18:59:20 1997 Steven L Baur <steve@altair.xemacs.org> * glyphs-x.c (Fmake_subwindow): Update error message. Wed Apr 30 18:07:18 1997 Steven L Baur <steve@altair.xemacs.org> * lread.c: New variable featurep. (read1): Add processing for #- and #+. (read_list_conser): Handle case where a feature test has removed a portion of the input stream. (vars_of_lread): New feature `xemacs'. * fns.c (Ffeaturep): Remove function when using #-, #+ feature reader syntax. * Makefile.in.in (lisp): Put features.elc in the dump list. Thu May 1 05:24:25 1997 Hrvoje Niksic <hniksic@srce.hr> * buffer.c (Fmake_indirect_buffer): Don't pretend it's there. Fri Apr 25 10:53:07 1997 Steven L Baur <steve@altair.xemacs.org> * glyphs-x.c: libpng already includes setjmp.h, so don't attempt to include it twice. Thu Apr 24 09:14:13 1997 Steven L Baur <steve@altair.xemacs.org> * balloon-x.c (vars_of_balloon_x): Don't override advertised and supported balloon-help. Tue Apr 22 11:54:02 1997 Steven L Baur <steve@altair.xemacs.org> * emacs.c (main_1): Add syms_of_balloon_x and guard with HAVE_X_WINDOWS. (main_1): Add vars_of_balloon_x and guard with HAVE_X_WINDOWS. * process.c (get_process): This function can be passed a BUFFER as a parameter. Tue Apr 22 01:32:00 1997 Kyle Jones <kyle@crystal.WonderWorks.COM> * menubar-x.c (pre_activate_hook): set in_menu_callback around call to call to menu_item_descriptor_to_widget_value. * event-stream.c (Fnext_event): signal error if in_menu_callback non-nil to avoid reentering the menubar code and causing a crash later. * cmdloop.c (command_loop_3): signal error if in_menu_callback non-nil to avoid inflooping calling Fnext_event, which will signal an error if the situation is not caught earlier. Tue Apr 22 08:22:22 1997 Hrvoje Niksic <hniksic@srce.hr> * balloon-x.c, balloon_help.c, balloon_help.h: Modified to conform to XEmacs coding standards. Thu Apr 17 17:16:34 1997 Steven L Baur <steve@altair.xemacs.org> * balloon-x.c: New file from Douglas Keller. * balloon_help.c: New file from Douglas Keller. * balloon_help.h: New file from Douglas Keller. Sun Apr 13 09:56:54 1997 Steven L Baur <steve@altair.xemacs.org> * emacs.c (shut_down_emacs): Advertise using send-pr as the mechanism for submitting a bug report. * Makefile.in.in: Handle pathological case of mis-autodetected TOOLTALK. Sun Apr 13 11:33:34 1997 David Moore <dmoore@ucsd.edu> * regex.c (re_search_2): Prevent incorrect matching and infinite loop with \\` and MULE. Sat Apr 12 05:57:51 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (lisp): Dump cus-start.elc with XEmacs. * event-Xt.c (x_to_emacs_keysym): Allow for dead keys. (Patch from Joachim Schnitter). * Makefile.in.in: Allow native sound for BSD/I. * linuxplay.c: Rename global sndbuf to linuxplay_sndbuf. Make sndbuf, mix_fd, audio_vol, audio_fd, audio_dev non-static to avoid dump time lossage. (sndcnv8U_2mono): Rename global sndbuf to linuxplay_sndbuf. (sndcnv8S_2mono): Ditto. (sndcnv2monounsigned): Ditto. (sndcnv2unsigned): Ditto. (sndcnvULaw_2mono): Ditto. (sndcnv16_2monoLE): Ditto. (sndcnv16_2monoBE): Ditto. (sndcnv2byteLE): Ditto. (sndcnv2byteBE): Ditto. (sndcnv2monobyteLE): Ditto. (sndcnv2monobyteBE): Ditto. (linux_play_data_or_file): Ditto. (linux_play_data_or_file): Ditto. (linux_play_data_or_file): Ditto. Sat Apr 12 01:59:14 1997 Kyle Jones <kyle_jones@WonderWorks.COM> * glyphs-x.c, glyphs.c, glyphs.h: Added domain parameter to all image *_instantiate functions so that the domsin is available to specifier lookups in the various instantiator functions. Passed domain argument to extract_xpm_color_names for the Fspecifier_instance call. Fri Apr 11 20:02:40 1997 Steven L Baur <steve@altair.xemacs.org> * glyphs-x.c (extract_xpm_color_names): Add checking to handle case for when XEmacs is in initialization. * events.c (Fevent_type): Remove handling for dead_event. (Fevent_properties): Remove handling for dead_event. Thu Apr 10 20:41:53 1997 David Moore <dmoore@ucsd.edu> * ntproc.c (sys_spawnve): Clean up GC protection. * fileio.c (Ffile_executable_p): Clean up GC protection. Thu Apr 10 12:48:49 1997 Steven L Baur <steve@altair.xemacs.org> * glyphs.c: Undo duplicate declaration of display_table. * glyphs.h: Back out name change of autodetect to automatic_conversion. * glyphs.c: Back out name change of autodetect to automatic_conversion. * glyphs-x.c (image_instantiator_format_create_glyphs_x): Back out name change of autodetect to automatic_conversion. * events.c (Fevent_properties): Do something sensible for dead_event and empty_event. * general.c: Restore autodetect symbol. * emacsfns.h: Declare new symbol Qempty. * general.c: Add symbol to identify empty events. * events.c (Fevent_type): Don't abort() when presented with an empty_event or a dead_event. Mon Apr 7 18:12:26 1997 David Moore <dmoore@ucsd.edu> * xmu.c: Renamed local `initialized' variable to `hex_initialized' and don't assign to static, as some compilers crash. (initHexTable): Use it. (XmuReadBitmapData): Use it. Sun Apr 6 18:03:47 1997 David Moore <dmoore@ucsd.edu> * fileio.c (Fexpand_file_name): Clean up GC protection. * dired.c (Fdirectory_files): Clean up GC protection. * insdel.c (signal_after_change): Don't run after_change_functions on special Vprin1_to_string_buffer. (signal_before_change): Ditto for before_change_functions. Fri Apr 4 14:41:17 1997 David Moore <dmoore@ucsd.edu> * buffer.c (Fkill_buffer): Don't kill special Vprin1_to_string_buffer. Mon Apr 7 19:13:40 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (xemacs-version.h): Added to rename main_1 to something reflecting the XEmacs version in use (for lusers reporting crashes who forget to include the version number). * toolbar.c (specifier_vars_of_toolbar): Strip HAVE_NEXTSTEP. * sound.c: Strip HAVE_NEXTSTEP. * redisplay.c (init_redisplay): Strip HAVE_NEXTSTEP. * faces.c: Strip HAVE_NEXTSTEP. (update_EmacsFrame): Ditto. * events.c (event_equal): Strip HAVE_NEXTSTEP. (event_hash): Ditto. (format_event_object): Ditto. * event-stream.c (init_event_stream): Strip HAVE_NEXTSTEP. * emacs.c (main_1): Strip HAVE_NEXTSTEP. Attempt hack to change name of main_1 to something reflecting the current version for lusers who don't include version numbers with stack backtraces. * device.c: Strip HAVE_NEXTSTEP. * console.c (Fconsole_type): Remove reference to unimplemented ns windows type. Sun Apr 6 08:08:33 1997 Steven L Baur <steve@altair.xemacs.org> * frame.h: Strip NeXTStep stuff. * device.h: Strip NeXTStep stuff. * console.h: More NeXTStep trimming. * console-x.h: Strip Epoch stuff. * symsinit.h (init_sunpro): Strip vms/Epoch stuff. * events.h (union magic_data): Strip NeXTStep stuff. * console.h: Strip NeXTStep stuff. * config.h.in: Strip unimplemented NeXTStep/Epoch stuff out. * Makefile.in.in: Remove unused NeXTStep support. It's all in the cvs attic if someone wishes to revive it. (epoch.o): Remove last vestiges of non-existent epoch support. Sat Apr 5 17:16:49 1997 Steven L Baur <steve@altair.xemacs.org> * fns.c: Correct DOC string to not equate integers and characters. Thu Apr 3 08:01:50 1997 Steve Carney <carney@gvc.dec.com> * s/decosf4.0-static.h: New file. Tue Apr 1 12:22:32 1997 Steven L Baur <steve@altair.xemacs.org> * config.h.in: MAIL_USE_POP, KERBEROS, HESIOD -- new parameters to deal with upgraded movemail.c. Fri Mar 28 19:25:22 1997 Steven L Baur <steve@altair.xemacs.org> * inline.c: Restore this blasphemous file. * Makefile.in.in (inline.o): Restore the bletcherous inline.c. Tue Mar 25 11:36:08 1997 David Moore <dmoore@ucsd.edu> * fileio.c (barf_or_query_if_file_exists): GC fixes. (Ffile_readable_p): ditto. (Ffile_writable_p): ditto. (Ffile_symlink_p): ditto. (Ffile_accessible_directory_p): ditto. * sound.c (Fplay_sound_file): Fix up gc problems with file handlers. * buffer.c (Fkill_buffer): Fix up buffer killing problems with file handlers. * sysdep.c (sys_subshell): Fix up gc problems with file handlers. * callproc.c (Fcall_process_internal): Fix up gc problems with file handlers. Tue Mar 25 17:16:14 1997 Steven L Baur <steve@altair.xemacs.org> * ralloc.c (MHASH): Make 64bit Alpha happier. Tue Mar 25 11:36:08 1997 David Moore <dmoore@ucsd.edu> * fileio.c (auto_save_expand_name_error): New function. (auto_save_expand_name): Ditto. (Fdo_auto_save): Protect against an error in Fexpand_file_name from kicking us inappropriately out of auto-save. Mon Mar 24 21:50:13 1997 Steven L Baur <steve@altair.xemacs.org> * s/linux.h (GETPGRP_NEEDS_ARG): Define if compiling with glibc 2.1 (suggested by Andreas Jaeger). Mon Mar 24 12:40:56 1997 David Moore <dmoore@ucsd.edu> * profile.c: Fixed some comments about GC status of functions. * profile.c (inside_profiling): New variable to lock the profiling table. (sigprof_handler): Check it. (Fget_profiling_info): Set it. (mark_profiling_info): Set it. (Fclear_profiling_info): Set it. * eval.c (PUSH_BACKTRACE): New macro. (POP_BACKTRACE): Ditto. * eval.c (Fcommand_execute): Use them and fix problem with backtrace_list build ordering requirements for profiling code. (Feval): Ditto. (funcall_recording_as): Ditto. Fri Mar 21 20:19:09 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in: strip inline.o. Fri Mar 21 18:54:04 1997 David Moore <dmoore@ucsd.edu> * fileio.c (call2_check_string_or_nil): New function. (Ffile_name_directory): Use it. (Fsubstitute_in_file_name): Use it. * fileio.c (Fexpand_file_name): GC protect against file handlers. (Fdelete_file): ditto (Ffile_writable_p): ditto (Ffile_directory_p): ditto (Ffile_regular_p): ditto (Fset_file_modes): ditto (Ffile_newer_than_file_p): ditto (Fset_visited_file_modtime): ditto *fileio.c (Ffile_truename): Unnecessary GC protection. (Fdelete_directory): Fix broken caller-must-GC-protect call. * filelock.c (lock_file): New comments warning that this function may kill the current buffer. (unlock_file): ditto (Flock_buffer): ditto (Funlock_buffer): ditto (unlock_buffer): ditto * filelock.c (unlock_all_files): GC protect against unlock_file killing random buffers. * buffer.c (Fkill_buffer): GC protect against unlock_file killing the buffer. * insdel.c (prepare_to_modify_buffer): GC protect against lock_file() killing the buffer. Fri Mar 21 19:11:15 1997 Steven L Baur <steve@altair.xemacs.org> * mule-coding.c (vars_of_mule_coding): Add enable-multibyte-characters for MULE compatibility. Thu Mar 20 13:25:26 1997 Steven L Baur <steve@altair.xemacs.org> * glyphs-x.c: Implement a dummy function to insert a fake EOI marker if called. Based on code from William Perry. Wed Mar 19 10:49:05 1997 Steven L Baur <steve@altair.xemacs.org> * menubar-x.c (pre_activate_callback): Attempt to avoid recursive expansion of submenus via :filter expansion. * glyphs-x.c (x_print_image_instance): Move define of HAVE_SUBWINDOWS to glyphs-x.h. (our_skip_input_data): Implement with some error checking based on patch by Dominic Froud. * glyphs-x.h (HAVE_SUBWINDOWS): Define to keep inline.c from barfing. Tue Mar 18 11:15:23 1997 Steven L Baur <steve@altair.xemacs.org> * glyphs-x.c: Strip unimplemented subwindows code. Mon Mar 17 15:40:12 1997 David Moore <dmoore@ucsd.edu> * glyphs-x.c (our_own_dgif_slurp_from_gif2x11_c): Only get the first image out of a multi-image or animated gif. Mon Mar 17 15:27:26 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (xemacs): Invert sense of test for successful completion of XEmacs dump. Sat Mar 15 14:21:39 1997 David Moore <dmoore@ucsd.edu> * fileio.c (Fdo_auto_save): Protect against file handlers which may kill the buffer being saved or otherwise modify Vbuffer_alist. Sat Mar 15 15:32:51 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (lisp): Add auto-customize.elc. Fri Mar 14 19:10:37 1997 David Moore <dmoore@ucsd.edu> * extents.c (extent_changed_for_redisplay): New parameter. (extent_changed_for_redisplay): Notify redisplay if invisible text has become visible. (extent_maybe_changed_for_redisplay): New parameter. (extent_attach): Use it. (extent_detach): Use it. (Fset_extent_parent): Use it. (set_extent_invisible): Use visibility change parameter. (Fset_extent_face): Ditto. (Fset_extent_mouse_face): Ditto. (set_extent_glyph): Ditto. (do_highlight): Ditto. Thu Mar 13 10:40:37 1997 Steven L Baur <steve@altair.xemacs.org> * s/sunos4-1-4-shr.h: New file. * s/sunos4-1-4.h: New file. * s/sunos4-1.h (BROKEN_SIGIO): Define. Wed Mar 12 14:29:40 1997 Steven L Baur <steve@altair.xemacs.org> * emacs.c (fatal_error_signal): (mostly) useless check on /usr/proc/bin/pstack removed. * s/bsdos3.h: New file for BSDI 3.0. * editfns.c (Fchar_equal): Correct DOC string. (Fchar_Equal): (char=) CL Case sensitve comparison added. * data.c (Fcharacterp): Make DOC string less confrontational. Mon Mar 10 23:51:04 1997 Martin Buchholz <mrb@eng.sun.com> * input-method-motif.c (XIM_init_frame): Fix XIM crash on some versions of X11R6 XIM. Sun Mar 9 21:46:53 1997 Tomasz J. Cholewo <t.cholewo@ieee.org> * minibuf.c (regexp_ignore_completion_p): Reverse meaning of completion-regexp-list. Thu Mar 6 19:15:29 1997 Steven L Baur <steve@altair.xemacs.org> * data.c (eq_with_ebola_notice): Unobfuscate Ebola warning!!! message. Wed Mar 5 16:11:22 1997 Steven L Baur <steve@altair.xemacs.org> * process.c (get_internet_address): Put upper bounds on attempting to get system name (similar to nearly identical processing in sysdep.c. Tue Mar 4 17:30:48 1997 Steven L Baur <steve@altair.xemacs.org> * puresize.h (PURESIZE): *Must* use angle brackets for puresize_adjust.h or build will lose with --srcdir. * alloc.c (report_pure_usage): Adjust error message printed when too low on PURESIZE. * Makefile.in.in: Move site-packages. Add vpath correction for puresize_adjust.h. Mon Mar 3 20:37:54 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (lisp): Remove custom-xmas.elc. Sat Mar 1 01:20:39 1997 Steven L Baur <steve@altair.xemacs.org> * doc.c (weird_doc): Don't print `duplicate' messages as they are almost always due to symbols that are both autoloaded and dumped. * data.c (syms_of_data): char-int and int-char -> char-to-int and int-to-char. Thu Feb 27 21:48:32 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (xemacs): Loop when dumping until SATISFIED. * lstream.c (signal_simple_internal_error): Remove the abort(). * alloc.c (Fpurecopy): Make it work for byte compiled functions. (Fgarbage_collect): Disable garbage collection if we're dumping XEmacs and we've overflowed purespace. Thu Feb 27 14:14:53 1997 Darrell Kindred <dkindred@cmu.edu> * event-Xt.c (change_frame_visibility): New function. (handle_map_event): Use it. (emacs_Xt_handle_magic_event): Correction of handling of VisibilityNotify. Thu Feb 27 14:12:57 1997 Steven L Baur <steve@altair.xemacs.org> * frame-x.c (x_frame_visible_p): Reverse previous change. Sun Mar 2 14:01:32 1997 David Moore <dmoore@ucsd.edu> * regex.c (re_search_2): Properly handle crossing the buffer gap when doing a backwards search under MULE. Wed Feb 26 10:24:40 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in: make-docfile takes a "-i" parameter to pass site-loaded lisp files. * alloc.c (report_pure_usage): Adjust restart message. Tue Feb 25 10:58:12 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in: Add PURESIZE.h to special treatment in vpath. * alloc.c (PURESIZE_h): New function. (report_pure_usage): Use it. If PURESIZE is not the right amount, use the correct value. * puresize.h: Use dynamic computation of PURESIZE. * PURESIZE.h: New file. * fns.c (Frandom): Fix docstring. Mon Feb 24 17:35:05 1997 Jonathan Edwards <edwards@intranet.com> * process.c (record_exited_processes): Fix obvious typo in checking for SIGCLD. Sun Feb 23 01:45:49 1997 Martin Buchholz <mrb@eng.sun.com> * scrollbar.c (update_scrollbar_instance): Fix for all-hail-xemacs scrollbar drag bug. * scrollbar.c (Fscrollbar_to_bottom): Now calls Frecenter(-3) as end-of-buffer does, instead of hostile Frecenter(0). Makes C-button-1 on down-arrow friendlier. Sun Feb 23 16:56:17 1997 David Hobley <david@spook-le0.cia.com.au> Initial MS Windows NT support. * unexnt.c: New file. * ntproc.c: New file. * ntheap.h: New file. * ntheap.c: New file. * nt.h: New file. * nt.c: New file. Sun Feb 23 15:56:58 1997 Steven L Baur <steve@altair.xemacs.org> * floatfns.c (_GNU_SOURCE): Define if compiling with glibc 2. * gmalloc.c: Guard __getpagesize definition against glibc 2. Sat Feb 22 17:12:47 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (lisp): Snarf docstrings from new file itimer-autosave.elc. Fri Feb 21 18:21:32 1997 Jan Vroonhof <vroonhof@math.ethz.ch> * event-Xt.c (emacs_Xt_handle_magic_event): Correction for frame freezing bug. Wed Feb 19 12:54:32 1997 Per Abrahamsen <abraham@dina.kvl.dk> * buffer.c (Fbuffer_disable_undo): Default to current buffer. Tue Feb 18 12:37:28 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (lisp): Dump new file custom-xmas.elc. Mon Feb 17 11:29:07 1997 Steven L Baur <steve@altair.xemacs.org> * print.c (Ferror_message_string): New function, ported from Emacs 19.34. (print_error_message): Ditto. * extents.c (verify_extent_mapper): Experimental deletion of code to allow deletion of read-only extents. * symbols.c (hash_string): Replace algorithm with one given in Aho, Sethi & Ullman. Sun Feb 16 14:53:58 1997 Steven L Baur <steve@altair.xemacs.org> * keymap.c (lookup_keys): Wrong sense in test. * Makefile.in.in: Don't dump font.elc. Sat Feb 15 02:30:51 1997 Steven L Baur <steve@altair.xemacs.org> * cmds.c: Define new symbol signal-error-on-buffer-boundary. (Fforward_char): Use it. (Fbackward_char): Use it. * window.c (Fscroll_up): Use it. (Fscroll_down): Use it. * keymap.c (syms_of_keymap): define mouse-[123] and down-mouse-[123] pseudo-keysym aliases for Emacs compatibility. Thu Feb 13 21:28:35 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in: Don't dump tm with XEmacs under any circumstances. * puresize.h: Remove extra SunPro puresize for MULE+tm. Sun Feb 9 04:40:36 1997 Axel Seibert <aseibert@cybernet-ag.net> * emacs.c (main_1): Fix NeXT malloc initialization. Fri Feb 7 11:36:56 1997 Steven L Baur <steve@altair.xemacs.org> * mule-coding.c (Fdecode_coding_region): Make explicit call to `barf_if_buffer_read_only'. (Fencode_coding_region): Ditto. Thu Feb 6 22:39:39 1997 Steven L Baur <steve@altair.xemacs.org> * extents.c (syms_of_extents): Remove references to replicating extents. * extents.h (struct extent): Remove references to replicating extents. Thu Feb 6 01:11:43 1997 Jareth Hein <jhod@po.iijnet.or.jp> * mule-coding.c (ENCODE_SJIS): Correct typo. Thu Feb 6 01:10:22 1997 Steven L Baur <steve@altair.xemacs.org> * frame.c (delete_frame_internal): Protect against deletion of frames with living popup children. Wed Feb 5 17:13:17 1997 David Moore <dmoore@UCSD.EDU> * emacs.c (main_1): Try to avoid collisions against potentially incompatible system mallocs. Mon Feb 3 23:04:41 1997 Joel Peterson <tarzan@aosi.com> * redisplay.c: Activate face/charset redisplay caching. Mon Feb 3 22:01:09 1997 Kyle Jones <kyle_jones@wonderworks.com> * eval.c (do_debug_on_exit): Don't restore old value of debug_on_next_call improperly. Fri Jan 31 10:28:47 1997 David Byers <davby@ida.liu.se> * frame.c (frame_matches_frametype): Fix next-window when the next window is on another frame. Thu Jan 30 20:25:00 1997 Steven L Baur <steve@altair.xemacs.org> * syntax.c (scan_sexps_forward): Change test on targetdepth to match Emacs 19.34. Wed Jan 29 22:11:53 1997 James LewisMoss <dres@scsn.net> * gmalloc.c: Corrections for namespace collision with Linux libc malloc. Mon Jan 27 21:46:53 1997 Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu> * fileio.c (Fwrite_region_internal): pack lockname to write-region handler. Mon Jan 27 04:50:50 1997 David Moore <dmoore@UCSD.EDU> * gmalloc.c (malloc): Guard against incompatible system mallocs with conflicting symbols. Sun Jan 26 12:27:04 1997 Steven L Baur <steve@altair.xemacs.org> * redisplay.c (add_emchar_rune): Back out optimization change of caching last_charset. Sun Jan 26 09:10:45 1997 Hrvoje Niksic <hniksic@srce.hr> * s/decosf4-0.h: Digital Unix 4.0 has a realpath, but it's buggy. And I *do* mean buggy. Thu Jan 23 10:41:19 1997 Steven L. Baur <steve@altair.xemacs.org> * puresize.h: Increase SUNPRO usage to reflect tm & cc-mode. Decrease BASE_PURESIZE and increase MULE_PURESIZE_EXTRA. Wed Jan 22 21:09:52 1997 Steven L Baur <steve@altair.xemacs.org> * puresize.h (BASE_PURESIZE): Tighten up. * scrollbar.c (scrollbar-page-up): Add Athena3d to Lucid/Motif code. (scrollbar-page-down): Ditto. * scrollbar-x.c (x_create_scrollbar_instance): Add Athena3d to Lucid/Motif code. (x_update_vertical_scrollbar_callback): Ditto. (x_update_horizontal_scrollbar_callback): Add Athena3d to Lucid special case code. * scrollbar-x.h (struct x_scrollbar_data): Add start drag position for Athena3d. * redisplay-output.c (redisplay_update_line): A vain attempt to get the Athena vertical thumb adjusted after drag. * EmacsFrame.c: Default to lower/right with Athena3d libraries. Wed Jan 22 18:38:52 1997 Ian Wells <I.Wells@tarragon-et.co.uk> * m/aviion.h: Remove definition of m88k. * s/dgux5-4r4.h: New file. Wed Jan 22 18:32:49 1997 Steven L Baur <steve@altair.xemacs.org> * buffer.h: Put proper typecasts on calls to alloca(). Tue Jan 21 22:25:23 1997 Steven L. Baur <steve@altair.xemacs.org> * config.h.in: Add LWLIB_USES_ATHENA symbol * Makefile.in.in (TOOLKIT_LIBS): It is possible to have both Athena and Motif in the same link. Tue Jan 21 20:43:41 1997 Hrvoje Niksic <hniksic@srce.hr> * redisplay-tty.c (tty_ring_bell): Don't ring tty bell if the volume is set to 0. Tue Jan 21 20:38:58 1997 Axel Seibert <aseibert@cybernet-ag.net> * s/nextstep.h (signal_handler_t): define as int. Mon Jan 20 21:12:57 1997 Martin Buchholz <mrb@eng.sun.com> * event-Xt.c (emacs_Xt_handle_magic_event): (frame-totally-visible-p) sometimes incorrectly returned nil. Thu Jan 16 17:24:29 1997 Joel Peterson <tarzan@aosi.com> * menubar-x.c (pre_activate_callback): Correctly handle buffer local variables in :included clauses. (compute_menubar_data): Ditto. Wed Jan 15 21:44:53 1997 Joel Peterson <tarzan@aosi.com> * redisplay.c (add_emchar_rune): Enable last_charset display optimization. Wed Jan 15 19:06:27 1997 David Moore <dmoore@UCSD.EDU> * event-stream.c (Faccept_process_output): Avoid checking an uninitialized variable. Wed Jan 15 14:14:24 1997 Steven L Baur <steve@altair.xemacs.org> * regex.c: Modify values of re_max_failures and MAX_FAILURE_ITEMS to match Emacs 19.34. Mon Jan 13 00:36:01 1997 Martin Buchholz <mrb@eng.sun.com> * sysdep.c (sys_execvp): Fix when compiled with --const-is-losing=no. Old code could crash if argv contained non-ascii characters and the execvp failed and then caller examined argv (for error message, for example). Sun Jan 12 17:22:24 1997 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in: TM .elcs moved to SUNPRO_LISP only. Fri Jan 10 20:21:47 1997 Ben Wing <ben@666.com> * minibuf.c (Ftry_completion): Don't crash if not given a proper obarray. Fri Jan 10 09:49:44 1997 Ted Phelps <phelps@dstc.edu.au> * objects-x.c (x_initialize_font_instance): Hardcode 'n' for default font width. Mon Jan 6 15:16:46 1997 Carsten Leonhardt <leo@arioch.tng.oche.de> * Makefile.in.in: Linking with canna requires -lRKC. Mon Jan 6 12:22:57 1997 Frederic Poncin <fp@info.ucl.ac.be> * gmalloc.c: Don't declare __sbrk on SparcLinux. Sun Jan 5 18:04:47 1997 Soren Dayton <csdayton@cs.uchicago.edu> * Makefile.in.in: IRIX6 can use sgiplay.c too. Sat Jan 4 12:15:16 1997 Steven L Baur <steve@altair.xemacs.org> * toolbar.c (specifier_vars_of_toolbar): Clean up fallback specifiers so XEmacs can be built without tty support. * console-stream.c: Moved function bodies of semi_canonicalize_console_connection, canonicalize_console_connection, semi_canonicalize_device_connection, and canonicalize_device_connection into this file from console-tty.c. Moved variable Vstdio_str into this file. * console-tty.c: See above. Fri Jan 3 18:07:11 1997 Axel Seibert <aseibert@cybernet-ag.net> * m/next.h: Cleanup accumulated cruft. * s/nextstep.h: Remove useless #undef REL_ALLOC/HAVE_MMAP. * syssignal.h: Don't typedef SIGTYPE on NeXT. Fri Jan 3 12:06:44 1997 Michael Sperber <sperber@informatik.uni-tuebingen.de> * m/ibmrs6000.inp: Added various get.* symbols. Sun Dec 29 20:16:08 1996 Steven L Baur <steve@altair.xemacs.org> * m/next.h: Remove signal_handler_t #define. * s/nextstep.h: Remove signal_handler_t #define. Fri Dec 27 21:13:33 1996 Martin Buchholz <mrb@Eng.Sun.COM> * event-Xt.c (x_to_emacs_keysym): Corrections to SUNOS_GCC_LO_BUG. Mon Dec 23 11:37:16 1996 Martin Buchholz <mrb@Eng.Sun.COM> * fns.c (Ffillarray): Fix for (fillarray #*10 0) Mon Dec 23 10:27:14 1996 Steven L Baur <steve@altair.xemacs.org> * bitmaps.h: Change to unsigned char. * frame-x.c (x_cde_transfer_callback): Typecast fix. * keymap.c (define_key_check_and_coerce_keysym): Typecast fix. Fri Dec 20 19:21:56 1996 Steven L Baur <steve@altair.xemacs.org> * Makefile.in.in (lisp): Remove cc-mode as a dumped package. * keymap.c (define_key_check_and_coerce_keysym): Make obsolete binding of kp_.* not lose. * bitmaps.h: Add left & right arrows to show extended lines. Fri Dec 20 15:32:53 1996 David Moore <dmoore@UCSD.EDU> * event-stream.c (event_stream_wakeup_pending_p): New function. (Faccept_process_output): Fix timeout handling race conditions. (Fsleep_for): Ditto. (Fsit_for): Ditto. Thu Dec 19 22:25:26 1996 Steve Carney <carney@gvc.dec.com> * cmds.c (Fbeginning_of_line): Adjust for 64 bit machines. Thu Dec 19 00:44:10 1996 Bart Robinson <lomew@cs.utah.edu> * syssignal.h: The declaration of SIGTYPE shouldn't be protected by HAVE_SIGPROCMASK. Wed Dec 18 20:40:21 1996 Martin Buchholz <mrb@eng.sun.com> * dgif_lib.c: Miscellaneous cleanup, including removing signed bitfields. * mule-charset.h: Change charset names. * mule-coding.c (struct iso2022_decoder): Uniform unsigned bitfields. Change charset names. * mule-charset.c: Change charset names. * mule-canna.c: Change charset names. * EmacsShell-sub.c: Ansify and reformat. * console-tty.h (struct tty_console): Uniform unsigned bitfields. * glyphs-x.c: Ansify. * specifier.c: Use lisp_fn_t. * EmacsShell.c: Ansify. * vm-limit.c: Ansify. * emacsfns.h: Use lisp_fn_t. * lstream.c (struct filedesc_stream): Unsigned int bitfields. * xselect.c (hack_motif_clipboard_selection): Change charset name. (Fx_store_cutbuffer_internal): Change charset name. * ralloc.c: Ansify and clean up. * frame.h (struct frame): Uniform unsigned bit fields. * event-Xt.c: Documentation change. * lisp.h: Introduce lisp_fn_t. Remove SunPro C compiler warning message workaround. * xmu.c: Ansify. * doprnt.c (struct printf_spec): Use unsigned bitfields. * fileio.c: various code formatting changes. * eval.c: reorganize primitive funcalls. * config.h.in (NeedFunctionPrototypes): Force slightly better type checking in X header files. * Makefile.in.in: #undef i386, move mime-setup.elc?. * s/sunos4-0-shr.h: Documentation change. * s/sol2.h (__EXTENSIONS__): Add. Include <setjmp.h> under certain conditions. Mon Dec 16 19:13:10 1996 Steven L Baur <steve@altair.xemacs.org> * lstream.c (Lstream_pseudo_close): Return status on error. (Lstream_close): Ditto. (Fixes disk full-no error on write bug). Sat Dec 14 16:54:52 1996 Steven L Baur <steve@altair.xemacs.org> * glyphs-x.c (jpeg_instantiate): Use file I/O for JPEG loading because the in-core code is broken. Fri Dec 13 16:43:45 1996 Steven L Baur <steve@altair.xemacs.org> * device-x.c (x_init_device): Don't make nonexistent X server the default when running on a tty. * event-Xt.c (x_to_emacs_keysym): Rename kp_.* keysyms to be kp-\1. * redisplay-tty.c (keys): Rename kp_.* keynames to kp-\1. Fri Dec 13 14:48:42 1996 Michael Sperber <sperber@informatik.uni-tuebingen.de> * lread.c (Fload_internal): Change arity of call to file-name-handlers. * fileio.c (Finsert_file_contents_internal): Ditto. Thu Dec 12 16:55:34 1996 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> * cmds.c (Fpoint_at_eol, Fpoint_at_bol): New functions. (Fend_of_line, Fbeginning_of_line): Use them. Tue Dec 10 11:17:32 1996 Shane Holder <holder@mordor.rsn.hp.com> * s/hpux9shxr4.h: hpux9shr.h -> hpux9-shr.h * s/hpux10.h: hpux9shr.h -> hpux9-shr.h Sat Dec 7 18:29:34 1996 Steven L Baur <steve@altair.xemacs.org> * puresize.h (BASE_PURESIZE): Bumped up PURESIZE by 10k. Sat Dec 7 16:26:34 1996 Martin Buchholz <mrb@Eng.Sun.COM> * config.h.in: configure for POSIX getcwd if available. Sat Dec 7 15:48:39 1996 Steven L Baur <steve@altair.xemacs.org> * s/sunos4-1-shr.h: Renamed from sunos4-1shr.h. * s/sunos4-1-3-shr.h: Renamed from sunos4-1-3shr.h. * s/sunos4-1-2-shr.h: Renamed from sunos4-1-2-shr.h. * s/sunos4-0-shr.h: Renamed from sunos4-0shr.h. * s/hpux9-shr.h: Renamed from hpux9shr.h. * s/hpux8-shr.h: Renamed from hpux8shr.h. * s/hpux10-shr.h: Renamed from hpux10shr.h. Wed Dec 4 23:38:03 1996 Steven L Baur <steve@altair.xemacs.org> * redisplay.c: Allow column numbers in modeline to start from 1.