1998-05-06 Oliver Graf * Makefile.in.in: removed dragdrop.o from objs * config.h.in: HAVE_DRAGNDROP added * emacs.c: do syms_of_dragdrop only if HAVE_DRAGNDROP is defined * event-Xt.c: dragdrop.h include now depends on HAVE_DRAGNDROP changed calls to dnd_url_hexify_string MIME data is now a list of MIME strings or lists this was required by CDE, and a good idea in any case * dragdrop.c (dnd_url_hexify_string): method prefix code added * dragdrop.h: dnd_url_hexify_string prototype changed * frame-x.c (x_cde_transfer_callback): CDE adapted the new API 1998-05-05 Jonathan Harris * event-msw.c: now creates misc-user-events on dnd drops 1998-05-05 Oliver Graf * events.h: changed comment for misc_user_events * events.c (make-event): removed dnd_data defs * frame.c: removed everything referring to drag_and_drop_functions * frame-x.c (x_cde_transfer_callback): disabled (needs to be changed) * lisp.h: removed Qdnd_data * general.c: removed Qdnd_data * symsinit.h: added syms_of_dragdrop * frame.el: deleted default-drag-and-drop-functions 1998-05-04 Oliver Graf * events.c: removed all dnd_drop stuff * events.h: extended misc_user_data by button info removed dnd_drop event * emacs.c: added call to syms_of_dragdrop * dragdrop.c: created * dragdrop.h: created * event-stream.c (enqueue_misc_user_event): initialization of the new fields of misc_user_data dnd_drop stuff removed * keymap.c: drop symbols removed * Makefile.in.in: added dragdrop.o to objs 1998-05-09 SL Baur * EmacsFrame.c (EmacsFrameSetValues): Fix typo. Suggested by: Kirill M. Katsnelson 1998-05-09 Kirill M. Katsnelson * This change adds four scrollbar specifiers: {horizontal,vertical}-scrollbar-visible-p and scrollbar-on-{top,left}-p. Spare parts supplied by Didier Verna * frameslots.h: Added slots for the four specifier caching. * frame.h: FRAME_SCROLLBAR_{WIDTH,HEIGHT} count for scrollbar visible specifiers. Removed old resource-only controlled scrollbar_on_* ints. * frame-x.c (x_layout_widgets): Removed (to x-scrollbar.el) initialization of old style scrollbar placement from resources. * frame-tty.c (tty_init_frame_1): Removed initialization of old style scrollbar placement. * frame-msw.c (mswindows_init_frame_1): Removed random initialization of scrollbar sizes to 15 pixel. * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Use scrollbar placement specifiers cached values from window, instead of the old per-frame values. (mswindows_output_vertical_divider): Ditto. * redisplay-x.c (x_output_vertical_divider): Ditto. * redisplay-output.c (redisplay_clear_bottom_of_window): Ditto. * scrollbar.c (update_scrollbar_instance): Ditto. (specifier_vars_of_scrollbar): Declared the four specifiers. * window.h (struct window): Defined slots for caching the new specifiers. * window.c (mark_window): Mark them. (allocate_window): Initialize them. (struct saved_window): Store them in a cool place. (saved_window_equal): Compare them. (save_window_save): Save them. (Fset_window_configuration): Fetch them back. (window_needs_vertical_divider): Check for scrollbar placement using window cached specs. (window_top_gutter_height): Ditto. (window_bottom_gutter_height): Ditto. (window_left_gutter_width): Ditto. (window_right_gutter_width): Ditto. (window_scrollbar_width): Account for scrollbar visibility specification in window. (window_scrollbar_height): Ditto. 1998-04-18 Kirill M. Katsnelson * device.c (Fdevice_system_metrics): Added function. Moved (device-pixel-height), (device-pixel-width), (device-mm-width), (device-mm-height), (device-bitplanes), (device-color-cells) to device.el, amd make them call (device-system-metrics). * console.h (struct console_methods): Replaced methods: device_pixel_width_method(), device_pixel_height_method(), device_mm_width_method(), device_mm_height_method(), device_bitplanes_method(), device_color_cells_method() with single device_system_metrics_method(). (device_metrics): Declared enumeration of supported device system metrics. * device-msw.c (mswindows_device_system_metrics): Implement device_system_metrics_method(), remove six obsolete methods. * device-tty.c (tty_device_system_metrics): Ditto. * device-x.c (x_device_system_metrics): Ditto. 1998-05-10 Kirill M. Katsnelson * EmacsFrame.c (update_various_frame_slots): Do not store internal border width there. (EmacsFrameInitialize): Do it rather here. (EmacsFrameSetValues): If EditRes has changed internal border width, mark frame size as slipped. 1998-05-06 Kirill M. Katsnelson * frame.h (struct frame): Added char_{width,height} member variables and access macros Added size_slipped redisplay bit and mark/clear macros. * redisplay.c (redisplay_frame): Adjust frame size if size slipped bit is set. (redisplay_device): Call redisplay_frame if size slipped bit is set. * frame.c (adjust_frame_size): Redisplay beats frame back in shape with this. Added. (frame_size_slipped): Added. (internal_set_frame_size): Clear size slipped bit. (change_frame_size_1): Store real charsize into frame object. (vars_of_frame): Declared adjust-frame-function. * frame-msw.c (mswindows_update_frame_external_traits): Same change as for frame-x.c (mswindows_frame_size_fixed_p): Implemented the method. * frame-x.c (x_update_frame_external_traits): Do not call Fset_frame_size to adjust frame, redisplay will do. * faces.c (update_EmacsFrame): Mark frame as slipped when default font changes. * toolbar.c (compute_frame_toolbars_data): Removed obsoleted call to change_frame_size. Redisplay will fix it later. Removed toolbar_*_changed_in_frame specifier change handlers. (specifier_vars_of_toolbar): Calls to these routed to frame_size_slipped generic handler. * toolbar-x.c: Removed toolbar_*_changed_in_frame device methods. * scrollbar-x.c: Removed scrollbar_*_changed_in_frame device methods. * scrollbar.c: Removed scrollbar_*_changed_in_frame specifier change handlers. (specifier_vars_of_scrollbar): Calls to the above changed to frame_size_slipped generic handler. * menubar-x.c (x_update_frame_menubar_internal): Do not resize frame, just mark frame size as slipped. * device-x.c: Removed declaration of in_specifier_change_function. * EmacsFrame.c (EmacsFrameSetValues): Do not check in_specifier_change_function. (EmacsFrameSetValues): Simulate a call to resize callback when no actual geometry change happened. * console.h (struct console_methods): Removed declarations for all _changed_in_frame methods for toolbars and scrollbars. Added frame_size_fixed_p method. 1998-05-08 SL Baur * redisplay.c (decode_mode_spec): Guard against garbage overwriting the stack. 1998-05-08 Kirill M. Katsnelson * dired-msw.c (vars_of_dired_mswindows): Syntax fix for union lisp object type. * menubar-msw.c (populate_menu_add_item): Ditto. * ntheap.c (sbrk): Ditto. * ntproc.c (create_child): Ditto. (syms_of_ntproc): Ditto. 1998-05-07 Andy Piper * glyphs-msw.c: updates to support total transparency. (mswindows_initialize_image_instance_icon): don't resize bitmaps for icons. (mswindows_initialize_image_instance_mask): new function. Use these new functions as appropriate. * glyphs-msw.h (mswindows_initialize_image_instance_icon): function renamed. * frame-msw.c: use renamed mswindows_initialize_image_instance_icon. * redisplay-msw.c: MaskBlt bitmaps if we have a mask, BitBlt otherwise. 1998-05-07 Kirill M. Katsnelson * unexnt.c (read_in_bss): Removed unused variables, replaced exits with aborts. (map_in_heap): Ditto. 1998-05-06 SL Baur * frame.c (adjust_frame_size): Don't mix integers and Lisp_Objects. 1998-05-07 Kirill M. Katsnelson * print.c (write_string_to_stdio_stream): Under MS Windows, flush stdio and stderr after output. Ouch. 1998-05-05 Andy Piper * event-msw.c: comment out broken dnd stuff and don't use msw socket support if we have cygwin select. 1998-05-03 Kirill M. Katsnelson * events.h (STREAM_* defines): Defined constants for the parameter FLAGS to create_stream_pair_cb(). * process.c (Fopen_network_stream_internal): Use flags from events.h (Fopen_multicast_group_internal): Ditto. * process-unix.c (unix_create_process): Ditto. * event-unixoid.c (event_stream_unixoid_create_stream_pair): Ditto. Changed #ifdef process type logic to catch configuretion errors when no process type is defined. * event-msw.c: Implemented winsock_stream (get_process_input_waitable): Differentiate network connections. (emacs_mswindows_select_process): Ditto. (emacs_mswindows_create_stream_pair): Ditto. (emacs_mswindows_delete_stream_pair): Ditto. * process-nt.c: Implemented network connections. (nt_init_process): Initialize Winsock. * sysdep.c (init_system_name): Ask for the right name right from the system. * ntproc.c: Removed select emulation crap and dynamic Windock loading. * nt.c: Removed a lot of terrible wrappers for socket functions. * s/windowsnt.h: Removed sys_select encapsulation. 1998-05-05 Hrvoje Niksic * search.c (Fmatch_data): Synch with FSF. 1998-05-04 Greg Klanderman * events.h: Add extern declarations for focus_follows_mouse and investigate_frame_change(). * cmdloop.c (Fcommand_loop_1): cleanup focus-follows-mouse handling - move externs to events.h. 1998-05-05 Andy Piper * glyphs-msw.c: generate an AND mask when creating an icon and really make it an icon if that is what is required. * glyphs-msw.h (mswindows_create_icon_from_image): new cursor argument. * frame-msw.c (mswindows_set_frame_pointer): set the frame cursor when asked. 1998-05-05 Michael Sperber [Mr. Preprocessor] * s/windowsnt.h: * s/rtu.h: * s/aix4.h: * m/wicat.h: * m/gould.h: * m/gould-np1.h * unexhp9k3.c: * unexconvex.c: * unexalpha.c: * unexaix.c: * regex.c: * process-unix.c: * mule-mcpath.c: * msdos.c: * lisp.h: * gmalloc.c: * getloadavg.c: * broken-sun.h: Removed references to ancient bcmp, bzero, and bcopy. 1998-05-04 Andy Piper * gui.el: make gui-button-face colors apply in the mswindows domain as well as for x. * objects-msw.c (mswindows_string_to_color): grok rgb:rrrr/gggg/bbbb color formats used by xpm-button.el. 1998-05-04 Greg Klanderman * window.c (Fselect_window): Add optional second argument `norecord' to avoid recording a buffer change. * window.h: change the EXFUN for Fselect_window. * window.c (Fdelete_window): call Fselect_window with 2nd arg Qnil. (Fother_window): ditto. (temp_output_buffer_show): ditto. (Fset_window_configuration): ditto. (Fset_window_configuration): ditto. * frame.c (Fselect_frame): ditto. (Fset_frame_selected_window): ditto. (delete_frame_internal): ditto. * device.c (Fselect_device): ditto. * console.c (Fselect_console): ditto. * callint.c (Fcall_interactively): ditto. 1998-05-05 Hrvoje Niksic * search.c (Fregexp_quote): Loop by characters, not by bytes. 1998-05-05 Jan Vroonhof * redisplay.c (window_line_number): Guard against selected_device = nil. * frame-x.c (x_init_frame_2): Revert to updating frame title. 1998-05-05 SL Baur * emacs.c (shut_down_emacs): Update crash report information. 1998-05-04 Kyle Jones * linuxplay.c: Initialize audio_dev to /dev/dsp at compile time instead of at run-time. Don't initialize mixer_fd, audio_fd and audio_vol to -1; none of them need it, and XEmacs will crash on some architectures when these variable are modified after being initialized. Declare audio_dev, audio_vol, audio_fd, and mixer_fd as static, since none of them need to be visible outside linuxplay.c. 1998-04-27 Hrvoje Niksic * eldap.c (make_ldap): New function. (finalize_ldap): Use it. (Fldap_open): Ditto. * eldap.c (struct Lisp_LDAP): Removed connection status symbol. * eldap.h (LDAP_LIVE_P): Removed (CHECK_LIVE_LDAP): Adapt to changes in struct Lisp_LDAP 1998-05-03 Hrvoje Niksic * lread.c: (read_escape): Restore handling of \M-a; clarify comment. 1998-05-04 Kyle Jones * realpath.c: Rename realpath() to xrealpath(). * fileio.c: Call xrealpath() instead of realpath(). * sysdep.h: Use #define to map xrealpath() calls to realpath() on systems that have realpath(). 1998-05-04 Martin Buchholz * rangetab.c: * rangetab.h: Move #include's from rangetab.h into rangetab.c for consistency. * inline.c: include rangetab.h to get GCC inlines 1998-05-03 SL Baur * event-stream.c (event_stream_next_event): Reverse previous patch to slow down poll for quit. Suggested by Kyle Jones * lread.c (read_escape): Turn off interpretation of "\M..." Suggested by Olivier Galibert * lread.c (read_escape): add explanatory comment about why FSF_KEYS are being turned off. 1998-05-02 SL Baur * lread.c (FSF_KEYS): Remove if built with Mule. 1998-05-01 Kirill M. Katsnelson * event-msw.c (ntpipe_shove_flusher): Removed. (init_shove_stream): Flusher undeclared. 1998-05-02 SL Baur * rangetab.c: `default_dumped' removed. 1998-05-02 Hrvoje Niksic * events.c (Fmake_event): Initialize key data for key-press events. 1998-05-02 Hrvoje Niksic * fileio.c (close_stream_unwind): Renamed to delete_stream_unwind. Delete the stream. (Finsert_file_contents_internal): Delete STREAM after use. (Fmake_temp_name): Improve randomness of generated file names. (Fmake_temp_name): Don't initialize COUNT if in temacs. 1998-05-02 Olivier Galibert * buffer.h: Put the range_table lrecrod declaration where it belongs... * rangetab.h: New file - ...which is here. * rangetab.c: Move declarations to rangetab.h 1998-05-01 Hrvoje Niksic * data.c (Fneq): Fix docstring. (arithcompare_many): Slightly simplify. 1998-04-29 Andy Piper * s/cygwin32.h: don't define BROKEN_CYGWIN anymore since we normally link with unixoid event loop now. 1998-05-01 Kirill M. Katsnelson * event-stream.c (event_stream_next_event): Disable polling for quit while XEmacs is blocked waiting for an event. 1998-05-01 Kirill M. Katsnelson * specifier.h: Corrected documentation on magic specifiers. Documented DEPTH parameter to instantiate_method. Renamed reveal->unlock_ghost_specifiers_protected(). * specifier.c: Removed the reveal mechanism and made ghost specifiers read-only, so they are accessible as fallbacks of magic specifier, but aren't modifiable unless C code enables so. (specifier_equal): Compare specifier fallbacks as well. * scrollbar.c (init_frame_scrollbars): (init_device_scrollbars): (init_global_scrollbars): Renamed reveal->unlock_ghost_specifiers_protected(). 1998-05-01 Hrvoje Niksic * fileio.c (Fcar_less_than_car): Fix Flss caller. (Fcdr_less_than_cdr): Ditto. * lisp.h: Fix declarations. * data.c: Enable many arguments versions of <, >, <=, >= and /=. * bytecode.c (Fbyte_code): Use arithcompare. * data.c (arithcompare): Make non-static. 1998-04-30 Greg Klanderman * frame.c (Fselect_frame): update docstring to describe focus-follows-mouse behavior. 1998-05-01 Hrvoje Niksic * print.c (Fwrite_char): Don't touch Vprint_gensym. (print_error_message): Don't gcpro TAIL. (Fdisplay_error): Simplify. 1998-04-30 Hrvoje Niksic * print.c (print_internal): Use long_to_string(). * redisplay.c (decode_mode_spec): Remove bogus calculation of the number of digits. * print.c (Fprin1): Removed THE_STREAM. (Fprinc): Ditto. (Fprint): Ditto. (Fdisplay_error): Canonicalize STREAM here. (print_error_message): Don't canonicalize STREAM. (print_error_message): Use print_internal() instead of Fprin1 and Fprinc. * print.c: (Fprin1_to_string): Delete internal stream explicitly. (Ferror_message_string): Ditto. (Fterpri): Use write_char_internal. 1998-04-18 Martin Buchholz * console-x.h: Initialize_Locale should not depend on HAVE_XIM, esp. in the future. * Makefile.in.in: be more careful generating depend. * *.c (F*): Unfortunately, etags can only detect per-line patterns, and so the DEFUN macro must have the lisp name and the C name on the same line for a complete TAGS file. Make it so. * signal.c (init_signals_very_early): * process.c (Fsignal_process): Order the signals in decreasing order of standardization. Provide helpful standardization comments. Add missing signal names. * unexhp9k800.c: Remove undefined roundup. * symsinit.h: Add prototype for init_hpplay(). 1998-04-30 Hrvoje Niksic * window.c (Fcenter_to_window_line): New function. (Frecenter): Use it. 1998-04-30 Hrvoje Niksic * dired.c (make_directory_hash_table): Constify. * scrollbar.c (Fscrollbar_page_up): Use Fcenter_to_window_line instead of Frecenter. (Fscrollbar_page_down): Ditto. (Fscrollbar_to_top): Ditto. (Fscrollbar_to_bottom): Ditto. * window.c (Frecenter): Removed. 1998-04-29 Andy Piper * console.h: xpm_normalize is not a console method anymore. * event-msw.c: honour toolbar help string length. * glyphs-msw.c: make copyright more meaningful. implement color symbol support for Xpm. (extract_xpm_color_symbols) new function. * glyphs.c (pixmap_to_lisp_data) (xpm_normalize): fucntions moved from glyphs-x.c * glyphs.h: declare pixmap_to_lisp_data. * toolbar-msw.c: more meaningful copyright. 1998-04-30 Hrvoje Niksic * macros.c (Fend_kbd_macro): New arg REMOVE-LAST. * gui-x.c (popup_selection_callback): Treat anonymous interactive and compiled-function interactive callbacks as commands. 1998-04-28 Hrvoje Niksic * abbrev.c (obarray_has_blank_p): Simplify. 1998-04-27 Hrvoje Niksic * getloadavg.c (getloadavg): Removed some code repetition. 1998-05-01 Kirill M. Katsnelson * process-nt.c: Document usage of #pragma warning. (alloc_process_memory): Spell _ALPHA_ correctly. 1998-04-29 SL Baur * Makefile.in.in: Change `progname' to `PROGNAME' for consistency. 1998-04-29 Kirill M. Katsnelson * frame.c (change_frame_size_1): Adjust frame row/columns taking real toolbar size into account, not the theoretical one. * toolbar.c (set_frame_toolbar): Removed unused parameter. Return void, not unused int. Logic which checks whether toolbar to be recomputed moved here from macro COMPUTE_TOOLBAR_DATA (r.i.p) (compute_frame_toolbars_data): Removed COMPUTE_TOOLBAR_DATA. It did not work due to a bug, and also did not check whether toolbar size has changed. Compute new character sizes passed to change_frame_size, do not use the old (pre-toolbar-change) ones. (update_frame_toolbars): Honor frame_changed and clear frame bits. (recompute_overlaying_specifier): New helper function, called from default toolbar specifier change handlers. (default_toolbar_specs_changed): Use it. (default_toolbar_size_changed_in_frame): Ditto. (default_toolbar_border_width_changed_in_frame): Ditto. (default_toolbar_visible_p_changed_in_frame): Ditto. (toolbar_geometry_changed_in_window): New handler. The old one, some_windows_value_changed, did not do the trick. (default_toolbar_size_changed_in_window): New handler for default toolbar. (default_toolbar_border_width_changed_in_window): Ditto. (default_toolbar_visible_p_changed_in_window): Ditto. (specifier_vars_of_toolbar): Use one of the above four handlers instead of some_windows_value_changed in toolbar specifiers. 1998-04-29 Andy Piper * redisplay-msw.c (mswindows_output_string) (mswindows_output_string): output the background pixmap if we have one. 1998-04-28 Michael Sperber [Mr. Preprocessor] * paths.h.in: Added PATH_PROGNAME and PATH_VERSION. 1998-04-28 Michael Sperber [Mr. Preprocessor] * emacs.c (complex_vars_of_emacs): Added `emacs-program-name' and `emacs-program-version'. 1998-04-29 Kirill M. Katsnelson * process-nt.c: Signal support for Windows NT. New code under subheadings "Running remote threads" and "Sending signals". (nt_create_process): Create new process suspended, then enable signals in it, then resume it. (nt_kill_child_process): Implemented (nt_kill_process_by_pid): Ditto. (process_type_create_nt): Registered the two above. 1998-04-28 P. E. Jareth Hein * glyphs-x.c : slight cleanup and bugfix related to memory corruption and possible leaks. Also fix a visual problem with XPM pointers 1998-04-28 P. E. Jareth Hein * glyphs-x.c (x_init_image_instance_from_eimage): Make sure automatic pointers are null... 1998-04-27 Greg Klanderman * cmdloop.c (Fcommand_loop_1): Call investigate_frame_change if focus_follows_mouse is true. * event-stream.c (next_event_internal): Only call investigate_frame_change if focus_follows_mouse is false. * event-stream.c (investigate_frame_change): Fix focus_follows_mouse handling. It was the case that, with focus_follows_mouse true, (select-frame (next-frame)) could leave next-frame with input focus, but not window manager focus. Now needs to be called from 2 places, conditional on the value of focus_follows_mouse. 1998-04-24 Kirill M. Katsnelson * frame.c (Fmake_frame): GC-protect new frame immediately upon creation. 1998-04-27 Kirill M. Katsnelson * frame.c (delete_frame_internal): Fixed spurious minibuffer frames when creating minibufferless frames (reverted to 20.3 source, change not in ChangeLog) 1998-04-26 Oscar Figueiredo * eldap.h: Added CONCHECK_LDAP macro * eldap.c: Moved definition of most Lisp_object keywords to general.c (Fldap_close): Modified semantics to match those of `Fclose_database' (Fldap_search_internal): Do not consider a `LDAP_SIZELIMIT_EXCEEDED' a fatal error * general.c: Added several keywords needed by eldap.c. Sorted keywords alphabetically. 1998-04-24 Hrvoje Niksic * eldap.c (finalize_ldap): New function; use it when declaring LDAP lrecord type. 1998-04-27 Kirill M. Katsnelson * fileio.c (Fwrite_file_contents_internal): Prefer stat() over fstat() back for Windows, where closing a file changes its modification time. 1998-04-26 Amir J. Katz * sysdep.h: Simplified definition of strerror() Sun Apr 23 1998 Andy Piper * emacs.c: * symsinit.h: * glyphs-eimage.c: rename glyphs_read to glyphs_eimage. * glyphs.c: * console.h: * glyphs-x.c: * glyphx-msw.c: make xpm_normalize and xpm_instantiate device methods and use them appropriately. Remove redundant pixmap file handling functions. Sun Apr 23 1998 Andy Piper * glyphs-msw.c: use XINT for lisp ints. * console-msw.c: remove redundant functions that break under union type. * frame-msw.c: build lisp ints for functions that expect them. * objects-msw.c: don't LISP_HASH COLORREF's. * sheap.c: remove dependency on VALMASK. 1998-04-27 SL Baur * debug.c (vars_of_debug): Remove `Fprovide("internal-debug")'. 1998-04-27 Jonathan Harris * device-msw.c: Unconditionally use InitCommonControls() instead of InitcommonControlsEx() - the latter is not defined in all environments. 1998-04-26 SL Baur * Makefile.in.in: Religiously use ${progname}. * paths.h.in: Remove reference to user-defined site-lisp location. * debug.c (vars_of_debug): Rename feature to 'internal-debug. 1998-04-24 Martin Buchholz * mule-charset.h: * mule-charset.c: Use ints instead of bitfields for Lisp_Charset fields. This should work around bugs in the latest egcs snapshot, and make XEmacs faster. Introduce dimension and chars as fields in Lisp_Charset instead of computing them every time. The extra space is about 1k, a reasonable price. 1998-04-25 SL Baur * glyphs-x.c (xface_normalize): Add console_type parameters to calls to `potential_pixmap_file_instantiator'. Sat Apr 24 1998 Andy Piper * event-msw.c: fix and enable signal pipe handling when using msg select(). 1998-04-25 Michael Sperber [Mr. Preprocessor] * process-unix.c (allocate_pty): Typo fix. 1998-04-25 Olivier Galibert * s/irix5-0.h (PTY_OPEN): Ditto * s/irix4-0.h (PTY_OPEN): Restore the stb variable. 1998-04-25 Michael Sperber [Mr. Preprocessor] * emacs.c (complex_vars_of_emacs): Typo fixes. * emacs.c: Added configure-exec-prefix-directory. * paths.h.in: Added PATH_EXEC_PREFIX. 1998-04-25 Olivier Galibert * unexelfsgi.c (unexec): Kludge for Irix 5.3 which clears the .sbss section no matter what. Defensively remove the alignment fix if the .sbss section type isn't modified (Irix 6.5SE). Remove some warnings. 1998-04-24 Martin Buchholz * data.c (Fnot): There has traditionally been kludgy startup lisp code that called `null' even if `not' was more appropriate, because `not' was defined in lisp. This is one primitive sufficiently important that it should ALWAYS be defined. Sat Apr 24 1998 Andy Piper * Makefile.in.in: add glyphs-eimage.o to build. * console.h: added console methods init_image_instance_from_eimage and locate_pixmap_file. * emacs.c: add initialisation for glyphs-eimage.c * symsinit.h: declare glyphs-eimage functions. * glyphs-eimage.c: New file - generalised eimage support for gif, tiff, png and jpeg, mainly from glyphs-x.c. * glyphs-msw.c: added init_image_instance_from_eimage. Tidied up file location. * glyphs-x.c: disable gif, tiff, png and jpeg support in this file. Added init_image_instance_from_eimage. Tidied up file location. * glyphs.h: * glyphs.c: abstract image location. Fri Apr 24 19:38:19 1998 Andy Piper * config.h.in: support our special select * event-msw.c: * toolbar-msw.c: * console-msw.h: toolbar cleanup. * device-msw.c: * emacs.c: * frame-msw.c: * glyphs-msw.h: * ntplay.c: * process-unix.c: * select-msw.c: * sheap.c: * s/cygwin32.h: warning elimination. 1998-04-24 Hrvoje Niksic * fns.c (Fload_average): New argument USE_FLOATS. * alloc.c (Fstring): New function, synched with FSF 20.3. Thu Apr 23 19:38:19 1998 Andy Piper * unexcw.c: cope with the reversed executable sections written by binutils-2.9 ld and egcs. 1998-04-24 Kirill M. Katsnelson * menubar-msw.c (populate_or_checksum_helper): Fixed to compile with union type. 1998-04-23 Hrvoje Niksic * fns.c (Fload_average): Respect errno when reporting getloadavg() errors. * getloadavg.c (getloadavg): Cleaner Solaris implementation, based on sample code by Casper Dik. 1998-04-23 SL Baur * frame-x.c (x_delete_frame): remove dead code. 1998-04-22 SL Baur * print.c (Falternate_debugging_output): Unconditionally define. 1998-04-22 Hrvoje Niksic * eval.c: Ditto. * alloc.c: Ditto. * lread.c: Ditto. * print.c: Removed standalone hacks. 1998-04-23 Kirill M. Katsnelson * toolbar-msw.c (mswindows_clear_toolbar): Fixed wabbit buttons. (mswindows_output_toolbar): Gave 3D look to toolbars. Still no pretty, needs more work. (mswindows_move_toolbar): Renamed so because it does not deal with redrawing exposed toolbars. Properly position toolbars. (mswindows_redraw_exposed_toolbars): Changed calls to the above. (mswindows_find_toolbar_pos): Do not assert if toolbar not found: a command can come from a menu. (mswindows_handle_toolbar_wm_command): Quickly return nil if toolbar not found. 1998-04-22 Kirill M. Katsnelson * device-msw.c (tagINITCOMMONCONTROLSEX): Uniform declaration between SDK and cygwin. (mswindows_init_device): InitCommonControls -> InitCommonControlsEx typo fix. Wed Apr 22 12:59:35 1998 Andy Piper * glyphs-msw.c (EImage2DIBitmap): count the number of bytes correctly. Wed Apr 22 12:59:35 1998 Andy Piper * config.h.in: support for HAVE_MSG_SELECT. * console-msw.h: add support for four toolbars. * device-msw.c: init common controls. * event-msw.c: if HAVE_MSG_SELECT is defined use unixoid event stream tye callbacks and select() on events rather than MWFMO. Added event handling for tooltip messages. If you have this special select then all process support works under cygwin. * frame-msw.c: add support for four toolbars. * redisplay-msw.c: update toolbars when an area is exposed. * signal.c: _WIN32 -> WINDOWSNT. * event-stream.c: enable unixoid initialization if we have it. * event-unixoid.c: allow us to turn off the signal pipe. * toolbar-msw.c: major overhaul. Enable support for all four toolbars, fix display and sizing problems, enable tooltip support, be more optimal about deleting toolbars. * toolbar.h: reinstate 0 toolbar border width for msw. * s/cygwin32.h: minor define updates. 1998-04-22 Hrvoje Niksic * print.c (Falternate_debugging_output): Define only if DEBUG_XEMACS. 1998-04-21 Hrvoje Niksic * fileio.c (Fmake_temp_name): Updated docstring. 1998-04-21 Hrvoje Niksic * print.c (print_prepare): New argument FRAME_KLUDGE. (print_prepare): If writing to a frame, return a resizing buffer stream. (print_finish): Flush the stream. (Fprin1): Adjust calls to print_prepare() and print_finish(). (Fprinc): Ditto. (Fprint): Ditto. (print_internal): Optimize printing of characters. * print.c (RESET_PRINT_GENSYM): New macro. (print_prepare): Use it. (print_finish): Ditto. (Fwrite_char): Ditto. (Fprin1_to_string): Ditto. 1998-04-22 SL Baur * config.h.in: add FOR_MSW variable. From Itay Ben-Yaacov 1998-04-20 Kirill M. Katsnelson * alloc.c (report_pure_usage): Remove ifdef WINDOWSNT around "Don't panic, I will restart make". 1998-04-19 Kirill M. Katsnelson * process.c (vars_of_process): Declared lisp variable windowed-process-io. * procimpl.h: Externally declared it. * process-nt.c (nt_create_process): Changed to honor the above variable, and to utilize SHGetFileInfo to determine file type. 1998-04-21 Martin Buchholz * mule-ccl.c: Fix compiler warnings. I hate compiler warnings. The code is clearer anyways without macros that goto. 1998-04-22 SL Baur * glyphs.h: Add prototypes for signal_image_error and signal_image_error_2. Suggested by Hrvoje Niksic 1998-04-18 Michael Sperber [Mr. Preprocessor] * fileio.c: Changed `directory-sep-char' to `path-separator', following a change in GNU Emacs. 1998-04-21 Oscar Figueiredo * eldap.c: As suggested by Hrvoje Niksic (Fldap_search_internal): Loop and GCPRO cleanup (print_ldap): Removed text translation 1998-04-19 Oscar Figueiredo * eldap.c: (print_ldap): Ignore escapeflag (Fldap_search_internal): Added unwind protection to appropriately free the LDAP temporary structures in case of interruption. Added a QUIT to the result fetching loop. 1998-04-19 SL Baur * emacs.c (TopLevel): New variables: Vinfodock_major_version, Vinfodock_minor_version, Vinfodock_build_version. (vars_of_emacs): Initialize them. * config.h.in: Add InfoDock version numbers. * device-x.c (have_xemacs_resources_in_xrdb): distinguish whether we're running as InfoDock or XEmacs. 1998-04-18 SL Baur * glyphs-x.c: Remove definition of Q_color_symbols. * glyphs.h: Declare Q_color_symbols and evaluate_xpm_color_symbols. 1998-04-17 Jonathan Harris * console-msw.h: Added "commctrl.h" and "X11/xpm.h" includes to support toolbars and XPM. * glyphs-msw.c: Removed (!NILP (Vmswindows_bitmap_file_path)) check in locate_pixmap_file() so that lookups of absolute paths don't fail if this is unset. Added new mswindows_xpm_normalize(); * glyphs.h: * glyphs.c: * glyphs-x.c: Moved generic XPM support out of glyphs-x.c into glyphs.c. Functions moved: signal_image_error, signal_image_error_2, check_valid_xpm_color_symbols, evaluate_xpm_color_symbols, xpm_possible_dest_types. xpm_normalize and xpm_instantiate in glyphs.c just call the appropriate x_ or mswindows_ funtion in glyphs-x.c or glyphs-msw.c. * toolbar-msw.c: Don't assert on empty toolbar. * toolbar.c: * toolbar.h: Adjusted mswindows default toolbar height/widths so redisplay is correct. 1998-04-18 Hrvoje Niksic * tooltalk.c (tt_message_arg_ival_string): Ditto. * redisplay.c (window_line_number): Ditto. (decode_mode_spec): Ditto. * glyphs.c (print_image_instance): Ditto. * doprnt.c (emacs_doprnt_1): Ditto. * data.c (Fnumber_to_string): Use long_to_string(). * lisp.h: Declare long_to_string(). * print.c (Fprin1_to_string): Do the Vprint_gensym_alist stunt. * emacs.c (main_1): Don't create print stream. * print.c: Removed print_stream implementation. (print_prepare): Don't create a print_stream. (long_to_string): New function, from GNU Wget. (print_internal): Use it. (output_string): alloca() copies only for strings smaller than 65536 bytes; else, inhibit gc. 1998-04-18 Hrvoje Niksic * config.h.in: Check for DLERROR. * sysdll.c: Cosmetic changes. 1998-04-18 Hrvoje Niksic * sysdll.c (dll_error): It's `dlerror', not `dl_error'. 1998-04-17 Kirill M. Katsnelson * specifier.c (prune_specifiers): Fix for Vall_specifiers corruption. * specifier.h: Fixed GC_* macros to utilize GC_EQ, as suggested by Steve. 1998-04-17 Hrvoje Niksic * dll.c (Fdll_open): Simplify interface. * sysdll.c: Allocate BUF dynamically. * cmds.c (internal_self_insert): Removed `no-self-insert' hack. Fri Apr 17 12:59:35 1998 Andy Piper * event-msw.c: don't use LocalAlloc()/LocalFree(). With unix processes use a filestream for output. This makes subprocess support work under cygwin. 1998-04-17 Michael Sperber [Mr. Preprocessor] * fileio.c (vars_of_fileio): Resurreced directory-sep-char to be DIRECTORY_SEP instead of hardwired "/". 1998-04-16 Michael Sperber [Mr. Preprocessor] * fileio.c (file_name_as_directory): Now returns "./" (or NT equivalent) for "". 1998-04-09 Oscar Figueiredo * eldap.c: Fully rewritten introducing a new opaque LDAP Lisp data type. * eldap.h: Ditto 1998-04-17 Olivier Galibert * fileio.c (vars_of_fileio): Finish directory_sep_char removal. 1998-04-14 Michael Sperber [Mr. Preprocessor] * emacs.c (main_1): Added option --debug-paths and analogous variable. 1998-04-15 Hrvoje Niksic * frame-msw.c (Vmswindows_frame_being_created): Don't staticpro. * console-msw.h, event-msw.c, frame-msw.c: Renamed mswindows_frame_being_created to Vmswindows_frame_being_created. 1998-04-12 Kirill M. Katsnelson * event-msw.c (emacs_mswindows_quit_p): Do not check for quit character in modal loop. * fileio.c: Removed Vdirectory_sep_char variable. * lisp.h: Removed extern decl for the above. 1998-04-16 SL Baur * indent.c (vertical_motion_1): set_marker_restricted takes Lisp_Objects. 1998-04-17 Hrvoje Niksic * md5.c (Fmd5): Correctly rename argument. * print.c (Fprin1_to_string): Remove useless variable. 1998-04-13 Greg Klanderman * indent.c (vertical_motion_1): new helper function to share common code between Fvertical_motion and Fvertical_motion_pixels. Properly handle the WINDOW argument as the doc string indicates it should. Update docstrings to be more clear and concise. (Fvertical_motion): use vertical_motion_1. (Fvertical_motion_pixels): use vertical_motion_1. 1998-04-15 Kirill M. Katsnelson * specifier.h: Introduced magic specifiers. Please read comments in specifier.h. * specifier.c: Reworked many functions to support magic specifiers. * scrollbar.c (specifier_vars_of_scrollbar): Made magic specifiers Vscrollbar_width and Vscrollbar_height. (init_frame_scrollbars): Enabled critical lisp code operate on ghost specifiers. (init_device_scrollbars): Ditto. (init_global_scrollbars): Ditto. * scrollbar-msw.c (Fmswindows_init_scrollbar_metrics): Scrollbar init function, called from init-scrollbars-from-resuorce in lisp/scrollbar.c (syms_of_scrollbar_mswindows): DEFSUBR it. * emacs.c (main_1): Called syms_of_scrollbar_mswindows() * symsinit.h: Declared syms_of_scrollbar_mswindows() Thu Apr 16 12:59:35 1998 Andy Piper * frame-msw.c: * console-msw.h: add toolbars to frame parameters. * emacs.c: call console_type_create_mswindows_toolbar * event-msw.c: call toolbar handling code in main event loop. * glyphs-msw.c (mswindows_create_icon_from_image) (mswindows_resize_dibitmap_instance): new functions. Remove mask stuff from various others. * redisplay-msw.c: * menubar-msw.c: warning elimination. * toolbar-msw.c: new file. Reasonable implementation of toolbars for mswindows. Some features are not complete. * toolbar.c: enable toolbar parameters for mswindows. * toolbar.h: choose slightly different toolbar defaults for mswindows. 1998-04-16 Hrvoje Niksic * lisp.h (CHECK_IMPURE): Use it. * data.c (pure_write_error): Accept an argument. * emacs.c (vars_of_emacs): New variable `internal-error-checking'; initialize it. 1998-04-16 Hrvoje Niksic * fileio.c (Fmake_temp_name): Avoid random(); simplify. 1998-04-13 Michael Sperber [Mr. Preprocessor] * emacs.c (complex_vars_of_emacs): Changed configure-exec-path to configure-exec-directory. (decode_path): Doesn't call file-name-as-directory no more as empty components would lead to evil behavior. 1998-04-16 Hrvoje Niksic * extents.c (decode_extent): Unify the error message. 1998-04-17 Hrvoje Niksic * md5.c (Fmd5): Simplify; use only input and encoding streams. (Fmd5): Separate coding guesswork into md5_coding_system(). (Fmd5): Don't close the stream; deleting it is enough. 1998-04-16 Hrvoje Niksic * fileio.c (Finsert_file_contents_internal): Prefer fstat() over stat. 1998-04-15 Martin Buchholz * fns.c (Fsubseq): Make (subseq nil 0 0) return nil, not #*. 1998-04-16 SL Baur * device-x.c (get_device_from_display): Use "infodock" as the fallback name when running as InfoDock. 1998-04-14 Greg Klanderman * device-x.c (compute_x_app_name): New function needed to compute application name to use now that XtOpenDisplay is decomposed into XOpenDisplay and XtDisplayInitialize. (x_init_device): use it. 1998-04-06 Greg Klanderman * device-x.c (have_xemacs_resources_in_xrdb): adhere to coding standards and avoid opening display twice by breaking XtOpenDisplay into XOpenDisplay and XtDisplayInitialize. (x_init_device): Ditto. 1998-04-15 Olivier Galibert * s/aix3-2-5.h: Ditto. * s/aix4-1.h: Ditto. * s/aix4-2.h: Ditto. * s/bsd386.h: Ditto. * s/bsdos2-1.h: Ditto. * s/dgux.h: Ditto. * s/esix.h: Ditto. * s/esix5r4.h: Ditto. * s/hpux8.h: Ditto. * s/hpux9-shr.h: Ditto. * s/hpux9-x11r4.h: Ditto. * s/hpux9.h: Ditto. * s/hpux9shxr4.h: Ditto. * s/isc3-0.h: Ditto. * s/isc4-0.h: Ditto. * s/ptx.h: Ditto. * s/sco4.h: Ditto. * s/sco5.h: Ditto. * s/usg5-3.h: Ditto. * s/usg5-4-2.h: Ditto. * s/usg5-4.h: Kill a bunch of now autodetected defines. 1998-04-05 Greg Klanderman * window.c (Fwindow_displayed_pixel_height): rename more appropriately as window-text-pixel-height. (syms_of_window): Update the DEFSUBR. (Fwindow_text_pixel_width): New function for completeness. (Fwindow_text_pixel_edges): New function. (syms_of_window): DEFSUBR 2 new functions. 1998-04-13 Greg Klanderman * redisplay.c (redisplay_window): When echo area is active, and we swap in the echo area buffer, restore the minibuffer's pointm and startp when we restore the minibuffer to the window. This avoids having the minibuffer point randomly change when it is active but not selected and a message is shown. 1998-04-16 Hrvoje Niksic * md5.c: replaced RSA reference code with GNU textutils implementation. 1998-04-14 Martin Buchholz * signal.c (init_signals_very_early): Make `nohup xemacs &' work. Wrap #ifdefs around uses of SIGQUIT and SIGILL. 1998-04-12 Kirill M. Katsnelson * objects-msw.c (mswindows_initialize_font_instance): Fixed assert abuse; proper cleanup on GDI error. 1998-04-14 Kirill M. Katsnelson * console-msw.h: Declared get_nt_process_handle() and mswindows_bump_queue(). Removed declarations for mswindows_enqueue_dispatch_event() and mswindows_enqueue_magic_event(). * event-msw.c (emacs_mswindows_create_stream_pair): Casts on handle types and get_osfhandle() return type. From Andy Piper. (emacs_mswindows_select_process): Get Win32 process handle directly from process lrecord. (get_process_handle): Removed function. (emacs_mswindows_handle_magic_event): Removed handling of XM_BUMPQUEUE magic event. (mswindows_wnd_proc): Removed handling of WM_EXITMENULOOP message, which called a do-nothing handler in menubar-msw.c (mswindows_wnd_proc, WM_EXITSIZEMOVE): Queue an empty event instead of magic event, via mswindows_bump_queue(). (mswindows_wnd_proc, WM_CLOSE): Ditto. (mswindows_need_event): Call mswindows_bump_queue() upon process termination, in case process pipe does not get closed along. Do not close process handle. (mswindows_bump_queue): Added function. (mswindows_enqueue_dispatch_event): Made static. (ntpipe_slurp_*): Revamped the slurp thread implementation so the stream does not expect the thread to terminate when stream is closed. (ntpipe_slurp_reader): Fixed an attempt to read zero bytes from the pipe. * event-stream.c (event_stream_deal_with_async_timeout): Conditionalized timer-based polling for finished processes on HAVE_UNIX_PROCESSES. * menubar-msw.c (mswindows_handle_wm_command): Queued proper bump queue event. (mswindows_handle_wm_exitmenuloop): Removed function. * menubar-msw.h: Removed unused function prototype. * process-nt.c (get_nt_process_handle): Added function. * signal.c (init_poll_for_sigchld): Conditionalized on HAVE_UNIX_PROCESSES. 1998-04-13 Kirill M. Katsnelson * frame-msw.c: Implemented the following methods: mswindows_get_mouse_position() mswindows_set_mouse_position() mswindows_frame_totally_visible_p() 1998-04-11 Michael Sperber [Mr. Preprocessor] * emacs.c: Renamed inhibit-package-init to inhibit-early-packages to better reflect its semantics. Renamed inhibit-update-autoloads to inhibit-package-autoloads. (complex_vars_of_emacs): Added site-directory and lisp-directory. -no-packages -> no-early-packages. * Makefile.in.in: Reflected reinstatement of paths.h.in. * paths.h.in: Reinstated. * paths.h.in.in: Removed. * config.h.in: Moved configure path and directory options from paths.h.in.in. 1998-04-11 Kirill M. Katsnelson * event-msw.c (emacs_mswindows_quit_p): don't recurse. 1998-04-10 Kirill M. Katsnelson * callproc.c (init_callproc): Correctly initialize `shell-file-name' for WINDOWSNT * emacs.c (main_1): Properly called new functions (see symsinit.h entry for which). * event-msw.c (struct ntpipe_slurp_stream): (slurp_thread): (make_ntpipe_input_stream): (get_ntpipe_input_stream_waitable): (get_ntpipe_input_stream_param): (ntpipe_slurp_reader): (ntpipe_slurp_closer): (init_slurp_stream): Win32 pipe input stream implementation. (struct ntpipe_shove_stream): (shove_thread): (make_ntpipe_output_stream): (get_ntpipe_output_stream_param): (ntpipe_shove_writer): (ntpipe_shove_was_blocked_p): (ntpipe_shove_flusher): (ntpipe_shove_closer): (init_shove_stream): Win32 pipe output stream implementation. (mswindows_enqueue_process_event): Dispatch helper. (find_waitable_handle): (add_waitable_handle): (remove_waitable_handle): New three, waitable handles handling. (mswindows_need_event_in_modal_loop): Simplified. (mswindows_need_event): Simplified. (mswindows_need_event): Generate process events on process output; kick status_notify when a process ends. (mswindows_find_console): Simplified. (emacs_mswindows_event_pending_p): Adjusted parameters to mswindows_need_event(). (emacs_mswindows_next_event): Ditto. (get_process_input_waitable): (get_process_handle): Process select/unselect helpers. (emacs_mswindows_select_process): Implemented. (emacs_mswindows_unselect_process): Implemented. (emacs_mswindows_quit_p): Call mswindows_drain_windows_queue() directly so do not even try do dequeue process events. Saved a byte and a tick. (emacs_mswindows_create_stream_pair): Implemented. (emacs_mswindows_delete_stream_pair): Implemented. (vars_of_event_mswindows): Registered the above two. (lstream_type_create_mswindows_selectable): Function called from emacs.c to create two pipe lstream types. * ntproc.c (sys_select): Disgustful brain fart this file is. * process-nt.c: New file: Asynchronous subprocess implemenation for Win32. * process.h: Declare Fprocess_id(). * signal.c (init_signals_very_early): Conditionalize possibly nonexistent signals. * symsinit.h: Declared: lstream_type_create_mswindows_selectable () process_type_create_nt () vars_of_process_nt () * s/windowsnt.h: Defined HAVE_WIN32_PROCESSES. Removed fake SIGTRAP, SIGPIPE and SIGCHLD. 1998-04-10 Martin Buchholz * fns.c (Fnthcdr): Most times through the loop will get a cons, so optimize for that. * bytecode.c (Fbyte_code): Remove '91 vintage compiler bug workaround. Add NATNUMP check for Bnth bytecode. Bnth: Optimize case of n > length (list). QUITs not necessary since even if list is circular, n will count down to 0. Bnthcdr: inline the code for nthcdr (we have a bytecode for it, after all) Bcdr, Bcar: Use tail recursion. 1998-04-10 Hrvoje Niksic * redisplay.c (redisplay_window): Don't lose with negative scroll_step. 1998-04-09 Hrvoje Niksic * fileio.c (Fmake_temp_name): Don't use `+' in generated file names. (Fmake_temp_name): Randomize the initial values of counters. 1998-04-07 Michael Sperber [Mr. Preprocessor] * Makefile.in.in: paths.h.in is now generated from paths.h.in.in. * emacs.c (decode_path): Removed parsing of "::" into nil component. 1998-04-09 Martin Buchholz * lstream.c (make_filedesc_stream_1): Fix another Martin blooper. 1998-04-07 SL Baur * emacs.c (Fdump_emacs): Delete superfluous open comment. 1998-04-06 SL Baur * emacs.c (Fdump_emacs): Move call to disable_free_hook back to Fdump_emacs where it belongs. 1998-04-07 Kirill M. Katsnelson * nt.c (sys_mkdir): Added the second unused parameter, after UNIX version. Suggested by Martin. 1998-04-07 Kirill M. Katsnelson * event-msw.c (mswindows_wnd_proc): Fix member access macro names. * frame-msw.c (mswindows_frame_property): (mswindows_internal_frame_property_p): (mswindows_frame_properties): Implemented for the 'left and 'top properties. (console_type_create_frame_mswindows): Regsitered the above. (mswindows_set_title_from_bufbyte): Update title only if it has really changed. This avoids a bit of flashing. * console-msw.h (FRAME_MSWINDOWS_TITLE_CHECKSUM): To update title smoother. (MSWINDOWS_FRAME_*(f)): Were MSWINDOWS_FRAME_*(f). Eeek! 1998-04-06 Kazuyuki IENAGA * unexfreebsd.c: introduce FreeBSD port's patch to avoid FreeBSD-current warns "Absurd new brk addr". 1998-04-06 Colin Rafferty * glyphs-x.c (struct gif_error_struct): Made the err_str point to a CONST char* instead of non-const. (tiff_memory_write): Add fake return statement to shut up warnings. 1998-04-06 Hrvoje Niksic * fileio.c (Finsert_file_contents_internal): Correctly handle special files larger than 32K. 1998-04-06 Hrvoje Niksic * fileio.c (Fmake_temp_name): Don't call mktemp(). 1998-04-06 Andreas Jaeger * unexelf.c: include first. 1998-04-04 Martin Buchholz * sysdep.c: Add #include for AIXHFT as suggested on c.e.x. * nt.c: * ntproc.c: Change "config.h" to . Add dire warnings to code since config.h is not included first. * powerpc.h: Avoid redefinition warning on START_FILES. * window.c: Rename Vminibuf_scroll_window to Vminibuffer_scroll_window. * hpplay.c: Rename play_gain to hp_play_gain in accordance with coding standards. * frame-x.c (x_lower_frame): (x_raise_frame_1): Clarify code. Save a nanosecond if frame not visible. * fileio.c (Fmake_temp_name): Use static CONST suffix; save a nanosecond. 1998-04-05 Amir J. Katz * sysproc.h: Added #include before otherwise callproc.c does not compile on SunOS 4.1.4 with gcc 2.8.1 * sysdep.h: strerror() does not return CONST in gcc 2.8.1 1998-04-05 Hrvoje Niksic * redisplay.c (generate_fstring_runes): Grok specifiers and symbols indirecting to specifiers. 1998-04-06 Olivier Galibert * events.c (print_event): XINT() may return a long. * insdel.c (make_gap): Thou shan't cast EMACS_INT_MAX to int. (buffer_insert_string_1): ditto. * regex.c (print_partial_compiled_pattern): Neither EMACS_INTs nor ptrdiff_t are portably printable as an int. * redisplay.c (window_line_number): Don't assume that an EMACS_INT in an int. * alloc.c (report_pure_usage): Don't assume that a size_t is displayable as an int. 1998-04-06 SL Baur * process-unix.c: Fix typo in #ifdef. From Hrvoje Niksic 1998-04-06 Olivier Galibert * unexelfsgi.c (unexec): Don't treat the sbss section as bss if it isn't one. Needed for irix 6.5. 1998-04-05 Martin Buchholz * sysdep.h: Two prototypes that weren't properly size_t'ed 1998-04-04 Martin Buchholz * ralloc.c: mallopt <==> malloc.h. 1998-04-04 Martin Buchholz * emacs.c: #include , not "paths.h" This is a standard bug. It manifests if you configure in the source tree, then configure elsewhere with --srcdir. Remove misleading PATH_EXEC comment; PATH_PACKAGEPATH is also used. 1998-04-04 Olivier Galibert * s/386bsd.h: Removed obsolete define. 1998-04-04 Olivier Galibert * s/386-ix.h: Removed useless define. * sysdep.c (insque): Removed. Not used anywhere in the code. 1998-04-04 Olivier Galibert * process-unix.c (unix_kill_child_process): Use TIOCSIGSEND or TIOCSIGNAL as needed. * s/usg5-4.h: Remove kludgy TIOCSIGSEND #define which breaks on irix 6.5. 1998-03-28 Hrvoje Niksic * insdel.c (emchar_string_displayed_columns): Simplify for non-Mule case. * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Issue nicer output. 1998-04-01 Martin Buchholz * sysdir.h (sys_mkdir): * sysfile.h (sys_read): (sys_write): (sys_chmod): (sys_creat): * sysdep.c (sys_read_1): (sys_read): (sys_write_1): (sys_write): (sys_mkdir): (sys_readlink): (sys_chmod): (sys_creat): * nt.c (sys_read): (sys_chmod): (sys_creat): (sys_write): Change types of sys_* in accordance with published standards. Use size_t and mode_t instead of unsigned int and int. 1998-04-03 Martin Buchholz * config.h.in (enum_field): * lisp-union.h: * extents.h: * redisplay.c (add_margin_runes): Prefer enums for use as bitfields in preference to unsigned int, but allow the possibility to suppress it if a compiler disallows it or emits annoying warnings. Currently only __SUNPRO_C cc -Xc used unsigned ints. * event-stream.c: Fixup DEFVAR for Vcomposed_character_default_binding; Real bug! * event-msw.c: Rename mswindows_button2* to mswindows_mouse_button* * emacs.c: Rename suppress_early_backtrace to suppress_early_error_handler_backtrace * objects-x.c: Rename handle_nonfull_spec_fonts to x_handle_non_fully_specified_fonts * lread.c: Rename puke_on_fsf_keys to fail-on-bucky-bit-character-escapes * lread.c: * doc.c: Rename Vdoc_file_name to Vinternal_doc_file_name * fileio.c: * bufslots.h: * buffer.c: Rename save_length to saved_size * alloc.c: Rename pureptr to pure_bytes_used * abbrev.c: Rename last_abbrev_point to last_abbrev_location * lisp.h: DEFVAR_* are supposed to be named following a standard convention. 1998-04-03 Martin Buchholz * callint.c: * ralloc.c: * data.c: * eldap.c: * extents.c: * frame-msw.c: * frame-x.c: * general.c: * process.c: * xselect.c: Rationalize defsymbol handling. defsymbols are supposed to have equivalent C and Lisp names, for consistency. At least one real bug (end-glyph-layout) fixed. Move multiply defsymbol'ed stuff into general.c. 1998-04-03 Michael Sperber [Mr. Preprocessor] * m/ibmrs6000.inp: Removed; obsoleted by configure.in changes. 1998-04-03 Martin Buchholz * console-tty.c (Fset_console_tty_input_coding_system): (Fset_console_tty_output_coding_system): Input/Output and encoding/decoding were reversed. 1998-04-02 SL Baur * m/powerpc.h: Remove LD_SWITCH_MACHINE for Linux. 1998-04-02 Greg Klanderman * window.c (set_window_pixsize): Move up call to check_min_window_sizes. * indent.c (vmotion_1): renamed from vmotion() and added additional argument to optionally return the pixel motion. (vpix_motion): Helper for vmotion_1. (vmotion): Wrapper - just call vmotion_1() with the right args. (Fvertical_motion_pixels): New function. (syms_of_indent): DEFSUBR it. 1998-04-02 Martin Buchholz * xselect.c: * event-Xt.c: * emacs.c: Remove last vestiges of #ifdef EPOCH code. It had no chance of working anyways. In honour of seeing Marc Andreesen in person for the first time today. 1998-04-01 Martin Buchholz * extents.h: * lisp-union.h: Don't use enums as bitfields - only unsigned ints. Fixes: warning: nonportable bit-field type * eval.c (call_with_suspended_errors): More volatilizing to appease Sunpro cc. * mem-limits.h: * ralloc.c: Remove #undef NULL; they're not even used! * process-unix.c (unix_send_process): send_process is a method, so we can't include volatile in the prototype. We make the argument non-volatile, make a volatile copy, and then use that instead. * frame-x.c (x_delete_frame): The `frame' variable is initialized but not actually used. * Makefile.in.in (xselect.o): The last line of b34-pre2's src/Makefile.in.in contains a dependency that should have been patched away. (mostlyclean): Remove the removal of depend.* - no such files exist anymore * make-src-depend: include a dependency on only one of lisp-union.h or lisp-disunion.h. 1998-04-01 Martin Buchholz * specifier.c (specifier_instance_from_inst_list): A nanosecond saved is a nanosecond earned. 1998-03-31 Greg Klanderman * redisplay.c (update_line_start_cache): Fix bug involving invisible text in which the line_start_cache gets hosed. Sun Mar 29 1998 Andy Piper * console-msw.h: define FRAME_MSWINDOWS_CDC. * frame-msw.c: (mswindows_set_frame_icon) new function. Works but no masks as yet. * glyphs-msw.c: GNUize the code. Fix 24bpp display and make the default. Add managment of icons. * glyphs-msw.h: add icon attributes. * redisplay-msw.c: (mswindows_output_pixmap) remove unused cursor code. * objects-msw.c: eliminate char subscript warning. 1998-04-01 SL Baur * sysdll.c (dll_close): fix typo. Suggested by Marcus Thiessel 1998-03-28 Kyle Jones * device.c (Fset_device_class): Recompute cached specifiers everywhere if device class is changed. Set various redisplay flags so that the device's various frames are redisplayed. 1998-03-31 SL Baur * lrecord.h (DECLARE_NONRECORD): Remove redundant paren. Suggested by Martin Buchholz 1998-04-01 Kirill M. Katsnelson * gui.c (gui_item_display_flush_left): Fix suffix length. 1998-04-01 Kirill M. Katsnelson * s/windowsnt.h: Defined SIZEOF_LONG_LONG and SIZEOF_VOID_P * dired-msw.c: Included * config.h.in (VOID_P_BITS): Fixed so that uses SIZEOF_VOID_P 1998-03-31 SL Baur * glyphs.c (image_instantiate_cache_result): Correct order of parameters to Fputhash. Suggested by Kirill M. Katsnelson 1998-03-30 Martin Buchholz * redisplay.c (create_right_glyph_block): glyph_type should really be glyph_layout. 1998-03-29 Martin Buchholz * sysfile.h: Move all encapsulations from lisp.h/emacsfns.h into sysfile.h. Users of the functionality herein will have to #include sysfile.h. Check all .o files for missing #includes. * config.h.in: Discovered that config.h.in was missing ENCAPSULATE_CLOSEDIR, as a result of fixing the above. * gui.c (gui_item_add_keyval_pair): We should not use the idiom error ("%S", lisp_object) in C code. I converted the code to use signal_simple_error_2 instead. (signal_too_long_error): Ditto. * glyphs.c (image_instantiate_cache_result): Use XC[AD]R instead of Fc[ad]r. This is always called with valid conses, and in fact, already assumed it. * font-lock.c (find_context): Use context_none with context instead of ccontext_none. * fns.c (Flength): The CONSP and NILP code can be combined. Change the name of the arg to SEQUENCE from OBJ. (Fnthcdr): CHECK_NATNUM instead of CHECK_INT. Optimize out Fcdr calls. (Felt): Change argument from seq to sequence to match docstring. 1998-03-28 Martin Buchholz * fns.c (string_putprop): (string_getprop): Make method functions static. * window.c (find_window_by_pixel_pos): Warning suppression. * imgproc.c (splitbox): Warning suppression. * redisplay-x.c (x_output_eol_cursor): Remove redundant XSETWINDOW. * glyphs-x.c (signal_image_error): (signal_image_error_2): (convert_EImage_to_XImage): Make functions static. * editfns.c (Fbuffer_size): Rename the `F' function to Fbuffer_size in accordance with coding standards. * dll.c (Fdll_open): Fix up data conversion. Provide auxiliary function maybe_call_library_function(). * device-x.c (get_x_display): make function static. * data.c (Fcar): Should generate listp, not consp error. (Fcdr): Should generate listp, not consp error. 1998-03-27 Martin Buchholz * console-tty.c (free_tty_console_struct): Replace con->console_data with CONSOLE_type_DATA (con) * *.[ch]: C++ compilability of xemacs, on Linux and Solaris. * casetab.c (Fcase_table_p): Optimize. * eval.c: * bytecode.c: Rename Fcondition_case_3 to condition_case_3 - it's not a DEFUN. * buffer.h: Remove all *BUFFER_OR_STRING* macros - unused. (memind_to_bytind): Merge two versions of function by moving #ifdef ERROR_CHECK_BUFPOS into the function body. (*_DATA_ALLOCA*): get types correct. rewrite for clarity. * balloon_help.c (balloon_help_destroy): rearrange order of functions, and remove prototype from header file. * alloc.c (deadbeef_memory): Rewrite. Use size_t for clarity. Don't bother with the left-over bytes, since in practice we will always get called with a size multiple of 4. (Fmake_list): CHECK_NATNUM instead of CHECK_INT (vector[4567]): Currently unused; ifdef out. (make_pure_float): make function static. (garbage_collect_1): Optimize. 1998-03-23 Martin Buchholz * marker.c (print_marker): Fix compiler warning, real bug! * device.h (MARK_DEVICE_FRAMES_FACES_CHANGED): * frame.h (MARK_FRAME_FACES_CHANGED): (MARK_FRAME_TOOLBARS_CHANGED): (MARK_FRAME_SIZE_CHANGED): (MARK_FRAME_CHANGED): (MARK_FRAME_WINDOWS_CHANGED): (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Fix multiple evaluation of macro arguments. Macros are a fact of life. Callers have to use temp variables to avoid multiple evaluation of arguments. * data.c (Ftrue_list_p): New function, with obvious meaning. This is terminology from Cltl2. Also define a corresponding macro TRUE_LIST_P. * device-x.c (validify_resource_component): Optimize. Rename. Use the standard technique of using a precomputed table of valid chars. (x_get_resource_prefix): (Fx_get_resource): (Fx_get_resource_prefix): Avoid fixed buffer sizes. Use a char_dynarr. Run validify_resource_component on all computed components. * lisp.h: Define a char_dynarr type. 1998-03-22 Martin Buchholz * fns.c (Fcopy_alist): Optimize. * alloc.c (acons): New function. Now used in the C code. Definition in cl.el is commented out. Add docstring. Use acons in functions which create alists. * lisp/cl.el (acons): Add docstring. Really otta be a macro, tho. * buffer.c (Fbuffer_memory_usage): * window.c (Fwindow_memory_usage): Clean up horrible consing code using new acons function. Fix incorrect value reported for gap-overhead. * fns.c (Fmember): (Fold_member): (Fmemq): (Fold_memq): (memq_no_quit): (Fassoc): (Fold_assoc): (Fassq): (Fold_assq): (assq_no_quit): (Frassoc): (Fold_rassoc): (Frassq): (Fold_rassq): (rassq_no_quit): (Fdelete): (Fold_delete): (Fdelq): (Fold_delq): (delq_no_quit): (delq_no_quit_and_free_cons): (Fremassoc): (Fremassq): (remassq_no_quit): (Fremrassoc): (Fremrassq): (remrassq_no_quit): (Fnreverse): (Freverse): (Fnthcdr): Optimize. Replace calls to Fcar, Fcdr, Fsetcar with XCAR and XCDR. Simplify logic. Many of these functions wouldn't QUIT if called on cyclic lists. e.g. try (progn (setq x '(nil)) (setcdr x x) (reverse x)) One benchmark of delq showed it to be 3 times faster. * emacs.c: * database.c: Cleanup of database functions. Make the get_subtype and get_type methods return Lisp_Objects, instead of C strings. No more need for both dbm_type and dbm_lisp_type. Rewrite the doc strings to be consistent with XEmacs tradition. Replace old `dbm' names with `database'. Rename struct database to struct Lisp_Database. Rename DEFUN arguments to `database', when applicable. * buffer.c: * chartab.c: * console.c: * data.c: * database.c: * device.c: * elhash.c: * eval.c: * event-stream.c: * extents.c: * faces.c: * frame.c: * glyphs.c: * keymap.c: * lstream.c: * mule-charset.c: * mule-coding.c: * objects.c: * opaque.c: * process.c: * rangetab.c: * specifier.c: * symbols.c: * tooltalk.c: * window.c: Place DEFINE_LRECORD_* after definition of static object methods, to avoid redundant declarations. * console.c: * console.h: * device.c: * device.h: * extents.c: * extents.h: * frame.c: * frame.h: * glyphs.c: * glyphs.h: * lisp.h: * lstream.c: * lstream.h: * signal.c: * specifier.c: * specifier.h: Eliminate MAC_* macros. The MAC_ macros use non-standard comiler extenstions which cause gcc to generate bad code on Sparc/Solaris. Attractive though the idea of using those compiler extensions is, they are just not robust enough to use in the real world. So we eliminate them. We put up with some sub-optimalities, like macros with multiple evaluation. Such is life with C. The MAC_ macros were pretty darn ugly anyways. We CAN use inline functions, since the advent of C++ means that compilers must support those anyways. 1998-03-21 Martin Buchholz * alloc.c (list*): Optimize recursion levels. * alloc.c: Add debugger support via enum dbg_constants. * gdbinit: Complete rewrite. * gdbinit.union: Remove * gdbinit.pre-4.14: Remove * dbxrc: Complete rewrite. * man/xemacs-faq.texi: Proper robust debugger support for gdb and Sun's dbx. Support all combinations of Kylish DEFINEs. Work out of the box with no user customizations. See the updated faq for details. * emacsfns.h: Remove. Move declarations to lisp.h * dynarr.h: Remove. Move declarations to lisp.h * lisp.h. Optimize header file handling to improve compile time over a network. Introduce EXFUN macro for external declaration to correspond to DEFUN. Include header files only when necessary, i.e. not from lisp.h: - unistd.h, limits.h, fnctl.h, blocktype.h, dynarr.h, emacsfns.h * lisp.h: * lisp-union.h: * lisp-disunion.h: Rewrite low level object frobbing. Make it safe to use XSETOBJ on uninitialized Lisp_Objects. (markbit might have been set otherwise) Move XPRNTRVAL->XPNTR computation out of lisp-*union.h, since it is union-type-independent. * EmacsFrame.c: * alloc.c: * chartab.c: * console.c: * dialog-x.c: * doc.c: * elhash.c: * eval.c: * event-Xt.c: * event-stream.c: * event-unixoid.c: * extents.c: * faces.c: * file-coding.c: * frame.c: * glyphs.c: * insdel.c: * keymap.c: * lstream.c: * marker.c: * menubar-x.c: * mule-coding.c: * opaque.c: * ralloc.c: * rangetab.c: * redisplay-msw.c: * redisplay-output.c: * redisplay-tty.c: * redisplay-x.c: * redisplay.c: * scrollbar-x.c: * scrollbar.c: * specifier.c: * symbols.c: * toolbar-x.c: * toolbar.c: * window.c: As a result of the above lisp*.h changes, we can now safely remove initializations of Lisp_Objects before calling XSETOBJ on them. This was only being done half the time, anyways. * Makefile.in.in (depend): New target. calls make-src-depend. * depend: New file. Generated by make-src-depend * make-src-depend: New file. generates up-to-date dependencies. Makefile dependencies are now automagically maintained, and CORRECT. lisp.h and friends are now included in the dependencies, since this complies with the principle of least astonishment. * symbols.c (symbol_is_constant): Optimize. 1998-03-30 SL Baur * frame.c (vars_of_frame): Default frame name should be InfoDock for InfoDock. 1998-03-29 SL Baur * emacs.c (voodoo_free_hook): ELF libraries built with newer versions of GCC do horrible things in dumped binaries after exit() is called. (Fkill_emacs): Use it. 1998-03-28 SL Baur * s/linux.h: For simplicity, do not use standard linking because it is deadly with new GCC. Sat Mar 28 10:16:29 1998 Andy Piper * Makefile.in.in: fix fastdump target * console-msw.h: add memory dc to frame. * frame-msw.c: manage memory dc on frame creation/deleteion * frame.h: mess with toolbar macros so that xemacs doesn't die in redisplay with a triple build. * g;yphs-msw.c: GNUize the code. Fix 24bpp display and make the default. * glyphs-msw.h: remove memory dc from image attributes. * redisplay-msw.c: fix redisplay to use new frame memory dc. * sheap.c: bump initial sheap yet again to allow byyte recompilation. * unexcw.c: fix section parsing for multiple idata and rdata sections. 1998-03-27 SL Baur * emacs.c: Enabled free-hook.c code if LOSING_GCC_DESTRUCTOR_FREE_BUG is defined. 1998-03-28 Kyle Jones * Fixed display bug where changes to builtin glyphs like Vcontrol_arrow_glyph would not be propagated immediately to the display. * device.h: Added glyphs_changed field to device struct. Created MARK_DEVICE_GLYPHS_CHANGED macro. * frame.h: Added glyphs_changed field to frame struct. Created MARK_FRAME_GLYPHS_CHANGED macro. * redisplay.h: Declared glyph_changed and glyph_changed_set variables, mimicking clip_changed and clip_changed_set. New macro MARK_GLYPHS_CHANGED. * redisplay.c: Defined glyph_changed and glyph_changed_set variables, mimicking clip_changed and clip_changed_set. (redisplay_window): Reset the window's glyph cache is f->glyphs_changed is non-zero. Call regenerate_window if f->glyphs_changed is non-zero. (redisplay_frame): Clear f->glyphs_changed after successful redisplay of all windows on frame. (redisplay_device): Redisplay frame if f->glyphs_changed is non-zero. Clear d->glyphs_changed after successful redisplay of all frames on device (redisplay_without_hooks): Redisplay devices if glyphs_changed is non-zero. Redisplay an individual device if d->glyphs_changed is non-zero. Clear glyphs_changed after successful redisplay of all devices. (redisplay_glyphs_changed): Dropped use of MARK_CLIP_CHANGED. Call MARK_FRAME_GLYPHS_CHANGED for all affected frames. For locales that are not device related, mark all frames. * redisplay-output.c (compare_display_blocks): Output the whole display block if f->glyphs_changed is non-nil. 1998-03-27 Kyle Jones * callproc.c (Fcall_process_internal): In the case where fd_error and fd1 are the same don't close that descriptor twice. 1998-03-27 SL Baur * frame-x.c (x_update_frame_external_traits): Need a Lisp_Object frame as well as a struct frame. 1998-03-27 Michael Sperber [Mr. Preprocessor] * emacs.c (main_1): Reinstated PATH searching for invocation data. 1998-03-26 Kirill M. Katsnelson * menubar.c (Fmenu_find_real_submenu): See the entry for gui.h. * menubar-msw.c (populate_menu_add_item): Used GCPRO_GUI_ITEM macro to aviod warnings, in 2 places. (populate_or_checksum_helper): Ditto (populate_or_checksum_helper): Added placeholder for menu right flash customization. * gui.h (GCPRO_GUI_ITEM): Code which warning-free GC protects a GUI_ITEM structure moved into this macro from menubar.c * frame-x.c (x_update_frame_external_traits): Moved part of the former update_EmacsFrame() here. (console_type_create_frame_x): Declared the above method. * frame-msw.c (mswindows_set_frame_properties): Do not try to resize the frame if called from Fmake_frame the first time (potential race condition). (mswindows_init_frame_1): Fixed support for popup frames. (mswindows_delete_frame): Fixed memory leak. (mswindows_get_frame_parent): Implemented. (mswindows_update_frame_external_traits): Moved part of the former update_EmacsFrame() here. (console_type_create_frame_mswindows): Declare get_frame_parent and update_frame_external_traits methods. * faces.c (update_EmacsFrame): Converted into a device method `update_frame_external_traits'. * event-msw.c (mswindows_wnd_proc, WM_SIZE): Rewrote to avoid relying on an assumption on when Windows calls this handler. (mswindows_find_frame): Return the frame being created if the windows does not yet have associated frame object (mswindows_find_frame): Casted long to Lisp_Object properly. * device.c (window_system_pixelated_geometry): Changed to call the device_implementation_flags device method. * device-msw.c (mswindows_device_implementation_flags): Implemented. (console_type_create_device_mswindows): Declared the above. * console.h (struct console_methods): Added device_implementation_flags_method and update_frame_external_traits_method. Defined flags retuned by device_implementation_flags_method. * console-msw.h (struct mswindows_frame): Added charheight and charwidth fields. Added macros for referring to these two, Rvalue. Moved Windows-specific macros from frame.h here. (typedef struct XEMACS_RECT_WH): Added. Declared global variables. 1998-03-19 Kirill M. Katsnelson * console-msw.h: Added prototypes for mswindows_protect_modal_loop() and mswindows_unmodalize_signal_maybe(). * scrollbar-msw.c (mswindows_update_scrollbar_instance_status): Removed redundant call to set_frame_size method. * frame.c (Fframe_property): For a window system with pixel-based geometry, convert passed char-based metrics to pixels. (Fframe_properties): Ditto. (Fset_frame_height): Ditto. (Fset_frame_width): Ditto. (Fset_frame_size): Ditto. (frame_conversion_internal): Added a parameter, controlling whether the function uses real char metrics or 1 when geometry is pixel-based. Allow NULL for output int* params. (pixel_to_char_size): frame_conversion_internal() is called with indication to fake font size to 1. (char_to_pixel_size): Ditto. (round_size_to_char): Ditto. (pixel_to_real_char_size): (char_to_real_pixel_size): (round_size_to_real_char): New three counterparts of the above metioned functions, which always use real character metrics. (change_frame_size_1): Use real character metrics when computing minibuffer height. * frame.h: Prototypes for pixel_to_real_char_size(), char_to_real_pixel_size(), round_size_to_real_char(). * frame-msw.c (mswindows_init_frame_1): Rewritten to support system-default new window width and height. (mswindows_init_frame_2): Commented out, unused. (mswindows_after_init_frame): Added frame method. (mswindows_set_frame_size): Reworked to support pixel base geometry. (mswindows_set_frame_position): Cahnged to use SetWindowPos. (mswindows_lower_frame): Ditto. (mswindows_set_frame_properties): Fixed to perform correct calculation, and to support pixel geometry. (console_type_create_frame_mswindows): init_frame_2 removed, after_init_frame added. * faces.c (default_face_height_and_width_1): Added. (update_EmacsFrame): Changed method of notifying mswindwows frame, so modeline border gets redrawn. * faces.h: Prototype for default_face_height_and_width_1(). * event-msw.c (mswindows_wnd_proc, WM_SIZE): Redisplay after maximize/restore window. (mswindows_wnd_proc, WM_WINDOWPOSCHANGING): Do not round size to char if window is maximized. Use real char metrics for rounding. Call DefWindowProc to process WM_GETMINMAXINFO (mswindows_set_chord_timer): Changed chord timeout from 1/2 to 1/3 system double click time * device.c (domain_device_type): New function. (window_system_pixelated_geometry): New function. (Fdomain_device_type): New function, lisp interface to domain_device_type(). (syms_of_device): DEFSUBRed the above. * device.h: Ptorotypes for domain_device_type() and window_system_pixelated_geometry(). * menubar-msw.c (mswindows_update_frame_menubars): Call update_frame_menubar_maybe always. 1998-03-27 SL Baur * s/hpux11.h: * s/hpux11-shr.h: New files. From Marcus Thiessel * Makefile.in.in: temporarily comment -lmcheck support. Suggested by Marcus Thiessel 1998-03-26 Michael Sperber [Mr. Preprocessor] * emacs.c (vars_of_emacs): Fixed bug: Now respects configure setting of inhibit-site-lisp. (main_1): inhibit-site-lisp is now exclusively configure-initialized. 1998-03-27 Hrvoje Niksic * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Don't feed error_with_frob() with LispObjects. 1998-03-26 Kirill M. Katsnelson * redisplay-msw.c (mswindows_output_cursor): Added parameters for character under cursor, and a flag indicating whether the cursir is over an image. Draw bar cursor always over an image glyph. Callers are changed accross the file. Honor the value of window::text_cursor_visible_p. (mswindows_output_pixmap): Cursor drawing code #if0ed. (mswindows_output_display_block): Call to output cursor after drawind an image. 1998-03-27 P. E. Jareth Hein * glyphs-x.c: * imgproc.c: * imgproc.h: * glyphs-x.h: Added in a colormap variable in the X specific image struct to handle IMAGE_POINTER images which must be allocated in the default colormap of the screen. Also reformated the code to follow coding standards. * glyphs.h: * glyphs.c: * glyphs-x.c: added image-conversion-error type * objects-x.c (allocate_nearest_color): Corrected a minor bug involving setting the values into XColor. 1998-03-25 P. E. Jareth Hein * free-hook.c (check_realloc): Handle the degerate case of realloc with a NULL value acting the same as malloc. 1998-03-24 Kyle Jones * redisplay-x.c (x_output_eol_cursor): Use x_clear_region instead of XClearArea to erase the cursor so that background pixmaps are handled properly. New fourth parameter findex added so that it can be passed to x_clear_region. 1998-03-25 Kirill M. Katsnelson * process.c (Fprocess_send_eof): Close output stream before deleting stream pair. (deactivate_process): Ditto, both input and output streams. * event-unixoid.c (event_stream_unixoid_delete_stream_pair): Do not close passed lstreams. 1998-03-24 Kirill M. Katsnelson * fileio.c (Ffile_readable_p): GC protect fix, MS Windows specific. Mon Mar 23 22:14:12 1998 Andy Piper * configure.in: compile in glyphs-msw.o when compiling fopr mswindows. Mon Mar 23 22:14:12 1998 Andy Piper * msw-glyphs.el: add support for xpm and bmp. change eval-and-compile to progn. Mon Mar 23 22:14:12 1998 Andy Piper * Makefile.in.in: fastdump - new target for dumping bypassing bytecompilation, DOC. Add dependencies for glyphs-msw.o. Move imgproc.o to object list. * glyphs-msw.h: * glyphs-msw.c: new files adding support for xpm and bmp and EImages. * redisply-msw.c: add support for outputing color pixmaps. * console-msw.h: add bitspixel field to mswindows frame. * device-msw.c: initialise bitspixel field in mswindows frame. * glyphs-x.c (xpm_instantiate): call mswindows_xpm_instantiate if the device type is mswindows. * emacs.c: call glyphs-msw.c init functions if compiling with mswindows. * symsinit.h: add prototypes for glyphs-msw.c functions. * sheap.c: make includes src-dir compliant. * events.c: remove cygwin ^H <-> erase hack. * s/cygwin32.h: remove NOMULTIPLEJOBS defn. 1998-03-24 P. E. Jareth Hein * glyphs-x.c (my_jpeg_output_message): Added new function to redirect any error/warning messages from the jpeg library to XEmacs. Also get rid of an unneeded temp variable in the tiff code. 1998-03-14 Hrvoje Niksic * insdel.c (fixup_internal_substring): Protect asserts with #ifdef ERROR_CHECK_BUFPOS. * minibuf.c (scmp_1): c1 and c2 are Emchar, not Bufbyte. (Ftry_completion): Fixed typo. * dired.c (file_name_completion): Removed `readfunc', a remnant of dead VMS code. 1998-03-13 Hrvoje Niksic * dired.c (Fdirectory_files): Simplify logic. * symbols.c (reject_constant_symbols): Allow setting a keyword's function slot. 1998-03-23 Hrvoje Niksic * lread.c (readevalloop): Don't specbind Qstandard_input to READCHARFUN. 1998-03-09 Hrvoje Niksic * lread.c (read_atom): Ditto. * symbols.c (reject_constant_symbols): Do the keyword stunts only if the symbol is in Vobarray. * symbols.c (reject_constant_symbols): Signal error when attempting to assign a value to a keyword, unless the value is the keyword itself. * symbols.c (Fintern): Initialize symbol's ->obarray to t only when OBARRAY is Vobarray. 1998-03-21 Hrvoje Niksic * events.c (Fmake_event): Allow creation of misc-user-events. 1998-03-23 Michael Sperber [Mr. Preprocessor] * config.h.in, emacs.c: Changed allow-site-lisp to inhibit-site-lisp. Made -no-autoloads set inhibit-site-lisp. 1998-03-22 Michael Sperber [Mr. Preprocessor] * : The Big Path Searching Overhaul. * symsinit.h: Added declaration for complex_vars_of_emacs in emacs.c. * paths.h.in: Adjusted the comments to reality as dictated by configure. * filelock.c (complex_vars_of_filelock): Added support for lock directories passed in from configure. * emacs.c (complex_vars_of_emacs): Added all relevant installation paths passed from configure. They all have the prefix "configure-" now. * config.h.in: Added HAVE_SITE_LISP configuration option. * callproc.c (init_callproc): Ripped out all the bogus path setup. * Makefile.in.in: Updated all calls of "temacs -l" with absolute file names because auf the more minimalistic load-path setup in lread.c. Also set EMACSBOOTSTRAPLOADPATH on calling temacs rather than EMACSLOADPATH because EMACSLOADPATH is now more persistent than before. * lread.c (init_lread): Ripped out bogus load-path setup. 1998-03-21 Kyle Jones * frame.h: Move the check for an initialize_frame_toolbars method into FRAME_RAW_REAL_TOOLBAR_VISIBLE to avoid getting clunked by toolbar-less builds. 1998-03-20 SL Baur * m/powerpc.h (LD_SWITCH_MACHINE): Fix path to ppc.ldscript. 1998-03-16 Hrvoje Niksic * redisplay.c (window_line_number_buf): Made it larger. * opaque.c (print_opaque): Ditto. * lstream.c (print_lstream): Avoid `%p'. * keymap.c (ensure_meta_prefix_char_keymapp): Use error_with_frob(). * input-method-xlib.c (EmacsXtCvtStringToXIMStyles): Allocate buf dynamically. * event-Xt.c (describe_event_window): Allocate buf dynamically. * doc.c (Fsubstitute_command_keys): Warn of sprintf(). * device-x.c (x_init_device): Allocate path dynamically. (x_init_device): Allocate buf1 and buf2 dynamically. 1998-03-14 Hrvoje Niksic * ExternalShell.c (GetGeometry): Use a larger buffer for sprintf(). 1998-03-19 Kirill M. Katsnelson * redisplay.c (point_would_be_visible): Fix window::line_cache_validation_override reference counter. (start_with_line_at_pixpos): Ditto. 1998-03-20 Olivier Galibert * insdel.c (bytecount_to_charcount): Use 'L' suffix on long constants probably too large for an int. 1998-03-18 Hrvoje Niksic * lread.c (read_atom_0): Signal Qend_of_file if readcharfun returned -1. (read_escape): Ditto. (FSF_LOSSAGE): Ditto. 1998-03-20 SL Baur * emacs.c: path-separator (and parse-colon-path) moved from Lisp into C because we need it for early initialization. * Makefile.in.in (libmcheck): Add. * config.h.in: Add HAVE_LIBMCHECK and HAVE_MCHECK_H. * hash.c (grow_hashtable): Fix tests to compare against Qnull_pointer since this function may be called before any symbols or the Lisp engine is initialized. * emacs.c (main_1): Restore usage of free-hook.c. * free-hook.c (check_realloc): Change aborts to printfs. (check_free): Ditto. 1998-03-18 SL Baur * emacs.c (Fkill_emacs): Use LIST_LOOP_DELETING because our control variable is being modified underneath us. - Avoid calling delete_console_internal on stream consoles. * console-tty.c (free_tty_console_struct): NULL out pointers after xfree'ing. * console-stream.c (allocate_stream_console_struct): Fix memory leak -- if the stream_console struct is already allocated, don't reallocate it. (free_stream_console_struct): Don't leave dangling freed pointer around. * redisplay-output.c (redisplay_redraw_cursor): Fully bracket. 1998-03-17 SL Baur * frame.c (delete_frame_internal): Correct check. * imgproc.c: Include . 1998-03-13 P. E. Jareth Hein * glyphs-x.c: fix for upside-down TIFFs. 1998-03-14 Kirill M. Katsnelson * fileio.c (Finsert_file_contents_internal): Removed all DOS_NT specific code; rely on FILE_CODING streams instead. (Fwrite_region_internal): Ditto. (decide_buffer_type): Function removed. (buf_decide_buffer_type): Function removed. (Many places): References to DOS_NT replaced with WINDOWSNT. MSDOS- specific code removed. * lread.c (Fload_internal): Removed ugly DOS style re-opening a file in text mode. '\r' is perfectly handled in readevallop(). * redisplay.c (decode_mode_spec): Made %t decode to "T" unconditionally. * s/windowsnt.h (FILE_CODING): Define always. 1998-03-15 Kirill M. Katsnelson * s/windowsnt.h: Added prototypes for generally used functions implemented in nt.c * fileio.c (Ffile_readable_p): Conditionalized declared never used variables. (Fexpand_file_name): Ditto. (check_executable): Ditto. * lread.c (parse_integer): Eliminated a warning resulted from applying unary minus to unsigned int. 1998-03-15 Oscar Figueiredo * eldap.c: (Fldap_search_internal): Print error information from errno when connection fails 1998-03-16 Hrvoje Niksic * lread.c: New macro, to avoid exposing an lstream to Lisp error handlers. (reader_nextchar): Use it. (read1): Ditto. 1998-03-15 Kyle Jones * cmds.c (Fforward_char): Dropped support for signal-error-on-buffer-boundary. Added details to doc string. (Fbackward_char): Dropped support for signal-error-on-buffer-boundary by way of change to Fforward_char. Added details to doc string. Definition of signal-error-on-buffer-boundary moved to lisp/simple.el. * window.c (Fscroll_up): Dropped support for signal-error-on-buffer-boundary. Added details to doc string. (Fscroll_down): Dropped support for signal-error-on-buffer-boundary. Added details to doc string. 1998-03-15 Kyle Jones * redisplay-tty.c (tty_clear_frame): Record that the real location of teh cursor has been moved to 0,0. Failure to do this makes the display code believe the cursor is in a place where it is not. 1998-03-15 Kyle Jones * console.h: Added set_final_cursor_coords method to console struct. * console-tty.h: Added final_cursor_x and final_cursor_y slots to console struct. Added CONSOLE_TTY_FINAL_CURSOR macros to access them. * redisplay.c (create_text_block): No longer turn off the cursor if computing a block when cursor_in_echo_area is 0 and the echo area is inactive. Needed so that the cursor will not be frozen in the minibuffer when cursor_in_echo_area is non-zero. * redisplay-output.c (redisplay_move_cursor): Don't bail if we're moving the cursor in a selected minibuffer window. Needed so that simple cursor optimization can be done in the minibuffer even when cursor_in_echo_area is non-zero. (redraw_cursor_in_window): Set final cursor coordinates as a special case for cursor_in_echo_area != 0, since the buffer switching between minibuffer and echo area buffer seems to confuse the normal cursor positiong code otherwise. Set final cursor coordinates in the general case before calling output_display_line. * redisplay-tty.c: New function tty_set_final_cursor_coords. (tty_output_end): Set logical cursor position to the final cursor position as specified in CONSOLE_TTY_CURSOR_{X,Y}, and then go to it. (tty_redisplay_shutdown): Changed code to use tty_set_final_cursor_coords() to go to the bottom left of the screen instead of using cmgoto() (console_type_create_redisplay_tty): Declare that tty consoles have the set_final_cursor_coords method. 1998-03-13 Hrvoje Niksic * emacs.c (main_1): Avoid snprintf(); allocate the buffer dynamically. 1998-03-13 P. E. Jareth Hein * glyphs-x.c (png_instantiate): Added in override support for png backgrounds. 1998-03-13 P. E. Jareth Hein * glyphs-x.c (png_instantiate): Fixed a bug that was causing overruns when attempting to display transparent pngs 1998-03-13 P. E. Jareth Hein * glyphs-x.c (png_instantiate): Fix brainfart in error handling code. 1998-03-13 SL Baur * emacs.c (main_1): Guard call to snprintf. * config.h.in: Add HAVE_SNPRINTF. 1998-03-13 Kirill M. Katsnelson * event-stream.c (init_event_stream): Initialize mswindows event loop in stream mode if no other window systems available. Thanks to Darryl Okahata. 1998-03-04 Kirill M. Katsnelson * alloc.c (garbage_collect_1): Removed #ifndef WINDOWSNT around mark_profiling_info(). 1998-03-11 SL Baur * console-tty.c (Fset_console_tty_coding_system): Guard against terminal-coding-system being left unitialized by a locale. From Kazuyuki IENAGA 1998-03-11 P. E. Jareth Hein * config.h.in: Added in new feature check HAVE_VSNPRINT to check for safe ways to deal with vsprintf and friends. * glyphs-x.c (gif_instantiate): Changed gif support to call external library Giflib 3.1. Altered GIF/JPEG/PNG formats to use new EImage format for dealing with images to better support color handling, and facilitate the change to a device-neutral implementation. Added TIFF support. * Makefile.in.in: Removed all gif related files * emacs.c (main_1): Removed reference to init_gif_err * symsinit.h: ditto * dgif_lib.c: Removed from the source distribution * gif_err.c: ditto * gif_lib.h: ditto * gifalloc.c: ditto Mon Mar 09 13:00:55 1998 Andy Piper * file-coding.c: warning elimination * ntplay.c: new file. basic implementation of sound support. * redisplay-msw.c (mswindows_update_dc): cachel bug is gone so we don't need this code under cygwin. * sheap.c: need large heap slop for byte compiling with three display types. * sound.c: eliminate warnings. enable sound under mswindows. * s/cygwin32.h: miscellaneous updates for sound support. 1998-03-09 SL Baur * config.h.in: Add BITMAPDIR. * glyphs-x.c (locate_pixmap_file): Assume BITMAPDIR is a colon-separated path. * emacs.c (main_1): Initialize dll support with the path the binary. (make_arg_list_1): Ditto. * sysdll.h: Add legalese. * sysdll.c: Ditto. * sysdll.c: sysdll.h needs to be included with double quotes not angle brackets. Use RTLD_GLOBAL as an open flag if it exists. 1998-03-09 Martin Buchholz > * eldap.c (Fldap_search_internal): call garbage_collect_1 instead of Fgarbage_collect. The two are identical except the latter generates some `fresh' garbage :) 1998-03-09 SL Baur * keymap.c: Add symbols for mouse-4 and mouse-5. (define_key_check_and_coerce_keysym): Mouse-4, Mouse-5 keysym support. (syms_of_keymap): Ditto. 1998-01-26 Hrvoje Niksic * marker.c (print_marker): Print marker's lheader.uid. (Fbuffer_has_markers_at): New function, synched with FSFmacs 20.2. (Fbuffer_has_markers_at): Disabled by default. 1998-01-25 Hrvoje Niksic * sound.c (Fplay_sound_file): Place the result of continuable error back to FILE. 1998-03-09 SL Baur * emacs.c, config.h.in: New DLL support. * sysdll.h, sysdll.c: New files. * dll.c: renamed from dlopen.c, use interface defined in sysdll.c. From William Perry * eldap.h: Fix copyright. * eldap.c: Ditto. 1998-03-08 SL Baur * Makefile.in.in: Add dependencies for process-unix.o. 1998-03-08 Kyle Jones * glyphs-x.c (write_lisp_string_to_temp_file): Don't explicitly initialize conversion_out_dynarr, because doing so may cause it to be put into read-only space and modifying it later would make XEmacs crash. 1998-03-07 Kyle Jones * events.h: Add do_backspace_mapping parameter to function prototype of character_to_event. * events.c: Add fifth parameter to character_to_event to control the backspace mapping. In character_to_event map most characters that match tty-erase-char to the backspace keysym, but only if do_backspace_mapping paramter is non-zero. (Fcharacter_to_event): Tell character_to_event() to DO backspace mapping. * event-stream.c: (maybe_read_quit_event): Tell character_to_event() to DO backspace mapping. (maybe_kbd_translate): Tell character_to_event() to DO backspace mapping. (lookup_command_event): Tell character_to_event() to DO backspace mapping. * event-unixoid.c: (read_event_from_tty_or_stream_desc): Tell character_to_event() to DO backspace mapping. * keymap.c: (get_keyelt): Tell character_to_event() to NOT DO backspace mapping. (define_key_parser): Tell character_to_event() to NOT DO backspace mapping. (Fsingle_key_description): Tell character_to_event() to DO backspace mapping. 1998-03-04 Kirill M. Katsnelson * alloc.c (Fpurecopy): Do not mark symbols through Vpure_uninterned_symbol_table twice: hash (OBJ, nil) instead of (OBJ, OBJ). 1998-03-07 SL Baur * emacs.c (shut_down_emacs): Disable forced auto-save in a crash. It causes more problems than it solves. 1998-03-02 Greg Klanderman * window.c (Fwindow_displayed_pixel_height) New function. (Fenlarge_window_pixels): New function. (Fshrink_window_pixels): New function. (window_displayed_pixel_height): New, helper for Fwindow_displayed_pixel_height. (change_window_height): Add `inpixels' argument. (syms_of_window): 3 new DEFSUBR's. Thu Mar 05 12:01:35 1998 Andy Piper * redisplay-msw.c (mswindows_output_cursor): separate getting cachel index from retrieving cachel to work around apparent bug in gcc. 1998-03-06 Kyle Jones * events.c (character_to_event): The tty_erase_char test doesn't do anything because it's in the wrong place. Moved it to where it can take effect. * dired.c (Fdirectory_files): Initialize GCPRO'ed variable. * events.c (character_to_event): Never map '(control foo) to QKbackspace. Only map ASCII 8 to QKbackspace; don't map any other key. 1998-03-05 Kyle Jones * src/redisplay-output.c (redisplay_move_cursor): Bail if cursor_in_echo_area is non-zero and we're fiddling with the cursor in a minibuffer window, since that is a special case that is handled elsewhere and this function need not handle it. Return 1 so the caller will assume we succeeded. Wed Mar 04 08:55:12 1998 Andy Piper * device.c (init_global_resources): compile in based on window system not just x. * console.c (select_console_1): add mswindows console type. 1998-03-04 Kyle Jones * redisplay-output.c (redisplay_redraw_cursor): Redraw the cursor in the minibuffer window if cursor_in_echo_area is non-zero. Wed Mar 04 08:55:12 1998 Andy Piper * emacs.c (main_1): predicate display_use to mswindows only if x is not already selected. * event-msw.c: comment out non-code for HAVE_TOOLBAR case. don't compile debug_process_finalisation if x is compiled in. * event-stream.c (init_event_stream): don't make X and mswindows mutually exclusive. Select msw event loop if started that way, X/tty event loop otherwise. * frame.h: protect toolbar #defines from assuming ints are in toolbar_data. This happens if you have two display types compiled in and one supports toolbars and the other doesn't. * s/cygwin32.h: warning elimination. 1998-03-03 SL Baur * editfns.c (Ftemp_directory): New function. From Glynn Clements * editfns.c (Ftemp_directory): Use build_ext_string. 1998-03-02 Martin Buchholz > * symsinit.h: add prototype for syms_of_dlopen 1998-03-02 Kyle Jones * window.c (save_window_save): save value of default_toolbar_height slot. (Fset_window_configuration): restore value of default_toolbar_height slot. Fri Feb 20 21:22:34 1998 Darryl Okahata * "Fast" dired-in-C enhancements for Windows 95/NT: * ntproc.c: * device-msw.c: Moved definition of `Vwin32_downcase_file_names' from ntproc.c to device-msw.c, and renamed it to `Vmswindows_downcase_file_names'. It doesn't really belong here, but I didn't want to create a new file, just for this one variable. This fixes a bug in `expand-file-name' that caused all returned filenames to be lowercased (this was supposed to be conditional upon Vmswindows_downcase_file_names, but wasn't, as it was never initialized due to obsolescence of ntproc.c). This variable is also used by the dired-in-C enhancements. Also moved and renamed `Vwin32_get_true_file_attributes' to `Vmswindows_get_true_file_attributes'. This affects stat() in nt.c, and so it really does need to be initialized. However, there's still one more variable in ntproc.c that still needs to be moved/renamed, `Vwin32_pipe_read_delay', but I didn't touch this, as this is a subprocess issue. * dired-msw.c: New file for dired-in-C enhancements for Windows 96/NT. * emacs.c: Initialization calls for dired-msw.c. * nt.c (convert_time): make into public function (dired-in-C functions use it). 1998-02-28 Kirill M. Katsnelson * sysdep.h: Prototypes for the above 2 functions * sysdep.c (get_pty_max_bytes): Moved here from process.c (get_eof_char): Ditto * symsinit.h: Prototypes for initialization functions called from emacs.c: process_type_create_mswindows, process_type_create_unix, vars_of_process_mswindows, vars_of_process_unix. * procimpl.h: New file. Includes prototypes and other stuff shared by process.c and implementation files (process-unix.c, process-msw.c in future). * process.h (PROCESS_LIVE_P): Changed to test against stream existence, to avoid dependency on fds. * process.c: Only process implementation independent code is now in this file. Moved the rest into process-unix.c (Fopen_network_stream_internal): Added 5th parameter, protocol family. Defaults to 'tcp/ip when unspecified. * process-unix.c: New file, implementation of UNIX processes. UNIX-specific code from the old process.c is here. * Lstream.c (Lstream_was_blocked_p): New function. Replaces filedesc_stream_was_blocked_p. (filedesc_was_blocked_p): Implementation of the method for filedesc stream (filedesc_stream_set_pty_flushing): set pty_flushing flag (filedesc_stream_fd): New function, returns fd of the stream * lstream.h (lstream_implementation): was_blocked_p is a new optional lstream method. Added prototypes for functions in lstream.c * lisp.h: (USID): Typedef for Unique Stream IDentifier. Reuqired by the new code in many places. * events.h (struct event_stream): Declaration of the two mandatory event stream methods, required by process support. * event-unixoid.c (event_stream_unixoid_create_stream_pair): Implementation of the method shared by TTY and X (event_stream_unixoid_delete_stream_pair): Ditto * event-tty.c (emacs_tty_next_event): get_process_from_usid() instead of get_process_from_fd() (emacs_tty_create_stream_pair): New events tream method (emacs_tty_delete_stream_pair): New events tream method * event-stream.c (event_stream_create_stream_pair): New event stream method (event_stream_delete_stream_pair): Ditto * event-msw.c (debug_process_finalization): Although if0'ed, removed obsolete code * event-Xt.c (emacs_Xt_create_stream_pair): Implementation if the new event stream method (emacs_Xt_delete_stream_pair): Ditto * emacs.c (main_1): Added calls to process_type_create*() and vars_of_process() * callproc.c: (many places): removed DOS support 1998-03-02 SL Baur * process.c (Fprocess_status): Restore old behavior -- call Fget_process on a string argument. Mon Mar 02 11:37:36 1998 Andy Piper * file-coding.h: * file-coding.c: more cleanup by only including iso2022 stuff in a mule build. (setup_eol_coding_systems) move (T) -> :T etc. * event-stream.c: (Fopen_dribble_file) Qescape_quoted only exists in mule. * md5.c: remove warning. * unexcw.c: move .idata -> .rdata for cygwin b19. * Makefile.in.in: add msw dependencies. * sheap.c: up static heap parameters. * s/cygwin32.h: add prototypes to eliminate warnings. 1998-03-02 SL Baur * Makefile.in.in (blddir): Import blddir. Add blddir to dump-time load-path. * nas.c (play_sound_data): Add braces for clarity. (play_sound_file): Ditto. 1998-03-01 SL Baur * alloc.c: Boost static vector size for breathing room. Double the size if we may be dynamically linking. * dlopen.c (Fdl_open): Use RTLD_GLOBAL flag on dlopen if available. * device-x.c (x_init_device): Hardcode `Emacs' as the filename containing localized menubars. * config.h.in: Add HAVE_UNIX_PROCESSES for 20.6. * alloc.c (init_alloc_once_early): Document movement of mmap enabling code to emacs.c. * Makefile.in.in: Update FILE_CODING dependencies. 1998-03-01 Kyle Jones * file-coding.c (setup_eol_coding_systems): Don't try to copy the mnemonic property of the coding system unless it is a string. (allocate_coding_system): Initialize coding system struct member 'mnemonic' to Qnil. Leaving its value set to 0 causes a crash. 1998-03-01 SL Baur * file-coding.c (DEFINE_SUB_CODESYS): Undo previous patch. 1998-03-01 Kyle Jones * callint.c: Read coding system names for the 'z' and 'Z' interactive specs if FILE_CODING or MULE is defined. Previously, coding system names were read only if MULE was defined. * file-coding.h: Removed charset-based category types from enumerated coding_category_type if not building with MULE. * file-coding.c (syms_of_mule_coding): Don't define symbols for charset-based coding systems unless building with MULE. 1998-02-28 SL Baur * alloc.c (garbage_collect_1): Guard call to selected_frame so it cannot be called during GC. - Update current count of staticpro'ed objects. 1998-02-28 Kyle Jones * menubar.c (Fmenu_find_real_submenu): Document the "use struct as array" hack. Convert struct pointer to array to avoid compiler warnings. 1998-02-26 SL Baur * buffer.c (complex_vars_of_buffer): Fix DOC string for buffer-file-coding-system. 1998-02-26 Damon Lipparelli * symsinit.h: syms_of_ldap() is actually syms_of_eldap(). * eldap.c: removed duplicates. 1998-02-26 SL Baur * file-coding.c (setup_eol_coding_systems): Disable SUB_CODESYS feature -- it causes stack corruption in Mule. 1998-02-27 Kirill M. Katsnelson * events.c (character_to_event): The code which guesses TTY backspace character is conditionalized on HAVE_TTY 1998-02-26 SL Baur * console.c (complex_vars_of_console): Guard tty_erase_char with HAVE_TTY. * conslots.h: Ditto. 1998-02-25 SL Baur * events.c (character_to_event): Correct operations on tty_erase_char. From Martin Buchholz * file-coding.c (setup_eol_coding_systems): Unix/Binary sub coding-system display should default to the empty string. - Use '(t)' for Mac/Text mode. Tue Feb 17 12:50:37 1998 Andy Piper * Makefile.in.in: make sure clean removes msw executables. This prevents the build stalling after puresize has been adjusted. Add file-coding.o to list of objects. * buffer.c: * buffer.h: * bufslots.h: * callproc.c: * console-tty.c: * emacs.c: * event-Xt.c: * event-stream.c: * glyphs-x.c: * lread.c: * md5.c: * mule-canna.c: * mule-ccl.c: * process.c: * redisplay-x.c: * redisplay.c: remove #ifdef MULE's from stuff that relates to file-coding. include file-coding.h rather than mule-coding.h where applicable. * mule-coding.c: #if 0 out functionality until file-coding is split up. * file-coding.h: * file-coding.c: new files. copies of mule-coding.h and mule-coding.c. The mule case is unchanged. The non-mule case removes coding relating to other charsets - iso2022, big5, sjis, ccl. (setup_eol_coding_systems) add the eol type to the subsidiary coding system mnemonics so that it shows on the modeline, currently (B) for unix style (T) for mac and dos styles. * fileio.c: remove #ifdef MULE's from stuff that relates to file-coding. include file-coding.h rather than mule-coding.h where applicable. FSFMACS_SPEEDY_INSERT is gone since file coding is always on. * sheap.c: (more_static_core) remove spurious \n's from error message. 1998-02-25 Kyle Jones * lisp-disunion.h: Added XUINT macro. * lisp-union.h: Added XUINT macro. * data.c (Flsh): Used XUINT instead of XINT to extract the value of the first argument to avoid sign extension of the result. 1998-02-25 SL Baur * s/decosf4-0.h: Add -D_BSD. From Tore Olsen 1998-02-21 Greg Klanderman * device-x.c (x_init_device): allow `x-emacs-application-class' to be nil prior to connecting to the X server. When this is the case, the application class is chosen based on whether the user has any resources with application class `XEmacs' set in the resource database. (vars_of_device_x): make x-emacs-application-class nil by default and document new behavior in its doc string. 1998-02-23 Aki Vehtari * menubar.c: Doc fix: suffix can be form. * gui.c (gui_parse_item_keywords): Allow button descriptors at least 2 long. (gui_item_display_flush_left): Suffix can be form. * gui-x.c (button_item_to_widget_value): Allow button descriptors at least 2 long. (button_item_to_widget_value): Suffix can be form. 1998-02-24 SL Baur * s/sol2.h: define HAVE_GETLOADAVG for late edition Solaris From Georg Nikodym 1998-02-24 Didier Verna * redisplay.c (generate_fstring_runes): fixed the modeline scrolling lossage (the % constructs appearing in the modeline). Now that we can have negative positions and boundaries, max_pos == -1 can't mean 'no limit' anymore. Me, stupido! (add_string_to_fstring_db_runes): Ditto. (add_glyph_to_fstring_db_runes): Ditto. 1998-02-19 Jim Radford * sysdep.c: Don't clobber SIGIO event flags we don't care about. * device.h: removed old_sigio_flag, sigio_enabled from device Secretly (on Solaris) F_SETOWN calls I_SETSIG. We unknowingly clobbered the changes so restoring the owner would cause F_SETOWN's I_SETSIG to fail therby causing an annoying syslog message. Changed FASYNC version to match (untested). 1998-02-22 SL Baur * emacs.c (main): Enable mmap for glibc-2.1 and Linux libc5. Enable mmap only for non-Mule for glibc-2.0. 1998-02-21 SL Baur * config.h.in: Define _NO_MALLOC_WARNING_ if using dlmalloc from Linux libc5. 1998-02-19 Andreas Jaeger * emacs.c: declare hooks only if !DOUG_LEA_MALLOC since the declaration conflicts with glibc's own. 1998-02-19 SL Baur * config.h.in: Remove HAVE_TERM, add USE_MINIMAL_TAGBITS and USE_INDEXED_LRECORD_IMPLEMENTATION. * process.c (Fopen_network_stream_internal): Remove TERM support. * sysproc.h: Remove TERM support. 1998-02-20 Kazuyuki IENAGA * input-method-xfs.c: add setlocale(LC_CTYPE, "") right after setlocale(LC_NUMERIC, "C"). Because, without this, the LC_CTYPE got a side effect of LC_NUMERIC then set to "C". 1998-02-19 SL Baur * emacs.c (main): Enable mmap'ing with XEmacs/Mule. * redisplay.c (add_string_to_fstring_db_runes): Fix infloop problem with long modelines and glyphs. * unexelf.c: The proper way to check for GNU libc is with __GLIBC__. Suggested by Andreas Jaeger 1998-02-18 SL Baur * Makefile.in.in: Remove all references to prefix-args. 1998-02-18 Kirill M. Katsnelson * sysdep.c (mswindows_set_errno): New function (mswindows_set_last_errno): Ditto These convert Win32 error code to ANSI C errno. * sysdep.h: Prototypes for the above 2 functions. * menubar-msw.c (vars_of_menubar_mswindows): Fprovide ('mswindows-menubar) removed. See the entry of 1998-01-03 * process.c: FSFmacs proc_buffered_char static array #if0'ed in 2 places. It is never used. 1998-02-01 Kyle Jones * window.c (save_window_save): Save window-cached speciifer values. (saved_window_equal): Added comparisons of window-cached specifier values. (Fset-window-configuration): Restore window-cached specifier values. 1998-02-18 Didier Verna * modeline.el (mouse-drag-modeline): added the horizontal scrolling functionality for the modeline. This could still be improved, for instance when the mouse goes out of the modeline. 1998-02-18 Didier Verna * redisplay.c: (generate_formatted_string_db): new flag to distinguish a modeline string from a title or icon one, plus use a negative first pos to indicate the modeline hscroll amount. (add_string_to_fstring_db_runes): completely rewrote this function to handle the case of scrolled modelines. (add_glyph_to_fstring_db_runes): handle the case of scrolled modelines. * window.c: (Fmodeline_hscroll): new function to return the modeline current horizontal scroll amount. (Fset_modeline_hscroll): new function to scroll the modeline horizontaly. Plus some updates related to this new functionality (windows configuration, notably). * window.h (struct window): added the new field modeline_hscroll. 1998-02-18 SL Baur * m/alpha.h: * unexelf.c: Synched with Emacs 20.2. From Aki Vehtari * emacs.c (main): Don't call __sbrk(). * gmalloc.c (__sbrk): Ditto. Suggested by Andreas Jaeger 1998-02-17 SL Baur * console-tty.c (Fset_console_tty_coding_system): New function. From Kazuyuki IENAGA 1998-02-15 SL Baur * ralloc.c (init_ralloc): DOUG_LEA_MALLOC support. (r_alloc_reinit): Ditto. [All non-HAVE_MMAP code]: Synched with Emacs 20.2. * emacs.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. (main): Ditto. Add LINUX_SBRK_BUG workaround, what is it? (Fdump_emacs): DOUG_LEA_MALLOC support from Emacs 20.2. * alloc.c: Synch DOUG_LEA_MALLOC support from Emacs 20.2. (init_alloc_once_early): Ditto. * config.h.in: Add DOUG_LEA_MALLOC symbol. * unexfreebsd.c (run_time_remap): Change printf format string to match parameters given. 1998-02-14 SL Baur * s/sco5.h: Define LIB_GCC as -lgcc for gcc 2.8 and egcs. Suggested by Robert Lipe 1998-02-14 Martin Buchholz * event-Xt.c (x_reset_key_mapping): * device-x.c: (x-keysym-on-keyboard-p): (x-keysym-on-keyboard-sans-modifiers-p): Use x-keysym-on-keyboard-sans-modifiers-p instead of x-keysym-on-keyboard-p to detect backspace. Use symbols instead of strings (now deprecated) with x-keysym-*-p. Clean up symbols used with dead keys, checking Linux and solaris keysyms. Simplify x-win-*.el using above methods. Change documentation for x-keysym-*-p functions. 1998-02-13 SL Baur * unexelfsgi.c: Various changes. From Olivier Galibert * s/freebsd.h: Avoid redefining BSD. From Kazuyuki IENAGA * extents.c (extent_fragment_update): Break up a line to avoid a Digital UNIX 3.2g C compiler bug. From Tonny Madsen * process.c (create_process): Restore save_environ hackery. 1998-02-10 SL Baur * emacsfns.h: Remove mocklisp declarations. * redisplay-msw.c (mswindows_update_dc): Enable evil kludge for cygwin. From Andy Piper 1998-02-09 SL Baur * menubar-msw.c (vars_of_menubar_mswindows): Fix patch failure. Suggested by: kny@tekla.fi * data.c (Fold_eq): PC-ize. * chartab.c: PC-ize. * window.c (toplevel): PC-ize. (syms_of_window): Ditto. * search.c (Freplace_match): PC-ize. * lread.c: PC-ize. * buffer.c (Fbuffer_enable_undo): PC-ize. (Fbuffer_disable_undo): ditto. * eval.c (return_from_signal): PC-ize. * casetab.c: PC-ize. * callproc.c (Fcall_process_internal): PC-ize. 1998-02-02 Kirill M. Katsnelson * gui.h (struct gui_item): Menu item, submenu or GUI button properties are abstracted into this new structure. Added prototypes for the following functions * gui.c (gui_item_init): New function (gui_item_add_keyval_pair): Ditto (gui_parse_item_keywords): Ditto (gui_item_active_p): Ditto (gui_item_included_p): Ditto (gui_item_display_flush_left): Ditto (gui_item_display_flush_right): Ditto. The above listen new functions manipulate on properties common to menu items and GUI buttons. * menubar.c (current_frame_menubar): Moved from menubar-msw.c (menu_parse_submenu_keywords): New function (Fmenu_find_real_submenu): Ditto, lisp accessible. The last two functions operate on menu properties stored in struct gui_item, but are specific to menus only. * menubar.h: Prototypes for the above functions. * menubar-msw.c: Modified to utilize struct gui_item instead of plists, to reduce garbage. Suggested by Ben Wing. Unreachable menus are fixed. 1998-01-03 Kirill M. Katsnelson * menubar-msw.c (allocate_menu_item_id): Added third parameter to hash, suffix. Menus tend to put non-localizable items into suffix with empty name. (update_frame_menubar_maybe): top_level_menu is now set here. (mswindows_popup_menu): Ditto. It was incorrect to set it from populate. (vars_of_menubar_mswindows): Fprovide ('mswindows-menubar) removed: (featurep (and 'mswindows 'menubars)) tests the same. (mswindows_update_frame_menubars): update_..._maybe () now called only if frame->menubar_changed is set. Is it right to patch menubar.c instead? 1998-02-08 Jonathan Harris * objects-msw.c: Updated color database to X11R6. Also added support for "#RRRGGGBBB" and "#RRRRGGGGBBBB" in addition to "#RRGGBB". 1998-02-08 Jonathan Harris * console.h: * console-stream.c: * redisplay.c: * redisplay-msw.c: * redisplay-tty.c: * redisplay-x.c: Added the frame as a parameter to the text_width device method. * redisplay-msw.c: Support for proportional fonts. 1998-02-07 Hrvoje Niksic * window.c (map_windows): Don't return the value of map_windows_1. (map_windows): If F is NULL, map through all the windows. (mark_windows_in_use): Use map_windows(); made it static. (mark_windows_in_use_closure): New function. 1998-02-01 Hrvoje Niksic * alloc.c (Fpurecopy): Check for non-`nil'-ness instead of checking for Vobarray. * dlopen.c (Fdl_open): Indirect FUNCTION explicitly, for clarity. * elhash.c: Removed broken hashtable_hash(). 1998-01-28 Hrvoje Niksic * symbols.c (Fintern): Use Qt instead of the actual obarray. (init_symbols_once_early): Ditto. 1998-01-27 Hrvoje Niksic * lisp.h (DO_REALLOC): Name the variable `do_realloc_newsize' instead of `newsize', to avoid name collisions. 1998-01-26 Hrvoje Niksic * print.c (print_symbol): Be more wary about the contents of Vprint_gensym_alist. 1998-02-06 SL Baur * emacs.c (Frun_emacs_from_temacs): Disable largely meaning-free purity/impurity summary. Compile with -DREPORT_PURE_USAGE to get it back. * process.c (create_process): Unused variable elimination. * lread.c (Fload_internal): Compiler warning suppression. * alloc.c (report_pure_usage): Remove unused variable. Wed Jan 28 13:41:22 1998 Andy Piper * Makefile.in.in: add support for sheap-adjust.h generation for static heap. Wed Jan 28 13:41:22 1998 Andy Piper * Makefile.in.in: add sheap-adjust.h support, basically copied from puresize-adjust.h. predicate sheap.o on HEAP_IN_DATA. fix xemacs target slightly to not be a single shell command, this fixes an obscure bug in cygwin gmake. * alloc.c (report_pure_usage): call sheap_adjust_h if HEAP_IN_DATA is defined. * sysfile.h: add abstracted OPEN_BINARY, OPEN_TEXT etc defines. On Unix these are all 0 and have no effect. On systems defining O_BINARY these use it. WINDOWSNT is currently unaffected because there are individual #ifdefs in each source file, but with this change they could be removed. * emacs.c: * doc.c: * lread.c: * process.c: generalize open() calls with OPEN_BINARY. Does nothing under Unix. * emacs.c: predicate inclusion of windows.h on WINDOWSNT not _WIN32. * process.c: * sysdep.c: * signal.c: predicate SIGIO stuff also on !BROKEN_SIGIO, this is required for building on cygwin32 b19 which has SIGIO that only works on sockets. * fileio.c: * event-stream.c: generalize open() calls with OPEN_BINARY. Does nothing under Unix. Use open() instead of creat() to make this possible. use CREAT_MODE from sysfile.h * config.h.in: add MULE_CODING, currently not used. add support for HAVE_A_OUT_H. * elhash.c: * menubar-msw.c: * mule-ccl.c: * device-msw.c: warning elimination. * event-msw.c: add undeclared Dde calls for cygwin. * redisplay-msw.c: warning elimination under mule. * gmalloc.c: make initalize() really do that. If HEAP_IN_DATA is defined catch free() & realloc() calls with addresses in the data space. __morecore calls more_static_core for temacs, when dumped switches to sbrk(). * console-msw.h: undef CONST after windows.h inclusion since this defines CONST. #ifdef out shellapi under cygwin. * device-msw.c: include sysdep.h * objects-msw.c: add dummy mswindows_font_spec_matches_charset and mswindows_find_charset_font so that we can build with mule. * mem-limits: return -1 for get_lim_data() when HEAP_IN_DATA is defined. * sheap.c: new file. defines sheap_adjust_h and more_static_core so that data space can be used by gmalloc before dumping when HEAP_IN_DATA is defined. beef up error message about what to do if sheap space runs out. * sysdep.c: make start_of_data return something sensible for HEAP_IN_DATA. * systime.h: don't use itimer stuff on cygwin b19. * unexcw.c: new file. Full unexec() support for cygwin using the HEAP_IN_DATA setup provided by sheap.c and friends. No run-time remapping is performed. This could be generalized to support many platforms that use COFF. you need a.out.h from my website to build this. cygwin b19 will have this. * s/cygwin32.h: fixed commentary. compile in unexcw.o for dumping support. removed irrelevent things. define BROKEN_SIGIO. remove include of windows.h. add correct process support defines, process support might work when non-blocking io is implemented in cygwin. 1998-02-02 P. E. Jareth Hein * glyphs.c: Removed ImageMagick support, re-instituted the previous support for JPEG, GIF and PNG with the new color system. 1998-02-05 Olivier Galibert * unexelf.c: Fix alignment problems on Linux. 1998-02-01 Kyle Jones * redisplay.c (redisplay_window): After outputting the window, invalidate its the line start cache if the we're displaying the minibuffer window and the echo area is active. The cache is only valid for the echo area buffer, and that buffer isn't associated with the minibuffer window anymore. 1998-01-31 SL Baur * alloc.c (disksave_object_finalization): Additional checking for sanity when zeroing out unused portions of string_chars_block's. (Fpurecopy): Spelling fixes in comment. (PURESIZE_SLOP): Set default slop to 0. 1998-01-31 Kyle Jones * chartab.c (make_char_table): Initialize mirror tables with Spunct in all the slots. Syntax table initialization doesn't touch slots for nonexistent characters sets. If character sets corresponding to those slots are created later Qnil values in the slots will cause crashes. (copy_char_table_entry): Return copy not original. 1998-01-28 Jonathon Harris * msw-proc.c: * event-msw.h: * event-msw.c: * console-msw.h: Deleted the first two and merged them into the last two files. * device-msw.c: * event-msw.c: * frame-msw.c: Added file-based drag and drop support. The "System/Open" DDE command is also implemented as if it were a drag and drop operation. * emacsfns.h: * event-stream.c: * events.c: * events.h: * frame.c: * keymap.c: Replaced all "#ifdef HAVE_OFFIX_DND" with "#if defined(HAVE_OFFIX_DND) || defined(HAVE_MS_WINDOWS)" * device.h: Added DEVICE_MSWINDOWS_P and related macros. * objects-msw.c: * select-msw.c: Eliminated warnings. * redisplay-msw.c: Changed color of "dead" box between scrollbars to windows' "button" color for compatibility with other windows apps. 1998-01-20 Stephen Turnbull * Makefile.in.in: move `rm puresize-adjust.h' from distclean to mostlyclean 1998-01-29 SL Baur * Makefile.in.in (dlopen.o): Add dependencies. * s/sunos4-0.h: Conditionalize use of broken-sun.h for old Gccs. Suggested by Amir J Katz 1998-01-28 SL Baur * faces.c (init_device_faces): This function can call lisp. 1998-01-28 P. E. Jareth Hein * mule-coding.h: * mule-coding.c: (determine_real_coding_system): removed the static declaration to allow reuse. * md5.c (Fmd5): Rewrote to fully support MULE, as well as streamline the code. * mule-ccl.c (ccl_driver): Set initial values of variables to shut up the compiler and to give better error message if a quit happens before any ccl_code is generated. 1998-01-28 SL Baur * glyphs.c (allocate_glyph): This function can GC. Wrap GCPRO around unprotected function calls. (specifier_vars_of_glyphs): Comment change -- Can we GC here? 1998-01-27 SL Baur * lread.c (Fload_internal): Add extra GCPRO around call to Fassoc. Enable purespace usage counts always. * m/powerpc.h: Isolate changes for mklinux from AIX. 1998-01-27 Hrvoje Niksic * symbols.c (init_symbols_once_early): Decreased default size of Vpure_uninterned_symbol_table to 50. 1998-01-27 SL Baur * redisplay-x.c (x_output_string): Correction for handling underlined fonts when XGetFontProperty fails. From Chris Felaco 1998-01-27 Kyle Jones * alloc.c (Fpurecopy): Store symbols that aren't interned in Vobarray into Vpure_uninterned_symbol_table. * symbols.c (init_symbols_once_early): Initialize Vpure_uninterned_symbol_table. * emacsfns.h: Declare Vpure_uninterned_symbol_table. 1998-01-26 SL Baur * alloc.c (report_pure_usage): New macro PURESIZE_SLOP to allow for extra pure space. 1998-01-23 SL Baur * sound.c (Fplay_sound_file): Use NILP for comparison of Lisp_Object. Wed Jan 21 10:49:47 1998 Andy Piper * unexcw.cc: new file for cygwin32 unexec() requires cygwin32 b19. Predicated on HAVE_COFF_H. * console.c: * device-msw.c: * event-msw.c: * frame-msw.c: * msw-proc.c: * objects-msw.c: Eliminate warnings. * redisplay-msw.c (mswindows_update_gc): eliminate warnings and extend hack for bogus bg values. * symsinit.h: add msw headers to eliminate warnings. * s/cygwin32.h: various updates for unexec() support. * lastfile.c: add my_ebss for cygwin32 unexec() support. * gmalloc.c: made __malloc_initialized non-static so that it goes into the bss where we expect it. * emacs.c: put run_time_remap() in a place where initialized is not always true. * Makefile.in.in: add support for compiling .cc files. * config.h.in: added HAVE_COFF_H support. 1998-01-23 Hrvoje Niksic * print.c (print_cons): Use XCAR/XCDR. (print_string): Fix up so it Vprint_string_length works under Mule correctly. * eval.c (Feval): Increase profile call count. * keymap.c: Fixed typo. 1998-01-22 Hrvoje Niksic * symbols.c (Funintern): Reset symbol's obarray property. 1998-01-22 Karl M. Hegbloom * alloc.c (size_vector): Declare *p as CONST to eliminate warning. 1998-01-22 Hrvoje Niksic * print.c (print_symbol): Recognize Vprint_gensym being a cons; use Vprint_gensym_alist. * symbols.c (init_symbols_once_early): Ditto. * alloc.c (Fmake_symbol): Reset it. * symbols.c (Fintern): Set it. * lisp.h (struct Lisp_Symbol): New element `obarray'. * print.c (print_prepare): Reset Vprint_gensym_alist. (print_finish): Ditto. * lread.c: Recognize #n= and #n#. (readevalloop): Reset read_objects to nil. (Fread): Ditto. 1998-01-23 SL Baur * toolbar.c (update_toolbar_button): Eliminate redundant NILP checks. From Martin Buchholz 1998-01-21 Hrvoje Niksic * dlopen.c: New file. 1998-01-19 Steven L Baur * eval.c (prog1): Don't GCPRO unitialized variable. (prog2): Ditto. From Martin Buchholz 1998-01-19 Hrvoje Niksic * sound.c (Fplay_sound_file): Use signal_simple_continuable_error() instead of error(). 1998-01-18 Hrvoje Niksic * README: Updated. 1998-01-18 SL Baur * glyphs-x.c (imagick_instantiate): Dynamically allocate pixar with alloca. From Damon Lipparelli 1998-01-14 Martin Buchholz * eval.c (For, Fand, Fif, Fcond, Fprogn, Fprog1, Fprog2): Modernize and streamline. Replace Fcdr with XCDR, Fcar with XCAR for efficiency. Remove REGISTER declarations. 1998-01-13 Martin Buchholz * emacsfns.h: * alloc.c: Add proper prototypes for print_cons, print_vector, print_string. * dired.c (directory-files): * elhash.c (elisp_maphash): * elhash.h (elisp_maphash): * lrecord.h: * mule-ccl.c (setup_ccl_program): * mule-coding.c (coding_system_charset): * offix-cursors.h (cursor_bits): Warning elimination. * redisplay.c (add_blank_rune): * redisplay.c (add_glyph_rune): * redisplay.c (add_emchar_rune): Warning elimination. Avoid useless computation in non-mule case. * config.h.in: Define HAVE_INVERSE_HYPERBOLIC using 1 configure test, not 3. * src/alloc.c: * src/events.c: Rearrange order of declarations and definitions to avoid forward * src/mem-limits.h: Add motivating comment for future cleanup. * s/linux.h: Cleanup. Remove old cruft. * config.h.in: Always define _GNU_SOURCE when using GNU libc. Support --without-FOO as a synonym for --with-FOO=no. Always use $srcdir to locate config.guess. Make it clear that CONFIGURATION is optional. De-emphasize CONFIGURATION parameter. Random cleanup. More compatible with standard GNU install instructions. --with-menubars=athena3d ==> --with-menubars=lucid. 1998-01-14 Hrvoje Niksic * fileio.c (Fexpand_file_name): Synched with FSF. 1998-01-13 Hrvoje Niksic * objects-msw.c (mswindows_color_instance_rgb_components): Multiply components by 257 instead of shifting by 8. 1998-01-15 Hrvoje Niksic * elhash.c (Fhashtable_type): New function. (Fhashtable_test_function): Ditto. 1998-01-12 SL Baur * profile.c (Fclear_profiling_info): Fix typing error. * elhash.c (elisp_map_remhash): Fix typing error. (elisp_maphash): Ditto. 1998-01-12 Hrvoje Niksic * mule-ccl.c (Fccl_execute_on_string): Use Dynar_free to free a Dynarr. 1998-01-13 Hrvoje Niksic * profile.c (vars_of_profile): New variable `call-count-profile-table'. (Fclear_profiling_info): Clear call-count-profile-table. * eval.c (funcall_recording_as): Use it. * profile.c (profile_increase_call_count): New function. * lstream.c (stdio_flusher): Comment addition. * objects-msw.c (mswindows_string_to_color): Support #RRRGGGBBB, as well as #RRGGBB. (mswindows_X_color_map): Reformatted. 1998-01-12 Hrvoje Niksic * line-number.c (invalidate_line_number_cache): Comment fixup. * symbols.c (Fapropos_internal): Docstring fix. * fns.c (Fstring_equal): Docstring fix. 1998-01-12 Hrvoje Niksic * profile.c (get_profiling_info_maphash): Return int. (mark_profiling_info_maphash): Ditto. * elhash.c (Finternal_hash_value): New debugging function, undefined by default. 1998-01-11 Hrvoje Niksic * mule-coding.c (add_coding_system_to_list_mapper): Ditto. * mule-charset.c (add_charset_to_list_mapper): Return int. * faces.c (add_face_to_list_mapper): Return int. (mark_face_as_clean_mapper): Ditto. (update_face_inheritance_mapper): Ditto. * keymap.c (keymap_submaps_mapper_0): Return int. (keymap_submaps_mapper): Ditto. (copy_keymap_inverse_mapper): Ditto. (copy_keymap_mapper): Ditto. (map_keymap_unsorted_mapper): Ditto. (map_keymap_sorted_mapper): Ditto. * elhash.c (hashtable): Added a hash method. (hashtable_hash): New function. 1998-01-09 Hrvoje Niksic * elhash.c (lisp_maphash_function): Return 0. (hashtable_equal_mapper): Bail out when an element is not `equal'. * hash.c (maphash): Bail out if map function returns non-zero. 1998-01-11 SL Baur * eval.c (Fbacktrace): Treat first parameter to byte-code specially. Sat Jan 10 11:36:11 1998 Andy Piper * config.h.in: undef HAVE_SYS_UN_H so that it gets defined by configure for gnuserv with UNIX_DOMAIN_SOCKETS. 1998-01-09 SL Baur * buffer.c (reset_buffer_local_variables): Synch case-table resetting stuffs from Emacs 20.2. Suggested by Aki Vehtari * src/symbols.c (Fsetq_default): Fix docstring. From Didier Verna 1998-01-07 Kirill M. Katsnelson * msw-proc.c (mswindows_wnd_proc): Calls to redisplay() from out of WM_SIZE handler limited to the case of dragging frame borders. * redisplay-msw.c (mswindows_bevel_modeline): Added support for negative modeline height. (mswindows_output_cursor): Added bar cursor drawing (mswindows_flash): Flash frame by inverting client area. 1998-01-08 Andy Piper * lread.c: guess load path if its not set just like the dumped version does. * doc.c: guess doc path if its not set just like the dumped version does Thu Jan 08 09:42:36 1998 Andy Piper * emacs.c: don't load loadup.el when CANNOT_DUMP is set, this is almost never right on XEmacs. * s/cygwin32.h: add comments about how to buid. Move some variables into configure so that we don't have to set them. * config.h.in: define HAVE_WINDOW_SYSTEM if HAVE_MS_WINDOWS is set. 1998-01-06 Kirill M. Katsnelson * lread.c (Fload_internal): On Win32, this reopened the file without first closing the handle. This caused running out of handles. * nt.c (sys_open): This one made big mess when opening a handle next after MAXDESC-1. Fixed. 1998-01-06 Kirill M. Katsnelson * objects-msw.c (mswindows_string_to_color): Patched not to modify const char* parameter. (hexval): Modified to accept uppercase hex digits. * ntproc.c (sys_spawnve): char* arguments made CONST, to comply with standard header declaration. * sysdep.c: Fixed ugly prototypes copied from system headers. Who says the solution is as ugly, is right. Added a couple of #include directives to avoid undefined functions. (struct save_signal): Added parameter to function pointer prototype when compiled under ANSI C. (save_signal_handlers): Ditto * s/windowsnt.h: Added prototypes for functions defined via sys_ which are not found or differ on Win32: pipe, sleep, spawnve, wait, kill Macros created from former nt.c functions: random srandom setpgrp Defined HAVE_STRCASECMP, and strcasecmp defined to _stricmp which is provided by the compiler. Removed hack which prevented winsock.h from including. * nt.c (random): Removed and made a macro in s/windowsnt.h (srandom): Ditto (setpgrp): Ditto (unrequest_sigio): #if0'ed. It is unreferenced; in XEmacs, calls to it seem to be controlled by HAVE_SIGIO. (request_sigio): Ditto * nt.h: Removed FD_* macros. Rely on definitions in winsock.h. Changed EMACSDEBUG references to DEBUG_XEMACS * event-msw.c (mswindows_cancel_dispatch_event): Returns Qnil when event not found in the queue. Used to return undefined value. 1998-01-07 SL Baur * emacs.c (main_1): Add `-no-autoloads' to suppress loading autoloads at startup. * Makefile.in.in (xemacs): Fix call to list load-path shadows. 1998-01-02 Charles G. Waldman * frame.h: fix erroneous FRAME_RIGHT_BORDER_START macro. Corrects display glitch when toolbar is on the right. 1998-01-02 Kirill M. Katsnelson * emacs.c (make_arg_list_1): On Win32 platforms, GetModuleFileName is consulted instead of argv[0] to get full path to the xemacs executable. 1998-01-01 SL Baur * m/sparc.h: Cleans up some warnings about unused variables in getloadavg.c under Sparc/Linux. From Stephen J. Turnbull * fileio.c (vars_of_fileio): Enable directory-sep-char always for compatibility. * emacs.c (main_1): Inhibit reloading dumped lisp when using `-batch' or `-vanilla'. 1997-12-31 SL Baur * emacs.c: New variables `inhibit-update-dumped-lisp' and `inhibit-update-autoloads'. (vars_of_emacs): Initialize them. 1997-12-29 Kirill M. Katsnelson * msw-proc.c (mswindows_enqueue_magic_event): Made extern. User by menubar-msw.c * event-msw.h: Prototype for mswindows_enqueue_magic_event * event-msw.c (mswindows_wm_timer_callback): Fixed counter of outstanding timer events (decremented only when KillTimer succeeds) (emacs_mswindows_remove_timeout): Ditto * console-msw.h: Added frame structure field for menu checksum * menubar-msw.c: Miscellaneous patches and bug fixes. 1997-12-30 SL Baur * emacs.c (main): Clarify calls to main_1. * data.c (Fcompiled_function_annotation): Hide DEFUN from make-docfile. * emacs.c (main_1): The invocation name requires recomputing when running after dumping. 1997-12-29 SL Baur * free-hook.c (check_free): Added explicit braces to avoid dangling else clause. * sound.c (Fplay_sound_file): Ditto. * process.c (set_process_filter): Ditto. * linuxplay.c (linux_play_data_or_file): Ditto. * regex.c (regex_compile): Ditto. 1997-12-28 SL Baur * emacs.c (main_1): Fix logic to run in place when XEmacs is a login shell. (main_1): New parameter restart. (main): Use it. * bytecode.h: Disable COMPILED_FUNCTION_ANNOTATION_HACK. * print.c (debug_short_backtrace): Guard call to Fcompiled_function_annotation. * alloc.c (disksave_object_finalization): Don't zero out load-history if history of pure symbols is desired. * lread.c (build_load_history): If LOADHIST_DUMPED is defined, add pure symbols to load-history. * emacsfns.h: New symbols added -- LOADHIST_DUMPED, define to get a history of dumped lisp. LOADHIST_BUILTIN, define to get a history of symbols defined in C source. 1997-12-23 Andy Piper * Conditionals to enable XEmacs to compile (not run!) under CygWin32. Files touched: events.c getloadavg.c mem-limits.h objects-msw.c select-msw.c sysdep.c * s/cygwin.h: New file. 1997-12-26 Kirill M. Katsnelson * menubar-msw.c, menubar-msw.h: New files. Menus support. * console-msw.h: Added frame menu hashtable variable. * gui.c: popup_up_p variable and Fpopup_up_p and separator_string_p functions are moved from gui-x.c * gui.h: New file declaring the above. It is #included into the following files: dialog-x.c gui-x.c menubar-x.c * emacs.c: Added calls to *_of_menubar_mswindows() * event-msw.c: Generalization of modal pump interface so it may be used bu menubars also. Some functions and vars renamed, to reflect more general approach (event_pump -> modal_loop) * frame-msw.c: Initialization and marking of menu hashtable. * msw-proc.c: Added handling for menu window messages. * opaque.c: opaque objects given hash and equal methods, so they can be compared with 'equal. Menubar uses opaque pointers as hash keys in an 'equal style hashtable. * Most of the above touched files: Eliminated compiler warnings. 1997-12-18 Hrvoje Niksic * elhash.c (print_hashtable): Use `%u' for fullness. (hashtable_equal): New function. (hashtable_equal_mapper): Ditto. * lread.c (vars_of_lread): Initialize Vread_buffer_stream here instead of in init_lread. 1997-12-26 P. E. Jareth Hein * glyphs-x.c (imagick_instantiate): Add in error and warning handling for ImageMagick files 1997-12-26 SL Baur * Makefile.in.in (distclean): Remove `xemacs.*'. 1997-12-22 SL Baur * device.c (vars_of_device): Provide `devices' feature so W3's devices.el emulation won't bloat XEmacs. * lread.c (Fload_internal): Strip path and extension when considering a file as a candidate for running after-load functions. 1997-12-20 Kirill M. Katsnelson * s/windowsnt.h: SIZEOF_SHORT set to 16 bits instead of 32, to get real. * redisplay-msw.c: (many functions): FillRect replaced with ExtTextOut where possible, which is much faster. (mswindows_redisplay_deadbox_maybe): New function which fixes deadbox, a square bounded by scrollbar ends and window corner (usually the lower right corner). * emacs.c (assert_failed): On Win32 platforms, when assertion fails, debugger break occurs if DEBUG_XEMACS is defined. * event-msw.c (mswindows_pump_outstanding_events): Fixed so two consequtive Fsignals are not lost. * scrollbar-msw.c (mswindows_update_scrollbar_instance_values): Added SBF_DISABLENOSCROLL flag so the bar is greyed out when all lines are visible. (mswindows_update_scrollbar_instance_status): Ditto for freshly assigned scrollbar. * scrollbar.c (Fscrollbar_set_hscroll): Fixed fitting scroll limits into range. 1997-12-18 Kirill M. Katsnelson * events-msw.c: Added support for modal event dispatch pump. This mechanism is for scrollbars and menus. * events-msw.h: Public declaration for the pump function. * msw-proc.c: Pump scrollbar misc user events through the brand new pump. Pumps! * scrollbar-msw.c: Minor range fixes. Added misc events for horizontal bar, which did not fix it... Thu Dec 18 09:53:12 1997 * objects-msw.c (mswindows_print_color_instance): Scale 8 bit RGB components up to 16 bit X sizes. (mswindows_string_to_color): numeric colors are #RRGGBB not #BBGGRR. * objects-msw.c (mswindows_color_instance_rgb_components): ditto * objects.c (Fcolor_instance_rgb_components): Document range of components as 0-65535. 1997-12-18 SL Baur * doc.c (verify_doc_mapper): Fix return value and argument list for map_obarray. * device-x.c: New variable -- Vx_app_defaults_directory. (x_init_device): Use locale directory searched from package-path. 1997-12-18 Kyle Jones * EmacsFrame.c: Added foregroundToolBarColor and foreground resources to the resources[] definition. Moved default gray8o color value from the bcakgroundToolBarCOlor resource to th background resource since the override order is now reversed in toolbar-x.c. Don't provide a default value for the foreground resource that the toolbar code looks at. * EmacsFrame.h: Define foregroundToolBarColor string for use in the resoruces code. * EmacsFrameP.h: Added foreground_toolbar_pixel slot to EmacsFramePart struct. * toolbar-x.c: Let the toolbar specific background resource override the global background resource. Added support for a toolbar specific foreground resource, which is not currently used for anything internally. 1997-12-17 Hrvoje Niksic * redisplay.c (decode_mode_spec): Comment fixup. * tooltalk.c (Freceive_tooltalk_message): Ditto. * search.c (Freplace_match): Ditto. * frame-x.c (x_frame_property): Ditto. * console.c (Fcurrent_input_mode): Ditto. * callint.c (Fcall_interactively): Ditto. * abbrev.c (Fexpand_abbrev): Ditto. * dired.c (file_name_completion): Use Qzero instead of make_int(0). * fileio.c (Finsert_file_contents_internal): Use report_file_error() to report reading error. * cmds.c (internal_self_insert): Don't self-insert if the expanded symbol's hook has a non-nil `no-self-insert' property; synch with FSF 20.2. * abbrev.c (Fexpand_abbrev): Return Vlast_abbrev, like in FSF 20.2. 1997-12-16 Hrvoje Niksic * abbrev.c (abbrev_match): User map_obarray() instead of crockishly copying it. (abbrev_match_mapper): New function. (Fexpand_abbrev): Check whether `pre-abbrev-expand-hook' has killed the buffer. * symbols.c (map_obarray): Accept a void * argument. (mapatoms_1): Adapt. (apropos_accum): Use fast_lisp_string_match(). (Fapropos_internal): Don't cons. (map_obarray): Stop mapping if FN returns non-zero. * marker.c (unchain_marker): Guard assert() with ERROR_CHECK_GC. (bi_marker_position): Guard assert() with ERROR_CHECK_BUFPOS. (set_bi_marker_position): Ditto. 1997-12-15 Hrvoje Niksic * fileio.c (Finsert_file_contents_internal): Use make_int when checking for overflow. (Finsert_file_contents_internal): Use EXTERNAL_LIST_LOOP. (Ffind_file_name_handler): Ditto. * dired.c (file_name_completion): Use noseeum_cons. (file_name_completion_unwind): Free the cons. 1997-12-16 * scrollbar.c: Add HAVE_MS_WINDOWS to scrollbar-page functions. * msw-proc.c: Handle scrolling events. * frame-msw.c: Initialize scrollbar width and height. This should not be necessary, since the window shouldn't be created until init_frame_2 * emacs.c: Call mswindows scrolbar setup when appropriate. * scrollbar-msw.c: Created for mswindows-scrollbar support. * scrollbar-msw.h: Ditto. 1997-12-16 Kirill M. Katsnelson * msw-proc.c: Minor bug in the middle button emulation code exterminated. * msw-proc.c: Character translation procedure reworked, so C-M-char keys now work properly. Keyboard layouts that use AltGr for third register characters are detected and handled. The code has been tested on French and UK keyboard layouts. * msw-proc.c: #if 0'ed remains of threaded code are removed. * event-msw.c: Mouse motion was incorrectly counted for a user event. * event-msw.c: lisp variables beginnig with w32- are renamed to begin with mswindows-. 1997-12-15 Hrvoje Niksic * fileio.c (Finsert_file_contents_internal): Use it. (Fcopy_file): Ditto. * sysdep.c (interruptible_open): New function. 1997-12-16 Kyle Jones * frame-x.c (x_init_frame_2): Don't call update_frame_title. Some modeline specs depend on f->device->selected_frame being non-nil and that will not be true during initialization of the first frame on a device. 1997-12-16 SL Baur * fileio.c: clean up paren levels between ifdefs. From Hrvoje Niksic 1997-12-15 P. E. Jareth Hein * glyphs-x.c (imagick_instantiate): Remove an assumption that all machines have LSB XImage support. 1997-12-14 Kyle Jones * Makefile.in.in: Moved $(OFFIX_O) from x_objs to X11_objs to avoid having its initialized global variables be dumped read-only. 1997-12-14 SL Baur * offix.c (DndSetData): Use standard INT_MAX instead of MAXINT. Replace with 1997-12-13 Kirill M. Katsnelson * msw-proc.c: added emulation for middle mouse button by chording left and right buttons * event-msw.c: added lisp variables for resize behavior and middle button emulation thresholds * msw-proc.c: {un}map-frame-hook now are not called directly from the window procedure, rather from magic event handler. * Formulated golden rule for calling lisp from window procedure: "NOOOOOO!". May be violated under circumstances although. * frame-msw.c: corrected problem with setting frame width and height properties, introduced by 95-style look. 1997-12-12 SL Baur * input-method-xlib.c (describe_XIC): Add casts, use unsigned long int. * eval.c (funcall_subr): Ifdef out as it is now unused. * emacsfns.h: Declare Fdisplay_error. * callint.c (Fquote_maybe): Don't use `==' on Lisp_Objects. 1997-12-12 Michael Sperber * fileio.c: Removed stillborn set-buffer-modtime. 1997-12-10 Hrvoje Niksic * elhash.c (hashtable_instantiate): If SIZE is nil, set it to length of DATA. (print_hashtable): Would bogusly print #(hashtable). (verify_function): Use XCAR. 1997-12-12 Hrvoje Niksic * elhash.c (print_hashtable_data_mapper): Use a C structure instead of consing. 1997-12-12 Hrvoje Niksic * callint.c (quotify_arg): Don't quotify vectors, keywords, bit-vectors and lambdas. (Fquote_maybe): New subr, from quotify_arg. (quotify_args): Use it. (Fcall_interactively): Ditto. 1997-12-11 Hrvoje Niksic * window.c (Fset_window_point): Ditto for Fgoto_char. (Fset_window_configuration): Ditto. * undo.c (Fprimitive_undo): Ditto for Fset_buffer_modified_p, Fgoto_char and Fdelete_region. * print.c (temp_output_buffer_setup): Ditto. * glyphs.c (make_string_from_file): Ditto. * glyphs-x.c (pixmap_to_lisp_data): Ditto for Ferase_buffer. (pixmap_to_lisp_data): Ditto for Fbuffer_substring. * bytecode.c (Fbyte_code): Use Qnil instead of Fcurrent_buffer() when calling functions that use decode_buffer() internally -- it is faster. Change done for Fgoto_char, Fchar_after, Ffollowing_char, Fpreceding_char, Findent_to, Feolp, Feobp, Fbolp, Fbobp, Fforward_char, Fforward_word, Fskip_chars_forward, Fskip_chars_backward, Fforward_line, Fbuffer_substring, Fdelete_region, Fnarrow_to_region, Fwiden, Fend_of_line, Fupcase and Fdowncase. 1997-12-11 Jonathan Harris , Kirill M. Katsnelson * The first collegial patch in the xemacs-nt history. Well... * device-msw.c, event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: xemacs is now single-threaded application. Due to this, the problem with crash during input events in GC got resolved. * xemacs frames are given "95ish" look with raised border. * stop character (ctrl+g) now works. SIGINT (ctrl+c or ctrl+break at the console) is still broken although. * frame "as lisp object" is now stored in window-associated space provided by the system. This enables obtaining frame object given window handle in constant time. * mswindows_cancel_dispatch_event() now has limited handling for key_press_event's in addition to timeout_event's. 1997-12-11 SL Baur * intl.c (init_intl_very_early): Force LC_NUMERIC to "C". * input-method-xfs.c (Initialize_Locale): Ditto. * input-method-motif.c (Initialize_Locale): Ditto. * input-method-xlib.c (Initialize_Locale): Ditto. Suggested by Didier Verna and Martin Buchholz 1997-12-10 Karl M. Hegbloom * config.h.in: #undef MAGICK_HEADERS_ARE_UNDER_X11 * glyphs-x.c: #ifdef MAGICK_HEADERS_ARE_UNDER_X11 added. 1997-12-11 SL Baur * glyphs-x.c (_XOS_H_): Try to avoid including Xos.h on Solaris. Suggested by Samuel Tardieu 1997-12-11 David Hobley * pure.c: Removed WINDOWSNT conditional. 1997-12-10 SL Baur * Makefile.in.in: Doc changes, update dependencies. * frame-x.c (x_init_frame_1): Remove unused variable. * fns.c (internal_equal): Guard label with ifdef. (internal_old_equal): Ditto. * symsinit.h: Declare structure_type_create_hashtable. * elhash.c (finish_marking_weak_hashtables): Move unused variable so gcc doesn't complain about it. * elhash.h: Declare new weak hashtables. * elhash.c (print_hashtable): Fix format. 1997-12-10 Hrvoje Niksic * frame-tty.c (tty_raise_frame_no_select): Use LIST_LOOP. (tty_lower_frame): Ditto. * faces.c (face_validate): Don't check for doubly defined keywords; the reader does that. * emacs.c (main_1): Call structure_type_create_hashtable(). * general.c (syms_of_general): Added Qtest and Qsize. * elhash.c (structure_type_create_hashtable): New function. (hashtable_type_validate): Ditto. (hashtable_test_validate): Ditto. (hashtable_size_validate): Ditto. (hashtable_data_validate): Ditto. (hashtable_instantiate): Ditto. * extents.c (extent_putprop): Made it work. (extent_remprop): Ditto. 1997-12-08 Kirill M. Katsnelson * device.h: device::fdin and device::fdout are now defined for systems which do not HAVE_UNIXOID_EVENT_LOOP. * device-tty.c, process.c, signal.c: call to signal_fake_event() bracketed out by #ifdef HAVE_UNIXOID_EVENT_LOOP / #endif directives. * signal.c: For Win32 systems, longjmp in signal handler excluded * nt.c, syssignal.h, systime.h: emulation for SIGALRM and SIGPROF and setitimer for Win32 platforms. Profiling now works. * emacs.c: calls to syms_of_profile and vars_of_profile enabled on Win32 platforms. * ntproc.c: handling of SIGCHLD now done by the common signal faking mechanism. (To no avail - subprocesses still broken) * s/windowsnt.h: Signal constants added * redisplay-msw.c: "Sticky" beep which blocked XEmacs until the sound finishes is now repaired 1997-12-06 Jonathan Harris * frame-msw.c, msw-proc.c Further changes to resizing code so that changing default font, either in .emacs or later, works properly. * msw-proc.c Minor optimization: Mouse movement events aren't generated while the user is resizing the frame. Function keys are returned lower-case. 1997-12-09 P. E. Jareth Hein * glyphs-x.c (imagick_instantiate): fix it so that it works properly for PseudoClass files. Still needs some thinking for full color... Also added support for old image instantiators in various places using the OLDCOMPAT define 1997-12-08 Kyle Jones * event-stream.c (Faccelerate_menu): Check for the existence of a menubar associated with the selected frame before trying to use it. Signal an error if there is no menubar. 1997-12-06 P E Jareth Hein * device-x.c: Change -privcmap to -privatecolormap. * events.c: corret minor think-o. 1997-12-04 Jonathon Harris * event-msw.c, faces.c, msw-proc.c: Frame resizing happens in multiples of the default character size. * frame-msw.c: mswindows_set_frame_size() and mswindows_set_frame_properties() now call AdjustWindowRect to set the correct window size. 1997-12-04 Jeff Sparkes * frame-msw.c: added frame functions for move, resize, iconify, raise, lower, visible_p, iconified_p, focus, make visible, make invisible, set title. 1997-12-01 Jonathon Harris * event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: - Implemeted simple emacs_mswindows_event_pending_p(). - Fixed deleting frames. - Rewrote timeout code, eliminating "!NILP(rest)" bug. - Special processing for 'Ctrl-@' keystroke. - Support for some new keysyms. 1997-12-03 Hrvoje Niksic * lstream.c (make_stdio_stream_1): Set it. (make_filedesc_stream_1): Ditto. (finalize_lstream): Use it. * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. 1997-11-29 Jeff Miller * menubar-x.c: define restore_in_menu_callback() when motif menubars are used. * menubar-x.c: change #ifdef LWLIB_MENUBARS_MOTIF to #if defined LWLIB_MENUBARS_LUCID || defined LWLIB_MENUBARS_MOTIF around code for incremental menu build. * event-stream.c: Changed HAVE_MENUBARS to HAVE_MENUBARS_LUCID in the #ifdef wrappers around menubar accelerator stuff. 1997-12-05 SL Baur * keymap.h: update describe_map_tree prototype 1997-12-03 Hrvoje Niksic * lstream.c (make_stdio_stream_1): Set it. (make_filedesc_stream_1): Ditto. (finalize_lstream): Use it. * lstream.h: New flag LSTREAM_FL_CLOSE_AT_DISKSAVE. 1997-12-03 Hrvoje Niksic * editfns.c (save_excursion_restore): Fix comment. * fns.c (Fmapvector): GCPRO the vector. 1997-12-01 Hrvoje Niksic * cmdloop.c (default_error_handler): Respect errors-deactivate-region; use display-error. * editfns.c (vars_of_editfns): New variable user-full-name. (init_editfns): Initialize it. (Fuser_full_name): Use it. (vars_of_editfns): Docfixes. * dired.c (Fdirectory_files): Use FORMAT_FILENAME instead of FORMAT_BINARY. (make_directory_hash_table): Ditto. (file_name_completion): Bind `completion-ignore-case' to t under MS Windows. (file_name_completion): Signal an error if a member of `completion-ignored-extensions' is not a string. 1997-11-30 Hrvoje Niksic * doc.c (Fsubstitute_command_keys): Don't use Vprin1_to_string_buffer. * keymap.c (describe_map_tree): Accept a BUFFER argument. (describe_map): Ditto. (describe_command): Ditto. 1997-11-29 Hrvoje Niksic * insdel.c (signal_before_change): Don't treat Vprin1_to_string_buffer specially. (signal_after_change): Ditto. * buffer.c (Fkill_buffer): Don't treat Vprin1_to_string_buffer specially. (complex_vars_of_buffer): Ditto. * print.c (Ferror_message_string): Use Vprin1_to_string_stream. * events.c (Fmake_event): Changed error message. * print.c (Fprin1_to_string): Use a resizing-buffer stream. 1997-12-03 Hrvoje Niksic * buffer.c (Fkill_buffer): Use EXTERNAL_LIST_LOOP. (Fget_file_buffer): Use LIST_LOOP. 1997-12-02 Hrvoje Niksic * editfns.c (save_excursion_save): Don't save VISIBLE-P. (save_excursion_restore): Changed accordingly. (save_excursion_restore): Free the markers and conses even if the buffer is dead. (save_restriction_restore): Use XCAR/XCDR. (Fencode_time): Use XCAR/XCDR, when safe. * menubar.c (Fnormalize_menu_item_name): Use INC_CHARPTR; allow `%%' to mean `%'. * minibuf.c (regexp_ignore_completion_p): Use EXTERNAL_LIST_LOOP; check type of list elements. * dired.c (file_name_completion): Set up a proper unwind form. (file_name_completion_unwind): New function. (file_name_completion): Allow errors. * line-number.c (invalidate_line_number_cache): Would lose in precence of Finsert_before_markers. (narrow_line_number_cache): Only mark LINE_NUMBER_BEGV as dirty. (buffer_line_number): Recalculate LINE_NUMBER_BEGV on demand. (buffer_line_number): Would ignore LINE_NUMBER_FAR. 1997-12-01 Hrvoje Niksic * fns.c (Fmapvector): Don't stack-allocate args; allocate the vector and call mapcar1 with its data. 1997-12-02 P E Jareth Hein * objects-x.c: Added colormap/visual support, rewrote allocate_nearest_color, and changed the x-color-instance to deal with possibly not freeing a color. * objects-x.h: Added dealloc_on_gc flag for x-color-instances. * redisplay-x.c: Added colormap/visual support. * balloon-x.c: Added colormap/visual support. * console-x.h: Added colormap/visual support by adding visual, depth and colormap slots to a device. * device-x.c: Added colormap/visual support with the command line options "-privcmap" and "-visual" and Xresources ".privateColormap" and ".EmacsVisual". Also changed the device-init so that the app-shell is always realized to properly deal with GCs (previously only realized when OFFIX was supported), and added the x-display-visual-depth lisp function to complement x-display-visual-class. * event-Xt.c: Added colormap/visual support, and stuck in a patch/hack to change the way Xt inherits visuals to match the way it inherits colormaps. * frame-x.c: Added colormap/visual support. * glyphs-x.c: Added colormap/visual support. Will probably need a lot more work. 1997-11-27 Kyle Jones * src/keymap.c (munging_key_map_event_binding): Don't do the meta char hack when processing key-translation-map. Return nil if the map to be processed (function-key-map or key-translation-map) is not a keymap. 1997-11-27 SL Baur * device-msw.c: Turn on italic flag if appropriate * objects-msw.c: Set device-class to color. From Jeff Sparkes * glyphs-x.c: Should include since that is what is autodetected by configure. 1997-11-26 SL Baur * events.c (Fmake_event): correct type bug. From Colin Rafferty 1997-11-26 Kyle Jones * lisp-disunion.h (VALMASK): Use 1UL instead of 1L to shut up Sun's niggling compiler warnings about integer overflow. * print.c (Fprin1_to_string): Don't change and restore the current buffer; no buffer change is needed to accomplish the task. 1997-11-23 Jeff Miller * Makefile.in.in removed energize support * buffer.c removed energize support * config.h.in removed energize support * console-x.h removed energize support * doc.c removed energize support * emacs.c removed energize support * extents.c removed energize support * extents.h removed energize support * frame-x.c removed energize support * gui-x.c removed energize support * menubar-x.c removed energize support * process.c removed energize support * puresize.h removed energize support * symsinit.h removed energize support * sysproc.h removed energize support * syssignal.h removed energize support * undo.c removed energize support * window.c removed energize support * energize.c removed * energize.h removed 1997-11-23 Kyle Jones * faces.c (face_property_was_changed): Don't call update_faces_inheritance, it isn't needed. 1997-11-22 Kyle Jones * redisplay-x.c (x_flash): Flash the root window area instead of the entire frame area. * frame.h: Added echo_area_garbaged field to frame struct. * frame.c (change_frame_size_1): Set the echo_area_garbaged flag in a frame that has been resized. * redisplay.c (redisplay_frame): Clear echo_area_garbaged flag on frame after displaying the frame. (Fredisplay_echo_area): Clear echo_area_garbaged flag on frame after displaying in echo area. * redisplay.c: Added hscroll_glyph_width_adjust field to position_redisplay_data_type struct. (add_hscroll_rune): Compute the difference in width between the hscroll glyph and a canonical space; store it in data->hscroll_glyph_width_adjust. (create_text_block): In tab field computation, adjust left margin to account for the difference between the width of the hscroll glyph and the width of a canonical space. 1997-11-19 Kyle Jones * Emacs.ad: Change uses of Gray75 to Gray80. Don't set modeline colors here. * EmacsFrame.c: Fetch "background" resource for use by the toolbar initialization code; default this fetched value to -1 if it is unspecified, which is different from what is found in ef->core.background_pixel in that case. * EmacsFrame.h: Define macros for "Background" and "background" resource strings. * EmacsFrameP.h: Added background_pixel field to EmascFrmaePart struct. * toolbar-x.c (x_initialize_frame_toolbar_gcs): Added code to use the global background resource as the toolbar background color if it is sepcified. Otherwise fall back to the backgroundToolBarColor resource. 1997-11-17 Marc Paquette * callproc.c (Fcall_process_internal): Fix for bug in CRLF -> LF conversion. 1997-11-19 Jonathan Harris * redisplay-msw.c: Calls GdiFlush() in _ouput_end, _clear_frame and _redraw_exposed_area * frame-msw.c: mswindows_init_frame_2 Sets frame's pixel width and height 1997-11-19 Kyle Jones * callproc.c (call_process_cleanup): Actaully wait for the process, rather than not doing it and saying we did. 1997-11-20 Hrvoje Niksic * callproc.c (Fcall_process_internal): Close fd_error. 1997-11-19 Didier Verna * emacs.c (main_1): Added the missing argmatch call to check for the '-h' option. 1997-11-18 SL Baur * mule-coding.h: Replace freshly broken ENCODE_SJIS and DECODE_SJIS macros with working versions from beta4. 1997-11-17 Kyle Jones * frame-x.c (x_init_frame_1): Set frame visibility flag to 1 immediately so that echo area message are displayed in it promptly. * redisplay.c (Fredisplay_echo_area): If frame has changed, clear it to avoid garbled messages. * window.c (set_window_pixsize): Restore the bail out if no size change, but do it after the loop that recomputers major child corner coordinates. * keymap.c (describe_map_mapper): Recognize the buttonXup keysyms as mouse bindings. 1997-11-17 Tor Arntsen * Makefile.in.in (update-elc.stamp): Add temacs to dependency. 1997-11-16 Kyle Jones * Added suport for toolbar borders. * EmacsFrame.c: Added X resources for new toolbar borders. (EmacsFrameSetValues): Added Fadd_spec_to_specifier calls to move resourced toolbar border width data into the speciifers. * EmacsFrame.h: Defined X resource strings for toolbar border width resources. * EmacsFrameP.h: Added toolbar border width fields to the EmacsFramePart struct. * console.h: Added toolbar_border_width_changed_in_frame_method field to struct console. * events.c (event_x_y_pixel_internal): Factor the toolbar border into pixel offset. * frame.c: Document new toolbar border width speciifer as being usable as frame properties. (frame_conversion_internal): Factor the toolbar border widths into the geometry calculations. (change_frame_size_1): Ditto. * frame.h: Added field to struct frame for toolbar border widths. Modified geomtry macros and created others in support of the new toolbar border widths. * frameslot.h: Added a default_toolbar_border_width slot. * redisplay-x.c (x_clear_frame): Factor the toolbar border widths into the geometry calculations. * toolbar-x.c (x_draw_blank_toolbar_button): Add support for drawing a border along with the blank button. Accept border_width and vertical args. (x_output_toolbar_button): Added support for drawing a border along with the button. (X_OUTPUT_BUTTONS_LOOP): Pass border_width and vert args to x_draw_blank_toolbar_button. Set vertical and border_width fields in toolbar button. (x_output_toolbar): Support toolbar border widths. (x_toolbar_size_changed_in_frame_1): Mark all toolbar buttons in the change toolbar as dirty so that they are refreshed if had been painted over. New function: x_toolbar_border_width_changed_in_frame. Used it as a console method. * toolbar.c: New function: mark_frame_toolbar_buttons_dirty. New function: toolbar_border_width_changed_in_frame. Used it as a specifier frame slot change method. (get_toolbar_coords): Factor the toolbar border widths into the geometry calculations. (Fset_default_toolbar_position): Update the fallback border width specifiers for the affected toolbar positions. (specifier_vars_of_toolbar): Added specifiers for the toolbar border widths. * toolbar.h: Added vertical and border_width field to the toolbar button struct. * window.h: Added default_toolbar_border_width slot to window struct, along with four slots for the four window local toolbar border width values. 1997-11-16 Kyle Jones * frame-x.c: Fixed typo in the documentation of the top-toolbar-shadow-color frame property. 1997-11-16 Skip Montanaro * redisplay.c: suppress buffer computation in several places if MULE is not defined. 1997-11-16 Hrvoje Niksic * events.c (print_event): Use `event-x-pixel' and `event-y-pixel', to be consistent with `make-event' and `event-properties'. (Fmake_event): Allow nil dnd-data. 1997-11-15 Jonathan Harris * console.h mswindows is now a window-system according to CONSOLE_TYPESYM_WIN_P * device.msw.c Now calls init_baud_rate & init_one_device * msw-proc.c Fixed C-key so key is returned unshifted * redisplay-msw.c Modeline and vertical divider appearance tweaks 1997-11-14 SL Baur * console.c (Fsuspend_emacs): Fix docstring. Evaluating `suspend-hook' cannot stop suspension. 1997-11-14 Marc Paquette * callproc.c (Fcall_process_internal): Do CRLF -> LF conversion when reading process output. 1997-11-14 Hrvoje Niksic * redisplay.c (init_redisplay): Handle not having DISPLAY and not having TTY support. 1997-11-14 Hrvoje Niksic * events.c (Fmake_event): Support DND events. 1997-11-10 Hrvoje Niksic * events.c (Fmake_event): Reenable the event creation code. (Fmake_event): Canonicalize the plist. 1997-11-13 SL Baur * mule-charset.c (Fcharset_id): Typecast result to Lisp_Object. * mule-ccl.c (CCL_WRITE_STRING): Reorder parens to avoid compiler barf on Lisp_Object. (Fregister_ccl_program): Remove unused variable idx. * mule-canna.c: Fix declaration of mule_strlen(). * mule-coding.h (ENCODE_SJIS): Parenthesize first two params to avoid compilation problems. 1997-11-13 Olivier Galibert * mule-charset.h: Added preliminary support for charset Ids. * mule-charset.c: Added preliminary support for charset Ids. * redisplay-msw.c (separate_textual_runs): Synched with FSF 20.2 ccl API. * redisplay-x.c (separate_textual_runs): Synched with FSF 20.2 ccl API. * mule-coding.c: Synched with FSF 20.2 ccl API. * mule-coding.h: Moved ccl part to mule-ccl.h. * mule-ccl.c: Synched with FSF 20.2. * mule-ccl.h: New file. Thu Nov 13 21:34:13 1997 Marc Paquette * nt.c (REG_ROOT): Use a registry key different that the one for NTEmacs. 1997-11-12 SL Baur * lrecord.h: Fix typo in set_lheader_implementation. From: Robert Pluim 1997-11-13 Olivier Galibert * configure.in: Remove HAVE_TIMEZONE_DECL test. 1997-11-13 Olivier Galibert * s/freebsd.h: Remove HAVE_TIMEZONE_DECL forced value. * config.h.in: Remove HAVE_TIMEZONE_DECL reference. * systime.h: Remove timezone conditional declaration. 1997-11-12 Kyle Jones * console.c: Use symbol_value_forward_lheader_initializer in various DEFVAR* macros. Forgot this in previous related patch. * lisp-disunion.h: Provide a no-op XUNMARK macro for the GC error checking code even if GCMARKBITS is not greater than 0. * lisp-union.h: Ditto. 1997-11-10 Hrvoje Niksic * event-stream.c: Make echo_keystrokes a Lisp_Object. (maybe_echo_keys): Adapt to that. 1997-11-11 SL Baur * eval.c (throw_or_bomb_out): Remove abort. Suggested by: Kyle Jones 1997-11-11 Kyle Jones * Added support for referencing lrecord_implementations via an index in an lrecord_header rather than a raw pointer. Also added a mark bit and a pure bit. * alloc.c: Made lrecord_type_index() and lrecord_implementations_table[] global, previously they were static. Used new XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION macros to access lrecord_implementations found in Lisp_Objects and lrecord_headers instead of referencing ->implementation. (gc_record_type_p): For USE_INDEXED_LRECORD_IMPLEMENTATION, there's no need to check for equality to type or type + 1. lrecords are no longer marked by incrementing the implementation pointer. (init_alloc_once_early): Initialized subr and symbol_value_forward lrecord indexes early so that the staticly defined subrs and symbol_value_forward object indexes match the lrecord_implementations_table. * buffer.c: Used symbol_value_forward_lheader_initializer in various DEFVAR* macros. Used new XRECORD_LHEADER_IMPLEMENTATION macro. * elhash.c: Used new XRECORD_LHEADER_IMPLEMENTATION macro. * fns.c: Used new XRECORD_LHEADER_IMPLEMENTATION macro. * lisp.h: Defined subr_lheader_initializer macro, used it in DEFUN macro. * lrecord.h: For USE_INDEXED_LRECORD_IMPLEMENTATION, changed lrecord_header to contain an index into lrecord_implementations_table[], plus a mark bit and a pure bit. Added support code for this. Defined new XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION macros to be used to find the lrecord_implementation of a Lisp_Object. * print.c: Used new XRECORD_LHEADER_IMPLEMENTATION and LHEADER_IMPLEMENTATION macros. * symbols.c: Used symbol_value_forward_lheader_initializer in definition of guts_of_unbound_marker. * symeval.h: Defined symbol_value_forward_lheader_initializer macro. Used symbol_value_forward_lheader_initializer in various macros. Used new XRECORD_LHEADER_IMPLEMENTATION macro. 1997-11-10 SL Baur * window.c (set_window_pixsize): Remove unused variable. * extents.c (print_extent_1): Fix type check error in sprintf. * doc.c (Fsnarf_documentation): Remove unused label weird_function. * symsinit.h: Restore declaration of vars_of_dialog_x. * database.c (Fopen_database): Fix unused variable message. * sysdep.c (sys_subshell): vfork() is a demented, obsolete hack. * offix.c (struct): Make ImageData, MaskData be unsigned char *. * event-Xt.c (x_event_to_emacs_event): Clean up typecasting. * frame-x.c (Foffix_start_drag_internal): Ditto. 1997-11-09 Kyle Jones * extents.c (print_extent_1): Use %lx instead of %p to get the same output on all compilers. 1997-11-09 Hrvoje Niksic * line-number.c: Use markers. * redisplay.c (window_line_number): Restored. * line-number.c (allocate_line_number_cache): Account for narrowing. (buffer_line_number): New function. * line-number.c (get_nearest_line_number): New function. (window_line_number): Use it. (narrow_line_number_cache): New function. (invalidate_line_number_cache): Ditto. (insert_invalidate_line_number_cache): Ditto. (delete_invalidate_line_number_cache): Ditto. (add_line_number): Ditto. * editfns.c (widen_buffer): Update line number cache. (Fnarrow_to_region): Ditto. (save_restriction_restore): Ditto. * insdel.c (buffer_insert_string_1): Invalidate cache for insertion. (buffer_delete_range): Invalidate cache for deletion. * line-number.c: New file. (window_line_number): Moved from redisplay.c. * print.c (debug_print): Print a carriage return, too. * bufslots.h: New slot `line_number_cache'. 1997-11-09 Kyle Jones * event-stream.c: New Lisp variable: last-command-event-time. 1997-11-08 SL Baur * lread.c (init_lread): start from lisp, not lisp/prim. * Makefile.in.in: lisp/prim does exist any more. 1997-11-07 Kyle Jones * abbrev.c (abbrev_lookup): Don't delete dash at the abbrev start location; abbrev-prefix-mark no longer inserts one. Wed November 05 23:40:00 1997 * fileio.c: insert-file-contents-internal Added a bodge to do CRLF->LF conversion of text files, conditioned on DOS_NT. This is currently only one-way, so all text files written by XEmacs will be UNIXified. CRLF conversion is required to make bytecompile work. * Added file headers to: console-w32.c, console-w32.h, device-w32.c, event-w32.c, event-w32.h, frame-w32.c, objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c Sun November 01 12:00:00 1997 * redisplay-x.c: x_output_vertical_divider: If HAVE_SCROLLBARS was not defined, coordinate of the right of the divider was being used unitialised. * console.h: Added Qw32 and CONSOLE_W32* macros, conditioned on HAVE_W32GUI. * emacs.c: Added calls to the following, conditioned on HAVE_W32GUI: syms_of_*_w32, vars_of_*_w32, console_type_create_*w32. * event-stream.c: Conditioned on HAVE_W32GUI: - vars_of_event_stream calls vars_of_event_w32. - init_event_stream calls init_event_w32_late. * events-mod.h: Removed comment about having alternative making MOD_* constants for different windowing systems. * events.c: Conditioned on HAVE_W32GUI: - event-equal: Added case for w32 magic events. - event-hash: Added case for w32 magic events. * events.h: Conditioned on HAVE_W32GUI: Added struct underlying_w32_event to magic_data. * faces.c: complex_vars_of_faces Added fallbacks for w32 faces, conditioned on HAVE_W32GUI. * frame.c: set-frame-properties Added reference to default-w32-frame-plist to docstring. * general.c: Added new Lisp_Object Qw32 and defsymbol. * redisplay-output.c: redisplay_update_line Conditioned reference to stupid_vertical_scrollbar_drag_hack on HAVE_X_WINDOWS. This will need a proper fix when w32 gets scrollbars. * redisplay-tty.c: init_tty_for_redisplay Conditioned blocking and unblocking of SIGTTOU on !WIN32 because these signals don't exist under win32. * redisplay.c: init_redisplay Initialise window system to w32, conditioned on HAVE_W32GUI. * symsinit.h: Added syms_of_*_w32, vars_of_*_w32 and init_event_w32_late. * sysdep.c: Conditioned various things on WIN32 in addition to MSDOS. * New files: console-w32.c, console-w32.h, device-w32.c, event-w32.c, event-w32.h, frame-w32.c, objects-w32.c, objects-w32.h, redisplay-w32.c, w32-proc.c 1997-11-07 Hrvoje Niksic * doc.c (Fdocumentation_property): GCPRO doc. (Fsubstitute_command_keys): Disallow zero bsize. 1997-11-06 Hrvoje Niksic * events.c (Fevent_modeline_position): Return nil if event is not over modeline, as the docstring says. 1997-11-05 Martin Buchholz > * s/aix3-1.h: Remove ^L character wich confuses AIX make. 1997-11-06 Tomasz Cholewo * event-stream.c (Fnext_command_event): Document keystroke echoing. 1997-11-06 Hrvoje Niksic * fns.c (Ffeaturep): Use call1, to prevent stack thrashing with circular lists. - Update docstring. 1997-11-06 Kyle Jones * frame-x.c (x_delete_frame): Removed code that blocked the deletion of popup frames. No need for it. 1997-11-05 SL Baur * balloon_help.h: Replace with "xintrinsic.h" * balloon_help.c: Ditto. * offix.h: Ditto. * mule-coding.c (coding_system_charset): Add prototype. 1997-11-04 Kazuyuki IENAGA * s/freebsd.h: Add HAVE_TIMEZONE_DECL. Configure will fail at checking for the existence of `extern long timezone'. FreeBSD actualy has the `timezone', but due to its and , it cannot be recognized by configure. 1997-11-03 Hrvoje Niksic * data.c (Fsubr_interactive): New function. 1997-11-03 Kyle Jones * frame.c (change_frame_size_1): Added explanatory comment. * window.c (set_window_pixsize): Don't bail out before looping over the major children if there is no size change indicated. The top and left coordinates may need to be recomputed, e.g. in toolbar visibility updates. 1997-11-02 Kyle Jones * fileio.c (Ffile_truename): Make the errno == EACCES case behave the same as errno == ENOENT. 1997-11-03 Kyle Jones * frame.c (Fframe_property, Fframe_properties): Check for minibuffer-onlyness of frame before checking whether it has a minibuffer. This makes the minibuffer property value be reported as 'only when that is appropriate. The check order was reversed which resulted in minibuffer-only frames having the minibuffer property reported as t. 1997-11-02 Andreas Jaeger * m/vax.h: * s/cxux.h: * s/xenix.h: * s/umax.h: * s/msdos.h: * s/template.h: * termcap.c: * signal.c: * lread.c: * callproc.c * buffer.c: Remove VMS dependent code. 1997-11-02 Andreas Jaeger * syspwd.h: * systty.h: * systime.h: * syssignal.h: * sysproc.h: * sysfloat.h: * sysfile.h: * regex.h: * process.h: * ndir.h: * mule-mcpath.h: * getpagesize.h: * sysdep.h: * fileio.c: * process.c: Remove old VMS code. 1997-11-02 SL Baur * glyphs-x.c: Use instead of 1997-11-02 Andreas Jaeger * sysdep.c: * getloadavg.c: * malloc.c: Remove old VMS code. 1997-11-02 Hrvoje Niksic * database.c (print_database): Don't use a static buffer to store file name. * dired.c (make_directory_hash_table): Ditto. * fileio.c (Ffile_truename): Use `make_ext_string' instead of `make_string'. 1997-11-01 Hrvoje Niksic * database.c (CONCHECK_DATABASE): Define. * dired.c (Fdirectory_files): Use `make_ext_string' instead of `make_string', to avoid crashes under Mule. (file_name_completion): Use `make_ext_string'. * database.c (new_database): Renamed to `allocate_database', as per coding conventions. 1997-11-02 Andreas Jaeger * dired.c: Remove VMS dependent code. 1997-11-01 Kyle Jones * buffer.h: Change XCHAR_OR_CHAR_INT to use XCHAR or XINT as appropriate instead of using XREALINT. * regex.c (re_search_2): cast translate[*d] to unsigned char when indexing fastmap to avoid sign change when value has the 0x80 bit set. 1997-10-31 SL Baur * linuxplay.c (audio_init): Update for newer Linux kernels. From Robert Bihlmeyer 1997-11-01 Hrvoje Niksic * fileio.c (Finsert_file_contents_internal): Fix misleading comment. 1997-10-31 Kyle Jones * callproc.c: GC protect current_dir while infile and error_file are being initialized. 1997-10-30 SL Baur * config.h.in: Remove HAVE_GIF, HAVE_JPEG, HAVE_PNG, HAVE_TIFF and replace with HAVE_IMAGEMAGICK. 1997-10-30 Kyle Jones * process.c (Fprocess_send_string): Protect against SIGPIPE when flushing outstream. 1997-10-30 SL Baur * input-method-xfs.c: Xlocale.h must be included after config.h. * input-method-motif.c: ditto. * input-method-xlib.c: ditto. 1997-10-28 Kyle Jones * Under LRECORD_VECTOR, moved vectors from being an basic lrecord tpye to an lcrecord. Added support for 31 bits Lisp integers. Added support for maskless pointers to Lisp objects. * alloc.c (allocate_lisp_storage): Use XSETOBJ instead of XSETCONS to avoid tripping the ERROR_CHECK_TYPECHECK code with uninitialized data. XSETCONS used to work until it became an lrecord type. Removed sweep_vectors_1, all_vectors and other vector specific GC related objects in the LRECORD_VECTOR case, as they are unneeded now that lrecord-based vectors are lcrecords. Added `equal' methods for lrecord-based conses, vectors and strings. I was mistaken before; they are needed. (pure_cons): moved XSETCONS call to after the set_lheader_implementation call, to avoid tripping the type checking code on an uninitialized implementation pointer. (make_pure_vector): moved XSETVECTOR call to after the set_lheader_implementation call, to avoid tripping the type checking code on an uninitialized implementation pointer. (Fpurecopy): return if given a null pointer. THis can happen when initializing Qnil. (mark_object): return if passed a null pointer. I think this can happen when marking through some kind of objects that contain Lisp_Objects and null pointers. (marked_p): Ditto * buffer.c (mark_buffer): Don't mark conses in the indirect children list is said list is in fact a null pointer. The indirect children list gets reset to a null pointer when a bfufer is killed. (complex_vars_of_buffer): initialize indirect_children slow of Vbuffer_local_symbols and Vbuffer_defaults to nil. * chartab.c (Fcheck_category_at): Don't use XREALINT to extract a char from a Lisp_Object, use XCHAR instead. (Fchar_in_category): Ditto. * data.c (eq_with_ebola_notice): Use XCHAR_OR_INT instead of XREALINT to extract data from a Lisp_Object that could contain a charater or an integer. (make_int): use XSETINT in the USE_MINIMAL_TAGBITS case. (make_char): use XSETINT in the USE_MINIMAL_TAGBITS case. (Flsh): XUINT is gone; use XINT instead. * elhash.c (elisp_hvector_malloc): Use Qnull_pointer instead of Qzero, as Qzero is no longer guaranteed to contain an all-zero bit pattern. (make_lisp_hashtable): Ditto. (Fcopy_hashtable): Ditto. * emacsfns.h Conditionalize the declaration of make_char() on whether a make_char macro exists or not. * fns.c (internal_equal): Conditionalize existence of cons, string and vector comparison code on whether they are lrecord-based. (internal_old_equal): Ditto. * lisp-disunion.h USE_MINIMAL_TAGBITS support. 31 bit Lisp integer support. Conditionalized existence of markbit related macros on the existence of a markbit in a Lisp_Object. There are no markbits in the USE_MINIMAL_TAGBITS implementation of a Lisp_Object. Replaced XUINT with XPNTRVAL. Added declaration for Qnull_pointer. * lisp-union.h USE_MINIMAL_TAGBITS support. 31 bit Lisp integer support. Conditionalized existence of markbit related macros on the existence of a markbit in a Lisp_Object. There are no markbits in the USE_MINIMAL_TAGBITS implementation of a Lisp_Object. Replaced XUINT with XPNTRVAL. Added a make_char macro, similar to the make_int macro, for use with the GCC-specific XMAKE_LISP hack. * lisp.h USE_MINIMAL_TAGBITS support. 31 bit Lisp integer support. Added GCMARKBITS macro to specify how many markbits a Lisp_Object contains. Support for lcrecord-based vectors. Added XCHAR_OR_INT for accessing data in an object that might contain either a character or an integer. Made HACKEQ_UNSAFE use XCHAR_OR_INT instead of XREALINT during its Ebola check. * print.c Made the printing code undestand the split Lisp integer type. * symbols.c Added declaration for Qnull_pointer. 1997-10-27 Martin Buchholz * m/ibmrs6000.h: * s/aix3-2.h: C_SWITCH_SYSTEM ==> configure.in * s/aix4-1.h: -li18n ==> configure.in * s/aix4.h: Always include strings.h * config.h.in: Add AIXV3 define, suggested by xmkmf. Remove AIX_SMT_EXP. * unexaix.c: Fix nested comments compiler warning 1997-10-27 Kyle Jones * profile.c (sigprof_handler): Don't call XUNMARK on fun, it isn't needed. * faces.c (face_property_matching_instance): Check for charset == Qunbound, which it can be if the character set is unspecified. 1997-10-27 SL Baur * mule-wnnfns.c (vars_of_mule_wnn): Provide 'wnn feature. * mule-canna.c (vars_of_mule_canna): Provide 'CANNA feature. 1997-10-27 Kazuyuki IENAGA * device-x.c (x_init_device): To avoid crazy menubars due to lack of suitable font loading. Disabled locale based app-defaults loading when menubars=motif or menubars=lucid + xfs feature is not used. Currently, the menubar resource has no effect for tty use. 1997-10-25 Andreas Jaeger * README: Remove references to VMS. * vlimit.h: * s/vms5-5.h: * s/vms4-4.h: * s/vms4-2.h: * s/vms4-0.h: * s/vms.h: Remove files since VMS isn't supported any more. 1997-10-25 Kyle Jones * toolbar.h: Reduce MINIMUM_SHADOW_THICKNESS to 1. 1997-10-24 Andreas Jaeger * database.c: Added support for Berkeley DB 2.x. 1997-10-23 SL Baur * alloc.c: Disable purespace statistics unless --debug is in effect. * console-stream.c (init_console_stream): At the price of a tiny memory leak, reinitialize FILE fields of the console. From Tonny Madsen * emacs.c: New variable `inhibit_package_init'. (vars_of_emacs): Use it. (main_1): Initialize from command line. * Makefile.in.in (xemacs): Specify -vanilla when searching for shadows. * emacs.c: Remove VMS ifdefs. (standard_args): Added -no-packages, --no-packages. Added -vanilla, --vanilla. (Frun_emacs_from_temacs): Guard pure usage report with DEBUG_XEMACS (Fdump_emacs): Ditto. 1997-10-22 Hrvoje Niksic * fns.c (Ffeaturep): Use `Fcar' with `or'. 1997-10-22 Kyle Jones * alloc.c: drop the Lisp_Type_Record case clause that I added to the switch statement in a previous patch. The string, vector and cons cases belong in the `default' clause with the other lrecord types. 1997-10-22 Kyle Jones * Added support for strings as lrecords. * lisp.h: #ifdef'd out Lisp_Type_String enum value if LRECORD_STRING is defined. * alloc.c: Added allocation and garbage collection code for lrecord-based strings. * print.c: move Lisp_String printing code to a separate function so that it could be used as a `print' method for lrecord-based strings. 1997-10-20 Jan Vroonhof * extents.c: Renamed shot property to initial-redisplay-function (extent_fragment_update): Changed the bookkeeping whether an event has been spawned. The initial-redisplay-function property is no longer set to nil. * extents.h: ditto 1997-10-20 Kyle Jones * Added support for conses and vectors to be lrecords. * alloc.c: Modified allocation and GC code for LRECORD_CONS and LRECORD_VECTOR support. Moved some macros to lrecord.h. * bytecode.c: Warning comment about LRECORD_CONS. * elhash.c: Let internal_hash handle vector hashing if LRECORD_VECTOR is defined, just as it does when LRECORD_VECTOR is not defined. The code could have been copied into an `hash' method function but I don't see any point to it. Added lrecord style marking code to finish_marking_weak_hashtables. Bracketed code that groks the non-lrecord method of marking vectors with #ifdefs. * fns.c: Let internal_equal and internal_old_equal handle vector comparisons when LRECORD_VECTOR is defined, just as it does when LRECORD_VECTOR is not defined. The code could have been copied into an `equal' method function but I don't see any point to it. * lisp.h: Added typecheck macros for LRECORD_CONS support. LRECORD_VECTOR macros were already present. * print.c: New functions print_cons and print_vector for LRECORD_CONS and LRECORD_VECTOR support. Some GC protection also added. * lrecord.h: Received some macros from alloc.c, so that they could be used in lisp.h. 1997-10-20 Hrvoje Niksic * fns.c (Ffeaturep): Handle `not' correctly. * lread.c (vars_of_lread): Use defsymbol for featurep. 1997-10-15 Olivier Galibert * s/irix5-0.h: Removed -G 0 from LD_SWITCH_SYSTEM. .sbss sections are supported since unexelfsgi.c upgrade. 1997-10-16 Kyle Jones * lstream.c (Lstream_close): Don't return early if the closer method reports failure. Doing so caused GC and memory corruption crashes. 1997-10-14 Hrvoje Niksic * extents.c (Fset_extent_property): Allow `keymap' property to be set to nil. 1997-10-15 SL Baur * mule-coding.c (acceptable_control_char_p): Add C-_ for info. (detect_coding_iso2022): Ditto. From SENDA Shigeya 1997-10-09 MORIOKA Tomohiko * mule-coding.c (make-coding-system, detect-coding-region): Modify DOC-string because of renaming `automatic-conversion' -> `undecided' to sync with Emacs 20.2. (make-coding-system, coding-system-type, detect-coding-region): Rename `Qautomatic_conversion' -> `Qundecided'. * general.c (syms_of_general): Rename `automatic-conversion' -> `undecided' to sync with Emacs 20.2. * emacsfns.h, event-Xt.c (x_to_emacs_keysym): Rename `Qautomatic_conversion' -> `Qundecided'. * buffer.c (buffer-file-coding-system): Modify DOC-string because of renaming `automatic-conversion' -> `undecided' to sync with Emacs 20.2. 1997-10-15 Olivier Galibert * lisp.h (MANY): Bump SUBR_MAX_ARGS to 12 and add corresponding DEFUN_n macros. 1997-10-13 Stephen J. Turnbull * console-tty.c: Include gpmevent.h * gpmevent.c (connect_to_gpm): change to void * gpmevent.h: Ditto. 1997-10-13 Kyle Jones * lisp-disunion.h (XSETOBJ): cast Lisp type enum to an EMACS_UINT quantity to avoid a compiler warning about integer overflow when the most significat bit of the type tag is shifted into the sign bit position of an EMACS_INT. 1997-10-12 SL Baur * s/freebsd.h: Add X11 guard for building without X11. From Hrvoje Niksic 1997-10-12 Kyle Jones * doprnt.c (emacs_doprnt_1): if forwarded field width is negative, set minus_flag and make the field width positive. Makes (format "%*s" -10 "abc") work like (format "%-*s" 10 "abc"). 1997-10-12 SL Baur * unexsol2.c (unexec): CONST isn't defined here. From Adrian Aichner 1997-10-11 SL Baur * realpath.c (realpath): CONST IS LOSING but removing it conflicts with system headers. * callproc.c: New variable infopath-internal. (complex_vars_of_callproc): Declare and initialized it. * paths.h.in: New variable PATH_INFOPATH. 1997-10-10 Martin Buchholz * systty.h: - change Xemacs --> XEmacs * buffer.c: * editfns.c: * msdos.c: - Remove bogus FSF-origin \n\ sequences. 1997-10-09 Kyle Jones * doprnt.c (parse_doprnt_spec): parse `*' field width and precision specs and set up spec forwarding. * doprnt.c (emacs_doprnt_1): implement `*' by forwarding flags, precision and field width data from a spec to a subsequent spec. * editfns.c: document new `*' field width and precision spec. 1997-10-09 SL Baur * database.c (Fclose_database): Rename C function. (Fdatabase_last_error): Ditto. (Fopen_database): Ditto. (Fput_database): Ditto. (Fremove_database): Ditto. (Fget_database): Ditto. (syms_of_dbm): Reflect above changes. From Martin Buchholz 1997-10-08 Hrvoje Niksic * events.c (Fmake_event): Allow only frames as channel. 1997-10-07 Hrvoje Niksic * extents.c (print_extent_1): Fixed typo. 1997-10-07 Kyle Jones * insdel.c (buffer_replace_char): if doing delete/insert because of characters with deiffering byte lengths,move point forward with the insertion if it was moved backwrad to equal the insertion point by the earlier deletion. 1997-10-06 SL Baur * window.c (Fset_window_dedicated_p): register -> REGISTER. * unexalpha.c (update_dynamic_symbols): register-> REGISTER. * sysdep.c: Global change: register -> REGISTER. * strcat.c (strcat): register -> REGISTER. * search.c: Global change: register -> REGISTER. * regex.c: Global change: register -> REGISTER. - Ensure REGISTER is always defined. * nt.c: Global change: register -> REGISTER. * linuxplay.c: Global change: register -> REGISTER. * input-method-xlib.c (best_style): register -> REGISTER. * gifalloc.c: Global change: register -> REGISTER. - Ensure REGISTER is always defined. * getloadavg.c (getloadavg): register -> REGISTER. * eval.c (unwind_to_catch): [Unused variable] register -> REGISTER. * cmds.c (Fpoint_at_bol): register -> REGISTER. * chartab.c (check_category_char): register -> REGISTER. * buffer.c (assoc_ignore_text_properties): [Unused function] register -> REGISTER. * alloca.c: Global change: register -> REGISTER. * xmu.h (XmuCopyISOLatin1Lowered): Global change: const -> CONST. * gif_lib.h: Global change: const -> CONST. * balloon_help.h (balloon_help_move_to_pointer): const -> CONST. * xmu.c: Global change: const -> CONST. * unexsol2.c (unexec): const -> CONST. * unexhp9k3.c (unexec_error): const -> CONST. * unexfreebsd.c (unexec_error): const -> CONST. * sunOS-fix.c (mbstowcs): const-> CONST. (wcstombs): Ditto. * strcpy.c (strcpy): const -> CONST. * strcmp.c: Global change: const -> CONST. * strcat.c (strcat): const -> CONST. * realpath.c (realpath): const -> CONST. * keymap.c (where_is_recursive_mapper): const -> CONST. * extents.c (extent_priority_sort_function): const -> CONST. * dgif_lib.c (DGifOpenFileName): const -> CONST. * balloon_help.c: Global change: const -> CONST. 1997-10-03 SL Baur * lisp.h: Nuke register declarations. 1997-10-03 Karl M. Hegbloom * window.c (Frecenter): Correct variable names in docstring. 1997-10-03 Karl M. Hegbloom * fns.c: Add some cross references between destructive and non-destructive versions of similar functions. Fri Oct 3 12:28:08 1997 Kyle Jones * lisp-disunion.h: Move markbit to be between the type bits and the value bits. Previously it was always the sign bit of a EMACS_INT, unless modified by a #define in a machine dependent .h file. 1997-10-02 Hrvoje Niksic * profile.c (Fclear_profiling_info): Made interactive. 1997-10-02 SL Baur * glyphs-x.c (USE_TEMP_FILES_FOR_PNG_IMAGES): Move outside of HAVE_JPEG ifdef. 1997-10-01 SL Baur * lisp.h (min): Fully parenthize. (max): Ditto. * Makefile.in.in (widget.o): Insert dependencies. - Insert HAVE_OFFIX_DND dependencies. * casefiddle.c (casify_object): Back out bogus undocumented patch from 20.3-beta18. 1997-09-30 SL Baur * events.c (Fevent_type): Add OffiX guard. (command_event_p): Ditto. (mark_event): Ditto. (print_event): Ditto. 1997-09-30 SL Baur * mule-canna.c (Fcanna_set_bunsetsu): Return a value. (Fcanna_parse): Remove unused variables `ks' and `ksv'. (Fcanna_henkan_begin): Remove unused variable `res'. (Fcanna_henkan_next): Remove unused variable `nbun'. (count_char): Change return type to void. * event-Xt.c (x_event_to_emacs_event): Remove unused variable `event-size'. * menubar.c (Fnormalize_menu_item_name): Remove unused variable `res'. * redisplay-x.c (x_flash): Reorganize test to prefer select over poll. * xselect.c (Fx_store_cutbuffer_internal): Remove unused variable `encoding'. 1997-09-30 Hrvoje Niksic * frame.c (Fmake_frame): Call `custom-initialize-frame'. 1997-09-24 MORIOKA Tomohiko * mule-coding.c: Rename `pathname-coding-system' to `file-name-coding-system' to sync with Emacs 20.2. 1997-09-26 Hrvoje Niksic * window.c (saved_window_equal): Ditto. * process.c (Fget_process): Use internal_equal. * lread.c (build_load_history): Use internal_equal. (build_load_history): Use XCAR/XCDR where safe. * events.c (event_equal): Ditto. * event-stream.c (Fdispatch_event): Ditto. * elhash.c (lisp_object_eql_equal): Ditto. (lisp_object_equal_equal): Ditto. * device.c (find_device_of_type): Ditto. * console.c (find_console_of_type): Ditto. * console-tty.c (tty_init_console): Ditto. * console-stream.c (stream_init_console): Use internal_equal. (stream_canonicalize_console_connection): Ditto. * fns.c (Fmember): Use internal_equal, to avoid a necessary funcall and NILP check. (Fold_member): Ditto for internal_old_equal. (Fassoc): Use XCAR when we know we deal with a cons. Use internal_equal. Removed tem. (Fold_assoc): Ditto. (Fassq): Use XCAR. (Frassoc): Use internal_equal; remove tem. (Fold_rassoc): Ditto for internal_old_equal. (Frassq): Use XCDR with what we know is a cons. (Fold_rassq): Ditto. (Fdelete): Use internal_equal. (Fold_delete): Ditto for internal_old_equal. (Fremassoc): Use internal_equal; use XCAR/XCDR with what we know is a cons. (Fremrassoc): Ditto. * dired.c (Fdirectory_files): Nreverse the list only if it will be sorted. Fri Sep 26 13:55:28 1997 Kyle Jones * faces.c (update_face_cachel_data): Don't allow the background pixmap of the default face to override the background of a face if that color has been specified. 1997-09-26 Hrvoje Niksic * dired.c (close_directory_fd): New function. (Fdirectory_files): Use it to set up an unwind-protection to close the descriptor. (Fdirectory_files): Allow QUIT in re_search. (Fdirectory_files): If the file is too big, allocate necessary data with malloc. (Fdirectory_files): Use simple Fcons to build the list. (close_directory_fd): Free the opaque pointer. 1997-09-25 Hrvoje Niksic * extents.c (Fset_extent_properties): New function. 1997-09-24 SL Baur * dired.c (Fdirectory_files): Remove broken VMS stuff. (file_name_completion_stat): Ditto. (file_name_completion): Ditto. (Top Level): Ditto. (syms_of_dired): Ditto. 1997-09-25 Hrvoje Niksic * widget.c (Fwidget_apply): Don't GCPRO result of Fwidget_get. 1997-09-24 SL Baur * symsinit.h: Declare syms_of_widget. * emacsfns.h: Declare Fchar_syntax. * bytecode.c (Fbyte_code): Call Fchar_syntax for the Bchar_syntax bytecode. * syntax.c (Fchar_syntax): convert nil input to \000 for compatibility. * alloc.c (report_pure_usage): Increase slop to 512 bytes in betas and reduce it to 4 bytes in releases. 1997-09-23 SL Baur * Makefile.in.in (objs): Add new C file widget.o. 1997-09-22 SL Baur * editfns.c (vars_of_editfns): New feature 'ampersand-full-name declared if AMPERSAND_FULL_NAME configuration option is enabled. * callproc.c (vars_of_callproc): Update docstring of `data-directory'. Sun Sep 21 14:14:44 1997 Kyle Jones * lisp.h: underspecify lisp_fn_t function prototype to avoid compiler errors in inline_funcall_subr(). * eval.c (Fprogn): Walk forms list with XCDR, access with XCAR. Check forms list CONSP, so that XCDR and XCAR are safe. * eval.c (Fsetq): replace Flength call with for-loop to compute list length. Walk arg list with XCDR, access with XCAR. Check arg list with CONSP, so that XCDR and XCAR are safe. * eval.c: New macro inline_funcall_subr, an inline version of funcall_subr + primitive_funcall. * eval.c (Feval): replace Flength call with for-loop to compute list length. Use XCAR and XCDR in some places where it is safe to do so. Use inline_funcall_subr() in place of funcall_subr(). * eval.c (funcall_recording_as): Use XCAR instead of Fcar where it was safe. * eval.c (Fapply): replace Flength call with for-loop to compute list length. * eval.c (apply_lambda):Use XCAR and XCDR in some places where it is safe to do so. * eval.c (funcall_lambda): Walk param list with XCDR, access with XCAR. Check param list CONSP, so that XCDR and XCAR are safe. * symbols.c (find_symbol_value): return quickly if no symbol magic is involved, to avoid the expensive call to find_symbol_value_1. * symbols.c (store_symval_forwarding): don't call reject_constant_symbols unless there is a chance a constant symbol is involved. This break the encapsulation of the constants check, but symbol stores are used heavily and speed is most important than cleanliness in this case. 1997-09-21 Joel Peterson * menubar.c (normalize-menu-item-name): New function. 1997-09-21 SL Baur * keymap.c (get_relevant_extent_keymaps): Previous patch reversed. 1997-09-20 SL Baur * Makefile.in.in (xemacs): Adoption of shadow.el to print load-path shadowings after successful dump. 1997-09-20 Hrvoje Niksic * redisplay.c (scroll_conservatively): New variable. (redisplay_window): Use it. 1997-09-16 SL Baur * events.c (Fmake_event): Add default case, remove unused variables. 1997-08-21 Jan Vroonhof * extents.c (extent_fragment_update): Trigger one_shot_function * extents.c (set-extent-one-shot-function): New function * extents.h (struct extent_auxiliary): Added one_shot_function * extens.c: Added one_shot_function to assesor functions. 1997-09-14 Hrvoje Niksic * fileio.c (Fexpand_file_name): Don't treat "//" and "~/" in the middle of path specially. 1997-09-10 Hrvoje Niksic * event-stream.c (inhibit_input_event_recording): New boolean variable. (Fnext_event): Use it. 1997-09-13 Hrvoje Niksic * fns.c (Fmapc): Renamed from Fmapc_internal. 1997-09-10 Hrvoje Niksic * database.c (Fmake_database): Expand FILE. * redisplay.c (window-system): Warn against using it. 1997-09-08 SL Baur * emacs.c (PACKAGE_PATH): Reverse PACKAGE_PATH. Suggested by Colin Rafferty 1997-09-03 SL Baur * print.c (print_internal): Special treatment for C-\. 1997-08-13 P E Jareth Hein * insdel.c (buffer_delete_range): Changed the location where point was actually moved to after all other movement handling. This prevents a MULE related crash in VALID_BYTIND. 1997-08-11 SL Baur * doc.c (Fsnarf_documentation): Semi-clarify types of weird functions. 1997-08-05 Jens-Ulrik Holger Petersen * eval.c (vars_of_eval): Updated docstring for `debug_on_error' to mention `debug-ignored-errors'. 1997-08-01 SL Baur * emacsfns.h: Fix declaration. * event-stream.c (syms_of_event_stream): HAVE_MENUBARS not HAVE_MENUBAR. 1997-07-31 SL Baur * frame-x.c (x_offix_drop_event_handler): Use stderr_out instead of fprintf. * mule-coding.c (parse_iso2022_esc): Add abort() trap on unhandled condition. * mule-wnnfns.c (Fwnn_dict_search): Remove unused variable. (Fwnn_hindo_update): Ditto. (Fwnn_inspect): Ditto. (Fwnn_bunsetu_henkou): Ditto. * eval.c (call_with_suspended_errors): Fix Gcc warning: argument `retval' might be clobbered by `longjmp' or `vfork' 1997-07-30 SL Baur * redisplay.c: `window-system' isn't going away any time soon. 1997-07-29 SL Baur * callint.c (Fcall_interactively): Allow floating point numbers for `n' and `N' interactive specs. 1997-07-27 SL Baur * event-stream.c (command_builder_find_leaf): Fix typo in HAVE_MENUBARS. * gui-x.c (popup_selection_callback): Fix typo in HAVE_MENUBARS. * event-stream.c (syms_of_event_stream): accelerate_menu needed guards. * emacs.c (vars_of_emacs): Main default package directory is now ${prefix}/lib/xemacs/packages. 1997-07-25 David Moore * alloc.c (Fmake_byte_code): GC protect newly allocated function when looking up filename. 1997-07-25 SL Baur * Makefile.in.in: Added support for linking with dmalloc. 1997-07-25 P E Jareth Hein * xselect.c (x_atom_to_symbol): Fixed a memory corruption bug where a possibly MULEified string was getting freed before use. 1997-07-21 SL Baur * callproc.c: New variable Vdata_directory_list. * emacsfns.h: Declare it. * fns.c (Frequire): Undo previous change. * print.c (print_internal): Handle circular objects like Emacs handles them (and as documented in the Lispref). * database.c (Fputdatabase): Complain when `val' is not a string. * event-stream.c (command_builder_find_leaf): Guard menubar accelerator stuffs with HAVE_MENUBAR. * gui-x.c (popup_selection_callback): Ditto. 1997-07-20 SL Baur * event-stream.c (menu_move_up): Guard menubar accelerator code with HAVE_MENUBARS. * emacs.c (decode_path): New function, derived from latter portion of decode_env_path. (decode_env_path): Break out the naughty bits -- shouldn't do getenv and separator parsing in one function. New variable Vpackage_path. (vars_of_emacs): Use it. * editfns.c (Fstring_to_char): Return nil instead of `0' for empty string. 1997-07-10 Hrvoje Niksic * fileio.c (Finsert_file_contents_internal): Handle non-regular files. 1997-07-12 Steven L Baur * Makefile.in.in (LOCK_OBJ): Only include filelock.[co] when CLASH_DETECTION is defined. 1997-07-11 Steven L Baur * emacs.c (main_1): Spelling fix. 1997-07-10 Steven L Baur * Makefile.in.in (dump-elcs): Shouldn't use SATISFIED hack. (xemacs-no-site-file): Not supported any more. (binary): New dependency for dumping XEmacs. (xemacs): Attempt to be a little smarter about not dumping a new XEmacs if it is not needed. (temacs): Remove `xemacs' after success. 1997-07-09 Hrvoje Niksic * extents.c: Allow non-symbol properties of extents. 1997-07-08 Hrvoje Niksic * data.c (Fstring_to_number): Use `check_int_range'. (Fstring_to_number): Would bug out on wrong type check. 1997-07-07 Steven L Baur * data.c (Fcompiled_function_doc_string): Implement correctly. Was forgotten cut & paste identical clone to Fcompiled_function_interactive? * Makefile.in.in (alloc.o): Remove dependency on puresize_adjust.h so alloc.c need not be recompiled when puresize changes. * alloc.c (PURIFIED): Use get_PURESIZE() instead of constant. (check_purespace): Ditto. (alloc_pure_lrecord): Ditto. (report_pure_usage): Ditto. (disksave_object_finalization): Ditto. (report_pure_usage): Modify message reported when Build is restarted due to change in PURESIZE_ADJUSTMENT. * puresize.h: Remove dependency on puresize_adjust.h. (get_PURESIZE): New function -- declare it. * pure.c: Move final PURESIZE computation and include of puresize_adjust.h into here so alloc.c need not be recompiled each time the puresize is adjusted. (get_PURESIZE): New function. 1997-07-06 Steven L Baur * data.c (Fstring_to_number): Wrong parameter was being checked. * emacs.c (vars_of_emacs): Fprovide the system type as a feature. 1997-07-03 Steven L Baur * data.c (Fstring_to_number): Fix typo. base isn't an integer. 1997-07-01 Steven L Baur * data.c, emacsfns.h: This is the port of GNU Emacs capability. I am still not sure what this buys us, but I guess it doesn't hurt to have it. From Hrvoje Niksic * glyphs.c (make_string_from_file): Use insert-file-contents-literally instead of insert-file-contents-internal. 1997-06-30 Steven L Baur * fns.c (check_losing_bytecode): Correct reported version. * Makefile.in.in (${libsrc}DOC): Break up line length for stupid make programs. 1997-06-29 Steven L Baur * emacsfns.h: Put void in prototype. Suggested by Ben Wing. 1997-07-01 MORIOKA Tomohiko * glyphs.c (make_string_from_file): must protect from `format-alist'. 1997-06-28 Steven L Baur * config.h.in: Back out previous change to LOSING_BYTECODE. It's just not worth it. 1997-06-27 Mike Scheidler * s/sol2.h: Undefined _XOPEN_SOURCE for Solaris 2.4. 1997-06-28 Hrvoje Niksic * abbrev.c (abbrev_match): New function. (abbrev_oblookup): New function. (obarray_has_blank_p): New function. (abbrev_count_case): New function. (Fexpand_abbrev): Use them. Allow abbreviations to contain arbitrary characters. 1997-06-28 Steven L Baur * config.h.in: LOSING_BYTECODE will not be compiled into XEmacs. * doc.c (Fsnarf_documentation): Remove VMS dependent stuff for cleanliness. 1997-06-28 Hrvoje Niksic * print.c (Ferror_message_string): Simplify. 1997-06-27 Steven L Baur * symbols.c (Fdefine_function): Correct docstring. (Fsetplist): Ditto. (Ffset): Ditto. (Fsetq_default): Ditto. 1997-06-27 Hrvoje Niksic * eval.c (skip_debugger): Removed comment and #ifdef-ed code. (signal_call_debugger): Call skip_debugger after wants_debugger. (signal_call_debugger): Gcpro cons sent to skip_debugger. 1997-06-26 Steven L Baur * process.c (create_process): Default to fork instead of vfork. * callproc.c (Fcall_process_internal): Default to fork instead of vfork. * emacsfns.h: Add declarations of Ferror_message_string(), Frunning_temacs_p(). * eval.c: Remove declarations of Ferror_message_string(), Frunning_temacs_p(). * Makefile.in.in (${libsrc}DOC): Correct dependency for the docfile. (${mo_dir}emacs.po): Remove obsolete references to lisp source. 1997-06-29 MORIOKA Tomohiko * mule-charset.c: Modify charset DOC-strings to be more detailed. 1997-06-25 Steven L Baur * alloc.c (Flist): Optimize. From Hrvoje Niksic. 1997-06-23 Steven L Baur * lisp.h: Get uintptr_t stuffs because it is needed for including emacsfns.h. * sysdep.h: Removed uintptr_t stuffs. 1997-06-22 Steven L Baur * fns.c (concat): Replace Fcar/Fcdr with XCAR/XCDR. (Fnreverse): Ditto. (internal_equal): Ditto. (internal_old_equal): Ditto. (Fnconc): Ditto. (Freverse): Saner implementation. From Hrvoje Niksic * s/linux.h: getpgrp with glibc is now properly detected by configure. Suggested by Andreas Jaeger 1997-06-20 Steven L Baur * events.c: Remove declaration of Qempty. 1997-06-20 Olivier Galibert * frame-x.c, EmacsFrame.c, menubar-x.c, redisplay-x.c, scrollbar-x.c: Make 64 bit clean. 1997-06-19 Martin Buchholz * config.h.in: - Autodetect X defines using xmkmf. - Compute rpath on *bsd* systems as well. - rewrite PRINT_VAR m4 macro. - detect sizes of void* and long long for future use by unex*.c * regex.c: _GNU_SOURCE may be defined by config.h; don't redefine. 1997-06-18 Martin Buchholz * Makefile.in: * s/*.h: * m/*.h: * config.h.in: * emacs.c: * version.sh: * configure.in: Another rewrite. - support powerpcle (Solaris on ppc) - Now just have one s/sol2.h for all Solaris versions - Specifying colon-separated directories actually works now. - OS_RELEASE is a new define to avoid proliferation of s&m files. - extract more stuff from s&m files. - more debugging info - More changes to avoid the `echo -e' problem - Add more tests: fcntl.h AC_TYPE_*, AC_FUNC_GETPGRP - Back out -lPW test. - More paranoid xpm test - Put version information in version.sh instead of version.el - Make quoted pre-processor string tokens out of all macro values to be used only by configure. * xmu.c: DON'T use Xos.h * sysdep.c (wait_for_termination): * search.c: * editfns.c: * console-*: 1997-06-18 Steven L Baur * unexelfsgi.c: Some things that Needed To Be Done(tm) into unexelfsgi: - support for .sbss section (no more -G 0 needed, 0.00001% speed increase) - support for Elf64 (64bits executables) From Olivier Galibert * fns.c (Fmapvector): New function converted from Lisp. From Hrvoje Niksic Wed Jun 18 16:42:10 1997 Steven L Baur * Makefile.in.in: Convert two missed C style comments. (LIBES): Remove LIBS_DEBUG which is no longer defined. (LIBES): lwlibs_libs was misspelled. 1997-06-17 Hrvoje Niksic * eval.c (vars_of_eval): New variable Vdebug_ignored_errors. (skip_debugger): New function; use Vdebug_ignored_errors. (signal_call_debugger): Use it. 1997-06-17 Steven L Baur * emacs.c (vars_of_emacs): Moved symbols emacs-version, emacs-major-version, and emacs-minor-version from version.el to here. * general.c (syms_of_general): New symbols and, not, and or. * emacsfns.h: New symbols Qand, Qnot, Qor. * Makefile.in.in: Call temacs to compute lisp libraries to include in the DOC file. 1997-06-15 Steven L Baur * Makefile.in.in (lisp): Remove explicit mention of auto-autoloads.el. Sat Jun 14 21:55:27 1997 Kyle Jones * console.c (Fselect_console): Check DEVICE_SELECTED_FRAME of console's selected device for non-nil value before using it as a frame. 1997-06-13 Steven L Baur * data.c (eq_with_ebola_notice): Remove horrible hack to avoid unavoidable Ebola notices in the bytecompiler. * emacsfns.h: Fextent_in_region_p: Move. * keymap.c Fextent_in_region_p: Move. Fri Jun 13 00:38:29 1997 Kyle Jones * console.c (Fsuspend_console): Disable input on ttys. Hide unhidden frames. * console.c (Fresume_console): Enable input on ttys. Raise the device selected frame. Fri Jun 13 00:25:46 1997 Kyle Jones * process.c (status_notify): Revert back to the code that does not use save_excursion_restore. Just bounds check opoint instead. * process.c (read_process_output): Bounds check saved clip region and point values for validity before using them. Call Fwiden before calling Fnarrow_to_region to insure values will not be out of range. 1997-06-12 Steven L Baur * alloc.c: Make the GC cursor appear on all frames. From Hrvoje Niksic 1997-06-11 Steven L Baur * data.c (eq_with_ebola_notice): Add byte-optimize-logmumble and byte-compile-push-constant to list of ignored functions. 1997-06-11 Hrvoje Niksic * bytecode.c (Bsave_current_buffer): Register. (Fbyte_code): Do action. * editfns.c (Fsave_current_buffer): New SUBR. 1997-06-11 Steven L Baur * syntax.c (Fchar_syntax): Handle case of being passed nil. * data.c (eq_with_ebola_notice): Add more legitimate places in the bytecompiler that should not get Ebola notices. Tue Jun 10 00:34:40 1997 Kyle Jones * process.c (status_notify): Use record_unwind_protect and save_excursion_restore to handle the point and buffer restoration. Cleaner. Doesn't crash the editor if before/after-change-functions change things behind our back. 1997-06-10 Steven L Baur * data.c (vars_of_data): Set Ebola warning backtrace limit to 16. (eq_with_ebola_notice): Bypass Ebola warnings for special bytecompiler functions where they are 100% spurioius. 1997-06-11 MORIOKA Tomohiko * Makefile.in.in: Use lisp/mule/language/misc-lang.el instead of lisp/mule/ipa-hooks.el. 1997-06-10 MORIOKA Tomohiko * Makefile.in.in: Use lisp/mule/language/thai.elc instead of lisp/mule/thai-hooks.elc. 1997-06-09 MORIOKA Tomohiko * Makefile.in.in: Use lisp/mule/language/chinese.el, lisp/mule/language/cyrillic.el, lisp/mule/language/european.el, lisp/mule/language/greek.el, lisp/mule/language/japanese.el and lisp/mule/language/korean.el instead of lisp/mule/chinese-hooks.el, lisp/mule/cyrillic-hooks.el, lisp/mule/european-hooks.el, lisp/mule/greek-hooks.el, lisp/mule/japanese-hooks.el and lisp/mule/korean-hooks.el. 1997-06-09 Steven L Baur * keymap.c: Declare Fextent_in_region_p. * s/linux.h: Can't use ORDINARY_LINK in linux until usage of -lPW is determined more sensibly. 1997-06-09 Hrvoje Niksic * keydefs.c (get_relevant_extent_keymaps): Choose correct keymap at extent boundaries. Mon Jun 9 19:35:19 1997 Kyle Jones * redisplay.c (pixel_to_glyph_translation): Fixed off by one error in computation of closest position when mouse is in the frame's right-side border area. Sat Jun 7 22:07:41 1997 Kyle Jones * frame.c (delete_frame_internal): Calling Fselect_frame isn't sufficient to set the frame device's selected frame if the frame we're selecting is on a different device. Call set_device_selected_frame apprpriately in that case. Also don't set the frame device's selected frame to a frame that's on another device. 1997-06-09 Steven L Baur * sysdep.c: MS Windows NT doesn't (yet) do child TTY processes. From David Hobley Sat Jun 7 22:00:54 1997 Kyle Jones * device-x.c (x_delete_device): Add an EQ check so that we don't set Vdefault_x_device back to the device we're deleting. 1997-06-05 Steven L Baur * frame.c (Fmake_frame): Correct checking of first_frame_on_device. From Hrvoje Niksic 1997-06-04 Steven L Baur * device.c (delete_deviceless_console): New function. (Fmake_device): Use it. Fix problem of creation of a frame on a tty where something fails during initialization. From Kyle Jones * specifier.c (Fboolean_specifier_p): Correct spelling in Docstring (synch from Infodock 3.5). * frame.c: Update docstring. 1997-06-03 Hrvoje Niksic * sysdep.c (tty_init_sys_modes_on_device): Initialize it. * console.c (complex_vars_of_console): New variable `tty-erase-char'. * conslots.h (MARKED_SLOT): New slot. Mon Jun 2 02:49:44 1997 Kyle Jones * frame.c, frame-tty.c Treat tty frames like a cross between stacked window system frames and frames on virtual displays. All frames but the top frame are visible but hidden by default. next-frame and previous-frame now skip invisible tty frames by default. raise-frame and lower-frame now control whether a frame is hidden instead of whether it is visible. Frames are no longer automatically raised when they are selected. After a raise/lower operation selection of the new topmost frame is deferred until a selection magic event is read. Sat May 31 19:59:49 1997 Kyle Jones * frame-tty.c (tty_init_frame_3: Defer selection of the newly created frame until an event is read. 1997-06-02 Steven L Baur * search.c (REGEXP_CACHE_SIZE): Bump to 20. Suggested by Karl M. Hegbloom 1997-05-30 Steven L Baur * device-tty.c (tty_asynch_device_change): * gpmevent.c (connect_to_gpm): Makes it so it doesn't **ck up the mouse stuff on an XTerm, and resets the internal GPM variables for the width and height of the screen when we get a sigwinch. From William M. Perry 1997-05-29 Steven L Baur * eval.c (Fprogn): Delete mocklisp support. (Fwhile): Ditto. (Fcommandp): Ditto. (Feval): Ditto. (funcall_recording_as): Ditto. (funcall_lambda): Ditto. * elhash.c (verify_function): Delete mocklisp support. * doc.c (Fdocumentation): Delete mocklisp support. * data.c (wrong_type_argument): Delete mocklisp support. * config.h.in: Delete mocklisp support. * callint.c (Fcall_interactively): Delete mocklisp support. * emacs.c (main_1): Delete mocklisp initialization. * symsinit.h: Delete mocklisp.c decls. * Makefile.in.in: Delete mocklisp stuffs. Thu May 29 03:00:16 1997 Kyle Jones * frame.c (change_frame_size_1): Drop code that returns immediately if the old frame size is equal to the new. Leave the minibuffer height the same if the frame has been initialized, and the minibuffer height is tall enough to display at least one line of text in the default font, and the old minibuffer height is a multiple of the default font height. This should cause the minibuffer height to be recomputed on font changes but not for other frame size changes, which seems reasonable. 1997-05-26 Steven L Baur * event-stream.c (Frecent_keys): Take optional parameter to indicate how many keystrokes to return. (Frecent_keys_ring_size): New function returns the maximum number of events `recent-keys' can return. (Fset_recent_keys_ring_size): New function. Modifies the above. From Hrvoje Niksic * event-stream.c: New variable recent_keys_ring_size replacing a hard-coded macro. 1997-05-23 Steven L Baur From Hrvoje Niksic * sysdep.c: Correction of subprocess support when compiling without ttys. 1997-05-21 Steven L Baur * editfns.c (format-time-string): Update DOCstring. Make time parameter optional. Wed May 21 11:58:17 1997 Kyle Jones * insdel.c (signal_first_change): record the current buffer for the unwind instead of the buffer that's about to become the current buffer. Tue May 20 23:23:39 1997 Steven L Baur * frame.c: Correct spelling typo in docstring. Mon May 19 03:40:46 1997 Kyle Jones * redisplay.c: (window_line_number) don't prefer buffer point value over window point value unless window, frame, device and console are all selected. * redisplay.c: (redisplay_window) don't prefer buffer point value over window point value unless window, frame, device and console are all selected. * redisplay.c: (create_text_block) don't prefer buffer point value over window point value unless window, frame, device and console are all selected. Sun May 18 13:03:50 1997 Steven L Baur * Makefile.in.in (distclean): remove xemacs-version.h. Sun May 11 13:38:46 1997 Kyle Jones * frame.c (change_frame_size_1): return without doing anything if the frame has benn initialized and the new frame size is same as the current frame size. Sat May 17 19:35:48 1997 Steven L Baur * device-tty.c (tty_asynch_device_change): Make `no-redraw-on-reenter' work. Patch from Hrvoje Niksic. Sat May 17 23:39:03 1997 Hrvoje Niksic * frame-tty.c: Support multiple frames. * redisplay.c (decode_mode_spec): New coding `%N'. Sun May 11 23:36:08 1997 Steven L Baur * buffer.c: Rename Vdelete_auto_save_files to coding standards. * frame.c: Rename Vallow_deletion_of_last_visible_frame to coding standards. Thu May 8 19:10:03 1997 Steven L Baur * frame.c: Change internal type of `allow-deletion-of-last-visible-frame' to boolean. * buffer.c: Change internal type of `delete-auto-save-files' to boolean. Sat May 3 15:28:56 1997 Steven L Baur * redisplay.c: `column-number-start-at-one' is a user customizable variable. * event-stream.c (vars_of_event_stream): `focus-follows-mouse' is a user customizable variable. * cmds.c (vars_of_cmds): `signal-error-on-buffer-boundary' is a user customizable variable. * lread.c (parse_integer): Fix incorrect upper bounds on loop. Thu May 1 18:59:20 1997 Steven L Baur * glyphs-x.c (Fmake_subwindow): Update error message. Wed Apr 30 18:07:18 1997 Steven L Baur * lread.c: New variable featurep. (read1): Add processing for #- and #+. (read_list_conser): Handle case where a feature test has removed a portion of the input stream. (vars_of_lread): New feature `xemacs'. * fns.c (Ffeaturep): Remove function when using #-, #+ feature reader syntax. * Makefile.in.in (lisp): Put features.elc in the dump list. Thu May 1 05:24:25 1997 Hrvoje Niksic * buffer.c (Fmake_indirect_buffer): Don't pretend it's there. Fri Apr 25 10:53:07 1997 Steven L Baur * glyphs-x.c: libpng already includes setjmp.h, so don't attempt to include it twice. Thu Apr 24 09:14:13 1997 Steven L Baur * balloon-x.c (vars_of_balloon_x): Don't override advertised and supported balloon-help. Tue Apr 22 11:54:02 1997 Steven L Baur * emacs.c (main_1): Add syms_of_balloon_x and guard with HAVE_X_WINDOWS. (main_1): Add vars_of_balloon_x and guard with HAVE_X_WINDOWS. * process.c (get_process): This function can be passed a BUFFER as a parameter. Tue Apr 22 01:32:00 1997 Kyle Jones * menubar-x.c (pre_activate_hook): set in_menu_callback around call to call to menu_item_descriptor_to_widget_value. * event-stream.c (Fnext_event): signal error if in_menu_callback non-nil to avoid reentering the menubar code and causing a crash later. * cmdloop.c (command_loop_3): signal error if in_menu_callback non-nil to avoid inflooping calling Fnext_event, which will signal an error if the situation is not caught earlier. Tue Apr 22 08:22:22 1997 Hrvoje Niksic * balloon-x.c, balloon_help.c, balloon_help.h: Modified to conform to XEmacs coding standards. Thu Apr 17 17:16:34 1997 Steven L Baur * balloon-x.c: New file from Douglas Keller. * balloon_help.c: New file from Douglas Keller. * balloon_help.h: New file from Douglas Keller. Sun Apr 13 09:56:54 1997 Steven L Baur * emacs.c (shut_down_emacs): Advertise using send-pr as the mechanism for submitting a bug report. * Makefile.in.in: Handle pathological case of mis-autodetected TOOLTALK. Sun Apr 13 11:33:34 1997 David Moore * regex.c (re_search_2): Prevent incorrect matching and infinite loop with \\` and MULE. Sat Apr 12 05:57:51 1997 Steven L Baur * Makefile.in.in (lisp): Dump cus-start.elc with XEmacs. * event-Xt.c (x_to_emacs_keysym): Allow for dead keys. (Patch from Joachim Schnitter). * Makefile.in.in: Allow native sound for BSD/I. * linuxplay.c: Rename global sndbuf to linuxplay_sndbuf. Make sndbuf, mix_fd, audio_vol, audio_fd, audio_dev non-static to avoid dump time lossage. (sndcnv8U_2mono): Rename global sndbuf to linuxplay_sndbuf. (sndcnv8S_2mono): Ditto. (sndcnv2monounsigned): Ditto. (sndcnv2unsigned): Ditto. (sndcnvULaw_2mono): Ditto. (sndcnv16_2monoLE): Ditto. (sndcnv16_2monoBE): Ditto. (sndcnv2byteLE): Ditto. (sndcnv2byteBE): Ditto. (sndcnv2monobyteLE): Ditto. (sndcnv2monobyteBE): Ditto. (linux_play_data_or_file): Ditto. (linux_play_data_or_file): Ditto. (linux_play_data_or_file): Ditto. Sat Apr 12 01:59:14 1997 Kyle Jones * glyphs-x.c, glyphs.c, glyphs.h: Added domain parameter to all image *_instantiate functions so that the domsin is available to specifier lookups in the various instantiator functions. Passed domain argument to extract_xpm_color_names for the Fspecifier_instance call. Fri Apr 11 20:02:40 1997 Steven L Baur * glyphs-x.c (extract_xpm_color_names): Add checking to handle case for when XEmacs is in initialization. * events.c (Fevent_type): Remove handling for dead_event. (Fevent_properties): Remove handling for dead_event. Thu Apr 10 20:41:53 1997 David Moore * ntproc.c (sys_spawnve): Clean up GC protection. * fileio.c (Ffile_executable_p): Clean up GC protection. Thu Apr 10 12:48:49 1997 Steven L Baur * glyphs.c: Undo duplicate declaration of display_table. * glyphs.h: Back out name change of autodetect to automatic_conversion. * glyphs.c: Back out name change of autodetect to automatic_conversion. * glyphs-x.c (image_instantiator_format_create_glyphs_x): Back out name change of autodetect to automatic_conversion. * events.c (Fevent_properties): Do something sensible for dead_event and empty_event. * general.c: Restore autodetect symbol. * emacsfns.h: Declare new symbol Qempty. * general.c: Add symbol to identify empty events. * events.c (Fevent_type): Don't abort() when presented with an empty_event or a dead_event. Mon Apr 7 18:12:26 1997 David Moore * xmu.c: Renamed local `initialized' variable to `hex_initialized' and don't assign to static, as some compilers crash. (initHexTable): Use it. (XmuReadBitmapData): Use it. Sun Apr 6 18:03:47 1997 David Moore * fileio.c (Fexpand_file_name): Clean up GC protection. * dired.c (Fdirectory_files): Clean up GC protection. * insdel.c (signal_after_change): Don't run after_change_functions on special Vprin1_to_string_buffer. (signal_before_change): Ditto for before_change_functions. Fri Apr 4 14:41:17 1997 David Moore * buffer.c (Fkill_buffer): Don't kill special Vprin1_to_string_buffer. Mon Apr 7 19:13:40 1997 Steven L Baur * Makefile.in.in (xemacs-version.h): Added to rename main_1 to something reflecting the XEmacs version in use (for lusers reporting crashes who forget to include the version number). * toolbar.c (specifier_vars_of_toolbar): Strip HAVE_NEXTSTEP. * sound.c: Strip HAVE_NEXTSTEP. * redisplay.c (init_redisplay): Strip HAVE_NEXTSTEP. * faces.c: Strip HAVE_NEXTSTEP. (update_EmacsFrame): Ditto. * events.c (event_equal): Strip HAVE_NEXTSTEP. (event_hash): Ditto. (format_event_object): Ditto. * event-stream.c (init_event_stream): Strip HAVE_NEXTSTEP. * emacs.c (main_1): Strip HAVE_NEXTSTEP. Attempt hack to change name of main_1 to something reflecting the current version for lusers who don't include version numbers with stack backtraces. * device.c: Strip HAVE_NEXTSTEP. * console.c (Fconsole_type): Remove reference to unimplemented ns windows type. Sun Apr 6 08:08:33 1997 Steven L Baur * frame.h: Strip NeXTStep stuff. * device.h: Strip NeXTStep stuff. * console.h: More NeXTStep trimming. * console-x.h: Strip Epoch stuff. * symsinit.h (init_sunpro): Strip vms/Epoch stuff. * events.h (union magic_data): Strip NeXTStep stuff. * console.h: Strip NeXTStep stuff. * config.h.in: Strip unimplemented NeXTStep/Epoch stuff out. * Makefile.in.in: Remove unused NeXTStep support. It's all in the cvs attic if someone wishes to revive it. (epoch.o): Remove last vestiges of non-existent epoch support. Sat Apr 5 17:16:49 1997 Steven L Baur * fns.c: Correct DOC string to not equate integers and characters. Thu Apr 3 08:01:50 1997 Steve Carney * s/decosf4.0-static.h: New file. Tue Apr 1 12:22:32 1997 Steven L Baur * config.h.in: MAIL_USE_POP, KERBEROS, HESIOD -- new parameters to deal with upgraded movemail.c. Fri Mar 28 19:25:22 1997 Steven L Baur * inline.c: Restore this blasphemous file. * Makefile.in.in (inline.o): Restore the bletcherous inline.c. Tue Mar 25 11:36:08 1997 David Moore * fileio.c (barf_or_query_if_file_exists): GC fixes. (Ffile_readable_p): ditto. (Ffile_writable_p): ditto. (Ffile_symlink_p): ditto. (Ffile_accessible_directory_p): ditto. * sound.c (Fplay_sound_file): Fix up gc problems with file handlers. * buffer.c (Fkill_buffer): Fix up buffer killing problems with file handlers. * sysdep.c (sys_subshell): Fix up gc problems with file handlers. * callproc.c (Fcall_process_internal): Fix up gc problems with file handlers. Tue Mar 25 17:16:14 1997 Steven L Baur * ralloc.c (MHASH): Make 64bit Alpha happier. Tue Mar 25 11:36:08 1997 David Moore * fileio.c (auto_save_expand_name_error): New function. (auto_save_expand_name): Ditto. (Fdo_auto_save): Protect against an error in Fexpand_file_name from kicking us inappropriately out of auto-save. Mon Mar 24 21:50:13 1997 Steven L Baur * s/linux.h (GETPGRP_NEEDS_ARG): Define if compiling with glibc 2.1 (suggested by Andreas Jaeger). Mon Mar 24 12:40:56 1997 David Moore * profile.c: Fixed some comments about GC status of functions. * profile.c (inside_profiling): New variable to lock the profiling table. (sigprof_handler): Check it. (Fget_profiling_info): Set it. (mark_profiling_info): Set it. (Fclear_profiling_info): Set it. * eval.c (PUSH_BACKTRACE): New macro. (POP_BACKTRACE): Ditto. * eval.c (Fcommand_execute): Use them and fix problem with backtrace_list build ordering requirements for profiling code. (Feval): Ditto. (funcall_recording_as): Ditto. Fri Mar 21 20:19:09 1997 Steven L Baur * Makefile.in.in: strip inline.o. Fri Mar 21 18:54:04 1997 David Moore * fileio.c (call2_check_string_or_nil): New function. (Ffile_name_directory): Use it. (Fsubstitute_in_file_name): Use it. * fileio.c (Fexpand_file_name): GC protect against file handlers. (Fdelete_file): ditto (Ffile_writable_p): ditto (Ffile_directory_p): ditto (Ffile_regular_p): ditto (Fset_file_modes): ditto (Ffile_newer_than_file_p): ditto (Fset_visited_file_modtime): ditto *fileio.c (Ffile_truename): Unnecessary GC protection. (Fdelete_directory): Fix broken caller-must-GC-protect call. * filelock.c (lock_file): New comments warning that this function may kill the current buffer. (unlock_file): ditto (Flock_buffer): ditto (Funlock_buffer): ditto (unlock_buffer): ditto * filelock.c (unlock_all_files): GC protect against unlock_file killing random buffers. * buffer.c (Fkill_buffer): GC protect against unlock_file killing the buffer. * insdel.c (prepare_to_modify_buffer): GC protect against lock_file() killing the buffer. Fri Mar 21 19:11:15 1997 Steven L Baur * mule-coding.c (vars_of_mule_coding): Add enable-multibyte-characters for MULE compatibility. Thu Mar 20 13:25:26 1997 Steven L Baur * glyphs-x.c: Implement a dummy function to insert a fake EOI marker if called. Based on code from William Perry. Wed Mar 19 10:49:05 1997 Steven L Baur * menubar-x.c (pre_activate_callback): Attempt to avoid recursive expansion of submenus via :filter expansion. * glyphs-x.c (x_print_image_instance): Move define of HAVE_SUBWINDOWS to glyphs-x.h. (our_skip_input_data): Implement with some error checking based on patch by Dominic Froud. * glyphs-x.h (HAVE_SUBWINDOWS): Define to keep inline.c from barfing. Tue Mar 18 11:15:23 1997 Steven L Baur * glyphs-x.c: Strip unimplemented subwindows code. Mon Mar 17 15:40:12 1997 David Moore * glyphs-x.c (our_own_dgif_slurp_from_gif2x11_c): Only get the first image out of a multi-image or animated gif. Mon Mar 17 15:27:26 1997 Steven L Baur * Makefile.in.in (xemacs): Invert sense of test for successful completion of XEmacs dump. Sat Mar 15 14:21:39 1997 David Moore * fileio.c (Fdo_auto_save): Protect against file handlers which may kill the buffer being saved or otherwise modify Vbuffer_alist. Sat Mar 15 15:32:51 1997 Steven L Baur * Makefile.in.in (lisp): Add auto-customize.elc. Fri Mar 14 19:10:37 1997 David Moore * extents.c (extent_changed_for_redisplay): New parameter. (extent_changed_for_redisplay): Notify redisplay if invisible text has become visible. (extent_maybe_changed_for_redisplay): New parameter. (extent_attach): Use it. (extent_detach): Use it. (Fset_extent_parent): Use it. (set_extent_invisible): Use visibility change parameter. (Fset_extent_face): Ditto. (Fset_extent_mouse_face): Ditto. (set_extent_glyph): Ditto. (do_highlight): Ditto. Thu Mar 13 10:40:37 1997 Steven L Baur * s/sunos4-1-4-shr.h: New file. * s/sunos4-1-4.h: New file. * s/sunos4-1.h (BROKEN_SIGIO): Define. Wed Mar 12 14:29:40 1997 Steven L Baur * emacs.c (fatal_error_signal): (mostly) useless check on /usr/proc/bin/pstack removed. * s/bsdos3.h: New file for BSDI 3.0. * editfns.c (Fchar_equal): Correct DOC string. (Fchar_Equal): (char=) CL Case sensitve comparison added. * data.c (Fcharacterp): Make DOC string less confrontational. Mon Mar 10 23:51:04 1997 Martin Buchholz * input-method-motif.c (XIM_init_frame): Fix XIM crash on some versions of X11R6 XIM. Sun Mar 9 21:46:53 1997 Tomasz J. Cholewo * minibuf.c (regexp_ignore_completion_p): Reverse meaning of completion-regexp-list. Thu Mar 6 19:15:29 1997 Steven L Baur * data.c (eq_with_ebola_notice): Unobfuscate Ebola warning!!! message. Wed Mar 5 16:11:22 1997 Steven L Baur * process.c (get_internet_address): Put upper bounds on attempting to get system name (similar to nearly identical processing in sysdep.c. Tue Mar 4 17:30:48 1997 Steven L Baur * puresize.h (PURESIZE): *Must* use angle brackets for puresize_adjust.h or build will lose with --srcdir. * alloc.c (report_pure_usage): Adjust error message printed when too low on PURESIZE. * Makefile.in.in: Move site-packages. Add vpath correction for puresize_adjust.h. Mon Mar 3 20:37:54 1997 Steven L Baur * Makefile.in.in (lisp): Remove custom-xmas.elc. Sat Mar 1 01:20:39 1997 Steven L Baur * doc.c (weird_doc): Don't print `duplicate' messages as they are almost always due to symbols that are both autoloaded and dumped. * data.c (syms_of_data): char-int and int-char -> char-to-int and int-to-char. Thu Feb 27 21:48:32 1997 Steven L Baur * Makefile.in.in (xemacs): Loop when dumping until SATISFIED. * lstream.c (signal_simple_internal_error): Remove the abort(). * alloc.c (Fpurecopy): Make it work for byte compiled functions. (Fgarbage_collect): Disable garbage collection if we're dumping XEmacs and we've overflowed purespace. Thu Feb 27 14:14:53 1997 Darrell Kindred * event-Xt.c (change_frame_visibility): New function. (handle_map_event): Use it. (emacs_Xt_handle_magic_event): Correction of handling of VisibilityNotify. Thu Feb 27 14:12:57 1997 Steven L Baur * frame-x.c (x_frame_visible_p): Reverse previous change. Sun Mar 2 14:01:32 1997 David Moore * regex.c (re_search_2): Properly handle crossing the buffer gap when doing a backwards search under MULE. Wed Feb 26 10:24:40 1997 Steven L Baur * Makefile.in.in: make-docfile takes a "-i" parameter to pass site-loaded lisp files. * alloc.c (report_pure_usage): Adjust restart message. Tue Feb 25 10:58:12 1997 Steven L Baur * Makefile.in.in: Add PURESIZE.h to special treatment in vpath. * alloc.c (PURESIZE_h): New function. (report_pure_usage): Use it. If PURESIZE is not the right amount, use the correct value. * puresize.h: Use dynamic computation of PURESIZE. * PURESIZE.h: New file. * fns.c (Frandom): Fix docstring. Mon Feb 24 17:35:05 1997 Jonathan Edwards * process.c (record_exited_processes): Fix obvious typo in checking for SIGCLD. Sun Feb 23 01:45:49 1997 Martin Buchholz * scrollbar.c (update_scrollbar_instance): Fix for all-hail-xemacs scrollbar drag bug. * scrollbar.c (Fscrollbar_to_bottom): Now calls Frecenter(-3) as end-of-buffer does, instead of hostile Frecenter(0). Makes C-button-1 on down-arrow friendlier. Sun Feb 23 16:56:17 1997 David Hobley Initial MS Windows NT support. * unexnt.c: New file. * ntproc.c: New file. * ntheap.h: New file. * ntheap.c: New file. * nt.h: New file. * nt.c: New file. Sun Feb 23 15:56:58 1997 Steven L Baur * floatfns.c (_GNU_SOURCE): Define if compiling with glibc 2. * gmalloc.c: Guard __getpagesize definition against glibc 2. Sat Feb 22 17:12:47 1997 Steven L Baur * Makefile.in.in (lisp): Snarf docstrings from new file itimer-autosave.elc. Fri Feb 21 18:21:32 1997 Jan Vroonhof * event-Xt.c (emacs_Xt_handle_magic_event): Correction for frame freezing bug. Wed Feb 19 12:54:32 1997 Per Abrahamsen * buffer.c (Fbuffer_disable_undo): Default to current buffer. Tue Feb 18 12:37:28 1997 Steven L Baur * Makefile.in.in (lisp): Dump new file custom-xmas.elc. Mon Feb 17 11:29:07 1997 Steven L Baur * print.c (Ferror_message_string): New function, ported from Emacs 19.34. (print_error_message): Ditto. * extents.c (verify_extent_mapper): Experimental deletion of code to allow deletion of read-only extents. * symbols.c (hash_string): Replace algorithm with one given in Aho, Sethi & Ullman. Sun Feb 16 14:53:58 1997 Steven L Baur * keymap.c (lookup_keys): Wrong sense in test. * Makefile.in.in: Don't dump font.elc. Sat Feb 15 02:30:51 1997 Steven L Baur * cmds.c: Define new symbol signal-error-on-buffer-boundary. (Fforward_char): Use it. (Fbackward_char): Use it. * window.c (Fscroll_up): Use it. (Fscroll_down): Use it. * keymap.c (syms_of_keymap): define mouse-[123] and down-mouse-[123] pseudo-keysym aliases for Emacs compatibility. Thu Feb 13 21:28:35 1997 Steven L Baur * Makefile.in.in: Don't dump tm with XEmacs under any circumstances. * puresize.h: Remove extra SunPro puresize for MULE+tm. Sun Feb 9 04:40:36 1997 Axel Seibert * emacs.c (main_1): Fix NeXT malloc initialization. Fri Feb 7 11:36:56 1997 Steven L Baur * mule-coding.c (Fdecode_coding_region): Make explicit call to `barf_if_buffer_read_only'. (Fencode_coding_region): Ditto. Thu Feb 6 22:39:39 1997 Steven L Baur * extents.c (syms_of_extents): Remove references to replicating extents. * extents.h (struct extent): Remove references to replicating extents. Thu Feb 6 01:11:43 1997 Jareth Hein * mule-coding.c (ENCODE_SJIS): Correct typo. Thu Feb 6 01:10:22 1997 Steven L Baur * frame.c (delete_frame_internal): Protect against deletion of frames with living popup children. Wed Feb 5 17:13:17 1997 David Moore * emacs.c (main_1): Try to avoid collisions against potentially incompatible system mallocs. Mon Feb 3 23:04:41 1997 Joel Peterson * redisplay.c: Activate face/charset redisplay caching. Mon Feb 3 22:01:09 1997 Kyle Jones * eval.c (do_debug_on_exit): Don't restore old value of debug_on_next_call improperly. Fri Jan 31 10:28:47 1997 David Byers * frame.c (frame_matches_frametype): Fix next-window when the next window is on another frame. Thu Jan 30 20:25:00 1997 Steven L Baur * syntax.c (scan_sexps_forward): Change test on targetdepth to match Emacs 19.34. Wed Jan 29 22:11:53 1997 James LewisMoss * gmalloc.c: Corrections for namespace collision with Linux libc malloc. Mon Jan 27 21:46:53 1997 Tomasz J. Cholewo * fileio.c (Fwrite_region_internal): pack lockname to write-region handler. Mon Jan 27 04:50:50 1997 David Moore * gmalloc.c (malloc): Guard against incompatible system mallocs with conflicting symbols. Sun Jan 26 12:27:04 1997 Steven L Baur * redisplay.c (add_emchar_rune): Back out optimization change of caching last_charset. Sun Jan 26 09:10:45 1997 Hrvoje Niksic * s/decosf4-0.h: Digital Unix 4.0 has a realpath, but it's buggy. And I *do* mean buggy. Thu Jan 23 10:41:19 1997 Steven L. Baur * puresize.h: Increase SUNPRO usage to reflect tm & cc-mode. Decrease BASE_PURESIZE and increase MULE_PURESIZE_EXTRA. Wed Jan 22 21:09:52 1997 Steven L Baur * puresize.h (BASE_PURESIZE): Tighten up. * scrollbar.c (scrollbar-page-up): Add Athena3d to Lucid/Motif code. (scrollbar-page-down): Ditto. * scrollbar-x.c (x_create_scrollbar_instance): Add Athena3d to Lucid/Motif code. (x_update_vertical_scrollbar_callback): Ditto. (x_update_horizontal_scrollbar_callback): Add Athena3d to Lucid special case code. * scrollbar-x.h (struct x_scrollbar_data): Add start drag position for Athena3d. * redisplay-output.c (redisplay_update_line): A vain attempt to get the Athena vertical thumb adjusted after drag. * EmacsFrame.c: Default to lower/right with Athena3d libraries. Wed Jan 22 18:38:52 1997 Ian Wells * m/aviion.h: Remove definition of m88k. * s/dgux5-4r4.h: New file. Wed Jan 22 18:32:49 1997 Steven L Baur * buffer.h: Put proper typecasts on calls to alloca(). Tue Jan 21 22:25:23 1997 Steven L. Baur * config.h.in: Add LWLIB_USES_ATHENA symbol * Makefile.in.in (TOOLKIT_LIBS): It is possible to have both Athena and Motif in the same link. Tue Jan 21 20:43:41 1997 Hrvoje Niksic * redisplay-tty.c (tty_ring_bell): Don't ring tty bell if the volume is set to 0. Tue Jan 21 20:38:58 1997 Axel Seibert * s/nextstep.h (signal_handler_t): define as int. Mon Jan 20 21:12:57 1997 Martin Buchholz * event-Xt.c (emacs_Xt_handle_magic_event): (frame-totally-visible-p) sometimes incorrectly returned nil. Thu Jan 16 17:24:29 1997 Joel Peterson * menubar-x.c (pre_activate_callback): Correctly handle buffer local variables in :included clauses. (compute_menubar_data): Ditto. Wed Jan 15 21:44:53 1997 Joel Peterson * redisplay.c (add_emchar_rune): Enable last_charset display optimization. Wed Jan 15 19:06:27 1997 David Moore * event-stream.c (Faccept_process_output): Avoid checking an uninitialized variable. Wed Jan 15 14:14:24 1997 Steven L Baur * regex.c: Modify values of re_max_failures and MAX_FAILURE_ITEMS to match Emacs 19.34. Mon Jan 13 00:36:01 1997 Martin Buchholz * sysdep.c (sys_execvp): Fix when compiled with --const-is-losing=no. Old code could crash if argv contained non-ascii characters and the execvp failed and then caller examined argv (for error message, for example). Sun Jan 12 17:22:24 1997 Steven L Baur * Makefile.in.in: TM .elcs moved to SUNPRO_LISP only. Fri Jan 10 20:21:47 1997 Ben Wing * minibuf.c (Ftry_completion): Don't crash if not given a proper obarray. Fri Jan 10 09:49:44 1997 Ted Phelps * objects-x.c (x_initialize_font_instance): Hardcode 'n' for default font width. Mon Jan 6 15:16:46 1997 Carsten Leonhardt * Makefile.in.in: Linking with canna requires -lRKC. Mon Jan 6 12:22:57 1997 Frederic Poncin * gmalloc.c: Don't declare __sbrk on SparcLinux. Sun Jan 5 18:04:47 1997 Soren Dayton * Makefile.in.in: IRIX6 can use sgiplay.c too. Sat Jan 4 12:15:16 1997 Steven L Baur * toolbar.c (specifier_vars_of_toolbar): Clean up fallback specifiers so XEmacs can be built without tty support. * console-stream.c: Moved function bodies of semi_canonicalize_console_connection, canonicalize_console_connection, semi_canonicalize_device_connection, and canonicalize_device_connection into this file from console-tty.c. Moved variable Vstdio_str into this file. * console-tty.c: See above. Fri Jan 3 18:07:11 1997 Axel Seibert * m/next.h: Cleanup accumulated cruft. * s/nextstep.h: Remove useless #undef REL_ALLOC/HAVE_MMAP. * syssignal.h: Don't typedef SIGTYPE on NeXT. Fri Jan 3 12:06:44 1997 Michael Sperber * m/ibmrs6000.inp: Added various get.* symbols. Sun Dec 29 20:16:08 1996 Steven L Baur * m/next.h: Remove signal_handler_t #define. * s/nextstep.h: Remove signal_handler_t #define. Fri Dec 27 21:13:33 1996 Martin Buchholz * event-Xt.c (x_to_emacs_keysym): Corrections to SUNOS_GCC_LO_BUG. Mon Dec 23 11:37:16 1996 Martin Buchholz * fns.c (Ffillarray): Fix for (fillarray #*10 0) Mon Dec 23 10:27:14 1996 Steven L Baur * bitmaps.h: Change to unsigned char. * frame-x.c (x_cde_transfer_callback): Typecast fix. * keymap.c (define_key_check_and_coerce_keysym): Typecast fix. Fri Dec 20 19:21:56 1996 Steven L Baur * Makefile.in.in (lisp): Remove cc-mode as a dumped package. * keymap.c (define_key_check_and_coerce_keysym): Make obsolete binding of kp_.* not lose. * bitmaps.h: Add left & right arrows to show extended lines. Fri Dec 20 15:32:53 1996 David Moore * event-stream.c (event_stream_wakeup_pending_p): New function. (Faccept_process_output): Fix timeout handling race conditions. (Fsleep_for): Ditto. (Fsit_for): Ditto. Thu Dec 19 22:25:26 1996 Steve Carney * cmds.c (Fbeginning_of_line): Adjust for 64 bit machines. Thu Dec 19 00:44:10 1996 Bart Robinson * syssignal.h: The declaration of SIGTYPE shouldn't be protected by HAVE_SIGPROCMASK. Wed Dec 18 20:40:21 1996 Martin Buchholz * dgif_lib.c: Miscellaneous cleanup, including removing signed bitfields. * mule-charset.h: Change charset names. * mule-coding.c (struct iso2022_decoder): Uniform unsigned bitfields. Change charset names. * mule-charset.c: Change charset names. * mule-canna.c: Change charset names. * EmacsShell-sub.c: Ansify and reformat. * console-tty.h (struct tty_console): Uniform unsigned bitfields. * glyphs-x.c: Ansify. * specifier.c: Use lisp_fn_t. * EmacsShell.c: Ansify. * vm-limit.c: Ansify. * emacsfns.h: Use lisp_fn_t. * lstream.c (struct filedesc_stream): Unsigned int bitfields. * xselect.c (hack_motif_clipboard_selection): Change charset name. (Fx_store_cutbuffer_internal): Change charset name. * ralloc.c: Ansify and clean up. * frame.h (struct frame): Uniform unsigned bit fields. * event-Xt.c: Documentation change. * lisp.h: Introduce lisp_fn_t. Remove SunPro C compiler warning message workaround. * xmu.c: Ansify. * doprnt.c (struct printf_spec): Use unsigned bitfields. * fileio.c: various code formatting changes. * eval.c: reorganize primitive funcalls. * config.h.in (NeedFunctionPrototypes): Force slightly better type checking in X header files. * Makefile.in.in: #undef i386, move mime-setup.elc?. * s/sunos4-0-shr.h: Documentation change. * s/sol2.h (__EXTENSIONS__): Add. Include under certain conditions. Mon Dec 16 19:13:10 1996 Steven L Baur * lstream.c (Lstream_pseudo_close): Return status on error. (Lstream_close): Ditto. (Fixes disk full-no error on write bug). Sat Dec 14 16:54:52 1996 Steven L Baur * glyphs-x.c (jpeg_instantiate): Use file I/O for JPEG loading because the in-core code is broken. Fri Dec 13 16:43:45 1996 Steven L Baur * device-x.c (x_init_device): Don't make nonexistent X server the default when running on a tty. * event-Xt.c (x_to_emacs_keysym): Rename kp_.* keysyms to be kp-\1. * redisplay-tty.c (keys): Rename kp_.* keynames to kp-\1. Fri Dec 13 14:48:42 1996 Michael Sperber * lread.c (Fload_internal): Change arity of call to file-name-handlers. * fileio.c (Finsert_file_contents_internal): Ditto. Thu Dec 12 16:55:34 1996 Lars Magne Ingebrigtsen * cmds.c (Fpoint_at_eol, Fpoint_at_bol): New functions. (Fend_of_line, Fbeginning_of_line): Use them. Tue Dec 10 11:17:32 1996 Shane Holder * s/hpux9shxr4.h: hpux9shr.h -> hpux9-shr.h * s/hpux10.h: hpux9shr.h -> hpux9-shr.h Sat Dec 7 18:29:34 1996 Steven L Baur * puresize.h (BASE_PURESIZE): Bumped up PURESIZE by 10k. Sat Dec 7 16:26:34 1996 Martin Buchholz * config.h.in: configure for POSIX getcwd if available. Sat Dec 7 15:48:39 1996 Steven L Baur * s/sunos4-1-shr.h: Renamed from sunos4-1shr.h. * s/sunos4-1-3-shr.h: Renamed from sunos4-1-3shr.h. * s/sunos4-1-2-shr.h: Renamed from sunos4-1-2-shr.h. * s/sunos4-0-shr.h: Renamed from sunos4-0shr.h. * s/hpux9-shr.h: Renamed from hpux9shr.h. * s/hpux8-shr.h: Renamed from hpux8shr.h. * s/hpux10-shr.h: Renamed from hpux10shr.h. Wed Dec 4 23:38:03 1996 Steven L Baur * redisplay.c: Allow column numbers in modeline to start from 1.