2000-01-09 Norbert Koch * sysfile.h: Remove definition of HAVE_FSYNC. It's tested for in configure. 2000-01-09 Martin Buchholz * 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 * 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 * gdbinit: rename to .gdbinit so that gdb will automatically source it. 2000-01-09 Hrvoje Niksic * 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 * 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 * 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] * 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 * 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 * 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 * XEmacs 21.2.26 is released. 1999-12-31 Andy Piper * glyphs-x.c (x_widget_instantiate): Avoid X errors calling XMapWindow() on a NULL pointer X window. 1999-12-31 Martin Buchholz * 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 * 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 * 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 * XEmacs 21.2.25 is released. 1999-12-22 Yoshiki Hayashi * syntax.c (vars_of_syntax): Initialize parse-sexp_ignore_comments. 1999-12-21 Martin Buchholz * 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 * 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 * 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 * fns.c (Ffillarray): Use O(N), not O(N^2) algorithm for strings. 1999-12-19 Hrvoje Niksic * profile.c (sigprof_handler): FUN retrieved from the backtrace can also be a cons representing anonymous interpreted function. 1999-12-18 Martin Buchholz * fns.c (mapcar1): (Fmapconcat): (Fmapcar): (Fmapvector): Docstring fixes. Make them consistent with the lispref and ANSI Lisp. 1999-12-17 Martin Buchholz * 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 * filelock.c (unlock_all_files): GC_CONSP should be CONSP 1999-12-17 Martin Buchholz * 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 * 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 * buffer.c (Fbury_buffer): Add directions to the docstring. 1999-12-14 Martin Buchholz * XEmacs 21.2.24 is released. 1999-12-13 Martin Buchholz * 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 * input-method-xlib.c: Make sure src/ does not use Athena, except indirectly through lwlib. 1999-12-13 Gunnar Evermann * dbxrc (pobj): Add opaque_ptr, remove opaque_list. 1999-12-10 Shenghuo ZHU * file-coding.c (add_coding_system_to_list_mapper): - (coding-system-list) should list aliases correctly. 1999-12-07 Andy Piper * fileio.c (vars_of_fileio): directory separator fix from Mike Alexander. * windowsnt.h (ditto): 1999-11-27 Adrian Aichner * 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 * XEmacs 21.2.23 is released. 1999-12-06 Martin Buchholz * 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 * lstream.c (Lstream_adding): - Never compare a size_t and a possibly negative number. - Optimize. 1999-12-05 Kyle Jones * lisp/itimer.el: (require 'lisp-float-type). Use floats directly in itimer-time-difference. 1999-12-05 Andy Piper * 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 * src/callproc.c (Fcall_process_internal): Be careful in writing terminating null when copying args. nargs can be < 4. Idea from Klaus Frank 1999-11-29 Kyle Jones * 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 * glyphs-x.c (convert_EImage_to_XImage): Guard against other visual classes. From Rasmus Borup Hansen 1999-12-04 Martin Buchholz * 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 for exit(). * unexhp9k800.x: #include for malloc(). Use proper prototype for Save_Shared_Data(void). 1999-12-04 Jan Vroonhof * src/redisplay.c (point_would_be_visible): Correct for topclip. 1999-12-02 Hrvoje Niksic * 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 * 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 * 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 * XEmacs 21.2.22 is released 1999-11-28 Martin Buchholz * XEmacs 21.2.21 is released. 1999-11-26 Martin Buchholz * 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 * Makefile.in.in (depend): Only update `depend' if there were changes. 1999-11-26 Martin Buchholz * editfns.c (get_system_name): Remove. 1999-11-26 Martin Buchholz * 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 * 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 * 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 * emacs.c (shut_down_emacs): Point users to PROBLEMS file 1999-11-16 Jan Vroonhof * 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 * abbrev.c (abbrev_oblookup): Check whether wordend <= wordstart if Vabbrev_start_location is used too. 1999-10-27 Yoshiki Hayashi * 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 * 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 * 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 * 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 * 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 * 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 * 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 * mule-ccl.c (CCL_WRITE_STRING): Fix compiler warnings. 1999-11-12 Yoshiki Hayashi * 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 * 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 * mule-charset.c (non_ascii_valid_charptr_p): Check if private charset is defined. 1999-11-09 Yoshiki Hayashi * 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 * XEmacs 21.2.20 is released 1999-11-04 Martin Buchholz * mule-ccl.c (ccl_driver): Warning suppression 1999-11-01 SL Baur * emacs.c (main_1): Guard call to reinit_vars_of_debug when not building a debugged XEmacs. 1999-10-28 Andreas Jaeger * src/emacs.c (main_1): Don't set the malloc hooks if using DOUG_LEA_MALLOC. 1999-10-30 Olivier Galibert * alloc.c (pdump_dump_rtables): Don't forget to dump the last registered type. (pdump): Ditto. 1999-10-25 Olivier Galibert * emacs.c (main_1): Call reinit_vars_of_scrollbar_x. * symsinit.h: Declare reinit_vars_of_scrollbar_x. 1999-10-25 Martin Buchholz * 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 * 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 * 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 * lisp.h (Dynarr_declare): Fix boo-boo. 1999-10-24 Olivier Galibert * process-unix.c (allocate_pty): Fix HAVE_GETPT. * process.h: Ditto. 1999-10-24 Jan Vroonhof * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt >=0). Handle the cur_elt == 0 case. 1999-10-24 Jan Vroonhof * unexelf.c: Merge Martin's c++ fixes back in 1999-10-20 Jan Vroonhof * unexelf.c (unexec): Only copy the global offset table from memory on sgi machines. 1999-08-13 Alexandre Oliva , Vin Shelton * 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 * unexelf.c: Revert to 21.1 version 1999-08-28 Jan Vroonhof * window.c (Fwindow_truncated_p): New function. 1999-08-25 Jonathan Marten * window.c (window_truncation_on): Always return 0 for minibuffer windows, to enable auto scrolling. 1999-10-24 Neal Becker * process.h: Unix98 PTY support 1999-10-17 Jan Vroonhof * fileio.c (Ffile_truename): Do proper mule decoding on the argument to xrealpath() 1999-08-19 Stephen Tse * 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 * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash. 1999-10-23 Olivier Galibert * 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 * 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 * event-msw.c (mswindows_key_to_emacs_keysym): Recognise keypad keys as different from normal keys. 1999-10-14 Didier Verna * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps. 1999-10-10 Olivier Galibert * 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 * 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 * 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 * 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 * elhash.c (resize_hash_table): Correct reference to lrecord_header. 1999-10-06 Damon Lipparelli * elhash.h: forward declare Lisp_Hash_Table. 1999-10-06 Andy Piper * glyphs.c (Fset_image_instance_property): mark glyphs as dirty after setting an image instance property. 1999-10-05 Andy Piper * 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 * 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 * 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 * 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 * 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 * 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 * alloc.c: Further with the portable dumping. 1999-09-27 Martin Buchholz * 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 * 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 * 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 * redisplay-output.c (output_display_line): only clear the borders if we are not displaying the gutter. 1999-09-24 Jan Vroonhof * 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 * scrollbar-x.c (x_window_is_scrollbar): deleted. * scrollbar-x.h: ditto. 1999-09-23 Martin Buchholz * 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 * 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 * 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 * 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 * glyphs-x.c (update_widget_face): Guard fontList declaration for non-motif uses. 1999-09-20 Andy Piper * glyphs-msw.c (mswindows_update_subwindow): update faces. 1999-09-19 Andy Piper * 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 * 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 * 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 * 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 * general.c: * eldap.c: Move symbols used only by eldap.c into eldap.c as statics. 1999-09-09 Martin Buchholz * 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 * 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 * redisplay-x.c (x_output_vertical_divider): make sure shadow_thickness is positive. 1999-09-10 Julian Back * process-nt.c (nt_create_process): fixup to cope with Vprocess_environment. 1999-09-02 Andy Piper * 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 * 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 * fns.c (Fmapc): Rename back to Fmapc_internal. 1999-07-30 Gleb Arshinov * 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 * 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 * 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 * 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 * extents.c (extent_remprop): Get extent's plist address correctly. 1999-08-31 Andy Piper * xmu.h: define Xmu/Converters.h things. 1999-08-31 Andy Piper * opaque.c (equal_opaque_ptr): define. (hash_opaque_ptr): define. * xmu.h: define Xmu/Misc.h things. 1999-08-17 MORIOKA Tomohiko * file-coding.c (determine_real_coding_system): Treat `coding:' cookie. 1999-08-16 MORIOKA Tomohiko * 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 * 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 1999-08-30 Andy Piper * 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 1999-08-29 Andy Piper * 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 * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct'' (XSETTIMEOUT): fixup typo 1999-08-11 Jan Vroonhof * 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 * 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 * 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 * 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 * 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 * console-x.h: declare new pixmap signatures. 1999-08-23 Andy Piper * 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 * sound.c: revert the renaming of `bell_volume' to `Vbell_volume' and `bell_inhibit_time' to `Vbell_inhibit_time'. 1999-08-18 Andy Piper * redisplay-output.c (redisplay_output_subwindow): disable clipping attempt. 1999-08-17 Andy Piper * gutter.c (redraw_exposed_gutter): handle degenerate case of no area to expose or no gutter to display. 1999-08-16 Charles G Waldman * sound.c: rename `bell_volume' to `Vbell_volume' and `bell_inhibit_time' to `Vbell_inhibit_time'. 1999-08-13 Charles G Waldman * sound.c: (bell-inhibit-time): New variable. (ding): Use it. (sound-alist): Fix docstring. 1999-08-17 Andy Piper * gui-x.c (button_item_to_widget_value): xstrdup name so that deleting it is ok. 1999-08-16 Jeff Miller * syntax.c (scan_words): make compile. 1999-08-16 Andy Piper * 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 * 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 * eval.c (run_hook_with_args_in_buffer): GCPRO globals. 1999-08-14 Andy Piper * glyphs.c (update_subwindow_cachel): make it less brittle. 1999-08-04 Mike Woolley * 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 * 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 * 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 * 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 * 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 * 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 * 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 * glyphs-x.c (x_finalize_image_instance): only free pixels if we have that type of image. 1999-07-30 Andy Piper * 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 * 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 * scrollbar-x.c: should include EmacsFrame.h. From Jeff Miller 1999-07-30 XEmacs Build Bot * XEmacs 21.2.19 is released 1999-07-27 Jeff Miller * add a "#ifdef HAVE_MENUBARS" wrapper to gui.c around menubar_show_keybindings. 1999-07-23 SL Baur * 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 * s/sco7.h: Added from rr@sco.com. 1999-06-25 MORIOKA Tomohiko * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'. 1999-06-24 MORIOKA Tomohiko * 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 * 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 * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the definitions. 1998-08-18 Kenichi Handa * 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 * 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 * 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 * keymap.c (copy_keymap_internal): Inherit the default binding. 1999-07-14 Kazuyuki IENAGA * 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 * 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 * 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 * 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 * 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 * 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 * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data. 1999-07-16 Andy Piper * 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 * 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 * gutter.c (frame_topmost_window): new function. (frame_bottommost_window): ditto. (frame_leftmost_window): ditto. (frame_rightmost_window): ditto. 1999-07-13 Andy Piper * redisplay.c (calculate_display_line_boundaries): use text boundaries so that gutters get handled properly. 1999-07-12 Andy Piper * 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 * XEmacs 21.2.18 is released 1999-07-08 SL Baur * 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 * 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 * 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 * s/linux.h: gcc-2.8 changes for powerpc From Justin Vallon 1999-07-05 Didier Verna * indent.c: new symbol Qcoerce. (Fmove_to_column): use it + doc string update. 1999-07-04 Andy Piper * 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 * lisp.h: Add #include . * sysdep.c: Remove #include . * symbols.c: Remove #include . * sheap.c: Remove #include . * opaque.c: Remove #include . * nt.c: Remove #include . * mule-charset.c: Remove #include . * marker.c: Remove #include . * file-coding.c: Remove #include . * extents.c: Remove #include . * elhash.c: Remove #include . * data.c: Remove #include . * chartab.c: Remove #include . * bytecode.c: Remove #include . * alloc.c: Remove #include . Fix vector description 1999-06-30 SL Baur * editfns.c: Document "%s" format spec. Suggested by Bob Weiner 1999-06-29 Andy Piper * event-msw.c: fix definition booboo. 1999-06-28 Andy Piper * 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 * 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 * 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 * syntax.c (scan_words): Restore non-Mule code. (word_constituent_p): Restore. 1999-06-23 Olivier Galibert * config.h.in: Add missing #undef *_USER_DEFINED. 1999-06-23 SL Baur * 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] * paths.h.in (PATH_DOC): Made doc-directory configurable. 1999-06-22 Olivier Galibert * 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 * 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 * 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 * 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 * XEmacs 21.2.17 is released 1999-06-13 Oscar Figueiredo * 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 * data.c (struct int_or_double): Should use EMACS_INT not int. 1999-06-16 Norbert Koch * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in redisplay-x.c 1999-06-12 MORIOKA Tomohiko * 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 * mule-charset.c (Fsplit_char): New subr. (Fchar_octet): delete. (syms_of_mule_charset): DEFSUBR it. 1999-06-13 Andy Piper * 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 * XEmacs 21.2.16 is released 1999-06-10 Andy Piper * 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 * 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 * 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 * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC. 1999-06-06 Hrvoje Niksic * 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 * mule-charset.c (Fmake_char): Update docstring. 1999-06-07 Hrvoje Niksic * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers. 1999-06-05 Hrvoje Niksic * fns.c (base64_decode_1): Allow and ignore any non-base64 characters in input. 1999-05-27 Olivier Galibert * emacs.c (Fdump_emacs): Add clear_message() lost with the removal of report_pure_usage(). 1999-06-04 Hrvoje Niksic * fns.c (Fstring_lessp): Remove O(n^2) under Mule. 1999-06-04 XEmacs Build Bot * XEmacs 21.2.15 is released 1999-06-01 Hirokazu FUKUI * 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 * sysdep.c (request_sigio_on_device): Guard against glibc 2.1's stub streams implementation. 1999-06-03 SL Baur * config.h.in: * emacs.c: Implement x.y.z version numbers From Jan Vroonhof 1999-05-20 MORIOKA Tomohiko * 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 * frame-x.c: * device-x.c: rename session option to wmcommand. From Oliver Graf 1999-05-27 Hrvoje Niksic * fns.c (Fsubstring): Don't traverse the same region twice with charcount_to_bytecount(). 1999-06-03 SL Baur * 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 * 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 * fns.c (base64_decode_1): Ignore whitespace. 1999-05-27 Hrvoje Niksic * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and ARG2. 1999-05-21 Andy Piper * 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 * print.c (long_to_string): Install a faster version. 1999-05-16 Andy Piper * ntproc.c (syms_of_ntproc): default win32-start-process-share-console to t. 1999-05-14 Hrvoje Niksic * config.h.in: Do it here. * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here. 1999-05-14 Andy Piper * toolbar-msw.c (mswindows_output_toolbar): hash on something hashable. 1999-05-14 XEmacs Build Bot * XEmacs 21.2.14 is released 1999-05-12 Andy Piper * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way. 1999-05-11 Gunnar Evermann * 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 * window.c (Fcurrent_window_configuration): Save minibuffer height; * window.c (set_window_configuration): use it. 1999-05-10 Robert Pluim * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version 1999-04-21 Jan Vroonhof * 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 * 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 * ntproc.c (sys_spawnve): actually assign argv[0] instead of the first character. 1999-05-10 Hrvoje Niksic * sysdep.c (init_system_name): If gethostname gives a proper domain name, don't look further for one. 1999-05-09 Hrvoje Niksic * symbols.c (Fintern): Avoid frequent XSYMBOL (foo). (Fintern_soft): Accept a symbol argument. 1999-05-06 Hrvoje Niksic * symbols.c (Fintern): ...do it here. * lread.c (read_atom): Don't handle keywords here. 1999-05-06 Hrvoje Niksic * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD. 1999-05-03 Olivier Galibert * 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 * 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 * symeval.h (symbol_value_forward_lheader_initializer): Ditto. * lisp.h (DEFUN): Fix lrecord header initialisation. 1999-05-02 Andy Piper * objects-msw.c (mswindows_font_instance_truename): add a ';'. * ntproc.c (sys_kill): cast using MS mandated defines. 1999-04-29 Andy Piper * 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 * eldap.c (allocate_ldap): Adapt to the new semantics of alloc_lcrecord_type(). 1999-03-16 MORIOKA Tomohiko * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed. 1998-09-04 MORIOKA Tomohiko * Delete mule-coding.c and mule-coding.h because they are not used. 1999-04-22 Gunnar Evermann * 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 * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an array anymore. 1999-04-22 Hrvoje Niksic * Makefile.in.in (tests): Don't mention tests explicitly -- makes it easier to add new ones. 1999-04-22 Hrvoje Niksic * 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 * data.c (vars_of_data): Default debug_issue_ebola_notices to 0. (eq_with_ebola_notice): Remove abracadabra support. 1999-04-11 Oscar Figueiredo * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to retrieve the distinguished names of entries 1999-03-08 Martin Buchholz * lread.c (read_escape): Make hex escapes read only two hex digits. 1999-04-05 Olivier Galibert * 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 * 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 * 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 * 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 * file-coding.c (Fdefine_coding_system_alias): New function. 1999-04-08 Olivier Galibert * 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 * extents.c (set_extent_glyph_1): Make sure that the glyph we attach to the extent is valid. 1998-12-12 Hrvoje Niksic * 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 * 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 * fns.c (init_provide_once): Provide `base64'. 1998-12-04 Hrvoje Niksic * 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 * dired.c (Fdirectory_files): Remove redundant code. 1999-03-05 Philip Aston * frame-msw.c Make raise-frame restore minimised windows. 1999-03-05 Philip Aston * device-msw.c: Fix DEFVAR format - Death to phantom quote, and add magic newline. 1999-03-05 Philip Aston * 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 * XEmacs 21.2.13 is released 1999-03-12 SL Baur * file-coding.c: Guard ucs table initialization with ifdef MULE. 1999-03-10 Stephen J. Turnbull * file-coding.c: docstring and comment improvements. (decode_ucs4) flag possible data loss with comment. 1999-03-10 Martin Buchholz * 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 * 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 * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO 2022 registry to private area. 1998-09-07 MORIOKA Tomohiko * file-coding.c (encode_utf8): New function. (encode_coding_utf8): New implementation. 1998-09-07 MORIOKA Tomohiko * 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 * chartab.h: EXFUN `Fget_char_table'. * file-coding.c (encode_ucs4): New function. (encode_coding_ucs4): Use `encode_ucs4'. 1998-09-06 MORIOKA Tomohiko * file-coding.c (decode_coding_ucs4): New implementation. 1998-09-06 MORIOKA Tomohiko * 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 * file-coding.c (decode_coding_utf8): New implementation. 1998-09-06 MORIOKA Tomohiko * file-coding.c (decode_coding_utf8): fixed. 1998-09-06 MORIOKA Tomohiko * 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 * 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 * 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 * fns.c (Fbase64_encode_string): Calculate `allength' in the same way of `Fbase64_encode_region'. 1999-02-18 Katsumi Yamaoka * fns.c (base64_encode_1): Don't add a newline at the tail. 1999-03-08 Andy Piper * menubar-msw.c (displayable_menu_item): correct off-by-one & handling. 1999-03-07 Martin Buchholz * 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 . 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 * 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 * 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 * XEmacs 21.2.12 is released 1999-02-16 Kazuyuki IENAGA * device-x.c: Support to find best visual without flashing. 1999-03-02 Paul Keusemann * 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 * 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 * event-stream.c (init_event_stream): make sure native mswindows gets an appropriate event loop. 1999-02-22 Andy Piper * 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 * XEmacs 21.2.11 is released 1999-02-25 SL Baur * 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 1999-02-17 Kazuo Oishi * glyphs-x.c (cononvert_EImage_to_XImage): correct bytes per pixel counting. 1999-02-15 Andy Piper * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes major lockups. 1999-02-16 MORIOKA Tomohiko * fns.c (Fbase64_encode_string): New optional argument `NO_LINE_BREAK'. 1999-02-16 Martin Buchholz * gdbinit: Fix up commands to run temacs. Add lisp-shadows command. * alloc.c (xcalloc): undef xcalloc, just like xmalloc 1999-02-10 Martin Buchholz * 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 * XEmacs 21.2.10 is released 1999-02-02 Gleb Arshinov * 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 * XEmacs 21.2.9 is released 1999-01-30 Martin Buchholz * 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 * gui.c (gui_parse_item_keywords_internal): Make static. 1999-01-21 Andy Piper * 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 * event-stream.c (vars_of_event_stream): Fixing documentation. 1999-01-17 Gunnar Evermann * 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 * search.c (Freplace_match): Handle single backslash at end of NEWTEXT correctly. 1999-01-12 William M. Perry * eldap.c (Fldap_open): slow down interrupts around ldap_open to avoid connection errors. 1999-01-12 Andy Piper * redisplay-output.c (redisplay_update_line): backout change that shouldn't have gone ine. 1999-01-09 Oscar Figueiredo * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may collide with ldap.el 1999-01-11 Andy Piper * 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 * 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 * 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 * event-msw.c (mswindows_wnd_proc): Fixed failure when building with MSVC 5. 1998-12-29 Martin Buchholz * file-coding.c (decode_coding_iso2022): - Prevent crash when decoding ISO7/Lock detected files - the usual martin fiddling 1998-12-29 Jonathan Harris * 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 * 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 * 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 * 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 * XEmacs 21.2.8 is released. 1998-12-28 Martin Buchholz * 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 * 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 * XEmacs 21.2.7 is released. 1998-12-23 Martin Buchholz * 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 * 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 * 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 * console-msw.c: Function definitions follow coding standards - This prevents e.g. find-tag on Lisp_Event finding DEVENT 1998-12-11 Martin Buchholz * 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 * lisp.h: Fix up prototypes to match alloc.c 1998-12-08 Martin Buchholz * 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 * 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 * 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 * 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 * 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 * 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 * event-msw.c (mswindows_cancel_dispatch_event): Gratuitous code prettification 1998-12-07 Hrvoje Niksic * 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 * 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 * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the accelerator field to nil for labels. 1998-12-16 Jonathan Harris * menubar-msw.c (displayable_menu_item): Escape occurrences of '&' and support occurrences of the '%_' accelerator indicator in menus. 1998-11-26 Didier Verna * 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 * glyphs.c (normalize_image_instantiator): GCPRO instantiator 1998-12-16 Jonathan Harris * 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 * strftime.c (zone_name): CONSTify. 1998-12-15 Andy Piper * 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 * 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 * Makefile.in.in (objs): add gui.o 1998-12-10 Andy Piper * gui.c: adjust defines of HAVE_POPUPS so that we can build with no window system. 1998-12-09 Andy Piper * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * XEmacs 21.2.6 is released 1998-12-08 Hrvoje Niksic * md5.c (Fmd5): Correctly initiate string input stream. * Makefile.in.in (tests): Add md5-tests.el. 1998-12-06 Martin Buchholz * 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 * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded bytecode. 1998-12-13 Martin Buchholz * console-msw.c: Function definitions follow coding standards - This prevents e.g. find-tag on Lisp_Event finding DEVENT 1998-12-11 Martin Buchholz * 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 * lisp.h: Fix up prototypes to match alloc.c 1998-12-09 Andy Piper * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use XSETINT for assigning lisp objects. 1998-12-07 Martin Buchholz * 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 * 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 * menubar-msw.c (mswindows_handle_wm_command): add back in checks that got removed in the merge 1998-11-30 Greg Klanderman * dired.c (vars_of_dired): bugfix for previous conditionalization of user-name-completion on non- Windows NT. 1998-12-08 Martin Buchholz * 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 * 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 * XEmacs 21.2.5 is released 1998-11-30 Martin Buchholz * 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 * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0 1998-11-28 SL Baur * XEmacs 21.2-beta4 is released. 1998-11-27 SL Baur * mule-charset.c (complex_vars_of_mule_charset): Fix graphic property in control-1 charset. From Julian Bradfield 1998-11-26 Jan Vroonhof * 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 * dired.c (make_directory_hash_table): make_string() is OK because readdir() Mule-encapsulates. 1998-11-26 Hrvoje Niksic * fns.c (Fbase64_encode_string): Fix docstring. (Fbase64_decode_string): Ditto. 1998-11-26 Hrvoje Niksic * editfns.c (Ftranslate_region): Use convert_bufbyte_string_into_emchar_string(). 1998-11-25 Hrvoje Niksic * 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 * chartab.c (Freset_char_table): Fix wrong placement of #endif. 1998-11-24 Hrvoje Niksic * 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 * 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 * process-unix.c (unix_create_process): handle properly Vfile_name_coding_system for converting the program and directory names. 1998-11-27 SL Baur * m/arm.h: New file. From James LewisMoss 1998-11-27 Takeshi Hagiwara * m/mips-nec.h: Fix the realpath() problem of UnixWare2.1.3. Patches for NEC's sysv4.2 machine. 1998-11-25 Hrvoje Niksic * dired.c (Fdirectory_files): Remove redundant code. 1998-11-25 Hrvoje Niksic * 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 * fns.c (base64_value_to_char): Base64 stuff. 1998-11-24 Hrvoje Niksic * 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] * linuxplay.c: Including instead of makes sound work on AIX with OSS installed. Linux should still work. 1998-11-03 Andy Piper * 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 * lisp.h (struct Lisp_Bit_Vector): Fix declaration of bits from int to long. 1998-10-22 Andy Piper * 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 * 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 * 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 * gifrlib.h: Clean up types for 64 bit compile. * dgif_lib.c (DGifInitRead): Ditto. (MakeSavedImage): Ditto. * emacs.c (decode_path): Ditto. From Steve Carney 1998-10-16 William M. Perry * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps (cehckboxes instead of checkboxes). 1998-10-15 SL Baur * XEmacs 21.2-beta3 is released. 1998-10-13 Raymond Toy * 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 * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS -> HAVE_MS_WINDOWS typo. 1998-10-13 SL Baur * 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 * 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 * window.c (specifier_vars_of_window): Set default vertical divider width to 1 on ttys. 1998-10-08 Martin Buchholz * alloc.c: * unexec.c: * malloc.c: Add to get ptrdiff_t declaration 1998-10-07 Jonathan Harris * 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 * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running `configure' 1998-10-06 Takeshi Hagiwara * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget. 1998-10-05 Andy Piper * s/cygwin32.h: more cygwin b20 reorganisation. 1998-10-01 Raymond Toy * 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 * callproc.c (child_setup): Fix spelling typo. 1998-09-29 SL Baur * XEmacs 21.2-beta2 is released. 1998-09-27 P. E. Jareth Hein * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use. 1998-09-07 Jonathan Harris * fileio.c (file-name-directory, file_name_as_directory): Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT. 1998-09-02 Andy Piper * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC * ralloc.c: uncomment __morecore. 1998-09-92 Jonathan Harris * 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 * 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 * device-x.c (x-seppuku-on-epipe): Removed. 1998-08-26 Gunnar Evermann * 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 * 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 * 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 * 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 * 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 * 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 * 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 * macros.c (Fend_kbd_macro): Remove trailing period from error message. (Fexecute_kbd_macro): Ditto. 1998-08-21 Greg Klanderman * 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] * lread.c (vars_of_lread): Removed `source-directory' variable. 1998-08-22 Hrvoje Niksic * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to Cygwin. 1998-08-19 SL Baur * dired.c (vars_of_dired): Fix misapplied patch. 1998-08-16 Martin Buchholz * fns.c (Fremrassq, remrassq_no_quit): A XCAR that should have been an XCDR turned Fremrassq into Fremassq 1998-07-17 Didier Verna * 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 * 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 * 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 * menubar-msw.c (displayable_menu_item): take account of menu depth when deciding whether to try to display accelerators. 1998-08-04 Andy Piper * 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 * 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 * casefiddle.c (casify_object): Change algorithm from O(N**2) to O(N). Code cleanup. Doc string cleanup. 1998-07-22 Greg Klanderman * dired.c (file_name_completion_unwind): don't leak the cons. 1998-07-20 Greg Klanderman * 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 * 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 * 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 * callint.c (Fcall_interactively): GCPRO prompt string before passing it to Fread_key_sequence 1998-07-27 SL Baur * 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 * 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 * XEmacs 21.2-beta1 is released. 1998-07-12 Oscar Figueiredo * 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 * 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 * glyphs-x.c (convert_EImage_to_XImage): Fix previous patch (conv byte order is dependant of the local byte order). From Takeshi Hagiwara 1998-07-18 SL Baur * glyphs-msw.c (mswindows_resource_normalize): Qresource -> Qmswindows_resource. From Jonathan Harris 1998-07-12 SL Baur * 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 * 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 * XEmacs 21.0-pre4 is released. 1998-07-01 James N. Potts * 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 * 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 * 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 * eldap.c (Fldap_search_internal): Docstring fixes 1998-07-04 Jonathan Harris * 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 * 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 * 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 * 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 * 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 * 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 * process-nt.c (nt_create_process): Try appending the standard executable file extensions to the filename if none supplied. 1998-06-29 SL Baur * fileio.c (Fsubstitute_in_file_name): Enable double slash notation for cygwin32. From Keisuke Mori 1998-06-24 Andy Piper * 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 * 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 * 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 * 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 * 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] * unexaix.c: Line number information works correctly again. 1998-06-22 Olivier Galibert * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry. 1998-06-21 Martin Buchholz * editfns.c (get_home_directory): ANSIfy. XEmacs is compilable under C *and* C++. It's XEmacs, not Xemacs! 1998-06-19 Jonathan Harris * 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 * 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 * 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 * 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 * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something suitable for an int used as a boolean (btw, C sucks.). 1998-06-18 Andy Piper * 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 * 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 * 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 * 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 * 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] * unexaix.c (make_hdr): Fixed bias computations so debugging info works again. Some other insignificant nitpicks. 1998-06-18 Andy Piper * 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 * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from completed_timeouts. The timer could have expired. 1998-06-17 Andy Piper * 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 * Makefile.in.in: Made EXTW_LINK expand properly. 1998-06-12 Martin Buchholz * redisplay.c (vars_of_redisplay): default value of column-number-start-at-one should be NIL! 1998-06-11 Martin Buchholz * casefiddle.c: (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar" 1998-06-05 Hrvoje Niksic * eldap.c (Fldap_search_internal): Use build_ext_string instead of build_string to avoid crashes under Mule. 1998-06-13 Andy Piper * 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 * fileio.c (directory-sep-char): Escape backslashes. 1998-06-10 Hrvoje Niksic * event-stream.c: Fix docstring reference. 1998-06-12 Hrvoje Niksic * 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 * 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 * buffer.c (complex_vars_of_buffer): Removed %t description from the docstring. 1998-06-04 Rick Rankin * 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 * 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 * 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 * process-nt.c (signal_cannot_launch): Use signal_simple_error() instead of error(). 1998-06-03 Kirill M. Katsnelson * dialog-msw.c (button_width): Removed `inline' from the function declaration. 1998-06-03 Rick Rankin * 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 * glyphs-eimage.c (png_instantiate) move 'struct png_memory_storage tbr' out of nested block to avoid dangling reference 1998-06-02 Andy Piper * 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 * 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 * glyphs.c (bitmap_to_lisp_data) Define XFree to be free if built without X Windows support. 1998-06-02 Hrvoje Niksic * fns.c (Fconcat): Synch docstring with new reality. 1998-06-03 SL Baur * 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 * glyphs-eimage.c (jpeg_instantiate): Fix handling of grayscale images/ 1998-05-30 Kirill M. Katsnelson * 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 * 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 * 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 * buffer.h: Eliminate size in declaration. 1998-06-01 Olivier Galibert * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge. 1998-06-01 Kirill M. Katsnelson * gui.c (gui_item_init): Changed the default value for config member from Qunbound to Qnil. 1998-06-01 Greg Klanderman * indent.c (vmotion_pixels): Don't #define abs(). 1998-05-30 Kirill M. Katsnelson * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose respectively. 1998-05-30 Andy Piper * 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 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 * 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 * 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 * toolbar.h: Removed misleading commentary, as Martin suggested. 1998-05-30 Kirill M. Katsnelson * 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 * 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 * alloc.c (dbg_constants): * dbxrc: * gdbinit: Remove toolbar_data debugging code, since that lrecord has also been removed. Wed May 27, 1998 Darryl Okahata * 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 , to suppress warnings about getcwd(), etc. not having prototypes. 1998-05-28 Kirill M. Katsnelson * 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 * frame-x.c (cde-start-drag-internal): added filename and multi- data transfers (x_cde_convert_callback) dito 1998-05-26 Oliver Graf * 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 * 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 * 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 * tooltalk.c (vars_of_tooltalk) added staticpro for Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str 1998-05-27 Andy Piper * 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 * s/cygwin32.h: define charsets for cygwin. 1998-05-25 Andy Piper * 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 * 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 * 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 * general.c: multiple definition of `Qicon'. general.c seems like a good home for Qicon. 1998-05-20 Kirill M. Katsnelson * 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 * 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 * getloadavg.c (getloadavg): Fix typo. 1998-05-23 Kirill M. Katsnelson * 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 * 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 * 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 * 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 * 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 * 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 * 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 * EmacsFrame.c (Xt_StringToScrollBarPlacement): Added support for {top,bottom}-{left,right} values in addition to {top,bottom}_{left,right}. 1998-05-18 Hrvoje Niksic * fileio.c (Fmake_temp_name): Remove unreached code. * process-nt.c (validate_signal_number): Use signal_simple_error(). 1998-05-19 Martin Buchholz * 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 * 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 * 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 * 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 * 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 * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, ""). 1998-05-18 Kirill M. Katsnelson * 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 * 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 * 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 * 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 * 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] * 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 * 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 * 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 * 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 * window.c (have_undivided_common_edge): Guard scrollbar specific stuff. (window_needs_vertical_divider_1): Ditto. 1998-05-16 Hrvoje Niksic * emacs.c (decode_path): Eliminate compiler warning. (Fdecode_path): Renamed to Fsplit_path. (Fsplit_string_by_char): New function. 1998-05-14 Damon Lipparelli * winslots.h: close comment 1998-05-16 Kirill M. Katsnelson * 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 * 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 * 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 * 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 * toolbar-msw.c: guess toolbar frame size a bit more accurately. 1998-05-15 Andy Piper * 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 * 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 * 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 ** 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 * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created * frame-x.c (x_cde_transfer_callback): checked for merge errors 1998-05-13 Oliver Graf * dragdrop.c (vars_of_dragdrop): provide dragdrop-api 1998-05-15 Kirill M. Katsnelson * 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 * 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 ** 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 * 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 * 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 * 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 * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix. 1998-05-12 Didier Verna * 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 * 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 * device-msw.c (mswindows_device_system_metrics): Support a deluge of metrics. 1998-05-12 Oliver Graf * 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 * emacs.c (Fdecode_path): Default SEPCHAR to value of path-separator. 1998-05-14 Hrvoje Niksic * 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 * 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 * macros.c (Fzap_last_kbd_macro_event): New function. (Fend_kbd_macro): Remove REMOVE_LAST kludge. 1998-05-10 Andy Piper * 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 * inline.c: Include eldap.h * menubar-x.c (x_update_frame_menubar_internal): Remove: unused variable `container' 1998-05-11 Martin Buchholz * 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 * 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] * emacs.c (Fdecode_path_internal): Removed bogus handling of nil and empty string inputs. 1998-05-12 Hrvoje Niksic * redisplay-x.c (x_output_vertical_divider): Fixed typo. 1998-05-10 Oliver Graf * 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 * 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 * 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 * toolbar.c (update_frame_toolbars): Re-layout frame windows if toolbar geometry is suspected to change. 1998-05-11 Jonathan Harris * src/device-msw.c * src/event-msw.c Condition dnd and dde code on HAVE_DRAGNDROP. 1998-05-11 Hrvoje Niksic * events.c (format_event_object): Print space as SPC etc. 1998-05-11 Hrvoje Niksic * 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 * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS. * undo.c (Fprimitive_undo): Fixed typo. 1998-05-11 Hrvoje Niksic * fns.c (concat): Signal error on integer argument. 1998-05-10 Kirill M. Katsnelson * 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 * 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 * regex.c (re_match_2_internal): Check for quit. 1998-05-10 Hrvoje Niksic * frame.c (Ffocus_frame): New function.