diff options
author | Dave Love <fx@gnu.org> | 1999-09-29 16:37:29 +0000 |
---|---|---|
committer | Dave Love <fx@gnu.org> | 1999-09-29 16:37:29 +0000 |
commit | 615d01824a509f565a0ecf3075fc953b509c313d (patch) | |
tree | 6ab983e0335ef3d98db1e40b6d12044bd6268509 /src/ChangeLog.5 | |
parent | 6bf7aab68402fd010eae5d280350bd399014406a (diff) | |
download | emacs-615d01824a509f565a0ecf3075fc953b509c313d.tar.gz |
#
Diffstat (limited to 'src/ChangeLog.5')
-rw-r--r-- | src/ChangeLog.5 | 7145 |
1 files changed, 7145 insertions, 0 deletions
diff --git a/src/ChangeLog.5 b/src/ChangeLog.5 new file mode 100644 index 00000000000..ae4322ae5a4 --- /dev/null +++ b/src/ChangeLog.5 @@ -0,0 +1,7145 @@ +1995-06-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Version 19.29 released. + + * xfns.c (Fx_display_grayscale_p): Return t or nil. + Return t for color displays. + + * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Increased to 68000. + + * xdisp.c (decode_mode_spec) [!MULTI_FRAME]: Handle %F properly. + +1995-06-20 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (read_key_sequence): Don't use Vprefix_help_command + for the first character in a key seq. + + * ntinevt.c (map_virt_key): Mark some additional chars as valid ASCII. + + * ntterm.c (ctrl_c_handler): Ignore CTRL_BREAK_EVENT signals. + +1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * sysdep.c (rmdir): Fix up Aug 19 1993 change that wasn't done right. + + * ntproc.c (win32_wait): Massage retval into what is expected in Unix. + + * process.c (sigchld_handler): Change XSETFASTINT to XSETINT. + + * keyboard.c (Freset_this_command_lengths): New function. + (before_command_key_count, before_command_echo_length) + (before_command_restore_flag): New variables. + (add_command_key): If requested, reset the lengths. + (command_loop_1): Record current lengths before reading cmd. + (read_char): Update the recorded length before echoing. + + * xfns.c (Fx_create_frame): Fix last arg to x_get_arg for Qdisplay. + + * s/linux.h (LIB_GCC): Fix previous change. + If we redefine it later, #undef it first. + +1995-06-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (quit_throw_to_read_char): Turn off the error check + testing poll_suppress_count. + + * s/linux.h (LIB_GCC): Define here, overriding Makefile.in.in, + so as to use C_SWITCH_X_MACHINE. + +1995-06-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/alpha.h (SYSTEM_MALLOC): Definition deleted. + + * keymap.c (Vdefine_key_rebound_commands): New variable. + (syms_of_keymap): Set up Lisp var. + (Fdefine_key): Put new definition onto Vdefine_key_rebound_commands. + + * xmenu.c (menu_item_equiv_key): Do reconsider a command that had + no equivalent before, if it is in Vdefine_key_rebound_commands. + + * data.c (Flocal_variable_if_set_p): New function. + (syms_of_data): Call defsubr. + + * xdisp.c (display_text_line): Fill in charstart for end of buffer. + +1995-06-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * puresize.h [MULTI_FRAME] (BASE_PURESIZE): Increase to 315000. + + * frame.c (Fdelete_frame): Use do_switch_frame directly. + (do_switch_frame): No longer static. + * window.c (Fset_window_configuration): Use do_switch_frame directly. + * keyboard.c (quit_throw_to_read_char): Use do_switch_frame directly. + * lisp.h (do_switch_frame): Declared. + +1995-06-16 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * frame.c [MULTI_FRAME] (Fignore_event): New function. + [MULTI_FRAME] (keys_of_frame): Bind iconify-frame and + make-frame-visible to it. + +1995-06-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * .gdbinit: Use long, not EMACS_INT. + Do `set main' to make gdb_valbits etc. available. + + * frame.h (struct frame): New field icon_name. + * xterm.h (struct x_display): icon_name deleted. + * xfns.c (x_report_frame_params, x_set_icon_type, x_set_icon_name) + (x_set_name, x_icon, Fx_create_frame): Use moved icon_name field. + * alloc.c (mark_object): Mark icon_name field. + +1995-06-15 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.h (struct kboard): Add Voverriding_terminal_local_map. + * keyboard.c (init_kboard): Initialize it. + (syms_of_keyboard): Defvar it. + (read_key_sequence, menu_bar_items): + Check Voverriding_terminal_local_map before Voverriding_local_map. + * doc.c (Fsubstitute_command_keys): Likewise. + * keymap.c (Fkey_binding, describe_buffer_bindings): Likewise. + + * xdisp.c (Qoverriding_terminal_local_map): New variable. + (syms_of_xdisp): staticpro it. + (update_menu_bar): If we bind overriding-local-map, also bind + overriding-terminal-local-map. + + * frame.c (Fhandle_switch_frame): Preserve prefix arg. + * keyboard.c (command_loop_1): In special handling for commands + that create a prefix arg, don't handle commands that merely + preserve one that was previously created. + + * .gdbinit ($valmask): Use EMACS_INT, not int. + + * lisp.h (enum pvec_type): Don't use trailing comma. + +1995-06-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/alpha.h (malloc, realloc): If not _MALLOC_INTERNAL, + always use void *. + +1995-06-15 Geoff Voelker <voelker@cs.washington.edu> + + * callproc.c (call-process-region) [DOS_NT]: Use IS_DIRECTORY_SEP. + (call-process-region) [WINDOWSNT]: Use proper temp file template. + + * ntproc.c (win32_spawnve): Accept program names without executable + suffixes. + + * makefile.nt (TRES) [MSVCNT11]: Use emacs.res, and don't compile it. + +1995-06-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/alpha.h (LD_SWITCH_MACHINE): Don't define it. + (malloc, realloc): If non-ANSI C, declare value as char *. + +1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * sysdep.c (emacs_set_tty): Swap TCSETAF and TCSETAW. + Rename arg waitp to flushp. + +1995-06-14 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * callint.c (Fprefix_numeric_value): Fix type check. + + * keyboard.c (command_loop_1): Clear prefix arg (undo Feb 1 change). + +1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * data.c (Flocal_variable_p): Fix backwards logical operator. + +1995-06-14 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * m/intel386.h: If NOT_C_CODE, don't include alloca.h. + [!__GNUC__] (C_SWITCH_MACHINE): Disable this; it seems to confuse cpp. + +1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (Fdelete_frame): If the minibuf window was selected, + make that remain so. + + * process.c (status_notify): Undo May 18 change. + Set update_tick at the beginning not at end. + + * buffer.c (Fprevious_overlay_change): Check for overlays that + end at POS. + +1995-06-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (syms_of_xfns): Initialize Vx_no_window_manager. Doc fix. + +1995-06-13 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * m/ibmrs6000.h (LIBS_MACHINE): Use -lpthreads, not -lpthread. + * config.h.in (HAVE_LIBPTHREADS): Add #undef. + +1995-06-12 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * mem-limits.h [_LIBC] (start_of_data): Define to &__data_start + for GNU libc. + +1995-06-11 Richard Stallman <rms@gnu.ai.mit.edu> + + * xmenu.c (frame_vector_add_frame): Don't forget to store + the longer vector. + + * xterm.h (struct x_display): New field asked_for_visible. + * xterm.c (x_make_frame_visible): Test and set asked_for_visible. + + * widget.c (EmacsFrameSetCharSize): Manually alter the height + and width of the outer widget (and the width of the column widget) + carefully using deltas. + Set update_hints_inhibit nonzero while updating. + Then call update_wm_hints explicitly. + (update_wm_hints): Use 0 for min_rows, min_cols. + Do nothing if update_hints_inhibit is nonzero. + + * xterm.c: Include widget.h. + (x_wm_set_size_hint) [USE_X_TOOLKIT]: + Get the size from the outer widget. + Copy the base and minimum sizes from the old hint. + + * xfns.c [USE_X_TOOLKIT] (x_window): If using Motif, + add some extra to sizes, for consistent behavior. + +1995-06-10 Richard Stallman <rms@gnu.ai.mit.edu> + + * dispnew.c (Fframe_or_buffer_changed_p): Calculate vector size right. + Add hysteresis when making it larger. Fill it up reliably + and check at the end for overflowing it. + (syms_of_display): Make frame_and_buffer_state initially with 20 elts. + + * keyboard.c (read_char_minibuf_menu_prompt): + If the char to type doesn't match the prompt string, + show the char explicitly. + +1995-06-10 Geoff Voelker <voelker@cs.washington.edu> + + * ntterm.c,ntproc.c,nt.c: Include config.h before stdio.h. + +1995-06-09 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt (TEMACS): Depend upon $(BLD). + (temacs): Remove $(BLD) dependency. + +1995-06-09 Richard Stallman <rms@gnu.ai.mit.edu> + + * xterm.c (x_get_keysym_name): New function. + * keyboard.c (modify_event_symbol): Mask out high bits here, + and only for certain purposes. table_size now unsigned. + (modify_event_symbol) [HAVE_X_WINDOWS]: Use x_get_keysym_name. + (make_lispy_event): Don't mask high bits here. + Supply -1 as table_size for system-specific keys. + + * xdisp.c (update_menu_bar): Use set_buffer_internal_1 to switch bufs. + Run the hooks in the proper buffer. + Normally bind overriding-local-map to nil. + (Qoverriding_local_map): New variable. + (syms_of_xdisp): staticpro it. + +1995-06-09 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.h (struct kboard): New member system_key_syms. + * alloc.c (mark_kboards): Mark it. + * keyboard.c (system_key_syms): Deleted; now part of struct kboard. + (make_lispy_event): Use the struct member. + (init_kboard): Initialize it. + (syms_of_keyboard): Delete initialization and staticpro. + + * Makefile.in.in (SOURCES): Makefile isn't source; Makefile.in.in is. + +1995-06-08 Richard Stallman <rms@gnu.ai.mit.edu> + + * keyboard.c (Fevent_convert_list): Renamed from + convert_event_type_list. + (syms_of_keyboard): defsubr it. + * keymap.c (Flookup_key, Fdefine_key): Use Fevent_convert_list. + + * xmenu.c (xmenu_show): Do call lw_destroy_all_widgets. + (xdialog_show): Likewise. + (popup_get_selection): Don't call it here. + + * search.c (Freplace_match): Fix check for valid reg in string replace. + Do the right thing with backslash. + + * keyboard.c (Vhelp_event_list): New var. + (syms_of_keyboard): Set up Lisp var. + (help_char_p): New function. + (read_char, echo_char, read_key_sequence): Use help_char_p. + + * keyboard.h (Vlucid_menu_bar_dirty_flag): Declare this variable. + (Qrecompute_lucid_menubar, Qactivate_menubar_hook): Likewise. + + * keyboard.c (read_key_sequence): Don't run activate-menubar-hook + or call recompute-lucid-menubar. + + * xdisp.c (update_menu_bar): Run activate-menubar-hook + and call recompute-lucid-menubar. + +1995-06-08 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * commands.h (last_command): Declaration deleted. + * keyboard.h (struct kboard): New member Vlast_command. + * keyboard.c (last_command): Var deleted; now part of struct kboard. + (init_kboard): Initialize it. + (syms_of_keyboard): Defvar it. + (command_loop_1): Make last_command be kboard-local. + * cmds.c (internal_self_insert): Likewise. + * minibuf.c (Fminibuffer_complete): Likewise. + + * m/ibmrs6000.h (LIBS_MACHINE): Use -lpthread if it exists. + + * m/alpha.h (LIBS_MACHINE): Define to -ldnet or -ldnet_stub. + + * s/msdos.h (SYSTEM_PURESIZE_EXTRA) [!HAVE_X_WINDOWS]: + Increase to 62000. + + * process.c [!subprocesses]: Include sysselect.h. + + * xmenu.c (xmenu_show): If !HAVE_X_WINDOWS, don't reference X display. + +1995-06-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.h (struct kboard): member Vprefix_arg restored, replacing + prefix_factor, prefix_value, prefix_sign, and prefix_partial. + * callint.c (current_prefix_partial): Deleted. + (Vprefix_arg): Deleted; not part of struct kboard again. + (Funiversal_argument, Fnegative_argument, Fdigit_argument) + (clear_prefix_arg, finalize_prefix_arg, describe_prefix_arg): Deleted. + (syms_of_callint): Use DEFVAR_KBOARD for Vprefix_arg. + Remove defsubrs for deleted functions. + * lisp.h: Remove declarations for deleted vars and functions. + * alloc.c (mark_kboards): Mark Vprefix_arg instead of + prefix_factor and prefix_value. + * macros.c (Fexecute_kbd_macro): Vprefix_arg is now part of kboard. + * keyboard.c (cmd_error, command_loop_1, Fcommand_execute) + (Fexecute_extended_command, init_kboard, syms_of_keyboard): + Undo Feb 28 change; prefix arg handling is now in Lisp code again. + + * buffer.c: (syms_of_buffer): Doc fix. + + * buffer.c: (Fbuffer_disable_undo): Make this function interactive. + +1995-06-07 Richard Stallman <rms@gnu.ai.mit.edu> + + * data.c (Flocal_variable_p): New optional arg BUFFER. + Really check whether var is local in *that* buffer. + + * xfns.c (x_real_positions): Uncatch and recatch X errors in the loop. + + * filelock.c (unlock_file, lock_file): Call Fexpand_file_name. + +1995-06-05 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * Makefile.in.in (TOOLKIT_DEFINES): Define. + (ALL_CFLAGS): Insert $(TOOLKIT_DEFINES) here. + * xfns.c (syms_of_xfns): Provide motif in Motif version. + + * lisp.h: (Fwaiting_for_user_input_p): Function declared. + (Fupcase_initials, Fupcase_initials_region): Likewise. + (Fplist_get, get_local_map, Fx_popup_menu, Fx_popup_dialog): Likewise. + (Fframe_first_window): Likewise. + * keyboard.c (cmd_error): Use NULL, not 0, as arg to + cmd_error_internal. + (menu_bar_items): Likewise, for arg of current_minor_maps. + (record_char): Add cast. + * indent.c (Fvertical_motion): Add cast. + * undo.c (record_insert): Change args to be ints, not Lisp_Objects. + * casefiddle.c (casify_region): Use explicit local vars for start + and end, so that the type will be correct. + (operate_on_word): Likewise for iarg in this function. + (upcase_initials, upcase_initials_region): Deleted; these were + redundant copies of Fupcase_initials and Fupcase_initials_region. + * abbrev.c (Fexpand_abbrev): Call to upcase_initials_region + changed to Fupcase_initials_region for consistency. + * search.c (Freplace_match): Likewise. + * alloc.c: Declare sbrk. + + * xdisp.c: Include keyboard.h. + + * s/irix5-0.h (POSIX_SIGNALS): Defined. + +1995-06-03 Richard Stallman <rms@gnu.ai.mit.edu> + + * xterm.c (x_wm_set_icon_pixmap): Set IconPixmapHint in both cases. + + * buffer.c (Fkill_buffer): When killing indirect buffer, + unchain that buffer's markers (only) from the common chain. + Don't rekill this buffer's indirect buffers that are dead. + Do nothing if this buffer is already dead. + +1995-06-03 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * editfns.c (Fencode_time): Doc fix. + + * fns.c (NULL): Define if not defined. + +1995-06-02 Richard Stallman <rms@gnu.ai.mit.edu> + + * xfns.c (Fx_create_frame): Make sure icon_name is a string or nil. + + * xterm.h (struct x_display): Rename icon_label to icon_name + and make it a Lisp_Object. + + * xfns.c (Qicon_name): New variable. + (Fx_create_frame): Look for icon-name parm and set icon_label field. + (x_set_icon_type): Compute arg to x_text_icon + based on frame name and icon_name fields. + (x_set_icon_name): New function. + (x_icon): Call x_text_icon. + (x_set_name): Look at icon_name field when setting the icon name, + (x_frame_parms): Add icon-name. + (syms_of_xfns): Set up Qicon_name. + + * xterm.c (x_text_icon): Do call XSetIconName or XSetWMIconName. + Don't save ICON_NAME anywhere. + + * sysdep.c (old_tty_valid): New variable. + (init_sys_modes): Set old_tty_valid if we set old_tty. + (reset_sys_modes): Restore tty settings only if old_tty_valid. + + * term.c (cursor_to, clear_to_end_of_line_raw): + If chars_wasted is 0, do nothing. + (clear_end_of_line): Don't die if chars_wasted is 0. + + * search.c (trivial_regexp_p): = is special after \. + + * s/ptx.h (HAVE_SELECT, HAVE_TIMEVAL): Definitions deleted. + +1995-06-01 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * xfns.c (x_destroy_bitmap): Block and unblock input. + (Fx_horizontal_line): Add one UNBLOCK_INPUT to fix a misbalance, + and move another one to include the call to XFreeGC, in case we + someday remove the "#if 0" conditions. + * widget.c (EmacsFrameDestroy): Block and unblock input. + +1995-05-31 Richard Stallman <rms@gnu.ai.mit.edu> + + * xfns.c (x_display_info_for_name): Fix error message. + (Fx_open_connection): Fix error messages. + +1995-05-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * s/sol2-4.h (LD_SWITCH_SYSTEM): Copied back from s/sol2-3.h; + added references to /usr/dt/lib. + + * xfns.c (syms_of_xfns): Allow PATH_BITMAPS to be a + colon-separated list. + + * editfns.c (syms_of_editfns): user-login-name renamed from user-name. + user-real-login-name renamed from user-real-name. + C names changed to Vuser_real_login_name, Vuser_login_name as well. + * nt.c: Change Vuser_real_name to Vuser_real_login_name. + +1995-05-30 Richard Stallman <rms@gnu.ai.mit.edu> + + * xfns.c (x_top_window_to_frame): Don't match menu-bar widget. + + * xdisp.c (update_menu_bar): Reverse test of save_match_data. + + * xmenu.c (set_frame_menubar): Always call update_frame_menubar. + + * xfns.c (x_window): Use applicationShellWidgetClass, + not topLevelShellWidgetClass. Call lw_set_main_areas after + creating the menubar widget. + +1995-05-29 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * xdisp.c (update_menu_bar): Do update if region display has changed. + + * frame.c (make_frame_without_minibuffer): New arg DISPLAY. + If there's no minibuffer frame to use, create one. + * xfns.c (Fx_create_frame): Pass new arg to + make_frame_without_minibuffer. + + * fns.c (Frandom): Use EMACS_INT, not int. + Use NULL, not 0, as arg of `time'. + + * frame.c: Declare x_get_focus_frame. + (Fmouse_position): Use NULL, not 0, as arg of pixel_to_glyph_coords. + * keyboard.c (make_lispy_event, make_lispy_movement): Likewise. + +1995-05-29 Richard Stallman <rms@gnu.ai.mit.edu> + + * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Do pass MotionNotify events + to the toolkit. + + * keyboard.c (Fset_input_mode): When read_socket_hook, ignore + what the user specified, and set interrupt_input in the preferred + way for this system. + + * xterm.c (x_term_init): Call init_sigio only if interrupt_input. + +1995-05-28 Morten Welinder <terra+@cs.cmu.edu> + + * s/osf1.h (COFF): Define. + * m/alpha.h (LD_SWITCH_MACHINE) [!__GNUC__]: Don't define. + (r_alloc, r_re_alloc, r_alloc_free) [REL_ALLOC, + !_MALLOC_INTERNAL, !NOT_C_CODE]: Prototype. + +1995-05-28 Richard Stallman <rms@gnu.ai.mit.edu> + + * xterm.c (x_set_offset): Distinguish CHANGE_GRAVITY < 0 case. + * xfns.c (x_set_frame_parameters): Pass -1 to x_set_offset. + + * xfns.c (x_report_frame_params): Report top and left + in a way that represents negative offsets correctly. + + * syntax.c (describe_syntax_1): Pass new arg to describe_vector. + + * keymap.c (describe_vector): New arg entire_map. + Don't show bindings shadowed earlier on in the same map. + (Fdescribe_vector, describe_map): Pass new arg. + + * xdisp.c (redisplay_window): Don't use try_window_id if + newline has a display table entry. + + * xdisp.c (update_menu_bar): + Call set_frame_menubar with proper buffer current. + +1995-05-26 Geoff Voelker <voelker@cs.washington.edu> + + * lread.c (init_lread) [CANNOT_DUMP]: Set Vload_path to EMACSLOADPATH. + +1995-05-26 Richard Stallman <rms@gnu.ai.mit.edu> + + * xfns.c (x_window): Call initialize_frame_menubar + near the end, after UNBLOCK_INPUT. + + * xmenu.c (popup_get_selection): Force deactivation if key pressed. + New arg `id'. + (xdialog_show, xmenu_show): Pass new arg to popup_get_selection. + * xterm.c (XTread_socket): Don't call popup_get_selection here. + +1995-05-26 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * sysdep.c (VFORK_RETURN_TYPE): Use int if not already defined. + (vfork): Declare the return type. + * s/sol2-3.h (HAVE_VFORK): Moved here from s/sol2-4.h. + (VFORK_RETURN_TYPE): Defined. + * s/sol2-4.h (HAVE_VFORK): Moved to s/sol2-3.h. + (pid_t): Deleted; s/sol2-3.h now defines a symbol for this. + + * xdisp.c (x_consider_frame_title): Use FRAME_KBOARD. + +1995-05-26 Geoff Voelker <voelker@cs.washington.edu> + + * s/windows95.h: New file. + + * ntheap.h (get_data_region_base): Undefined. + (get_reserved_heap_size): Use reserved_heap_size. + (reserved_heap_size): Declared. + * ntheap.c (reserved_heap_size,allocate_heap): Defined. + (sbrk): Use allocate_heap. + + * ntterm.c (set_terminal_modes): Set cursor size appropriate for + Windows 95. + (write_glyphs): Don't memset attrs, which is a word array. + + * nt.c (configuration_buffer): Increase size. + (get_emacs_configuration) [WINDOWS95]: Use appropriate string. + (prepare_standard_handles) [WINDOWS95]: Disable subprocesses. + (reset_standard_handles): Check error number on failure. + + * makefile.nt (LIBS): Use BASE_LIBS and ADVAPI32. + (config.h,paths.h): Use $(CP) instead of cp. + (config.h): Use $(CONFIG_H). + (EMACS) [WINDOWS95]: Don't dump temacs.exe. + (clean): Cleanup MSVC files and config.h. + (cleandump): Separate commands onto multiple lines. + Cleanup comments. + +1995-05-26 Michael Ernst <mernst@research.microsoft.com> + + * emacs.c (standard_args): -i, -itype, --icon-type take 0, not 1, args + +1995-05-25 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * process.c (create_process, send_process): Add volatile qualifiers. + (wait_reading_process_input) [both versions]: Cast args of select. + + * syntax.c (scan_lists): Make stringterm an unsigned char. + + * dispnew.c (change_frame_size_1): Declare arg DELAY. + + * insdel.c (adjust_point): Declare arg AMOUNT. + + * lisp.h (do_symval_forwarding): Declare this function. + (frame_buffer_predicate, Foverlay_start, Foverlay_end): Ditto. + (Fprevious_single_property_change, Fend_of_line, Felt): Ditto. + (Fforward_line, Fforward_word, Fdelete_region, Fforward_char): Ditto. + (Fnarrow_to_region, Fwiden, Fmatch_beginning, Fmatch_end): Ditto. + (Fskip_chars_forward, Fskip_chars_backward): Ditto. + (Ffile_name_absolute_p, read_doc_string): Ditto. + (get_frame_param, store_frame_param, store_in_alist): Ditto. + (describe_map_tree): Declaration moved here from keymap.c. + * keymap.c (describe_map_tree): Move declaration to lisp.h. + + * doc.c (Fsubstitute_command_keys): Cast arg of describe_map_tree. + * frame.c [MULTI_FRAME] (Fmouse_position): Cast arg of + pixel_to_glyph_coords. + * callint.c (Fcall_interactively): Cast arg of doprnt. + * editfns.c (format1): Likewise. + * xdisp.c (message): Likewise. + (scroll_bottom_vpos, fmodetrunc): Declarations deleted. + +1995-05-25 Richard Stallman <rms@gnu.ai.mit.edu> + + * dispnew.c (Fframe_or_buffer_changed_p): Record frame names + as well as the frame objects. + + * xterm.c (XTread_socket): + For MapNotify, call record_asynch_buffer_change. + + * xdisp.c (prepare_menu_bars): Update frame titles before menu bars. + + * xfns.c (Fx_get_resource): Major rewrite to make it clearer. + (validate_x_resource_name): Use build_string, not make_string. + (Fx_create_frame): Initially use Vinvocation_name as resource name. + Switch to frame name if frame name is explicit. + (x_display_info_for_name, Fx_open_connection): Add casts. + Initially use Vinvocation_name as resource name. + [USE_X_TOOLKIT] (x_window): Use Vx_resource_name for widget names. + + * xmenu.c (xmenu_show, xdialog_show): Increment widget_id_tick + in the same way as in xfns.c. Use LWLIB_ID type where appropriate. + (set_frame_menubar, free_frame_menubar): Add casts to LWLIB_ID. + + * xterm.c (XTflash): Use pointers as args to select. + (XTread_socket, x_set_offset, x_set_window_size) + (x_make_frame_invisible): Cast 2nd arg to x_wm_set_size_hint. + (XTclear_end_of_line): Don't specify return type. + (note_mouse_highlight): Declare args x and y. + (x_icon_type): New declaration. + (flashback): Declaration deleted. + +1995-05-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h (menu_bar_items): Declare this function. + +1995-05-24 Richard Stallman <rms@gnu.ai.mit.edu> + + * xmenu.c (Fx_popup_dialog): Treat (menu-bar) like t, for POSITION. + + * frame.c (Fdelete_frame): When updating Vdefault_minibuffer_frame, + insist on a frame on the proper keyboard. + + * xterm.c (x_connection_closed): Unblock input, first thing. + Set Vdefault_minibuffer_frame to t + before deleting a frame that might have its own minibuffer. + +1995-05-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xfns.c (hack_wm_protocols): Use cast instead of suffix. + +1995-05-23 Richard Stallman <rms@gnu.ai.mit.edu> + + * xfns.c (x_set_frame_parameters): Pass 1 as change_gravity + when calling x_set_offset. + (x_real_positions): Don't add border_width into win_x, win_y. + * xterm.c (x_set_offset): Add border_width when calling XMoveWindow. + + * xterm.h (struct x_display): New field menubar_height. + * xmenu.c (set_frame_menubar): Set menubar_height field. + * xfns.c (x_window) [both versions]: Set menubar_height. + + * xfns.c [USE_X_TOOLKIT] (x_window): Don't call XMoveWindow + or x_calc_absolute_position. Do use the border_width. + + * xterm.c (x_calc_absolute_position): Use menubar_height field. + In toolkit case, use outermost Emacs widget and its parent. + [USE_X_TOOLKIT] (x_make_frame_visible): Do call x_set_offset. + + + * xfns.c [USE_X_TOOLKIT] (x_window): Pass position to toolkit + only if user-specified. But always use XMoveWindow to move the + window to that position. + + * alloc.c (Fgarbage_collect): Clear consing_since_gc first thing. + + * xdisp.c (redisplay_window): Use set_buffer_internal_1. + + * buffer.c (set_buffer_internal_1): New subroutine. + (Fmove_overlay): Don't set windows_or_buffers_changed. + +1995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xselect.c (x_get_window_property): Cast args of XGetWindowProperty. + * xfaces.c (unload_color): Cast args of XFreeColors. + * xfns.c (hack_wm_protocols): Cast args of XGetWindowProperty. + (x_set_border_pixel): Cast args of XSetWindowBorder. + * widget.c (create_frame_gcs): Cast args of XCreateGC. + (setup_frame_gcs): Cast args of XCreatePixmapFromBitmapData. + + * data.c (long_to_cons): Don't assume 32-bit longs. + * fileio.c (Fvisited_file_modtime): Cast arg of long_to_cons. + + * editfns.c (Fformat): Split double into two pointers, not two ints. + + * s/hpux9.h: Delete HAVE_FMOD; configure handles that correctly now. + +1995-05-22 Richard Stallman <rms@waves> + + * xdisp.c (display_text_line): Enter a char in charstarts + at the very end of the character loop. + Enter newline or ^M (if selective display) separately. + + * lisp.h (gdb_lisp_params): New enum type. + * .gdbinit: Use gdb_lisp_params to get storage layout info. + Set and use $valmask and $nonvalbits. + + * lread.c (oblookup): Delete argument hashp. + +1995-05-19 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * floatfns.c (Flogb): frexp needs a pointer to int, not EMACS_INT. + +1995-05-19 Richard Stallman <rms@waves> + + * dispnew.c (buffer_posn_from_coords): Don't let startp be before BEGV. + +1995-05-18 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * indent.c (compute_motion): Handle overlay strings. + New arg DID_MOTION. All callers changed. + * dispnew.c, window.c: Add new argument to calls of compute_motion. + * xdisp.c: Add new argument to calls of compute_motion. + (zv_strings_seen): New variable. + (redisplay, try_window, try_window_id): Clear zv_strings_seen. + (display_text_line): Handle overlay strings. + +1995-05-18 Richard Stallman <rms@waves> + + * s/sol2-4.h: Undo previous change. + + * emacs.c (Fkill_emacs): Delete the auto-save-list file + after shut_down_emacs. + + * process.c (status_notify): If Vprocess_alist changes within + the loop, do the whole loop again. + +1995-05-17 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * emacs.c (Fdump_emacs): Don't take address of array. + + * buffer.c (Fmake_indirect_buffer): Fix interactive spec. + + * Makefile.in.in (SOURCES): Fix reference to ymakefile. + + * keyboard.c (syms_of_keyboard): Always define track-mouse. + (do_mouse_tracking): Always declare this var. + +1995-05-15 Marcus Daniels <marcus@ee.pdx.edu> + + * s/linux.h: Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H. + [__ELF__] (START_FILES, LIB_STANDARD, LIB_GCC, UNEXEC): Define these. + [__ELF__] (UNEXEC_USE_MAP_PRIVATE): Define this. + + * unexelf.c (unexec) [UNEXEC_USE_MAP_PRIVATE]: New logic for + systems that don't support MAP_SHARED with PROT_WRITE. + +1995-05-15 Richard Stallman <rms@churchy.gnu.ai.mit.edu> + + * s/sol2-4.h (LD_SWITCH_SYSTEM): Define. + +1995-05-15 Simon Leinen <simon@lia.di.epfl.ch> + + * indent.c (vmotion): handle the case where `minibuf_prompt' is nil. + +1995-05-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * indent.c (vmotion): Simplify. Replace last three args with a single + struct window *. All callers changed. + * xdisp.c (minmax): New macro. + (redisplay, redisplay_window, try_window_id): Clip cursor hpos at both + low and high extremes, in anticipation of a change to compute_motion. + + * xterm.c (Qvendor_specific_keysyms): New var. + (syms_of_xterm): Initialize and staticpro it. + (x_term_init): Initialize Vsystem_key_alist according to vendor. + + * emacs.c (main) [NeXT]: Add missing braces. + +1995-05-11 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * sysdep.c (init_system_name): Clean up signedness mismatch. + * unexelf.c (unexec): Fix type mismatch. + * print.c (float_to_string): Fix type mismatch and simplify. + + * dispnew.c [!MULTI_FRAME] (Fredraw_frame): Delete extra docstring. + * frame.c [!MULTI_FRAME] (Fframe_height, Frame_width): Likewise. + +1995-05-09 enami tsugutomo <enami@sys.ptg.sony.co.jp> + + * window.c [MULTI_FRAME] (init_window_once): Set Vterminal_frame + to selected_frame. + * frame.c [MULTI_FRAME] (make_terminal_frame): Don't set + Vterminal_frame. + (do_switch_frame): Set Vterminal_frame to selected_frame. + +1995-05-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * Makefile.in.in (VMS_SUPPORT): Add missing `.elc'. + (SOME_MACHINE_LISP): New variable. + (${etc}DOC): Use it. + + * buffer.c (syms_of_buffer): Doc fix. + + * frame.c (frame-height, frame-width, set-screen-height, + set-screen-width, termal-frame) [!MULTI_FRAME]: Delete doc strings. + +1995-05-08 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (init_kboard): Initialize Vdefault_minibuffer_frame. + * keyboard.h (struct kboard): New member Vdefault_minibuffer_frame. + * frame.c: Vdefault_minibuffer_frame is now part of KBOARD instead + of a variable. All references changed. + (make_frame_without_minibuffer): New arg KB. + Require the new frame's minibuffer to be on the same display. + * xfns.c (Fx_create_frame): Pass kb to make_frame_without_minibuffer. + + * xdisp.c (x_consider_frame_title): When setting multiple_frames, + ignore invisible frames and frames on other displays. + + * keyboard.c [MULTI_KBOARD] (read_char): If the character was for + the wrong kboard, don't let it get processed twice. + +1995-05-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * callproc.c (Fcall_process): Keep reading till buffer is nearly full. + + * emacs.c (Fdump_emacs): Don't use & before my_edata. + +1995-05-08 Francesco Potorti` (pot@cnuce.cnr.it) + + * m/delta.h (C_SWITCH_MACHINE): Let configure decide if this is + a 68040 or 68030. Don't condition on __STDC__. + +1995-05-08 enami tsugutomo <enami@sys.ptg.sony.co.jp> + + * frame.c (Fraise_frame, Flower_frame): Make arg FRAME optional. + + * keyboard.c (Fread_key_sequence): Doc fix. + +1995-05-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * window.c (Fdisplay_buffer): Initialize other, upper, lower. + +1995-05-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * lisp.h (Fmatch_data, Fstore_match_data): Declared. + + * xdisp.c (prepare_menu_bars): Save and restore the match data. + (update_menu_bar): New arg save_match_data. + Maybe save and restore match data here. + +1995-05-07 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt (region-cache.obj,vm-limit.obj): Dependencies defined. + (OBJ1): Don't compile xfaces.c. + (buffer.obj,indent.obj,search.obj): Add region-cache.h dependency. + +1995-05-07 Paul Eggert <eggert@twinsun.com> + + * data.c (Fmod): Fix the final adjustment, when f2 < 0 and f1 == 0. + + * lread.c (isfloat_string): Reject strings like "0.5+". + +1995-05-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * process.c (wait_reading_process_input): Pass arg in new call to + set_waiting_for_input. + + * xfns.c (Funfocus_frame): Check for live X frame. + + * lread.c (init_lread): Don't warn about missing installation dirs + when using dirs derived from the executable. + +1995-05-06 Geoff Voelker <voelker@cs.washington.edu> + + * makefile.nt (TRES): Defined. + (TLIB1,TLIB2): Created out of TLIB. + (TLIB): Split to reduce time to do library updates. + (DOC): Use DOC-X. + (strftime.obj): Compile with -Dstrftime=emacs_strftime. + +1995-05-06 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * window.c (syms_of_window): Doc fix. + (temp_output_buffer_show): If we use Vtemp_buffer_show_function, + do nothing else. + + * s/bsd386.h (GETPGRP_NO_ARG): New definition. + (BSD): Include sys/param.h instead of redefining BSD. + But do this only if emacs is defined. + + * lisp.h (gc_cons_threshold): Change back to int. + * alloc.c (gc_cons_threshold): Change back to int. + (min): New macro. + (inhibit_garbage_collection): Don't exceed value an int can hold. + + * xdisp.c (prepare_menu_bars): Clear size-change flag before running + size-change functions. + (scroll_step, debug_end_pos, line_number_display_limit): Now static. + +1995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (Fdump_emacs_data): Don't use & before my_edata. + + * editfns.c (Fencode_time): Rename arg from min to minute. + (days_per_month): Move variable to top level. + + * process.c (wait_reading_process_input): Don't call prepare_menu_bars. + Clear waiting_for_input around calling redisplay_preserve_echo_area. + + * xfns.c [USE_X_TOOLKIT] (x_window): Always pass position in geometry. + Set XtNmappedWhenManaged to 0 for shell_widget. + (Fx_create_frame): Always call x_wm_set_size_hints. + + * s/sol2-4.h (HAVE_VFORK): Add #undef. + + * s/netbsd.h (GETPGRP_NO_ARG): Defined. + +1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/freebsd.h: (GETPGRP_NO_ARG): Defined + (HAVE_GETPAGESIZE): Definition deleted. + + * data.c (store_symval_forwarding): Error if value out of range + for an integer variable. + (Fstring_to_number): Avoid using make_number to return value. + Maybe use atol. + +1995-05-04 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * buffer.c (Qbefore_string, Qafter_string): New vars. + (syms_of_buffer): Initialize and staticpro them. + (cmp_for_strings, overlay_strings): New functions. + +1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * indent.c (string_display_width): Renamed from string_width. + (vmotion): Use new name. + + * s/sco4.h [!__GNUC__] (LINKER): Defined. + + * insdel.c (make_gap): Don't allow buffer size that won't fit in int. + Make this new error check also check exceeding VALBITS. + (insert_1): Delete old error test. + (min): New macro. + + * Makefile.in.in (${etc}DOC): Put SOME_MACHINE_OBJECTS before obj. + + * xfaces.c (region_face, next_face_id): Make static. + + * xselect.c (Vselection_converter_alist, x_selection_timeout) + (Vx_sent_selection_hooks, Vx_lost_selection_hooks, Vselection_alist): + Make static. + + * alloc.c (inhibit_garbage_collection): + Use XSETINT, and do arithmetic in type EMACS_INT. + + * s/hpux9.h (HAVE_FMOD): Defined. + + * sysdep.c (bcmp, bcopy): Fix backward BSTRING conditionals. + + * emacs.c (Fkill_emacs): Delete the Vauto_save_list_file_name file. + +1995-05-04 Morten Welinder <terra+@cs.cmu.edu> + + * data.c (arith_driver): Make accum and next EMACS_INTs. + (Fmod): i1 and i2 are EMACS_INT. + + * editfns.c (Fformat): Allow 30 characters in the printed version + of integers and floats. + + * print.c (print): Handle long EMACS_INT in sprintf. + * keyboard.c (Fexecute_extended_command): + Handle long EMACS_INT in sprintf. + * lread.c (read1): Handle long EMACS_INT in atol. + * doprnt.c (doprnt): Handle long EMACS_INT in sprintf. + * data.c (Fnumber_to_string, Fstring_to_number): + Handle long EMACS_INT in sprintf and atol. + + * process.c (list_processes_1): Cast XFASTINT for passing to sprintf. + + * m/alpha.h (bcopy, bzero, bcmp): Don't let string.h prototype these. + +1995-05-03 Morten Welinder <terra+@cs.cmu.edu> + + * keyboard.c (parse_modifiers, apply_modifiers): Don't assume + 32-bit EMACS_INT. + (parse_modifiers): modifiers is an int, not an EMACS_INT. + (read_key_sequence): Pass modifiers as int, not EMACS_INT. + + * buffer.h (Fdelete_overlay): Was mistakenly called Fdelete_overlays. + + * lisp.h (gc_cons_threshold): Make this an EMACS_INT. + + * alloc.c (gc_cons_threshold): Make this an EMACS_INT. + (gc_sweep): Make already_free an EMACS_INT. + + * search.c (search_buffer): Cast p_limit to EMACS_INT not int. + + * s/osf1.h (GETPGRP_NO_ARG): Define. + +1995-05-03 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (reorder_modifiers): Use XINT. + Cast apply_modifiers arg to int. + + * unexapollo.c: New file. + + * m/apollo.h (CANNOT_DUMP, VIRT_ADDR_VARIES, LIBS_TERMCAP) + (NO_X_DESTROY_DATABASE): Macros deleted. + (BSTRING): #undef deleted. + (SYSTEM_TYPES): Redefinition deleted. + (UNEXEC): New definition. + (LD_SWITCH_SYSTEM): Define as empty. + (C_SWITCH_MACHINE, LD_SWITCH_MACHINE): New definitions. + (OLDXMENU_OPTIONS): New definition. + + * fileio.c (directory_file_name): Add APOLLO conditional. + (Fcopy_file, Fset_file_modes): Delete APOLLO conditionals. + + * emacs.c: Delete all APOLLO conditionals. + +1995-05-02 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * intervals.c (get_local_map): Use Fget_char_property, so that + overlay properties will be considered as well as text properties. + +1995-05-02 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * insdel.c (prepare_to_modify_buffer): Use file_truename for locking. + + * fileio.c (Finsert_file_contents): Use file_truename for unlocking. + + * buffer.c (Fset_buffer_modified_p): Use the truename for locking. + + * lread.c (read1): New arg FIRST_IN_LIST; all callers changed. + Special handling for backquote and comma. + (Qbackquote, Qcomma, Qcomma_at, Qcomma_dot): New variables. + (syms_of_lread): Initialize and staticpro them. + (Fread, Fread_from_string): Initialize new_backquote_flag. + +1995-05-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xmenu.c (xmenu_show, menubar_selection_callback): Move declaration + of entry to an outer block, to guarantee its value is preserved. + + * keyboard.c (kbd_buffer_get_event): New arg USED_MOUSE_MENU. + [USE_X_TOOLKIT]: Set *USED_MOUSE_MENU if returning menu-bar symbols. + (read_char): Pass used_mouse_menu to kbd_buffer_get_event. + This variable is now meaningful for toolkit menus as well as + non-toolkit menus. + + * dispnew.c (update_frame): Don't put cursor in echo area unless + the echo area is on this frame. + * xdisp.c (redisplay): Don't move the cursor if it's supposed to + be in the echo area. + (display_text_line): Likewise. + (echo_area_display): Put cursor in echo area if appropriate. + +1995-04-30 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (standard_args): Add #ifdef VMS for -map. + (main): Delete duplicate code for -version. + (standard_args): Add -help and -version. + + * fileio.c (Fdo_auto_save): Record visited file name + as well as auto-save file name in the auto-save-list-file-name file. + Call Fexpand_file_name for auto-save-list-file-name. + +1995-04-29 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * sysdep.c [HAVE_UNISTD_H]: Include unistd.h. + + * emacs.c (standard_args): Add -L/--directory/-directory. + + * s/sunos4shr.h (ORDINARY_LINK): Defined. + (LINKER): Definition deleted. + +1995-04-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * xfns.c (x_non_menubar_window_to_frame): New function. + * xterm.h: Declare x_non_menubar_window_to_frame. + * xmenu.c (popup_get_selection): Use x_non_menubar_window_to_frame. + Either queue or dispatch the event, but not both. + (dialog_selection_callback): Clear popup_activated_flag. + + * xmenu.c (Fx_popup_menu): If POSITION is just (menu-bar), use the + current mouse position. + (menubar_selection_callback): Use (menu-bar) instead of 'menu-bar. + * keyboard.c (read_char, read_char_x_menu_prompt): Exclude + menu-bar clicks when processing mouse clicks. + + * xterm.c (x_term_init): Add stub to initialize Vsystem_key_alist. + +1995-04-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * process.c (create_process): Don't reference pty_name if !HAVE_PTYS. + +1995-04-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fileio.c (Ffile_regular_p): Use Qfile_regular_p. + (syms_of_fileio): Set up Qfile_regular_p. + + * emacs.c (standard_args): Move -iconic and --icon-type + to the end of the initial args. + +1995-04-25 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * alloc.c (mark_kboards): Mark the kbd macro and Vsystem_key_alist. + +1995-04-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/linux.h (REGEXP_IN_LIBC): Defined. + + * callproc.c (Fcall_process): Use bigger buffer, and grow it + as we get more and more data. + +1995-04-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * xterm.c (x_term_init): If the previous kboard was the dummy one, + switch to the new one immediately. + + * keyboard.h (struct kboard): New member Vsystem_key_alist. + * keyboard.c (Vsystem_key_alist): Delete global variable. + (init_kboard): Initialize Vsystem_key_alist member. + (syms_of_keyboard): Change DEFVAR_LISP to DEFVAR_KBOARD. + (make_lispy_event): Use the kboard's alist instead of the global. + + * fns.c (Fplist_put): Don't signal an error if plist isn't a cons. + + * xterm.c (x_focus_frame, x_focus_event_frame, x_highlight_frame): + Delete these vars; now part of struct x_display_info. + (x_new_focus_frame): New arg DPYINFO. Callers changed. + Use the struct members instead of the globals. + Call x_frame_rehighlight instead of XTframe_rehighlight, so we can + pass on the dpyinfo pointer. + (x_mouse_leave): New arg DPYINFO. Callers changed. + (XTframe_rehighlight): New arg FRAME. Callers changed. + Now does all the work in x_frame_rehighlight. + (x_frame_rehighlight): New function, code from XTframe_rehighlight. + (XTread_socket): Use the struct members instead of the globals. + (x_unfocus_frame, x_iconify_frame, x_destroy_window): Likewise. + (x_display_box_cursor, x_make_frame_invisible): Likewise. + (x_term_init): Initialize the struct members. + (x_initialize): Delete initialization of deleted globals. + * xfns.c (x_get_focus_frame): New arg FRAME. Callers changed. + (Funfocus_frame): Unfocus on selected_frame's display. + * xterm.h (struct x_display_info): New members x_focus_frame, + x_focus_event_frame, x_highlight_frame, replacing global vars. + * frame.c (do_switch_frame): Don't try to refocus termcap frames. + + * Makefile.in.in: Make dispnew.o and keyboard.o depend on xterm.h. + Make intervals.o and term.o depend on keyboard.h. + + * xfns.c (x_window): Fix type mismatch. + + * xdisp.c (message_dolog): The message log doesn't need an undo list. + + * term.c (term_init): MagicWrap implies AutoWrap. + +1995-04-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (safe_run_hooks_1, safe_run_hooks_error): New subroutines. + (safe_run_hooks): Handle errors to clear the hook, + instead of always clearing it temporarily. + + * callproc.c (child_setup): Reword "can't exec" message. + Add newline after message. + + * process.c (create_process): Don't abort if can't reopen + pty_name in the child. Exit the child instead. + +1995-04-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * abbrev.c (Fexpand_abbrev): Add some error checking. + + * xmenu.c (Fx_popup_dialog): Don't pass menubarp arg to xdialog_show. + +1995-04-19 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * frame.h (struct frame): New member namebuf. + * frame.c (make_frame): Initialize it. + (Fdelete_frame): Free it. + * xfns.c (x_window): Use (or reuse) frame's namebuf instead of a + temp var. This avoids a storage leak. + +1995-04-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xmenu.c (xmenu_show, xdialog_show): Delete menubarp arg. + (Fx_popup_menu): Don't compute menubarp. + +1995-04-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * callproc.c (Fcall_process): Call Fexpand_file_name for error_file. + + * keyboard.c (map_event_to_object): Declaration deleted. + +1995-04-18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * eval.c (Ffetch_bytecode): Check the type of the object being + read from the file. + +1995-04-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * editfns.c (Fencode_time): Don't treat years < 100 as special. + +1995-04-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h: Declare some functions. + * buffer.c (adjust_overlays_for_insert): New function. + (adjust_overlays_for_delete): New function. + * insdel.c (insert_1): Adjust overlay center after inserting. + (insert_from_string_1, insert_from_buffer_1): Likewise. + (del_range_1): Adjust overlay center after deleting. + +1995-04-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * editfns.c (Fencode_time): Rewrite by Naggum. + +1995-04-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (x_report_frame_params): Report value of `display' parm. + + * Makefile.in.in (really-lwlib, really-oldXMenu): Mark as .PHONY. + +1995-04-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * editfns.c (Fencode_time): Fix missing \n\'s. + +1995-04-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * editfns.c (init_editfns): Add casts. + + * doc.c (get_doc_string): Add cast. + + * keyboard.c (kbd_buffer_get_event): Don't use prototype. + + * xdisp.c (message_log_check_duplicate): Make p1 and p2 + unsigned char *. + +1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (x_term_init): Call XtSetLanguageProc only if HAVE_X11XTR6. + +1995-04-13 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * editfns.c (Fbuffer_string): Doc clarification. + + * alloc.c: Delete the #if that compares MARKBIT. + + * window.c (Fdisplay_buffer): Search the proper frame when the + current frame is minibuffer-only. + + * fileio.c (Fexpand_file_name): Use IS_DIRECTORY_SEP instead of + special code for WINDOWSNT. + +1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfaces.c (compute_char_face): Don't use NULL. + + * buffer.c (Foverlays_at, Fnext_overlay_change): Don't use NULL. + (Fprevious_overlay_change): Don't use NULL. + + * xfns.c (Fx_color_defined_p): Doc fix. + + * xfaces.c [! HAVE_X_WINDOWS] (build_face): Deleted. + +1995-04-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * callint.c (Fcall_interactively): Fix paren nesting. + + * buffer.c (evaporate_overlays): Fix type error. + +1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (XTmouse_position): Handle X errors in XTranslateCoordinates. + + * lisp.h (MARKBIT): Do the shifting as unsigned int. + Delete the #if that compares MARKBIT. + +1995-04-12 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (XTread_socket): For ConfigureNotify, + combine the USE_X_TOOLKIT and non-toolkit cases, which provides + some things that were missing in the former. + + * alloc.c (gc_sweep): If a misc has type Lisp_Misc_Free, + keep it on the free list. Sum pseudovector sizes properly. + + * dispnew.c (Fframe_or_buffer_changed_p): Ignore buffers whose names + start with space. + + * editfns.c (Fencode_time): Use XINT to examine `zone'. + +1995-04-11 Geoff Voelker <voelker@cs.washington.edu> + + * ntinevt.c (nt_kdb_patch_event): Created. + + * callproc.c (child_setup) [WINDOWSNT]: Removed syntax errors. + + * dired.c (Ffile_attributes) [WINDOWSNT]: Removed syntax errors. + + * fileio.c (Fexpand_file_name) [DOS_NT]: Preserve drive letter case. + Fix syntax errors. + Check drive letter when expanding ~\. + + * sysdep.c (sys_subshell) [WINDOWSNT]: Don't invoke restore_console. + + * ntproc.c (win32_wait): Reap synchronous subprocesses, and place + return code in synch_process_retcode. + + * s/windowsnt.h (ctime): Defined to be nt_ctime. + (NULL): Defined when missing from included system files. + (EMACS_CONFIG_OPTIONS): Defined. + (LISP_FLOAT_TYPE): Defined. + (HAVE_TZNAME): Defined. + (HAVE_TIMEVAL): Defined. + (struct timeval): Defined. + (struct timezone): Defined. + + * nt.c (nt_ctime): Defined. + (gettimeofday): Defined. + + * ntinevt.c (do_mouse_event): Use XSETFASTINT. + (SET_FRAME): Undefined. + (select): Renamed to sys_select to correspond to routine in sysdep.c + (sys_select): Support struct timeval. + (key_event): Support German keyboard. + Replace SET_FRAME with XSETFRAME. + (nt_kbd_mods_to_emacs): Renamed to win32_kbd_mods_to_emacs. + (win32_kbd_mods_to_emacs): Support AltGr on German keyboards. + (win32_number_shift_map): Defined. + (WIN32_KEY_SHIFTED): Defined. + (win32_patch_key): Defined. + (map_virt_key): Support VK_OEM_102 for German keyboards. + (win32_mouse_position): Add arg insist. + (do_mouse_event): Replace SET_FRAME with XSETFRAME. + Use win32_kbd_mods_to_emacs. + + * fileio.c (directory_file_name) [WINDOWSNT]: Handle UNC format. + + * nt.c (nt_stat): Defined. + + * s/windowsnt.h (struct nt_stat): Defined. + + * ntinevt.h: Fixed function prototypes. + + * makefile.nt (TEMACS): Add dependence on $(BLD). + + * ntterm.c (Fset_message_beep): Defined. + (ring_bell): Support audio cards. + + * makefile.nt (DOC): Defined. + + * s/windowsnt.h (HAVE_RANDOM): Defined. + (random): Macro undefined. + (srandom): Macro undefined. + (HAVE_UTIME): Defined. + (utime): Defined. + (EMACS_CONFIGURATION): Defined. + + * nt.c (random): Defined. + (srandom): Defined. + + * nt.c (readdir): Include "." and "..". + (get_inode_and_device_vals): Handle directories. + + * fileio.c (Fexpand_file_name) [DOS_NT]: Don't strip slash from + default dirs like "C:\\" + + * makefile.nt (all): Use COMPAT_LIB in library list. + Use DEL_TREE instead of delnode. + + * ntheap.c (sbrk): Shrink heap by arbitrary amounts. + + * m/intel386.h (NO_ARG_ARRAY) [WINDOWSNT]: Defined. + + * s/windowsnt.h (_VARARGS_): Defined. + (_CALLBACK_): Defined. + +1995-04-11 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * process.c (create_process): Set PROCESS's tty_name to Qnil when + !PTY_FLAG, so Fprocess_tty_name returns nil for pipes as its + docstring says. + +1995-04-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (read_char): Rearrange code so that getcjmp is set + only around sit_for and kbd_buffer_get_event, and + and polling is stopped only around the kbd_buffer_get_event call. + (Ftrack_mouse, tracking_off, read_char): Don't call prepare_menu_bars. + + * dispnew.c (init_desired_glyphs): New function. + * xdisp.c (redisplay): Call init_desired_glyphs for each frame. + Call prepare_menu_bars. + (prepare_menu_bars): Delete code at beginning that duplicates + things done at the beginning of redisplay. + + * alloc.c (inhibit_garbage_collection): New function. + + * xterm.c (XTread_socket): Pass dpyinfo to popup_get_selection. + + * xmenu.c (popup_get_selection): Queue up events that aren't + for the menu, and process them afterward. New arg dpyinfo. + (set_frame_menubar): Use inhibit_garbage_collection. + [USE_X_TOOLKIT] (xmenu_show): Delete the queue code here. + Pass dpyinfo to popup_get_selection. + Don't call lw_destroy_all_widgets. + [USE_X_TOOLKIT] (xdialog_show): Simplify using popup_get_selection. + +1995-04-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * callint.c (Fcall_interactively): Fix handling of @ + when it tests whether the event has a window in it. + + * s/sco4.h (NO_SOCKETS_IN_FILE_SYSTEM): Defined. + + * eval.c (internal_condition_case): Abort if interrupt_input_blocked>0. + + * xmenu.c (set_frame_menubar): Don't block input until after + the menubar maps have been decoded. + +1995-04-10 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (push_frame_kboard, pop_frame_kboard): Do nothing if + !MULTI_KBOARD. + + * keyboard.c (init_keyboard): Don't malloc a new structure; + initial_kboard should already exist for that. + * frame.c (make_terminal_frame): Put initial_kboard on the list of + all kboard objects. + +1995-04-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xmenu.c (popup_get_selection): For ButtonRelease event, + clear dpyinfo->grabbed. + + * window.c (temp_output_buffer_show): Select the chosen window + temporarily for running temp-buffer-show-hook. + (syms_of_window): Fix typo. + + * s/osf1.h: Don't include alloca.h, string.h here. + (malloc. realloc, xmalloc, xrealloc): Declarations moved to m/alpha.h. + * m/alpha.h: Include alloca.h, string.h here. + (malloc. realloc, xmalloc, xrealloc): Declarations moved from s/osf1.h. + + * xdisp.c (display_mode_line): Use push_frame_kboard, pop_frame_kboard. + + * xfns.c (x_window): Copy the frame name to non-Lisp string. + + * keyboard.c (any_kboard_state): Renamed from unlock_kboard. + Define it unconditionally, but it's a no-op unless MULTI_KBOARD. + (single_kboard_state): New function. + (push_frame_kboard, pop_frame_kboard): New functions. + (single_kboard): Renamed from kboard_locked. + + * keyboard.h (single_kboard): Renamed from kboard_locked. + All refs renamed. + (struct kboard): Move flag fields to the end, and make them chars. + Delete the `unused' field. + + * callint.c (Fcall_interactively): Call single_kboard_state + to switch to the single-kboard state. + * minibuf.c (read_minibuf): Call single_kboard_state + to switch to the single-kboard state. + + * alloc.c, data.c, macros.c, print.c: Include keyboard.h. + + * Makefile.in.in (alloc.o, data.o, macros.o, print.o): + Depend on keyboard.h. + + * xterm.h (x_display_info): Use `struct kboard', not KBOARD. + * frame.h (struct frame): Use `struct kboard', not KBOARD. + + * keyboard.h (KBOARD, etc): Moved from lisp.h. + (struct kboard): Renamed from struct KBOARD. + * lisp.h (KBOARD, etc): Moved to keyboard.h. + +1995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (unlock_kboard): Do nothing with Vunread_command_events. + (read_char): Clean up logic for reading from KBOARD queues. + + * xfns.c (defined_color): Fix typo (duplicate +). + + * keyboard.c (kbd_buffer_get_event): Set copy by assignment, not init. + + * xterm.c (XTread_socket): Make deiconify event + only if frame was iconified. + + * xrdb.c (xmalloc, xrealloc): Declare them here. + +1995-04-08 Erik Naggum <erik@naggum.no> + + * editfns.c (Fencode_time): New function, to match `decode-time'. + +1995-04-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * intervals.c (set_point): When skipping intangible text, + stop where property value changes. + + * indent.c (Fmove_to_column): Fix minor bug in prev change. + + * lread.c (read_escape): Undo Nov 15 change. + + * xdisp.c (display_mode_line): Test mode_line_inverse_video + before highlighting partial-width mode line. + + * xmenu.c (popup_activate_callback): Increment popup_activated_flag. + (popup_deactivate_callback): Decrement it. + + * s/linux.h (HAVE_SELECT, HAVE_TIMEVAL): Definitions deleted. + config.h should handle them. + + * xdisp.c (redisplay): Don't call update_frame for non-selected + termcap frame. + +1995-04-08 Noah Friedman <friedman@prep.ai.mit.edu> + + * window.c (Fnext_window, Fprevious_window): If all_frames is a + frame and window is not on that frame, return the first window on + that frame. + +1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * lread.c (init_lread): Add site-lisp under the installation dir + to Vload_path if that exists. + + * s/osf1.h (xmalloc, xrealloc): Declare them. + + * frame.c (make_terminal_frame): Use Emacs, Emacs-2, ... as name. + + * xdisp.c (decode_mode_spec): Add %F code. + Order alternatives alphabetically. + + * s/aix4.h: Use "..." in #include. + +1995-04-07 Morten Welinder <terra+@cs.cmu.edu> + + * s/osf1.h: Include alloca.h, string.h. Test NOT_C_CODE. + + * m/alpha.h (SPECIAL_EMACS_INT): Defined. + +1995-04-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (kbd_buffer_get_event): Check for frame buried in a cons. + Delete menu_bar_event handling code. + (make_lispy_event): Move it here, so it gets a switch-frame if needed. + + * callint.c (Fcall_interactively): Fix previous change. + +1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * doprnt.c (xmalloc, xrealloc): Declare them here. + + * callint.c (Fcall_interactively): `+' is reserved for user changes. + + * process.c (read_process_output_error_handler) + (exec_sentinel_error_handler): Fsleep_for wants two args. + + * xfns.c (validate_x_resource_name): Change invalid chars to `_'. + + * doprnt.c (doprnt): Cast pointer to int by way of EMACS_INT. + + * xmenu.c (menubar_selection_callback, dialog_selection_callback) + (single_submenu): Cast pointer to int by way of EMACS_INT. + + * floatfns.c (Flogb): Use EMACS_INT for `value'. + + * editfns.c (Fformat): Cast int to pointer by way of EMACS_INT. + + * search.c (search_buffer): Avoid casting trt to int. + Use EMACS_INT for comparing pointers. + + * buffer.h (Fdelete_overlays): Add declaration. + + * keyboard.c (parse_modifiers): Use type EMACS_INT for `modifiers'. + + * xterm.c (dumpglyphs): Cast FACE_DEFAULT to (XFontStruct *) + for comparison with face->font. + + * sysdep.c (bcopy): If NEED_BCOPY, do compile this. + + * m/ncr386.h: New file. + + * s/hpux9.h (LD_SWITCH_X_DEFAULT): New definition. + (C_SWITCH_X_DEFAULT): New definition. + + * doc.c (get_doc_string): In (STRING . INTEGER), if INTEGER + is negative, negate it. + + * eval.c (Fuser_variable_p): For (STRING . INTEGER), test sign. + + * s/sol2.h (C_SWITCH_X_SYSTEM): Defined. + + * s/usg5-4-2.h (LIBS_SYSTEM): New override definition. + + * lisp.h (XMISCTYPE): New macro. + (union Lisp_Misc): Delete the `type' field. + Use XMISCTYPE instead of that. + + * alloc.c (Fmake_marker, mark_object): Use XMISCTYPE. + (clear_marks, gc_sweep): Use u_marker union elt to extrat misc type. + + * lread.c (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard) + (defvar_per_buffer): Use XMISCTYPE. + * print.c (print): Use XMISCTYPE. + * fns.c (internal_equal): Use XMISCTYPE. + * buffer.c (Fmake_overlay): Use XMISCTYPE. + * data.c (Ftype_of, do_symval_forwarding, store_symval_forwarding) + (find_symbol_value, Fmake_variable_buffer_local, Fmake_local_variable): + Use XMISCTYPE. + + * xdisp.c (prepare_menu_bars): Do the frame titles last. + +1995-04-06 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfaces.c (intern_face): Cast FACE_DEFAULT to (XFontStruct *) + for comparison with face->font. + + * puresize.h (CHECK_IMPURE): Remove & from before my_edata. + + * editfns.c (Fformat_time_string): Use emacs_strftime. Doc fix. + + * Makefile.in.in (strftime.o): Define strftime as emacs_strftime. + + * xmenu.c (frame_vector): New static variable. + (syms_of_xmenu): staticpro it. + (frame_vector_add_frame): New function. + (set_frame_menubar): Use frame_vector; use index as the widget id. + (free_frame_menubar): Likewise. Remove the frame from frame_vector. + (menubar_selection_callback): Use frame_vector to turn id into frame. + + * emacs.c (main): Cast arg to `brk'. + + * sysdep.c (init_sys_modes): Use TCOON only if defined. + + * s/netbsd.h (NO_MATHERR): Defined. + (LIBS_SYSTEM): Definition deleted. + + * unexsunos4.c: Treat __NetBSD__ like __FreeBSD__. + +1995-04-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * fns.c (Fplist_put): Fix missing \n\. + + * xfns.c (x_window_to_frame): Skip non-X frames before testing dpyinfo. + [USE_X_TOOLKIT] (x_any_window_to_frame, x_top_window_to_frame): Ditto. + +1995-04-06 Simon Marshall <simon@duality.gnu.ai.mit.edu> + + * data.c (Fcar, Fcdr, Fsetcar, Fsetcdr): Arg name doc fixes. + +1995-04-06 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * puresize.h (BASE_PURESIZE): Increment to 310000. + + * indent.c (string_width): New function. + (vmotion): Compute the width of minibuf_prompt + if it isn't already known. + + * buffer.c (Fkill_buffer): Call reset_buffer_local_variables + and swap_out_buffer_local_variables. + (swap_out_buffer_local_variables): New subroutine. + (Fkill_all_local_variables): Use that subroutine. + + * search.c (Flooking_at, Fposix_looking_at): Change arg name. + +1995-04-05 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (Fraise_frame, Flower_frame): Now interactive. + +1995-04-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h: Declare Ffetch_bytecode. + * eval.c (Ffetch_bytecode): New function. + (funcall_lambda): Call it. + (syms_of_eval): defsubr it. + +1995-04-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xfns.c (x_window_to_frame): New arg DPYINFO. All callers changed. + (x_any_window_to_frame, x_top_window_to_frame): Likewise. + + * lisp.h (Vmessage_log_max): Declare this variable. + (message_nolog): Declare this function. + * emacs.c (main): Start with an empty message log. + * xdisp.c (message_nolog): New function. + * fns.c (Fy_or_n_p): Don't log prompt. + (Fyes_or_no_p): Fix typo in doc string. + +1995-04-01 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * lread.c (oblookup): Save bucket num in oblookup_last_bucket_number. + (Funintern): New function. + (syms_of_lread): defsubr it. + +1995-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * dired.c (Fdirectory_files): Fix bug in IS_ANY_SEP usage + introduced in Oct 30 change. + +1995-03-31 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * keyboard.c (command_loop_1): If we ignore force_start, then also + ignore beg_unchanged and end_unchanged. + +1995-03-31 Michael Ernst <mernst@research.microsoft.com> + + * lread.c (isfloat_string): Permit trailing space. + +1995-03-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (event_to_kboard): Ignore dead frames. + (kbd_buffer_get_event): In batch mode, use current_kboard. + + * xterm.c (x_delete_display): Extract kboard deletion, for modularity. + * keyboard.c (wipe_kboard): Make this function static. + (delete_kboard): New function, extracted from x_delete_display. + + * lisp.h: Declare function delete_kboard. + + * xterm.h (struct x_display_info): New member cut_buffers_initialized. + * xterm.c (x_term_init): Initialize it. + * xselect.c (Fx_store_cut_buffer_internal): Use the flag in the + frame's x_display_info, not a global flag. + (Fx_rotate_cut_buffers_internal): Likewise. + + * emacs.c (sort_args): Skip strncmp if longname is a null pointer. + +1995-03-30 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * data.c (Fmod): Fix the final adjustment, when i2 < 0 and i1 == 0. + +1995-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c [MULTI_FRAME] (Factive_minibuffer_window): New function. + [MULTI_FRAME] (syms_of_frame): Defsubr it. + +1995-03-28 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * process.c (Fsignal_process): SIGCODE is a symbol, not a string. + +1995-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fns.c (Fconcat): Undo previous change. + +1995-03-27 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fns.c (Fget, Fput): Fetch and store symbol's plist directly. + +1995-03-27 Boris Goldowsky <boris@cs.rochester.edu> + + * fns.c (Fplist_put, Fplist_get): New fns. + (Fget): Use Fplist_get to do the work. + (Fput): Use Fplist_put to do the work. + + * textprop.c (Vdefault_text_properties): name changed from + Vdefault_properties. + * intervals.h: As above. + * intervals.c (textget): As above. + + * intervals.c (textget_direct): Fn deleted. + (textget, verify_interval_modification): Use Fplist_get instead. + * intervals.h: Remove declaration. + +1995-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (XTmouse_position): New arg `insist'. + * ntinevt.c (win32_mouse_position): New arg `insist'. + * msdos.c (mouse_get_pos): New arg `insist'. + + * xmenu.c (Fx_popup_menu): Pass 1 for `insist' arg. + (Fx_popup_dialog): Likewise. + * frame.c (Fmouse_position--both definitions): Pass 0 for `insist'. + (Fmouse_pixel_position): Pass 0 for `insist'. + Add HAVE_MOUSE conditional. + * keyboard.c (kbd_buffer_get_event): Pass 0 for `insist' arg. + + * m/intel386.h (C_SWITCH_SYSTEM): Don't #undef or define it. + [SOLARIS2, SOLARIS2_4, !__GNUC__] (C_SWITCH_MACHINE): Define instead. + +1995-03-26 Germano Caronni <caronni@tik.ethz.ch> + + * ralloc.c (r_re_alloc): Correct realloc behavior--allow shrinking + of blocks while reallocating, if shrinking by more than one page. + (relocate_blocs, resize_blocs): Added failsafe to protect future + calling of these routines when in frozen state. + (r_alloc_thaw): Added call to r_alloc_init. + (relocate_blocks, resize_bloc, r_alloc_sbrk, r_alloc_thaw): Extended + functionality to let ralloc package work in frozen state, allowing + for the existence of unused blocks. + +1995-03-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * process.c (Fsignal_process): Allow signal names as well as numbers. + +1995-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * editfns.c (init_editfns): Use NAME envvar to init user-full-name. + +1995-03-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * textprop.c (Fnext_property_change): Fix previous change. + +1995-03-23 Kevin Rodgers <kevinr@ihs.com> + + * print.c (temp_output_buffer_setup): (Re)set the default + directory of the temp buffer to that of the current buffer. + +1995-03-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * buffer.c (syms_of_buffer): Doc fix. + + * xdisp.c (redisplay): Make sure pause is set before used. + Delete unused vars. + (redisplay_window): Make sure update_mode_line is set before used. + If startp might not have been set, use w->start directly. + (try_window_id): In the easy case, find cursor pos before returning. + (try_window_id): Stop scan at bottom of window, not one line later. + Don't fail on account of continuation line below window. + (redisplay_window): Stop scan at bottom of window. + Fix reversed condition. + + * Makefile.in.in (FRAME_SUPPORT, MSDOS_SUPPORT): Don't list face + and mouse related files here. + (FACE_SUPPORT, MOUSE_SUPPORT): New lists. + (FACE_SUPPORT): Add facemenu.elc. + (WINNT_SUPPORT): New list. + (lisp): Add format.elc, FACE_SUPPORT, MOUSE_SUPPORT, WINNT_SUPPORT. + +1995-03-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/sparc.h: Don't include alloca.h if NOT_C_CODE. + + * m/mips-siemens.h (UNEXEC): Override the definition. + (LIBS_DEBUG, ORDINARY_LINK): Add #undefs. + +1995-03-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * dispnew.c (direct_output_forward_char): Don't use direct output + at an overlay boundary. + * buffer.c (overlay_touches_p): New function. + * lisp.h: Declare overlay_touches_p. + + * fns.c (concat): Treat integers as characters, not strings. + This makes `concat' more like `insert'. + + * window.c (syms_of_window): Fix missing \n\. + * keymap.c (Fwhere_is_internal): Fix missing \n\. + * fileio.c (syms_of_fileio): Fix missing \n\. + +1995-03-21 Marco Walther <Marco.Walther@mch.sni.de.> + + * unexelfsni.c: New file. + + * m/mips-siemens.h: Total rewrite. + +1995-03-20 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (redisplay_window): Skip the only-point-has-changed + optimization if updating the window's mode line. + +1995-03-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (invisible_p, invisible_ellipsis_p): Handle list + as invisible property value. + +1995-03-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (display_menu_bar): Just one space between menu items. + +1995-03-18 Ted Lemon <mellon@toccata.fugue.com> + + * emacs.c (dump-emacs-data, dump-emacs): Declare my_edata as + char array. + * lastfile.c (my_edata): Declare as char array, not int. + * puresize.h (CHECK_IMPURE): Declare my_edata as char array. + +1995-03-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * lread.c (Vload_read_function): New variable. + (readevalloop): Use that variable. + (syms_of_lread): Set up Lisp variable. + +1995-03-17 Boris Goldowsky <boris@spiff.gnu.ai.mit.edu> + + * buffer.h (struct buffer): Add file_format member. + + * buffer.c (reset_buffer): Reset file_format element too. + (init_buffer_once): Define file_format flag; reset file_format. + (syms_of_buffer): New vbl buffer-file-format. + + * fileio.c (Finsert_file_contents): Call format-decode. + (build_annotations): Call format-annotate-function for each element of + buffer-file-format. + (Vauto_save_file_format): New vbl. + (build_annotations): Use it. + +1995-03-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * alloc.c (init_alloc_once): Increase gc_cons_threshold to 300000. + +1995-03-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (x_decode_color): Don't use cdef if defined_color failed. + +1995-03-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * config.h.in [HAVE_X_WINDOWS] (MULTI_KBOARD): Define this symbol. + +1995-03-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (struct KBOARD, MULTI_KBOARD, current_kboard, all_kboards): + (Lisp_Misc_Kboard_Objfwd, Lisp_Kboard_Objfwd, XKBOARD_OBJFWD): + (KBOARD_OBJFWDP, GC_KBOARD_OBJFWDP, kboard_locked, the_only_kboard): + (DEFVAR_KBOARD): Renamed from PERDISPLAY, MULTI_PERDISPLAY, + current_perdisplay, all_perdisplays, Lisp_Misc_Display_Objfwd, + Lisp_Display_Objfwd, XDISPLAY_OBJFWD, DISPLAY_OBJFWDP, + GC_DISPLAY_OBJFWDP, display_locked, the_only_perdisplay, + DEFVAR_DISPLAY. All uses changed. + (struct KBOARD): New member reference_count. + (initial_kboard): Declare this var. + * .gdbinit (xkbobjfwd): Renamed from xdispobjfwd. + * frame.h (struct frame): New member kboard. + (FRAME_KBOARD): Accessor macro for that member, replacing + get_perdisplay. + * xterm.h (struct x_display_info): member kboard (formerly + perdisplay) is now a pointer, not an actual struct. + (get_perdisplay, get_perdisplay_macro): Deleted. + * xfns.c (Fx_create_frame): set the frame's kboard member. + * xterm.c (get_perdisplay): Deleted. + (same_x_server): New function. + (x_term_init): If this display shares a keyboard with one we've + already opened, then share the structure. + (x_delete_display): Don't delete the kboard until the reference + count becomes zero. + * lread.c (defvar_kboard): Renamed from defvar_display. + * alloc.c (mark_kboards): Renamed from mark_perdisplays. + * frame.c (make_frame): Initialize kboard member. + (make_terminal_frame): Create initial_kboard if not already set. + * keyboard.c (unlock_kboard): Renamed from unlock_display. + (wrong_kboard_jmpbuf): Renamed from wrong_display_jmpbuf. + (event_to_kboard): Renamed from event_to_perdisplay. + (kbd_buffer_get_event): If no associated kboard, store + current_kboard rather than the first kboard in the global list. + (init_kboard): Renamed from init_perdisplay. Initialize reference + count. + (wipe_kboard): Renamed from wipe_perdisplay. + * data.c (find_symbol_value): current_perdisplay now is never null. + (store_symval_forwarding, do_symval_forwarding): Likewise. + +1995-03-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * data.c (Fash): Fix previous change. + + * buffer.c (Fmake_indirect_buffer): Invert the arguments. + + * marker.c (unchain_marker): Allow differing buffers + as long as they have the same text. + +1995-03-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * keyboard.c (event_to_perdisplay): New function. + (kbd_buffer_get_event): Use event_to_perdisplay. + (kbd_buffer_store_event): If C-g arrives while we're in the run + state on behalf of another display, just clear the queue and + deposit the C-g to be read later. + (read_key_sequence): After a throw, unwind delayed_switch_frame as + well as keybuf. Don't insert an extra switch-frame if empty. + + * print.c (print): current_perdisplay now is never null. + * callint.c (clear_prefix_arg): Likewise. + * macros.c (Fexecute_kbd_macro): Likewise. + +1995-03-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * minibuf.c (read_minibuf): Save Voverriding_local_map. + (read_minibuf_unwind): Restore Voverriding_local_map. + +1995-03-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * unexelf.c (unexec): Adjust the file offset of sections located + after the section header table. + +1995-03-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * keyboard.c (unlock_display): current_perdisplay now is never null. + (cmd_error, command_loop_1, read_char): Likewise. + (kbd_buffer_get_event, read_key_sequence): Likewise. + (read_char): Handle synchronous quit_char on a different display. + (read_char): Rewrite queue-searching code. + (read_key_sequence): Save selected_frame. + (init_keyboard): Initialize current_perdisplay. + +1995-03-12 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (parse_modifiers_uncached): Delete the code for + multi-character modifiers and for recognizing a modifier alone. + (parse_solitary_modifier): New function. + (convert_event_type_list): Use parse_solitary_modifier. + Also convert symbol A to character A. + Handle shift modifier with lower-case letters. + + * window.c (Fdisplay_buffer): Fix prev change--return sel window. + + * indent.c (compute_motion, Fmove_to_column, current_column) + (character_width): Let display table handle \n, \r, \t. + (compute_motion): Fix logic in previous change wrt skipping invisible. + +1995-03-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (display_text_line): When setting selective_rlen, + ignore whether selective display is on or off. + + * textprop.c (Fnext_property_change): Handle LIMIT = t. + + * indent.c (compute_motion): Call recenter_overlay_lists sooner. + Use Fnext_property_change to get a quick lower bound for + where `invisible' changes. + +1995-03-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * data.c (Fash, Flsh): Change arg names. + +1995-03-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * intervals.h (TEXT_PROP_MEANS_INVISIBLE): New macro. + (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS): New macro. + + * xdisp.c (display_text_line, try_window): Check `invisible' prop + using TEXT_PROP_MEANS_INVISIBLE. + (display_text_line): Check TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS; + if it says so, use ellipses after invisible text. + (invisible_p, invisible_ellipsis_p): New functions. + + * indent.c (compute_motion, vmotion): Check `invisible' prop + using TEXT_PROP_MEANS_INVISIBLE. + + * buffer.h (struct buffer): New field `invisibility_spec'. + * buffer.c (reset_buffer_local_variables): Init invisibility. + (init_buffer_once): Set up buffer_local_flags for it. + (syms_of_buffer): New variable `buffer-invisibility-spec'. + +1995-03-08 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * syntax.c (Fforward_comment): Always clear immediate_quit for return. + +1995-03-08 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * sysdep.c (read_input_waiting): Fix Lisp_Object vs. int problem. + +1995-03-07 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (struct PERDISPLAY): New member kbd_queue_has_data. + * keyboard.c (unlock_display): If adding to kbd_queue, set + kbd_queue_has_data. + (read_char): Set and clear kbd_queue_has_data appropriately, but + leave it unset when we push back an incomplete sequence. + (read_char): Take the longjmp even if current_perdisplay was null. + (readable_events): Check kbd_queue_has_data instead of kbd_queue. + (init_perdisplay): Initialize kbd_queue_has_data. + + * keyboard.c (command_loop_1): Removed inline code for prefix args. + * callint.c (current_prefix_partial): New var. + (Funiversal_argument): New function, formerly inlined in keyboard.c. + (Fnegative_argument, Fdigit_argument): Likewise. + (clear_prefix_arg): Moved here from keyboard.c. + Don't clear the internal state if we're still building a prefix arg. + (finalize_prefix_arg, describe_prefix_arg): Moved from keyboard.c. + (syms_of_callint): defsubr the new functions. + * lisp.h: Declare new var and functions. + + * lisp.h (struct PERDISPLAY): New member Vlast_kbd_macro. + * alloc.c (mark_perdisplays): Mark it here. + * keyboard.c (init_perdisplay): Initialize it here. + + * macros.c (Fstart_kbd_macro): Access Vlast_kbd_macro via perdisplay. + (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise. + (init_macros): Delete initialization. + (syms_of_macros): Use DEFVAR_DISPLAY for Vlast_kbd_macro. + Doc fix for executing-macro, executing-kbd-macro, last-kbd-macro. + + * keyboard.c (cmd_error): Bind Vprint_level and Vprint_length. + +1995-03-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (command_loop_1): Fix test for prefix arg. + +1995-03-06 Boris Goldowsky <boris@cs.rochester.edu> + + * textprop.c (Vdefault_properties): New variable. + * intervals.h: Declare it. + * intervals.c (textget): Check it. + +1995-03-03 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * callint.c (Fcall_interactively): Fix Feb 22 change. + + * keyboard.c (read_key_sequence): Update orig_local_map + for some additional gotos to replay_sequence. + + * process.c (exec_sentinel, read_process_output): If running filter + or sentinel changes the local map, call record_asynch_buffer_change. + +1995-03-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * xdisp.c (display_mode_line): Temporarily set current_perdisplay + to reference the frame we're updating. + + * lisp.h (struct PERDISPLAY): New members defining_kbd_macro, + kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end, kbd_macro_bufsize. + * macros.h (defining_kbd_macro): Delete declaration. + * macros.c (defining_kbd_macro): Delete; now part of perdisplay. + All uses changed. + (kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end): Likewise. + (kbd_macro_bufsize): Likewise. + (Fstart_kbd_macro): Initialize kbd_macro_buffer if not already done. + (init_macros): Delete initialization of defining_kbd_macro. + (syms_of_macros): Delete initialization of kbd_macro_buffer. + * keyboard.c (read_char_minibuf_menu_prompt): orig_defn_macro is + now a Lisp_Object, not an int. + (init_perdisplay): Initialize some of the new members. + (wipe_perdisplay): Free kbd_macro_buffer. + + * keyboard.c (cmd_error): Allow current_perdisplay to be null. + + * keyboard.c (read_key_sequence): New arg can_return_switch_frame. + All callers changed. + (Fread_key_sequence): Likewise. + * callint.c (Fcall_interactively): Defer switch-frame events when + reading `k' or `K' specification. + +1995-03-02 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (syms_of_emacs): Doc fix. + +1995-03-02 John Grabowski <johng@media.mit.edu> + + * xfns.c (defined_color): If colormap is full, find closest match. + * xfaces.c (load_color): Call defined_color to allocate the color. + +1995-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (x_connection_closed): Ignore non-X frames. + Fix the logic for deleting frames that use separate minibuffers + that are on the dead connection. + + * buffer.c (Fpop_to_buffer): Call Fset_buffer_major_mode + if we create a buffer. + +1995-02-28 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * keyboard.c (cmd_error): Use clear_prefix_arg. + (internal_last_event_frame, Vlast_event_frame): Normal vars again. + All uses changed. + (Quniversal_argument, Qdigit_argument, Qnegative_argument): Declare. + (clear_prefix_arg, finalize_prefix_arg, describe_prefix_arg): New fns. + (command_loop_1): Handle digits and minus specially, when they're + part of a prefix arg. + Handle universal-argument and digit-argument and negative-argument + bindings here, rather than doing I/O in the Lisp code. + (read_char): When reading switch-frame events from the side queue, + set internal_last_event_frame. + (readable_events): Return non-zero if a side queue has data. + (kbd_buffer_get_event): Don't abort if event has no associated frame. + (read_key_sequence): Improve behavior when there's no current display. + (init_perdisplay): Initialize the new members. + * callint.c (Fcall_interactively, syms_of_callint): Undo Jan 31 change. + (Vprefix_arg, Vcurrent_prefix_arg): Undo Jan 31 change. + * mocklisp.c (Fml_provide_prefix_argument, Fml_prefix_argument_loop): + Undo Jan 31 change. + * minibuf.c (read_minibuf, read_minibuf_unwind): Undo Jan 31 change. + * frame.c (do_switch_frame): Undo Feb 6 change. + * macros.c (Fexecute_kbd_macro): Use clear_prefix_arg. + * lisp.h (struct PERDISPLAY): Add prefix_factor, prefix_value, + prefix_sign, prefix_partial. Delete Vcurrent_prefix_arg and + Vprefix_arg; those are now plain vars again. + * alloc.c (mark_perdisplays): Update to reflect current Lisp_Objects. + (NSTATICS): Increase to 768. + +1995-02-28 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (Fframep): Doc fix. + +1995-02-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * callint.c (Fcall_interactively): Lock the display before + executing the command, no matter how we execute it. + +1995-02-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (convert_event_type_list): New function. + (lucid_event_type_list_p): New function. + (parse_modifiers_uncached): If MODIFIERS_END is -1, + look for just a modifier. Guts rewritten. + + * keymap.c (Fdefine_key): Handle Lucid-style (crtl backspace) etc. + (Flookup_key): Likewise. + + * callproc.c (Fcall_process): Extend BUFFER arg so it can specify + a separate output file for stderr output. + (Fcall_process_region): Doc fix. + +1995-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xmenu.c (Fx_popup_menu): Init f from selected_frame + before calling mouse_position_hook. + + * window.c (Vsame_window_buffer_names, Vsame_window_regexps): New vars. + (syms_of_window): Set up Lisp vars. + (Fdisplay_buffer): Use those vars--if requested, use current window. + +1995-02-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (unlock_display): New function. + (cmd_error, command_loop_1): Call it when appropriate. + (read_char): If no current display, don't try to echo. + + * term.c (term_init) [TERMINFO]: Make error message more accurate. + +1995-02-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keymap.c (Fglobal_set_key, Flocal_set_key, Fglobal_unset_key) + (Flocal_unset_key): Functions deleted (moved to simple.el). + (syms_of_keymap): Don't defsubr them. + +1995-02-23 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (display_locked): New var to indicate when we're in + the run state. current_perdisplay is now meaningful in the wait + state as well. + (cmd_error): Clear display_locked in addition to current_perdisplay. + (command_loop_1): outer_perdisplay renamed from global_perdisplay. + Restore display_locked as well as current_perdisplay. + (read_char): read_char_perdisplay merged with current_perdisplay. + (read_key_sequence): Likewise. + * minibuf.c (read_minibuf): Make sure the display is locked. + * callint.c (Fcall_interactively): If the display hasn't already + been locked by reading from the minibuffer, lock it before + executing the command. + * lisp.h (display_locked): Declare this var. + +1995-02-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * window.c (syms_of_window): Doc fixes. + + * keymap.c (Fwhere_is_internal): If FIRSTONLY is not nil or non-ascii, + completely ignore menu bindings. + * xmenu.c (menu_item_equiv_key): Delete the code that rejected + menu bindings returned by Fwhere_is_internal. + + * window.c (window_loop): Handle special display buffer frames + for DELETE_BUFFER_WINDOWS as for UNSHOW_BUFFER. + +1995-02-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * callint.c (Fcall_interactively): Use markers temporarily in + args vector to stand for point and mark values; replace them + with integers just before calling the command. + +1995-02-21 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h (struct PERDISPLAY): New member kbd_queue. + Delete obsolete members kbd_buffer_frame_or_window, kbd_buffer, + kbd_fetch_ptr, kbd_store_ptr; these are regular vars again. + * alloc.c (mark_perdisplays): Mark kbd_queue. + Remove reference to obsolete kbd_buffer_frame_or_window. + * xmenu.c (menubar_selection_callback): frame_or_window field of a + menu-bar event now includes both the frame and the magic cookie. + * keyboard.c (kbd_buffer_frame_or_window): Restored old var. + (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Likewise. + (read_char_perdisplay): New var. + (read_char): Search all appropriate perdisplay objects, and do the + right thing if the next event comes from a different source. + (read_key_sequence): If there's a change of display in mid-stream, + retreat and try reading the new display. + (find_active_event_queue): Function deleted. All callers changed + to just test the main kbd_buffer instead. + (kbd_buffer_store_event): Write to the main kbd_buffer again. + (kbd_buffer_get_event): Read from the main kbd_buffer again. + Now returns a perdisplay pointer in addition to a lispy event. + (Fdiscard_input, swallow_events): Use the main kbd_buffer again. + (stuff_buffered_input): Likewise. + (init_perdisplay): Initialize member kbd_queue. + Remove references to obsolete members. + (wipe_perdisplay): Remove obsolete reference. + (init_keyboard, syms_of_keyboard): Restore initialization of vars. + +1995-02-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (display_string, display_text_line): + Display table overrides ordinary display even for \t, \n, etc. + +1995-02-19 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * frame.c (Fmake_terminal_frame): Doc fix. + +1995-02-18 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * s/hpux9.h (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT): + Add #undef's to cancel hpux8.h's definitions. + +1995-02-17 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * config.h.in (MULTI_FRAME): Define unconditionally. + +1995-02-16 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * dispnew.c (change_frame_size_1): New subroutine. + (change_frame_size): If f is termcap frame, change size of all of them. + (remake_frame_glyphs): No longer static. + Don't mark nonselected termcap frame as garbaged. + + * term.c (calculate_costs): Update max_frame_height, max_frame_width. + They determine length of chars_wasted, copybuf and char_ins_del_vector. + + * xdisp.c (redisplay): Don't display nonselected terminal frames. + + * frame.c (Fmake_terminal_frame): New function. + (syms_of_frame): defsubr it. + (make_terminal_frame): Init Vframe_list only the first time. + Set visible and async_visible directly. + Give each terminal frame a unique name. + + * ralloc.c (r_alloc_check): Return void. + (r_alloc_freeze): Initialize if it hasn't been done. + (r_re_alloc, r_alloc_free, r_alloc_sbrk): Likewise. + (r_alloc_init): Set __malloc_extra_blocks. + +1995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu> + + * s/dgux.h (LIB_MOTIF): Add -lgen to provide provide the symbols + `regcmp' and `regex'. + +1995-02-15 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xmenu.c (xmenu_show, both versions): New arg for_click. + (Fx_popup_menu): Compute it and pass it. + +1995-02-14 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * callint.c: Doc fix. + +1995-02-14 Paul Reilly <pmr@geech.gnu.ai.mit.edu> + + * xterm.c (x_bitmap_icon): Fix test for unallocated icon bitmap. + +1995-02-14 Richard Stallman <rms@geech.gnu.ai.mit.edu> + + * filelock.c: (unlock_buffer, unlock_all_files, Flock_buffer) + (Funlock_buffer): Use buffer's file_truename, not filename. + + * buffer.c (syms_of_buffer): Set up Lisp var buffer-file-truename. + (init_buffer_once): Set up flag and default value for file_truename. + (reset_buffer): Init file_truename slot. + + * buffer.h (struct buffer): New field file_truename. + + * ralloc.c (r_alloc_free): Call refill_memory_reserve only if emacs. + + Include getpagesize.h unconditionally. + (free_bloc): Don't die if bloc->next or bloc->prev is null. + [!emacs] (bzero): New macro definition. + + * keyboard.c (input_poll_signal): Add ignored argument. + (interrupt_signal): Likewise. + + * dispnew.c (window_change_signal): Add ignored argument. + + * process.c (Fstart_process): Make process marker point into proc buf. + + * xterm.c (x_display_bar_cursor): Use frame's cursor_width. + + (x_connection_signal): New function. + (x_initialize): Use it as signal handler. + + * xfns.c (x_set_cursor_type): Set cursor_width field. + Handle args of form (bar . WIDTH). + + * xterm.h (struct x_display): New element cursor_width. + +1995-02-14 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * filelock.c (unlock_buffer, unlock_all_files, Flock_buffer) + (Funlock_buffer): Use buffer's file_truename, not filename. + + * buffer.h (struct buffer): New field file_truename. + * buffer.c (syms_of_buffer): Set up Lisp var buffer-file-truename. + (init_buffer_once): Set up flag and default value for file_truename. + (reset_buffer): Init file_truename slot. + + * xterm.h (struct x_display): New element cursor_width. + * xfns.c (x_set_cursor_type): Set cursor_width field. + Handle args of form (bar . WIDTH). + * xterm.c (x_display_bar_cursor): Use frame's cursor_width. + +1995-02-13 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * m/iris4d.h (STACK_DIRECTION): Undef before defining. + [__GNUC__] (C_SWITCH_MACHINE): Remove -cckr. + Add -32, only if IRIX_FORCE_32_BITS. + * s/irix5-0.h [__GNUC__] (C_SWITCH_SYSTEM): Defined. + * s/irix4-0.h [__GNUC__] (C_SWITCH_SYSTEM): Define this. + (C_SWITCH_MACHINE): Instead of this. + + * ralloc.c (r_alloc_free): Call refill_memory_reserve only if emacs. + + * s/irix6-0.h: New file. + + * fileio.c (Fexpand_file_name): Copy default-directory + before looking for a handler on the directory arg. + + * cmds.c (Vself_insert_face, Vself_insert_face_command): New variables. + (syms_of_cmds): Set up Lisp variables. Doc syntax fix. + (internal_self_insert): Handle Vself_insert_face. + + * lisp.h (Qprocessp): Declared. + + * xdisp.c (redisplay_window): If we update the mode line, + switch to the buffer for real, and switch back for real. + +1995-02-12 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xterm.c (x_connection_signal): New function. + (x_initialize): Use it as signal handler. + + * keyboard.c (input_poll_signal): Add ignored argument. + (interrupt_signal): Likewise. + + * dispnew.c (window_change_signal): Add ignored argument. + +1995-02-11 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * fileio.c (Fexpand_file_name): Look for a handler for defalt. + (syms_of_fileio): Minor rearrangement. + + * ralloc.c: Include getpagesize.h unconditionally. + (free_bloc): Don't die if bloc->next or bloc->prev is null. + [!emacs] (bzero): New macro definition. + + * xmenu.c (menu_item_equiv_key): If command is an alias, + check only the underlying command for a keyboard equivalent. + + * s/netbsd.h (WAIT_USE_INT): Defined. + * syswait.h: New alternative specified by WAIT_USE_INT. + + * process.c (Fstart_process): Make process marker point into proc buf. + +1995-02-10 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * data.c: Rename arg OBJ to OBJECT in all type predicates. + (Ftype_of): New function. + +1995-02-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xfaces.c (load_color): Ignore failure from XAllocColor. + * xfns.c (x_decode_color): Ignore failure from defined_color. + + * m/intel386.h [SOLARIS2_4, !__GNUC__] (C_SWITCH_SYSTEM): Defined.. + [SOLARIS2_4, !__GNUC__]: Include alloca.h. + +1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * Makefile.in.in (maintainer-clean): Renamed from realclean. + Print warning message. + +1995-02-07 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * keyboard.c (command_loop_1): Put back cancel_echoing call, if + there's a perdisplay for it to apply to. + (init_perdisplay): Initialize echo vars. + + * xdisp.c (message_log_check_duplicate): New function. + (message_dolog): Delete previous line if the new one is a + duplicate. Include a counter if appropriate. + Don't bother truncating the buffer until after adding newline. + +1995-02-06 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (struct PERDISPLAY): Add Vlast_event_frame. + Define internal_last_event_frame only #if MULTI_FRAME. + Add some placeholders so we don't need to rebuild every time this + struct changes. + * keyboard.c (internal_last_event_frame, Vlast_event_frame): + Deleted; now part of perdisplay. All uses changed. + (MOUSE_ACTIVITY_AVAILABLE) Deleted. + (find_active_event_queue): New arg check_mouse. All callers changed. + (Vlast_event_frame): Change from DEFVAR_LISP to DEFVAR_DISPLAY. + * frame.c (do_switch_frame): internal_last_event_frame is now in + perdisplay. + +1995-02-05 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * ralloc.c (r_alloc_size_in_use): New function. + + * alloc.c (emacs_blocked_malloc): Set __malloc_extra_blocks here. + (malloc_hysteresis): New variable. + (init_alloc_once): Initialize malloc_hysteresis. + (buffer_memory_full): New function. + * emacs.c (main): Undo previous change. + * buffer.c (Fget_buffer_create): Call buffer_memory_full. + + * alloc.c (refill_memory_reserve): New function. + * ralloc.c (r_alloc_free): Call refill_memory_reserve. + +1995-02-04 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * alloc.c (SPARE_MEMORY): New macro. + (emacs_blocked_free): If no spare_memory now, and enough free + space is available, get a new spare. + (__malloc_size_t, _bytes_used): Declared. + (bytes_used_when_full): New variable. + + * frame.h (struct frame): New field window_sizes_changed. + (FRAME_WINDOW_SIZES_CHANGED): New macro (two definitions). + * window.c (Fdelete_window, set_window_height, set_window_width) + (Fsplit_window, Fset_window_configuration): Set + FRAME_WINDOW_SIZES_CHANGED to 1 in the frame being changed. + * xdisp.c (Vwindow_size_change_functions): New variable. + (prepare_menu_bars): Call those functions. Add gcproing. + (syms_of_xdisp): Set up Lisp variable. + + * alloc.c (syms_of_alloc): Improve memory exhausted error message. + (init_alloc_once): Allocate spare_memory. + (memory_full): Free spare_memory. + +1995-02-03 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xselect.c (x_get_foreign_selection, x_reply_selection_request): + Use an unwind-protect to call x_stop_queuing_selection_requests. + (some_frame_on_display): New function. + (queue_selection_requests_unwind): New function. + +1995-02-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * callint.c (syms_of_callint): Move DEFVAR_DISPLAY's ... + * keyboard.c (syms_of_keyboard): ... to here. + [MULTI_PERDISPLAY] (current_perdisplay, all_perdisplays): New vars. + (find_active_event_queue): Search all perdisplays. + (init_perdisplay, wipe_perdisplay): New functions. + (init_keyboard): Move perdisplay initialization to init_perdisplay. + (syms_of_keyboard): Likewise. + (cmd_error): Cancel echoing here. + (command_loop_1): Not here. + + * lisp.h (all_perdisplays): New var. + (struct PERDISPLAY): New member next_perdisplay. + * alloc.c (mark_perdisplays): New function. + (Fgarbage_collect): Call it. + * lread.c (defvar_display): Don't staticpro; these objects are now + protected through mark_perdisplays. + * xterm.c [MULTI_PERDISPLAY] (x_term_init): Initialize perdisplay. + [MULTI_PERDISPLAY] (x_delete_display): Destroy perdisplay. + (x_delete_display): Use xfree, not free. + + * lisp.h (defvar_display): Declare this function. + (DEFVAR_DISPLAY): Use current_perdisplay, not get_perdisplay. + * data.c (do_symval_forwarding): Likewise. + (store_symval_forwarding, find_symbol_value): Likewise. + * print.c (print): Likewise. + * keyboard.c (echo_prompt, echo_char, echo_dash, echo): Likewise. + (cancel_echoing, echo_length, read_char, Fdiscard_input): Likewise. + (stuff_buffered_input): Likewise. + +1995-02-03 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xdisp.c (display_text_line): Deduct minibuf prompt from taboffset. + (try_window): Deduct minibuf prompt from tab_offset, after 1st line. + +1995-02-02 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xselect.c (wait_for_property_change): Avoid unlikely timing error. + + * keyboard.c (kbd_buffer_get_event, swallow_events): + Remove selection_request event from input queue before processing it. + +1995-02-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * macros.c (Fexecute_kbd_macro): Clear prefix arg here. + * keyboard.c (cmd_error): And here. + (command_loop_1): Not here. + (command_loop_1): Save original perdisplay in case we're already + locked to a particular display. + Move display-specific cleanup to end of main loop. + Use perdisplay to access prefix arg. + (Fcommand_execute, Fexecute_extended_command): Use perdisplay. + +1995-02-01 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xterm.c (x_unqueue_events): Arg is now a Display *. + (x_start_queuing_selection_requests): Likewise. + (x_stop_queuing_selection_requests): Likewise. + * xselect.c (x_get_foreign_selection): Pass display to + x_start_queueing_selection_events and x_stop_queueing_selection_events. + + * xselect.c (x_reply_selection_request): Call + x_start_queueing_selection_events and x_stop_queueing_selection_events. + Handle X protocol errors. + +1995-01-31 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * callint.c (Fcall_interactively): Use perdisplay. + (Vprefix_arg, Vcurrent_prefix_arg): Delete vars; now in perdisplay. + (syms_of_callint): Use DEFVAR_DISPLAY for prefix-arg and + current-prefix-arg. + * minibuf.c (read_minibuf, read_minibuf_unwind): Use perdisplay. + * mocklisp.c (Fml_provide_prefix_argument): Use perdisplay. + (Fml_prefix_argument_loop): Likewise. + * lisp.h (current_perdisplay): New var. + (DEFVAR_DISPLAY): Add missing ampersand. + (Vprefix_arg, Vcurrent_prefix_arg): Delete; now in perdisplay. + + * lread.c [!MULTI_PERDISPLAY] (defvar_display): Use staticpro. + +1995-01-31 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * emacs.c (main) [REL_ALLOC]: Set __malloc_extra_blocks. + +1995-01-30 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * buffer.c (syms_of_buffer): overwrite-mode doc fix. + +1995-01-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h [MULTI_PERDISPLAY]: Declare get_perdisplay as a function. + * xterm.c [MULTI_PERDISPLAY] (get_perdisplay): Define this as an + exported function. + * xterm.h [MULTI_PERDISPLAY] (get_perdisplay): Define this as a + macro, for sources that include this header. + [MULTI_PERDISPLAY] (get_perdisplay_macro): Internal macro version. + + * lisp.h (DEFVAR_DISPLAY): New macro. + * lread.c (defvar_display): New function. + + * lisp.h: Declare store_symval_forwarding here. + * eval.c (specbind): Not here. + (specbind): Handle display-local vars. + * data.c (do_symval_forwarding): Handle display-local vars. + (store_symval_forwarding, find_symbol_value): Likewise. + (Fmake_variable_buffer_local): Disallow display-local vars here. + (Fmake_local_variable): Likewise. + + * keyboard.c (syms_of_keyboard): Fix missing backslashes. + +1995-01-29 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * fns.c (Frassoc): New function. + (syms_of_fns): defsubr it. + +1995-01-28 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * ecrt0.c: Renamed from crt0.c. + * Makefile.in.in (ecrt0.o): Target renamed from crt0.o. + (START_FILES): Use ecrt0.o. + +1995-01-27 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (PERDISPLAY, the_only_perdisplay, get_perdisplay): + Renamed from PERD, etc. All uses changed. + (ECHOBUFSIZE): New constant, replaces sizeof (echobuf). + (enum Lisp_Misc_Type): New enumeration Lisp_Misc_Display_Local. + (struct Lisp_Display_Objfwd): New structure. + (XDISPLAY_OBJFWD, DISPLAY_OBJFWDP): Access the new structure. + (union Lisp_Misc): Add new member. + * keyboard.c (kbd_buffer_frame_or_window): Delete; now in perdisplay. + (immediate_echo, echobuf, echoptr, echo_after_prompt): Likewise. + (echo_prompt, echo_char, echo_dash): use perdisplay and ECHOBUFSIZE. + (echo, cancel_echoing, echo_length, echo_truncate): Likewise. + (read_char, kbd_buffer_store_event, kbd_buffer_get_event): Likewise. + (Fdiscard_input, stuff_buffered_input): Likewise. + (init_keyboard, syms_of_keyboard): Likewise. + * alloc.c (mark_object): Ignore Lisp_Misc_Display_Objfwd objects. + * print.c (print): Handle internal display-local object. + * .gdbinit (xdispobjfwd): New macro. + + * xdisp.c (message_log_need_newline): This var is now static. + (message_dolog): Set message_log_need_newline appropriately. + Don't change it at all if message logging is currently disabled. + (message_log_maybe_newline): New function. + (message2): Use message_log_maybe_newline. + * print.c (printchar, strout): Use message_log_maybe_newline. + Leave all of the newline bookkeeping to message_dolog. + * lisp.h (message_log_maybe_newline): Function declared. + + * xdisp.c (message_dolog): Rename " *Messages*" buffer to "*Messages*" + +1995-01-27 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * minibuf.c (Fread_string): Add third arg HISTORY. + * callint.c (Fcall_interactively): Pass new arg to Fread_string. + +1995-01-27 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * insdel.c (modify_region): Clear point_before_scroll field. + +1995-01-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * buffer.h (struct buffer): New field point_before_scroll. + * buffer.c (init_buffer_once, syms_of_buffer): + Set up buffer-local var point_before_scroll. + (reset_buffer): Init point_before_scroll. + * intervals.c (set_point): Set point_before_scroll to nil. + +1995-01-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (PERD): New struct containing per-display data. + (the_only_perd): Declare an instance of it. + (get_perd): Macro to retrieve it. + * keyboard.c (the_only_perd): Define this var here. + (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Delete; now part of perd. + (find_active_event_queue): New function. + (readable_events, kbd_buffer_get_event, swallow_events): Use it. + (kbd_buffer_store_event): Store in EVENT's frame's queue. + (Fdiscard_input, stuff_buffered_input): Use perd. + (init_keyboard): Initialize the new vars. + kbd_buffer is now a pointer, not an array. + * xterm.h (struct x_display_info): New member display_perd. + + * process.c (process_tick, update_tick): Make non-static. + +1995-01-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (read_key_sequence): New arg dont_downcase_last + inhibits downcasing the last event, when it's uppercase and undefined. + (Fread_key_sequence): Likewise new arg. + * callint.c (Fcall_interactively): Define K mostly like k. + Pass new arg to Fread_key_sequence. + * keymap.c (Flocal_set_key, Fglobal_set_key): Use K, not k, to read key seq arg. + +1995-01-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * indent.c (compute_motion): Don't get hung in selective-display loop. + + * syssignal.h: Don't use function prototypes. + + * keyboard.c (read_key_sequence): Don't wait for a possible key + translation sequence if we already have a binding. + Add missing break statement. + + * sysselect.h: New file, mostly extracted from process.c and xterm.c. + * process.c: #include sysselect.h instead of defining things by hand. + * sysdep.c (sys_select): Renamed from select. Use SELECT_TYPE + instead of int. Defer to native select if that function is usable. + * config.h (HAVE_SYS_SELECT_H): Add #undef for configure. + * s/isc3-0.h (BROKEN_SELECT_NON_X): #define this. + + * s/isc3-0.h [__GNUC__] (POSIX_SIGNALS): #define this. + [__GNUC__] (sigsetmask, HAVE_SYSV_SIGPAUSE): #undef these. + (LIBX11_SYSTEM): Don't use -lc; loading this before -lcposix gives + us the wrong signal functions. + (C_SWITCH_SYSTEM): Add _XOPEN_SOURCE. + (EXTRA_INITIALIZE): Make conditional on __GNUC__. + +1995-01-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * minibuf.c (read_minibuf): Don't print the prompt in batch mode. + + * emacs.c (sort_args): Ordinary args get priority 0. + So do -f, -l, -insert, etc. --kill gets negative priority. + Everything else gets positive priority. + +1995-01-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (x_destroy_window): Don't let frame being destroyed + remain in x_focus_event_frame. + +1995-01-21 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * config.h.in [NO_REMAP]: #undef static. + +1995-01-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (union Lisp_Misc): Make the `type' field just 16 bits, + to match the substructures. + +1995-01-20 Morten Welinder <terra@diku.dk> + + * fileio.c (file_name_as_directory, Ffile_name_directory) + (Ffile_name_nondirectory): Delete special MSDOG code now covered by macros. + + * s/msdos.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined. + + * msdos.c (XMenuCreate, XMenuAddPane, XMenuAddSelection, XMenuLocate) + (XMenuActivate, XMenuDestroy): Add dummy `display *' argument. + + * xmenu.c [MSDOS]: #include msdos.h. + * msdos.h (x_mouse_leave): Add neutralizing define. + (XMenuCreate, XMenuAddPane, XMenuAddSelection, XMenuLocate) + (XMenuActivate, XMenuDestroy): Add prototype. + * Makefile.in.in (xmenu.o): Add msdos.h as dependency. + + * buffer.c (syms_of_buffer) [DOS_NT]: Add missing ';'. + +1995-01-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * textprop.c (Ftext_property_any): Handle the trivial case specially. + + * sysdep.c (seed_random): Renamed from srandom. + (get_random): Renamed from random. Return VALBITS random bits. + * fns.c (Frandom): Call seed_random and get_random. + + * print.c (print): Print internal types too, for debugging. + Print appropriate message for invalid pseudovector or misc type. + + * .gdbinit (xboolfwd, xbuflocal, xbufobjfwd, xcompiled): New macros. + (xintfwd, xmiscfree, xobjfwd, xoverlay, xwinconfig): New macros. + +1995-01-19 Abramo Bagnara <abramo@sssup2.sssup.it> + + * term.c (term_get_fkeys_1): Bug fix for function key above f19. + +1995-01-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * editfns.c (subst_char_in_region_unwind): New function. + (Fsubst_char_in_region): Use it to make undo_list t temporarily. + + * buffer.c (Fbuffer_local_variables): Unconditionally call + find_symbol_value, but conditionally use its value. + + * xrdb.c: Don't include sys/param.h. + (MAXPATHLEN): Definition deleted. + +1995-01-18 Boris Goldowsky <boris@cs.rochester.edu> + + * cmds.c (internal_self_insert): Don't test current_column + when deciding to call auto_fill_function. + +1995-01-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (SWITCH_ENUM_CAST): New macro. + * alloc.c, data.c, keyboard.c, syntax.c, xdisp.c: Change all + occurences of SWITCH_ENUM_BUG to use SWITCH_ENUM_CAST instead. + +1995-01-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * window.c (Qtemp_buffer_show_hook): New hook. + (syms_of_window): Init and staticpro it. + (temp_output_buffer_show): Run the hook. + +1995-01-16 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xdisp.c (message_dolog): Ignore narrowing. + Use low-level functions, to bypass modification and motion hooks. + + * window.h (struct window): New member column_number_displayed. + * xdisp.c (redisplay): Use that field instead of a global flag. + (redisplay_window, display_mode_line, decode_mode_spec): Likewise. + + * cm.c (cmcheckmagic): New function. + * cm.h: Declare it. + * term.c (write_glyphs, insert_glyphs): Call it. + +1995-01-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (kbd_buffer_store_event): Cast arg of bcopy. + +1995-01-15 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * ralloc.c (r_alloc_init): Remove unused variable END. + +1995-01-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * alloc.c (Fpurecopy): Mask size field when copying pseudovector. + +1994-01-12 Boris Goldowsky <boris@cs.rochester.edu> + + * lisp.h: Declare Qrear_nonsticky. + + * cmds.c (Vuse_hard_newlines): New variable. + (Fnewline): If use_hard_newlines is on, mark inserted + newline(s) with `hard' property, marked rear-nonsticky. + +1994-01-12 Tom Tromey <tromey@drip.colorado.edu> + + * buffer.c (list_buffers_1, Flist_buffers): Functions deleted. + +1995-01-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xdisp.c (message_log_need_newline): New var. + (message_dolog): New function, extracted from message2. + * print.c (printchar, strout): Call message_dolog. + * lisp.h: Declare message_dolog. + + * alloc.c (DONT_COPY_FLAG): Default this to 1. + Check to make sure it's not the same as MARKBIT. + (mark_object): Use the same XOR expression as elsewhere. + (gc_sweep): Don't touch DONT_COPY_FLAG here; this one is a real + size field, not a mangled pointer. + + * fns.c (internal_equal): Delete redundant tests. + Mask size field when comparing pseudovectors. + + * fns.c (Frandom): Use VALBITS instead of hardcoded constants. + +1995-01-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * alloc.c (DONT_COPY_FLAG): Fix typo. + + * lisp.h: Use large constants for Lisp_Misc_Type. + + * lisp.h: Add some function declarations. + * insdel.c: Declare all non-returning functions `void'. + (insert_1): Make non-static. New arg PREPARE. All callers changed. + * xdisp.c (Vmessage_log_max): New var. + (syms_of_xdisp): defvar and initialize it. + (message2_nolog): Renamed from message2. + (message2): Log messages, then call message2_nolog. + (message1_nolog): New function. + * keyboard.c (echo): Don't log the key echoes. + * alloc.c (Fgarbage_collect): Don't log the GC message. + +1995-01-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (main): Handle SIGABRT, SIGHWE, SIGPRE, SIGORE, SIGDLK, + SIGCPULIM, if they are defined. + + * alloc.c (DONT_COPY_FLAG): New bit flag. + (mark_object, gc_sweep, compact_strings): Use it. + +1995-01-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * editfns.c (Finsert_char): Check inherit flag for long strings too. + + * editfns.c (Fnarrow_to_region): Swap using temp Lisp_Object, not int. + +1995-01-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (syms_of_keyboard): Doc fix. + + * unexsunos4.c (unexec): Cast value of sbrk. + (run_time_remap): Cast arg to brk. + (brk_value): Renamed from Brk. + (is_it): Cast 1st arg of mmap. + +1995-01-09 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (read_key_sequence): If first event is mouse click, + use the text property keymap from where the click was. + New local var orig_local_map. + +1995-01-09 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * window.c (Fscroll_other_window): On small windows, scroll by 1 line. + +1995-01-09 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fns.c (internal_equal): Once again use a switch. + + * lisp.h (struct Lisp_Free, struct Lisp_Marker, etc.): + Make the `type' field just 16 bits, and declare as int. + Add explicit spacer field after it. + (struct Lisp_Marker): New field insertion_type. + +1995-01-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keymap.c (store_in_keymap): Copy a cons only if car is a string. + + * xterm.c: Don't include param.h. + + * buffer.c (syms_of_buffer): Doc fix. + +1995-01-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * m/alliant-2800.h (VALBITS, GCTYPEBITS): Deleted; default is better. + * m/apollo.h, m/aviion.h, m/delta.h, m/hp800.h, m/ibmrt.h: Likewise. + * m/intel386.h, m/nh4000.h, m/tower32v3.h: Likewise. + * m/att3b.h (VALBITS, XTYPE): Adjust for new bit layout. + * m/alpha.h, m/gec63.h, m/pfa50.h: Likewise. + +1995-01-05 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c [!MULTI_FRAME] (window_frame): New function. + [!MULTI_FRAME] (syms_of_frame): defsubr it. + +1995-01-05 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * doc.c (store_function_docstring, Fdocumentation): Use & + PSEUDOVECTOR_SIZE_MASK on `size' field of compiled byte-code object. + * callint.c (Fcall_interactively): Likewise. + * eval.c (Fcommandp): Likewise. + +1995-01-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * alloc.c (mark_object, mark_buffer): Don't mark buffer twice. + + * .gdbinit (xint, xcar, xcdr): Use correct shift and mask values. + + * lisp.h [EXPLICIT_SIGN_EXTEND] (XINT): Use symbolic constants. + +1995-01-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * doc.c (store_function_docstring): Arg is now EMACS_INT. + +1995-01-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h (enum Lisp_Type): Don't use trailing comma. + (VALBITS, GCTYPEBITS): Define these regardless of NO_UNION_TYPE. + [!NO_UNION_TYPE] (union Lisp_Object): Use symbolic constants. + + * alloc.c (mark_object): Make `else' visible outside MULTI_FRAME. + +1995-01-02 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keymap.c (store_in_keymap): While dumping, copy DEF if it's a cons. + + * buffer.c (reset_buffer): Don't alter intervals here. + (Fget_buffer_create): Use BUF_MARKERS. Init BUF_INTERVALS here. + (Fkill_buffer): Use BUF_MARKERS; but don't touch it in indir buf. + Likewise BUF_INTERVALS. Don't free the text in indirect buffer. + When killing a base buffer, kill its indirect buffers first. + (init_buffer_once): Set up .text and BUF_INTERVALS + in buffer_local_symbols and buffer_defaults. + + * alloc.c (mark_buffer, gc_sweep): Use BUF_INTERVALS. + * editfns.c (Ftranspose_regions): Use BUF_INTERVALS. + (transpose_markers): Use BUF_MARKERS. + + * insdel.c (insert_1, prepare_to_modify_buffer, insert_from_buffer_1): + Use BUF_INTERVALS. + (adjust_markers): Use BUF_MARKERS. + + * buffer.h (struct buffer): Fields markers and intervals moved out. + (struct buffer_text): Fields markers and intervals moved here. + (BUF_MARKERS, BUF_INTERVALS): New macros. + * textprop.c (validate_interval_range): Use BUF_INTERVALS. + * intervals.c: Use BUF_INTERVALS throughout. + * marker.c: Use BUF_MARKERS throughout. + + * undo.c (Fprimitive_undo): Use base buffer's modtime field. + +1995-01-01 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * .gdbinit: Adapt to new Lisp_Object format. + (xvectype, xmisctype): New commands. + (xtype): Print the misc or vectorlike subtype too. + + * xdisp.c (redisplay_window): Call set_buffer_temp. + + * buffer.c (set_buffer_temp): New function. + + * buffer.h (struct buffer): Make buffer_file_type field unconditional. + * buffer.c (reset_buffer_local_variables): Initialize + buffer_file_type field. + + * lisp.h (PVEC_BUFFER, PVEC_PROCESS, PVEC_FRAME, PVEC_COMPILED) + (PVEC_WINDOW, PVEC_WINDOW_CONFIGURATION, PVEC_SUBR): + Now enumeration constants, not macros. + (PVEC_FLAG): Enumeration alias for PSEUDOVECTOR_FLAG. + + * buffer.h (struct buffer): save_modiff field deleted. + (struct buffer_text): save_modiff field moved here. + (SAVE_MODIFF, BUF_SAVE_MODIFF): New macros. + Use them instead of direct access to save_modiff field. + * buffer.c, editfns.c, fileio.c, filelock.c, insdel.c, keyboard.c: + * undo.c, xdisp.c: Use SAVE_MODIFF and BUF_SAVE_MODIFF + instead of direct access to the save_modiff field. + * window.c (temp_output_buffer_show): Use BUF_SAVE_MODIFF. + + * buffer.h (struct buffer): New field pt_marker. + New fields begv_marker, zv_marker. + * buffer.c (Fget_buffer_create): Initialize pt_marker, begv/zv_marker. + (set_buffer_internal): Use and update this markers. + Copy undo_list in and out of the base buffer. + (Fget_buffer_create): Init save_modiff field here. + (reset_buffer): Not here. + (Fbuffer_modified_p): Use BUF_SAVE_MODIFF. + (Fset_buffer_modified_p): Use SAVE_MODIFF. + (Fkill_buffer, list_buffers_1): Use BUF_SAVE_MODIFF. + + * term.c (term_init): Fatal error if screen is too small. + +1994-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (redisplay_window): For buffer_shared count, + treat an indirect buffer as equivalent to its base. + + * print.c (print): Don't drop thru to error for markers and overlays. + +1994-12-30 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * insdel.c (adjust_point): Use BUF_PT. + + * intervals.c (temp_set_point, set_point): Use BUF_PT. + (get_local_map): Get keymap from specified buffer, not current one. + + * fileio.c (Finsert_file_contents, Fwrite_region): + Error if buffer is indirect. + (Fdo_auto_save): Do nothing for an indirect buffer. + + * alloc.c (mark_buffer): In indirect buffer, mark the base buffer. + + * buffer.c (Fmake_indirect_buffer): New function. + (Fbuffer_base_buffer): New function. + (syms_of_buffer): defsubr them. + (Fget_buffer_create): Initialize the size field. + + * print.c (print): Make buffer case a branch of + the Lisp_Vectorlike case. + + * alloc.c (mark_object): Make buffer case a branch of + the Lisp_Vectorlike case. + + * buffer.h (struct buffer): Make text field be a pointer. + The struct buffer_text field renamed to own_text. + Add fields indirect_to_buffer and size. + Move pt, begv and zv fields here. + (struct buffer_text): Moved from here. + (BEGV, PT, ZV, BEGV_ADDR, PT_ADDR, ZV_ADDR): Corresponding changes. + (BUF_BEGV, BUF_PT, BUF_ZV): Corresponding changes. + (SET_BUF_ZV, SET_BUF_PT, point): + + * lisp.h (XSETBUFFER, BUFFERP, GC_BUFFERP): Rewrite: use pseudovectors. + (enum Lisp_Type): Delete Lisp_Buffer. + (enum Lisp_Misc_Type): Add Lisp_Misc_Float (not yet used). + +1994-12-29 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * lisp.h (VALBITS): Default now 28. + (GCTYPEBITS): Default now 3. + + * lisp.h (enum Lisp_Type): Lisp_Process, Lisp_Window, Lisp_Frame, + Lisp_Subr deleted. + (PSEUDOVECTORP, GC_PSEUDOVECTORP): Add paren for proper nesting. + (PROCESSP, GC_PROCESSP, XSETPROCESS): Rewrite to use pseudovectors. + (WINDOWP, GC_WINDOWP, XSETWINDOW): Likewise. + (FRAMEP, GC_FRAMEP): Likewise. + (SUBRP, GC_SUBRP, XSETSUBR): Likewise. + (PVEC_SUBR): New macro. + (struct Lisp_Subr): Add a size field. + (DEFUN (both definitions)): Store that size field. + + * frame.h (XSETFRAME): Use pseudovector. + + * alloc.c (mark_object): Don't use Lisp_Process, Lisp_Window. + Handle frames, compileds and subrs as branch of Lisp_Vectorlike case. + (Fmake_byte_code): Use XSETCOMPILED. + + * data.c (Faref): Handle compiled function as pseudovector. + + * fns.c (Flength): Handle compiled function as pseudovector. + + * xterm.c (x_scroll_bar_handle_click): Use GC_WINDOWP. + (XTframe_rehighlight, x_window_to_scroll_bar): Use GC_FRAMEP. + + * print.c (print): Get size of compiled function as pseudovector. + Use a switch statement again. + + * process.h: Make size field an EMACS_INT. + +1994-12-28 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * unexsunos4.c [! sparc] (REL_INFO_TYPE): Use `struct relocation_info'. + +1994-12-27 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (make_lispy_event) [USE_X_TOOLKIT]: Turn off + special handling of menu bar mouse events. + (make_lispy_event): Tell pixel_to_glyph_coords not to clip. + + * xterm.c (XTupdate_begin): Fix backward test in previous change. + (x_display_box_cursor): Don't redraw old cursor spot in mouse face + if cursor was on a newline. + + * s/isc4-1.h: New file. + +1994-12-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (XTread_socket): Handle button events from outside + the frame, received due to grabbing the mouse with a button. + +1994-12-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * callint.c (Vmouse_leave_buffer_hook, Qmouse_leave_buffer_hook): + New variables. + (syms_of_callint): Set them up. + (Fcall_interactively): Run the hook, for `@'. + + * buffer.c (syms_of_buffer): Doc fix for buffer-file-type. + + * search.c (set_search_regs): Really set search_regs.start and .end. + (save_search_regs): Set them to 0 here. + + * minibuf.c (read_minibuf): GCPRO things. + + * lisp.h (enum Lisp_Type): Add Lisp_Type_Limit. + * data.c (wrong_type_argument): Abort if VALUE is invalid Lisp object. + Use Lisp_Type_Limit. + +1994-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * puresize.h (BASE_PURESIZE): Incremented by 20k. + +1994-12-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (x_figure_window_size): Treat missing user-position parm + as nil. + +1994-12-23 Steven Suhr <ssuhr@riacs.edu> + + * scroll.c (scrolling_1): When scroll_region_ok is set, use a + new scrolling method which scrolls groups of lines directly + to their final vertical positions. + (struct matrix_elt): New field writecount. + (calculate_direct_scrolling): New function. + (do_direct_scrolling): New function. + + * term.c (scroll_region_cost): New variable. + (calculate_costs): Put scroll region overhead in scroll_region_cost. + + * termchar.h (scroll_region_cost): Declared. + + * dispnew.c (scrolling): Fewer restrictions if scroll_region_ok is + set. New vector old_draw_cost for direct scrolling method. + +1994-12-23 Michal Jankowski (Michal.Jankowski@fuw.edu.pl) + + * keyboard.c (read_char): Don't echo keys when echo_keystrokes is 0. + +1994-12-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (x_set_frame_parameters): Handle icon-left, icon-top parms. + +1994-12-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * buffer.c (Fget_buffer_create): Copy the name, and clear text props. + +1994-12-20 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * eval.c (Fdefvar): Fix minor error in previous change. + (funcall_lambda): Fetch bytecode and constants vector from file if nec. + + * lread.c (Qload_file_name, Vload_file_name): New variables. + (syms_of_lread): Initialize and staticpro it. + (Fload): Bind it. + (read_list): Before dumping, ignore (#$ . WHATEVER)--return 0. + + * lread.c (read1): Implement #@ and #$ constructs. + + * frame.c (make_frame): Init buffer_predicate field. + + * doc.c (get_doc_string): Now static. Arg now Lisp_Object. + Allow (FILE . POS) as position argument. + (Fdocumentation, Fdocumentation_property): Fix calls to get_doc_string. + (Fdocumentation_property): Handle cons as value via get_doc_string. + (read_doc_string): New function. + + * buffer.c (assoc_ignore_text_properties): New function. + (Fget_buffer): Use assoc_ignore_text_properties. + +1994-12-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/dgux.h (C_DEBUG_SWITCH): Define this only if __GNUC__. + +1994-12-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * buffer.c (Fother_buffer): Take account of frame's buffer predicate. + + * frame.h (struct frame): New field buffer_predicate. + Move all the Lisp_Object fields to the top. + + * frame.c (Fmodify_frame_parameters): For non-X frames, + call store_frame_param for each parameter set. + (store_frame_param): Handle buffer_predicate field. + (frame_buffer_predicate): New function. + (Qbuffer_predicate): New variable. + (syms_of_frame): Set it up. + + * alloc.c (mark_object): In a frame, mark the buffer_predicate. + Don't mark the height and width fields. + +1994-12-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * minibuf.c (Fall_completions): New arg hide_spaces. + (Fminibuffer_completion_help): Pass new arg. + +1994-12-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (main): Fix conversion of --display to -d. + + * xmenu.c (push_menu_item): New arg DEF. + (single_keymap_panes, list_of_items): Pass new arg. + (MENU_ITEMS_ITEM_DEFINITION): New macro. + (MENU_ITEMS_ITEM_LENGTH): Now 5. + [USE_X_TOOLKIT] (xmenu_show): Store 0 in call_data if item def is 0. + (single_submenu): Likewise. + + * emacs.c (main): Implement --version. + + * xterm.c (XTupdate_begin): Discard records of prior mouse highlight + when frame must be redrawn. + + * textprop.c (add_properties): Add gcpro's. + (Fadd_text_properties, copy_text_properties): Likewise. + +1994-12-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/sunos4-1-3.h: Just include sunos4shr--do nothing else. + + * eval.c (Fdefconst, Fdefvar): Error if too many arguments. + +1994-12-13 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * emacs.c (sort_args): Make `options' a vector of ints. + +1994-12-11 Richard Stallman <rms@kepa> + + * buffer.c (report_overlay_modification): Renamed from + verify_overlay_modification. + * insdel.c: Calls changed. + + * insdel.c (signal_before_change, signal_after_change): + Call verify_overlay_modification here. + (prepare_to_modify_buffer): Don't call verify_overlay_modification. + + * buffer.c (call_overlay_mod_hooks): New args AFTER, ARG1, ARG2, ARG3. + Args START, END deleted. Pass each function AFTER, ARG1 and ARG2, + and ARG3 if ARG3 is not nil. + (verify_overlay_modification): New args AFTER, ARG1, ARG2, ARG3. + Pass them to call_overlay_mod_hooks. + + * search.c (compile_pattern): Call re_set_registers here. + And no need to BLOCK_INPUT for that. + (compile_pattern_1): Instead of here. + +1994-12-10 Richard Stallman <rms@kepa> + + * s/aix4-1.h: New file. + + * unexaix.c (unrelocate_symbols): Add AIX4_1 conditionals and code. + + * sysdep.c (sys_siglist) [AIX]: Add AIXHFT conditional. + + * systty.h: Change AIX conditional around HFNKEYS to AIXHFT. + +1994-12-09 Richard Stallman <rms@green-hill> + + * bytecode.c (Fbyte_code): Call Ffollowing_char and Fprevious_char + as functions. Don't mask char-syntax arg to just 8 bits. + +1994-12-08 Richard Stallman <rms@green-hill> + + * keyboard.c (read_char): After auto-saving, redisplay. + +1994-12-06 Richard Stallman <rms@gnu.ai.mit.edu> + + * xfns.c (Fx_color_values): Doc fix. + + * buffer.c (list_buffers_1): Right-align the size values. + + * frame.h (struct frame): New field cost_calculation_baud_rate. + (FRAME_COST_BAUD_RATE): New macro. + * term.c (calculate_costs): Set FRAME_COST_BAUD_RATE. + Don't test dont_calculate_costs. + (dont_calculate_costs): Variable deleted. + (term_init): Don't set dont_calculate_costs. + * dispnew.c (update_frame): Call calculate_costs if baud_rate changed. + +1994-12-05 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * emacs.c (sort_args): Don't overwrite the terminating null pointer. + +1994-12-05 Richard Stallman <rms@gnu.ai.mit.edu> + + * keyboard.c (read_key_sequence): Downcase undefined shifted fn keys. + +1994-12-04 Richard Stallman <rms@gnu.ai.mit.edu> + + * emacs.c (argmatch): Take argc as arg; don't go past end of argv. + (main): Change calls to argmatch. + + * intervals.h (INTERVAL_LAST_POS): Don't subtract 1 here. + + * intervals.c (compare_string_intervals): New function. + * fns.c (internal_equal): Call compare_string_intervals. + (Fstring_equal): Doc fix. + + * scroll.c (scroll_cost): FRAME_DELETE_COST and FRAME_DELETEN_COSTS + were confused. Fixed. + + * xterm.c (x_make_frame_visible, x_make_frame_invisible) + (x_iconify_frame): Give error if frame has explicit_parent. + (x_new_font): Don't set window height if frame has explicit_parent. + + * xfns.c (Fx_create_frame): Check for parent-id parameter. + Set explicit_parent and parent fields. + Don't set visibility if explicit_parent. + [! USE_X_TOOLKIT] (x_window): Specify parent window. + + * xterm.h (struct x_display): New field explicit_parent. + + * s/ultrix4-3.h (SET_LINE_DISCIPLINE): Defined. + + * sysdep.c (child_setup_tty): Use CDISABLE for setting VERASE, VKILL. + (init_sys_modes) [SET_LINE_DISCIPLINE]: Set specified line discipline. + (reset_sys_modes) [SET_LINE_DISCIPLINE]: Restore old line discipline. + +1994-12-03 Richard Stallman <rms@gnu.ai.mit.edu> + + * lread.c (readevalloop): Ignore ^M here. + + * emacs.c (argmatch): Handle lstr == 0. + +1994-11-28 Richard Stallman <rms@gnu.ai.mit.edu> + + * regex.c (re_match_2_internal): + Rename label `succeed' to `succed_label'. + + * xfns.c (Fx_synchronize): Fix doc string syntax. + + * xmenu.c: Don't include ../oldXMenu/XMenu.h if USE_X_TOOLKIT. + + * Makefile.in.in: Fix erroneous comment syntax. + + * s/ultrix4-3.h: New file. + + * systty.h: Have just one conditional to include unistd.h. + Test NEED_UNISTD_H, not AIX and IRIX4. + (UNISTD_H_INCLUDED): Don't define or test this. + * m/ibm370aix.h (NEED_UNISTD_H): Defined. + * s/aix3-1.h (NEED_UNISTD_H): Defined. + * s/irix4-0.h (NEED_UNISTD_H): Defined. + + * fileio.c (internal_delete_file, internal_delete_file_1): + New functions. + * buffer.c (Fkill_buffer): Use internal_delete_file. + * callproc.c (delete_temp_file): Use internal_delete_file. + +1994-11-25 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * search.c (search_regs_saved): Don't initialize; it dumps as pure. + +1994-11-24 Francesco Potorti` <pot@cnuce.cnr.it> + + * m/delta.h (C_SWITCH_MACHINE): -inline-functions removed, + because the compiler shipped with R3V7 is not stable. + +1994-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (command_loop_1): Use safe_run_hooks to run + deferred-action-function. + (Qdeferred_action_function): New variable. + (syms_of_keyboard): Initialize and staticpro Qdeferred_action_function. + +1994-11-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (syms_of_keyboard): Doc fix. + + * fns.c (Fy_or_n_p): Handle exit-prefix in query-replace-map. + +1994-11-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * search.c (save_search_regs): Add declaration. + + * minibuf.c (Fminibuffer_complete_and_exit): + Catch errors in do_completion. + (complete_and_exit_1, complete_and_exit_2): New subroutines. + + * s/aix4.h: New file. + * s/aix3-1.h (AIXHFT): Defined. + * m/ibmrs6000.h (OBJECTS_MACHINE): Define only if AIXHFT. + + * sysdep.c (init_sys_modes): Tes AIXHFT, not AIX. + (reset_sys_modes): Test AIXHFT. + (hft_init, hft_reset): Test AIXHFT, not AIX. + +1994-11-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * window.c (Fdisplay_buffer): Use `b' to read existing buffer name. + +1994-11-21 David J. MacKenzie (djm@mole.gnu.ai.mit.edu) + + * config.h.in: Add #undefs for --with-pop, --with-kerberos, and + --with-hesiod. + +1994-11-19 Francesco Potorti` <pot@cnuce.cnr.it> + + * lisp.h: (running_asynch_code): New global flag. + * emacs.c (running_asynch_code): New global flag. + (main): Initialise it. + * process.c (read_process_output, exec_sentinel): Set and + reset the running_asynch_code global flag and restore match data. + + * search.c (Flooking_at, Fstring_match, search_buffer, + Fstore_match_data): Save the match data if a filter or a sentinel + is running. + (search_regs_saved, saved_search_regs): New variables. + (save_search_regs, restore_match_data): New functions. + +1994-11-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (sort_args): New function. + (main): Call sort_args. + Check for -d/-display after -nw, -batch, -help. + Accept --display, with arg attached or separate. + +1994-11-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * filelock.c (init_filelock): Add missing semicolon. + +1994-11-18 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * indent.c (recompute_width_table): Do the right thing if no previous + table existed. + Fix Lisp_Object vs. integer problem. + (width_run_cache_on_off): Let recompute_width_table create the vector. + +1994-11-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h: (enum Lisp_Misc_Type): Rename Lisp_Vector to + Lisp_Vectorlike. Mark Lisp_Window_Configuration as obsolete. + (PSEUDOVECTOR_FLAG, PSEUDOVECTOR_SIZE_MASK, PVEC_BUFFER, + PVEC_PROCESS, PVEC_FRAME, PVEC_COMPILED, PVEC_WINDOW, + PVEC_WINDOW_CONFIGURATION): New constants. + (XSETPSEUDOVECTOR, PSEUDOVECTORP, VECTORLIKEP): New macros. + (XSETVECTOR, XSETWINDOW_CONFIGURATION, VECTORP, + WINDOW_CONFIGURATIONP): Use the new convention. + (XSETCOMPILED): New macro. + * print.c (print): Use type test macros. + * keymap.c (Fsingle_key_description): Likewise. + * doc.c (Fdocumentation): Likewise. + * alloc.c (Fpurecopy): Likewise. + (mark_object): Use the new pseudovector convention. + * fns.c (Fvconcat, concat): Use Lisp_Vectorlike. + * ntinevt.c (SET_FRAME): Use accessor macros. + (key_event, do_mouse_event): Likewise. + +1994-11-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * filelock.c (init_filelock): Always copy lock_path. + (lock_dir, superlock_file, MAKE_LOCK_NAME): + Renamed from lock_path, superlock_path, MAKE_LOCK_PATH. + +1994-11-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/domain.h: New file. + +1994-11-16 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * s/gnu.h [NOT_C_CODE]: Include fcntl.h. + +1994-11-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (try_window, display_text_line): Undo previous change. + + * dired.c (Fdirectory_files): Pass new arg to `compile_pattern'. + + * search.c (struct regexp_cache): New field `posix'. + (compile_pattern_1): New arg `posix'. Controls the syntax spec + for parsing; also record it in the cache. + (compile_pattern): New arg `posix'. + (looking_at_1, string_match_1, fast_string_match): Pass 0 for new arg. + (search_buffer): New arg `posix'. Now static. + (search_command): New arg `posix'. All callers changed. + (Fposix_search_forward, Fposix_search_backward): New functions. + (string_match_1, looking_at_1): New subroutines broken out. + (Fstring_match, Flooking_at): Use them. + (Fposix_string_match, Fposix_looking_at): New functions. + (syms_of_search): defsubr new functions. + +1994-11-16 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * xdisp.c (try_window): Don't pass window to Fget_char_property; + pass its buffer. + (display_text_line): Likewise. + +1994-11-16 Francesco Potorti` (pot@cnuce.cnr.it) + + * Makefile.in.in (TAGS): The new etags allows tagging DEFVARs. + +1994-11-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * lread.c (Fload): Call Fsubstitute_in_file_name after trying handler. + + * fileio.c (Fread_file_name_internal): Protect orig_string. + +1994-11-15 enami tsugutomo <enami@sys.ptg.sony.co.jp> + + * keyboard.c (Fopen_dribble_file): Call fclose only when + dribble is non zero. + +1994-11-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * keymap.c (access_keymap): Use type test macros. + + * alloc.c (Fmake_vector): Call allocate_vectorlike. + (allocate_vectorlike): New function, extracted from Fmake_vector. + * lisp.h: Declare allocate_vectorlike. + (VECSIZE): New macro. + * process.c (make_process): Use allocate_vectorlike and VECSIZE. + * frame.c (make_frame): Likewise. + * window.c (make_dummy_parent, make_window): Likewise. + (Fcurrent_window_configuration): Likewise. + (SAVE_WINDOW_DATA_SIZE): Macro deleted. + + * lisp.h: Delete declaration of Farray_length. + * data.c (Farray_length): Delete this obsolete function. + (Faref, Faset): If object is a string, use XSTRING, not XVECTOR. + * fns.c (Flength): Don't call Farray_length, just use size field. + + * xterm.h (XSCROLL_BAR): Extract from Lisp_Vector, not generic pointer. + + * xselect.c (wait_for_property_change): Encode location as a cons + of two integers instead of lying about the type. + (wait_for_property_change_unwind): Decode it likewise. + + * eval.c (Finteractive_p): Use XSUBR instead of its expansion. + + * lisp.h (GC_INTEGERP, etc): New type-test macros for use during GC. + * buffer.h (OVERLAY_POSITION): Use the new type-test macros. + * process.c (NETCONN_P, kill_buffer_processes): Likewise. + * buffer.c (overlays_at): Likewise. + * filelock.c (unlock_all_files): Likewise. + * xfns.c (x_window_to_frame): Likewise. + (x_any_window_to_frame, x_top_window_to_frame): Likewise. + * fileio.c (Fdo_auto_save): Likewise. + + * xfaces.c (Fpixmap_spec_p): Avoid function calls and assignments + as arguments to a type-test macro. + * textprop.c (PLIST_ELT_P): Likewise. + * keymap.c (current_minor_maps): Likewise. + + * lisp.h (NATNUMP): New macro. + (CHECK_NATNUM): Use that macro instead of its expansion. + * data.c (Fnatnump): Likewise. + * xfns.c (x_set_frame_parameters): Likewise. + * keymap.c (access_keymap, store_in_keymap): Likewise. + * doc.c (Fdocumentation): Likewise. + * alloc.c (Fmake_list): Use CHECK_NATNUM instead of its expansion. + Now signals using `wholenump' instead of `natnump'. + (Fmake_vector, Fmake_string): Likewise. + + * data.c (syms_of_data): Set Qwholenump as function, not variable. + + * alloc.c (free_float): Don't assume XFASTINT accesses the raw bits. + (make_float, free_cons, Fcons, Fmake_symbol, gc_sweep): Likewise. + +1994-11-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (x_mouse_leave): New function broken out of XTread_socket. + When x_focus_event_frame is nonzero, assume that frame gets focus. + (XTread_socket): Use x_mouse_leave for LeaveNotify. + * xmenu.c (xmenu_show): Call x_mouse_leave. + + * fileio.c (Fsubstitute_in_file_name): Run a handler. + (Qsubstitute_in_file_name): New variable. + (syms_of_fileio): Set it up. + + * lread.c (read_escape): For \S-a, return A. + + * buffer.c (Frename_buffer): Rename arg NAME to NEWNAME. + +1994-11-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/freebsd.h (LD_SWITCH_SYSTEM): Add -dc and -dp. + (HAVE_GETPAGESIZE): Defined. + + * sysdep.c (init_sys_modes): Maybe call tcflow. + +1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h: (enum Lisp_Misc_Type): Add new enumeration Lisp_Misc_Overlay. + (enum Lisp_Type): Delete the corresponding enumeration from here. + (struct Lisp_Overlay): New structure. + (XOVERLAY, OVERLAYP): Access the new structure. + (union Lisp_Misc): Add new member. + * buffer.h (OVERLAY_START, OVERLAY_END): Use the new substructure. + * alloc.c (mark_object, gc_sweep): Likewise. + * print.c (print): Likewise. + * buffer.c (Fmake_overlay): Likewise. + (Foverlay_properties, Foverlay_get, Foverlay_put): Likewise. + * fns.c (internal_equal): Likewise. + Simplify by returning int. + (Fequal): Use new interface to internal_equal. + + * buffer.c (list_buffers_1): Use PT, not point. + +1994-11-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fileio.c (Finsert_file_contents): Init not_regular at the beginning. + +1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * buffer.c (Fkill_all_local_variables): Use XBUFFER_LOCAL_VALUE, + not XCONS. + +1994-11-14 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * s/gnu.h (A_TEXT_OFFSET): Macro removed. + (A_TEXT_SEEK): Define to just sizeof (struct exec). + +1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lread.c (defvar_int): Use accessor macro. + (defvar_bool, defvar_lisp_nopro, defvar_per_buffer): Likewise. + +1994-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfaces.c (load_pixmap): Handle bitmap_id < 0. F is a FRAME_PTR. + + * frame.c (syms_of_frame): Fix typo. + + * minibuf.c (Fdisplay_completion_list): Update COLUMN unconditionally. + If a name is long, put it on its own line. + +1994-11-13 Brendan Kehoe (brendan@lisa.cygnus.com) + + * s/hpux9.h (C_SWITCH_SYSTEM) [__GNUC__]: Set -D_BSD to get the + correct definitions from sys/wait.h. + +1994-11-12 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (syms_of_frame): Doc fix for default-frame-alist. + +1994-11-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fileio.c (Finsert_file_contents): If VISIT, set the buffer components + such as the filename even before signaling error for non-regular file. + + * s/iris3-5.h, s/iris3-6.h (MAIL_USE_FLOCK): Defined. + * s/irix3-3.h, s/irix5-0.h (MAIL_USE_FLOCK): Defined. + * s/irix5-2.h: New file. + + * m/paragon.h: New file. + +1994-11-11 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h: (enum Lisp_Misc_Type): Add new enumerations + Lisp_Misc_Buffer_Local_Value and Lisp_Misc_Some_Buffer_Local_Value. + (enum Lisp_Type): Delete the corresponding enumerations from here. + (struct Lisp_Buffer_Local_Value): New structure. + (XBUFFER_LOCAL_VALUE): Access the new structure. + (BUFFER_LOCAL_VALUEP, BUFFER_SOME_LOCAL_VALUEP): Likewise. + (union Lisp_Misc): Add new member. + * alloc.c (mark_object): New code to handle buffer-local substructure. + (gc_sweep): Generalize marker code to handle other substructures. + * bytecode.c (Fbyte_code): Special case for buffer-local objects is + now handled by the more general test. Simplify. + * buffer.c (set_buffer_internal): Use XBUFFER_LOCAL_VALUE, not XCONS. + * data.c (store_symval_forwarding): Likewise. + (swap_in_symval_forwarding, Fset, default_value, Fset_default, + Fkill_local_variable): Likewise. + (Fmake_variable_buffer_local): Use the new substructure. + (Fmake_local_variable): Likewise. + +1994-11-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * process.c (create_process) [OSF1]: Use setpgid, not setpgrp. + +1994-11-09 Boris Goldowsky <boris@cs.rochester.edu> + + * cmds.c (Fnewline): Always use insert_and_inherit. + +1994-11-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * lisp.h (FRAMEP): Use the second definition whenever HAVE_MOUSE. + + * keyboard.c (tracking_off): Test old value with NILP. + Restore the old value whatever it may be. + (syms_of_keyboard): Use DEFVAR_LISP for track-mouse. + +1994-11-09 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * data.c (Fboundp, find_symbol_value): Use type test macros + instead of checking XTYPE directly. + + * keyboard.c (print_help): Set help-mode in *Help* buffer. + * keymap.c (describe_buffer_bindings): Likewise. + * syntax.c (describe_syntax_1): Likewise. + +1994-11-08 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * keyboard.c (EVENT_QUEUES_EMPTY): Only test do_mouse_tracking and + mouse_moved #ifdef HAVE_MOUSE. + (Ftrack_mouse): Protect with #ifdef HAVE_MOUSE. + (syms_of_keyboard): Protect initialization of do_mouse_tracking, + defsubr of Strack_mouse, and DEFVAR of track-mouse with #ifdef + HAVE_MOUSE. + +1994-11-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * frame.c (Fset_frame_height): Compare against height, not width. + +1994-11-07 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * keyboard.c: Move decl of input_fd outside of #ifdef + HAVE_X_WINDOWS. + +1994-11-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xterm.c (XTread_socket): Generate iconify and deiconify events. + +1994-11-03 Geoff Voelker <voelker@cs.washington.edu> + + * m/intel386.h (VIRT_ADDR_VARIES) [WINDOWSNT]: Defined. + (DATA_END) [WINDOWSNT]: Defined. + (DATA_START) [WINDOWSNT]: Defined. + (HAVE_ALLOCA) [WINDOWSNT]: Defined. + + * s/windowsnt.h: Include malloc.h. + (MODE_LINE_BINARY_TEXT): Defined. + (HAVE_MOUSE): Defined. + + * ntheap.c (sbrk): Allow request sizes to be different than the + page size. + + * makefile.nt: Changed references of m\m-windowsnt.h to + m\intel386.h and of s\s-windowsnt.h to s\windowsnt.h. + +1994-11-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xfns.c (Fx_list_fonts): Don't bother to retrieve font info when + there's no size_ref to compare it against. + + * editfns.c: (Fdecode_time): Fix Lisp_Object vs. integer problems. + Don't use tm_gmtoff; it's not portable. + + * lisp.h: Leave DEVICE_SEP undefined by default. + +1994-11-01 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * buffer.c (init_buffer): Fix error message syntax. + + * fileio.c (Fsubstitute_in_file_name): Add missing #endif. + + * lread.c: Don't include ctype.h. + (isfloat_string, read1): Don't use isdigit. + + * editfns.c (Fdecode_time): Change one XFASTINT to XINT. + + * s/windowsnt.h (SYSTEM_PURESIZE_EXTRA): Defined. + +1994-10-31 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xfns.c (x_window): Make ibw 0 by default. + +1994-10-31 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * xterm.c (XTclear_end_of_line): Finish the line dance here too, + just as was done in XTwrite_glyphs. + + * xdisp.c (column_number_displayed): New variable. + (redisplay, redisplay_window): If that var is set, do mode line. + (display_mode_line): Unset the var. + (decode_mode_spec): Set the var if %c was seen. + +1994-10-30 voelker <voelker@cs.washington.edu> + + * makefile.nt: New file. + * nt.c, nt.h: New files. + * ntheap.c, ntheap.h: New files. + * ntinevt.c, ntinevt.h: New files. + * ntproc.c, ntterm.c: New files. + + * m/windowsnt.h, s/windowsnt.h: New files. + + * nt.c: New file. + + * makefile.nt:New file. + + * lisp.h (DEVICE_SEP, DIRECTORY_SEP, IS_DEVICE_SEP) + (IS_DIRECTORY_SEP, IS_ANY_SEP): New macros, defined if not already def. + + * s/msdos.h (DOS_NT): Defined. + + * term.c (term_init) [WINDOWSNT]: Do some Windows-specific + initialization, then skip the rest of the code. + (FRAME_TERMCAP_P) [WINDOWSNT]: Always return 0. + + * systty.h: Test DOS_NT, not MSDOS. + + * syssignal.h [WINDOWSNT] (EMACS_KILLPG): Use win32_kill_process. + + * sysdep.c [WINDOWSNT]: Add includes for NT. + Define _P_WAIT. Declare _spawnlp, _getpid. + [WINDOWSNT] (select, strerror, vfork): Don't use these definitions. + + * sysdep.c (init_sys_modes): Test DOS_NT, not MSDOS. + (emacs_get_tty, emacs_set_tty,(child_setup_tty, init_baud_rate): Ditto. + + * sysdep.c (sys_subshell) [WINDOWSNT]: Use _spawnlp. not vfork. + (wait_for_termination) [WINDOWSNT]: Use wait. + (discard_tty_input) [WINDOWSNT]: Do nothing at all. + + * process.c: Use macros IS_ANY_SEP, IS_DIRECTORY_SEP, + IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP. + [WINDOWSNT]: Add includes. Don't define sys_siglist. + + * process.c (sigchld_handler): Work around bug in MS C compiler. + (sigchld_handler) [WINDOWSNT]: Do not call signal. + (signal_process) [WINDOWSNT]: Use win32_kill_process instead of kill. + (read_process_output) [WINDOWSNT]: Use read_child_output instead of + read. + + * process.c (create_process) [WINDOWSNT]: Use + pipe_with_inherited_out and pipe_with_inherited_in. + Use the pid returned by child_setup. Deal with not having vfork, + Call register_child. + (close_process_descs): Do nothing if WINDOWSNT. + + * process.c (proc_buffer_char): No longer static. + + * ndir.h (MAXNAMLEN) [WINDOWSNT]: Define as 255. + + * mem-limits.h [WINDOWSNT]: Don't include vlimit.h. + (get_lim_data): Alternate definition for WINDOWSNT. + + * lread.c: Change explicit uses of the Unix directory separator + '/' to uses of the macros IS_ANY_SEP, IS_DIRECTORY_SEP, + IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP. + + * lread.c (init_lread) [WINDOWSNT]: Disable warnings about + directories in the load path not existing. + + * lread.c (load): Test DOS_NT instead of MSDOS. + + * keyboard.c (read_key_sequence): Use flags instead of gotos to + enable the Microsoft C compiler to compile the routine. + + * keyboard.c (read_avail_input) [WINDOWSNT]: Just return 0. + + * fileio.c: Change explicit uses of the Unix directory separator + '/' to uses of the macros IS_ANY_SEP, IS_DIRECTORY_SEP, + IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP. + + * fileio.c [WINDOWSNT]: Don't define HAVE_FSYNC; add includes for NT. + + * fileio.c (Ffile_name_absolute_p): Test DOS_NT instead of MSDOS. + (Fwrite_region, Fdo_auto_save, Ffile_modes): Likewise. + + * fileio.c (Qfind_buffer_file_type): Test DOS_NT instead of MSDOS. + (syms_of_files): Likewise. + (Finsert_file_types): Test DOS_NT instead of MSDOS. + Rename local var try to trytry. + + * fileio.c (Fadd_name_to_file): Wlways fail. + (Frename_file) [WINDOWSNT]: Use MoveFile, not link and unlink, + and check for both ERROR_FILE_EXISTS and ERROR_ALREADY_EXISTS. + (Fmake_directory_internal) [WINDOWSNT]: Invoke mkdir without the mask. + + * fileio.c (Fexpand_file_name): Test DOS_NT, not MSDOS. + (Fexpand_file_name) [WINDOWSNT]: Accept // or \\ at start. + Call dostonunix_filename for HOME envvar, for ~USER. + Quote directory separators found in environment variables. + (Fsubstitute_in_file_name): Test DOS_NT instead of MSDOS. + (Fsubstitute_in_file_name) [WINDOWSNT]: Accept // or \\ at start. + Work around alloca bug in MS compiler. + (Ffile_name_directory): Test DOS_NT instead of MSDOS sometimes. + But don't insert a drive letter on windows. + + * emacs.c (Fdump_emacs): Don't reset the data start address by + invoking memory_warnings just before unexec-ing. + + * editfns.c (init_editfns): Get the username from the environment + variable USERNAME instead of USER. + + * dired.c: Use macros IS_ANY_SEP, IS_DIRECTORY_SEP, and DIRECTORY_SEP. + (file-attributes) [WINDOWSNT]: Set st_gid and st_uid to Qnil; use + get_inode_and_device_vals to fake up inode number and device number. + + * callproc.c (getenv_internal) [WINDOWSNT]: Use strnicmp, not bcmp. + + * callproc.c (child_setup): Use IS_DIRECTORY_SEP. + [WINDOWSNT]: Call prepare_standard_handles. Use spawnve. + Use reset_standard_handles. + + * callproc.c (Fcall_process_region): Test DOS_NT, not MSDOS. + (Fcall_process) [WINDOWSNT]: Call pipe_with_inherited_out. + Use the return value of child_setup to get the child's pid; + don't call vfork etc. explicitly. + + * callproc.c [WINDOWSNT]: Add includes. Defone NOMINMAX, _P_NOWAIT. + (Vbinary_process_input, Vbinary_process_output) + (Qbuffer_file_type): Test DOS_NT, not MSDOS. + (syms_of_callproc): Test DOS_NT, not MSDOS. + + * callproc.c (init_callproc): Test DOS_NT, not MSDOS. + + * buffer.h (struct buffer): Test DOS_NT, not MSDOS. + + * buffer.c (init_buffer): Use DIRECTORY_SEP, IS_DIRECTORY_SEP macros, + not character constants. + (init_buffer_once, syms_of_buffer): Test DOS_NT, not MSDOS. + +1994-10-30 Erik Naggum <erik@naggum.no> + + * editfns.c (Fdecode_time): New function. + (syms_of_editfns): defsubr it. + +1994-10-30 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * keyboard.c (make_lispy_event): Record double and triple for drags. + Put in click_modifier for multi-clicks. + (read_key_sequence): Convert double-drag first to plan drag, + and only later try a click. + + * unexsunos4.c (unexec): Don't print number of pure bytes used. + +1994-10-29 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (Fx_create_frame): + Don't set xlwmenu_default_font if not USE_X_TOOLKIT. + + * puresize.h (BASE_PURESIZE): Increment MULTI_FRAME value. + +1994-10-29 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * keyboard.c (read_avail_input): Fix Lisp_Object vs. int problem. + +1994-10-29 Richard Stallman <rms@pogo.gnu.ai.mit.edu> + + * xterm.c (fast_find_position): Special case if POS is end of buffer. + + * xterm.c (x_delete_display): Call XrmDestroyDatabase. + +1994-10-28 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/osf1.h (LD_SWITCH_SYSTEM): Definitions deleted. + + * m/alpha.h (LD_SWITCH_MACHINE): New definition. + +1994-10-28 Rainer Schoepf <Schoepf@Uni-Mainz.de> + + * s/osf1.h (INTERRUPTIBLE_IO, INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE) + (read, write, open, close): New definitions. + +1994-10-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * buffer.c (Fset_buffer_major_mode): New function. Set the + default major mode here. + (Fget_buffer_create): Not here. + (Fswitch_to_buffer): Call Fset_buffer_major_mode. + (syms_of_buffer): defsubr the new function. + + * termhooks.h (iconify_event, deiconify_event): New enum event_kind's. + * keyboard.c (kbd_buffer_get_event): Translate them to lispy events. + (head_table): Initialize those new symbols appropriately. + * frame.c (keys_of_frame): Bind those events to 'ignore, since the + window manager has already done the work. + + * xmenu.c (set_frame_menubar): Don't copy string during GC risk. + +1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * config.h.in (HAVE_GETPAGESIZE): Add #undef. + * m/sequent-ptx.h (HAVE_GETPAGESIZE): Explicitly #undef. + * s/linux.h, s/msdos.h (HAVE_GETPAGESIZE): Definition deleted. + * m/symmetry.h (HAVE_GETPAGESIZE): Definition deleted. + + * xterm.c (x_destroy_window): Rewrite to fetch dpyinfo just once. + + * xfns.c (Fx_create_frame): Set xlwmenu_default_font. + + * widget.c (set_frame_size): Set app_shell and wmshell the same. + + * xterm.c [USE_X_TOOLKIT]: Make application context explicitly + and support multiple top-level shells. + (x_initialize): Call XtToolkitInitialize, XtCreateApplicationContext; + don't open display or make a shell. + (x_term_init): Call XtOpenDisplay. + + * xfns.c [USE_X_TOOLKIT] (x_window): Use XtAppCreateShell. + (Xt_app_shell, Xt_app_con): Variables deleted. + (Fx_close_connection) [USE_X_TOOLKIT]: Call XtCloseDisplay. + + * xterm.c (x_scroll_bar_create): Use XMapRaised directly. + (x_make_frame_visible, x_iconify_frame): Likewise. + (XMapWindow): Macro definition deleted. + (METABIT): Macro deleted. + (MAXDESC, FD_SETSIZE, FD_SET, FD_CLEAR, FD_ZERO, FD_ISSET): Likewise. + (x_id_name): Variable deleted. + + * process.c (status_message): Add a cast. + (sigchld_handler): Add a cast. + + * xfns.c (x_window): Pass new arg f to hack_wm_protocols. + + * xdisp.c (display_text_line): Truncate the minibuf_prompt if nec. + +1994-10-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * window.c (syms_of_window): Fix missing \n\'s. + +1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xselect.c (x_own_selection, x_get_foreign_selection): Change calls + to x_catch_errors and friends. + + * xfns.c (x_set_mouse_color, x_real_positions): Change calls + to x_catch_errors and friends. + + * xterm.c (x_catch_errors, x_check_errors, x_had_errors_p) + (x_uncatch_errors): Make the argument a display, not a frame. + + * xterm.c (XTread_socket_fake_io_error): New variable. + (XTread_socket): Obey XTread_socket_fake_io_error. + +1994-10-25 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * process.c (list_processes_1): Print tty name. + +1994-10-25 Karl Fogel (kfogel@phylo.life.uiuc.edu) + + * window.c (Vtemp_buffer_show_function): Doc fix. + +1994-10-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.h: Delete X10 code. + + * xfns.c (Fx_create_frame): Don't increment refernce_count + until the frame is put on the frame list. + + * xterm.c (x_initialize): Init x_noop_count, x_focus_frame + and x_highlight_frame here. + (x_term_init): Not here. + + * xterm.c (x_term_init): Open the connection first thing; + if that fails, don't allocate dpyinfo. + +1994-10-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xdisp.c (decode_mode_spec): New spec %c, for current column. + +1994-10-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xselect.c (Fx_selection_exists_p): Fix backwards if. + + * xterm.c (x_delete_display): New function. + (x_connection_closed): New args dpyinfo and error_message. + Delete all frames on the dead display + and all frames using them for minibuffers. + Call x_delete_display. + Maybe signal a Lisp error. + * xfns.c (Fx_close_connection): Call x_delete_display. + + * xselect.c (Fx_selection_exists_p): + If selected_frame isn't an x frame, return nil. + + * keyboard.c (record_char): New subroutine. + (read_char): Use record_char. + Split up menu-bar mouse click events here. + Call record_char for both halves; likewise echo_char + and add_command_key. + +1994-10-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (x_display_info_for_name, Fx_open_connection): + Signal error if x_term_init fails. + (Fx_open_connection): New arg must_succeed. + + * xfns.c (x_real_positions): Catch errors and retry if error happens. + No need to block input here. + + * xterm.c (x_term_init): Don't report error here--just return 0. + + * xfns.c (Fx_create_frame): Don't store the frame name + till after FRAME_X_DISPLAY_INFO is set up. + (Fx_close_connection): Renamed from Fx_close_current_connection + + * xfns.c: Many doc fixes and Lisp function arg renamings. + + * xterm.c (x_scroll_bar_report_motion): Store proper value in + *bar_window (the Emacs window, not the X window number). + +1994-10-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (kbd_buffer_get_event): + Cope if mouse_position_hook does not store anything. + + * xterm.c (x_scroll_bar_report_motion): Don't clear *fp. + + * xterm.h (struct x_display_info): + New fields bitmaps, bitmaps_size, bitmaps_last. + (struct x_bitmap_record): Structure moved here. + * xfns.c (x_bitmaps, x_bitmap_size, x_bitmap_last): + Variables deleted. Use fields in x_display_info instead. + (x_bitmaps_free): Variable deleted. + (x_destroy_bitmap, x_allocate_bitmap_record): Don't use or set it. + (x_allocate_bitmap_record): New arg f. Callers changed. + (x_lookup_pixmap): Function deleted. + (x_destroy_all_bitmaps): New function. + (Fx_close_current_connection): Call x_destroy_all_bitmaps. + Free the fonts in the font table. Free various other data + that dpyinfo points to. Avoid using Fdelq. + + * xterm.c (x_wm_set_icon_pixmap): Use x_bitmap_pixmap. + + * xterm.c: + (show_mouse_face): New arg dpyinfo. All callers changed. + (clear_mouse_face): New arg dpyinfo. All callers changed. + + * xterm.h (struct font_info): New type. + (struct x_display_info): New fields font_table, font_table_size + and n_fonts. + + * xterm.h (struct x_display_info): New field scratch_cursor_gc. + * xterm.c (scratch_cursor_gc): Variable deleted. + (dumpglyphs): Use scratch_cursor_gc in x_display_info. + + * xterm.h (mouse_face_*): New fields. + * xterm.c (mouse_face_*): Variables deleted. + Use fields in x_display_info instead. + * xterm.c (syms_of_xterm): Don't staticpro mouse_face_window. + + * xterm.c (expose_all_windows, expose_all_icons): Variables deleted. + (BLOCK_INPUT_mask): Variable deleted. + + * xterm.h (struct x_display_info): New field x_id_name. + * xfns.c (x_set_name, Fx_create_frame): Use x_id_name field. + * xterm.c (x_term_init): Set up x_id_name field. + (x_id_name): Variable deleted. + + * xterm.c (x_font_table, x_font_table_size, x_n_fonts): Vars deleted. + (x_new_font): Use new fields. + (warp_mouse_on_deiconify): Unused variable deleted. + + * xterm.c (x_term_init): Set up dpyinfo->xrdb. + Set up dpyinfo->vertical_scroll_bar_cursor. + (x_scroll_bar_create): Use vertical_scroll_bar_cursor slot. + (x_vertical_scroll_bar_cursor): Variable deleted. + + * xterm.c (x_term_init): Really return dpyinfo. + + * insdel.c (insert_from_buffer_1): Don't use min. + + * xterm.c (x_term_init): Call add_keyboard_wait_descriptor, + not change_keyboard_wait_descriptor. + + * xfns.c (Fx_close_current_connection): + Call delete_keyboard_wait_descriptor. + + * process.c: Handle multiple keyboard input descriptors. + (non_keyboard_wait_mask): New variable. + (Fset_process_filter): Update non_keyboard_wait_mask + (create_process, Fopen_network_stream, deactivate_process): + (init_process, sigchld_handler): Likewise. + (wait_reading_process_input): Maybe use non_keyboard_wait_mask. + (add_keyboard_wait_descriptor): + Renamed from change_keyboard_wait_descriptor. + Clear the old descriptor's bit only the first call. + (delete_keyboard_wait_descriptor): New function. + (keyboard_bit_set): New function. + (wait_reading_process_input): Use keyboard_bit_set. + Start the loop over process descs from 0, and explicitly + ignore non-process input descs. + (init_process): Don't init keyboard_descriptor. + (keyboard_descriptor): Variable deleted. + (add_keyboard_wait_descriptor): Don't set keyboard_descriptor. + (delete_keyboard_wait_descriptor): New function. + + * xterm.c (x_term_init): Pass new arg to init_sigio. + Don't set old_fcntl_owner. + Don't call change_input_fd. + (XTread_socket): Loop over displays and process input from each. + + * sysdep.c: Never use input_fd if using X. + (stuff_char): Do nothing if read_socket_hook. + (setpgrp_of_tty): Function deleted. + (init_sigio): Take fd as argument. Callers changed. + Don't call request_sigio; do the work here. + (request_sigio, unrequest_sigio): Do nothing if read_socket_hook. + (init_sys_modes): Don't call EMACS_GET_TTY unless we are going + to change the settings. + + * xfns.c (Fx_close_current_connection): Call check_x_display_info. + Delete the display from x_display_list and x_display_name_list. + (Fx_display_list): New function. + (syms_of_xfns): defsubr it. + + * xterm.c (x_display_name_list): New variable. + (syms_of_xterm): staticpro it. + Don't staticpro slots in the_x_screen. + (x_term_init): Update x_display_name_list along with x_display_list. + Actually malloc the x_display_info. + (the_x_screen): Variable deleted. + + * xfns.c (Fx_list_fonts): Use `name_list_element' field. + (x_display_info_for_name): Scan x_display_name_list + along with x_display_list. + + * xterm.h (struct x_display_info): Replace elements `name' + and `face_list_cache' with one cons cell `name_list_element'. + (x_display_name_list): Variable declared. + +1994-10-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * insdel.c (insert_from_buffer, insert_from_buffer_1): New functions. + * editfns.c (Finsert_buffer_substring): Use insert_from_buffer + instead of insert. + +1994-10-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xmenu.c (xmenu_show): Get the screen number for DisplayHeight + and DisplayWidth. Use root_window slot in the x_display_info. + + * xfns.c (x_sync): Take frame ptr as arg. + * frame.c (other_visible_frames): Pass a frame ptr to x_sync. + * xterm.c (x_make_frame_visible, x_make_frame_invisible): + Pass a frame ptr to x_sync. + +1994-10-21 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * insdel.c (insert_before_markers): Don't inherit; + insert_before_markers_and_inherit does that. + +1994-10-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * dispnew.c (Fframe_or_buffer_changed_p): + Detect deletion of a buffer at the end of the buffer list. + + * xterm.c (x_term_init): Init all the components of dpyinfo. + + * sysdep.c (input_fd): No longer static. + * keyboard.c (read_avail_input): Use input_fd. + +1994-10-20 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (check_x_display_info): New function. + (Fx_create_frame): Use it. + (Fx_display_*, Fx_server_*): Use fields in the x_display_info, + not static variables. Call check_x_display_info. + +1994-10-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * window.c (Fdisplay_buffer): Make old_selected_window a Lisp_Object. + +1994-10-20 Tom Tromey <tromey@drip.colorado.edu> + + * buffer.c (list_buffers_1): Always mark current_buffer read-only. + +1994-10-20 Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr> + + * m/dpx2.h (LD_SWITCH_MACHINE): Defined. + +1994-10-20 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * term.c (calculate_costs): Call x_screen_planes. + * xfns.c (x_screen_planes): New function. + + * xterm.h (EMACS_CLASS): Macro moved here. + * xfns.c (EMACS_CLASS): Macro moved to xterm.h. + + * xfns.c (Qdisplay): New variable. + (syms_of_xfns): Set it up. + (Fx_create_frame): Handle display parameter + which says where to get the FRAME_X_DISPLAY_INFO. + (x_display_info_for_name): New function. + + * xterm.c (x_display_info_for_display): New function. + + * xselect.c (Xatom_*): Variables deleted. + Use slots in x_display_info structure instead. + (symbol_to_x_atom, x_atom_to_symbol): + New arg dpyinfo. All callers changed. + (xatoms_of_xselect): Function deleted. + + * xfns.c (select_visual): New arg dpy. + + * xterm.h (struct x_display_info): New fields *_mod_mask. + * xterm.c (x_*_mod_mask): Variables deleted. + (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): + New arg dpyinfo; all callers changed. + Store the masks in that structure. + + * xterm.h (struct x_display_info): New field icon_bitmap_id. + * xterm.c (icon_bitmap): Variable deleted. + (x_bitmap_icon): Use icon_bitmap_id in x_display_info. + + * xterm.c (icon_font_info): Variable deleted. + + * xterm.h (struct x_display_info): New field `connection'. + * xterm.c (x_term_init): Set up `connection' field. + + * xterm.h (x_display_list): New variable. + * xterm.c (x_find_modifier_meanings): + Arg is now struct x_display_info *. + (x_term_init): Return an x_display_info *. + Store all the data in it, including X atoms and xrdb. + Put the x_display_info structure on x_display_list. + Pass name as Lisp_Object. + (the_x_screen): Variable moved here. + (syms_of_xterm): Staticpro parts of the_x_screen. + * xfns.c (Fx_open_connection): Get dpyinfo from x_term_init. + Don't set up atoms, xrdb here. Pass name as Lisp_Object. + (the_x_screen): Variable moved to xterm.c. + (syms_of_xfns): Don't staticpro it here. + + * xterm.h (struct x_display_info): New field xrdb. + * xfns.c (xrdb): Variable deleted. + (Fx_get_resource): Use selected_frame's xrdb. + (x_get_resource_string): Likewise. + + * xterm.h (XExposeRegionEvent): Unused macro deleted. + (XGetWindowInfo, XGetFont, XLoseFont): Unused macros deleted. + (MINWIDTH, MINHEIGHT, MAXWIDTH, MAXHEIGHT): Unused macros deleted. + (MAX_FACES_AND_GLYPHS, Bitmap): Unused macros deleted. + (struct event_queue): Structure deleted (was unused). + (EVENT_BUFFER_SIZE): Macro deleted. + + * xterm.h (XClear): Macro deleted. Callers use XClearWindow. + (XWarpMousePointer): Macro deleted. Callers use XWarpPointer. + (XStuffPending): Macro deleted. Callers use XPending. + (XHandleError, XHandleIOError): Macros deleted. + Callers use XSet...ErrorHandler. + (XChangeWindowSize): Macro deleted. Callers use XResizeWindow. + (Color): Macro deleted; replaced with XColor. + (FONT_TYPE): Macro deleted; replaced with XFontStruct. + (PIX_TYPE): Macro deleted; replaced with unsigned long. + + * xterm.h (FRAME_X_SCREEN): New macro. + (WHITE_PIX_DEFAULT, BLACK_PIX_DEFAULT): Take arg f. + * xfaces.c (unload_color): Pass arg f to WHITE_PIX_DEFAULT + and BLACK_PIX_DEFAULT. + + * xterm.c (windowinfo): Variable deleted. + + * xterm.h (ROOT_WINDOW): Macro deleted. + (struct x_display_info): New field root_window. + All uses changed. + + * xterm.h (XDISPLAY): Macro deleted. + (XFlushQueue): Macro deleted. All callers changed. + (DISPLAY_SCREEN_ARG): Maco deleted. + (DISPLAY_CELLS): Macro deleted. + (WINDOWINFO_TYPE): Macro deleted. + + * xterm.h (struct x_display_info): New fields Xatom... + * xterm.c (Xatom_*): Variables deleted. + (x_iconify_frame, XTread_socket): Get atoms from the x_display_info, + + * xfns.c (Fx_open_connection): Store the atoms in x_display_info. + (hack_wm_protocols): New arg f. Get atoms from x_display_info. + (x_window): Get atoms from x_display_info. + + * xfns.c (Vmouse_depressed, mouse_buffer_offset): Variables deleted. + (syms_of_xfns): Delete Lisp variables too. + (Fx_synchronize): Take frame as arg. + (Fx_close_current_connection): Take frame as arg. Error is not fatal. + * xterm.c (XTread_socket): Don't update Vmouse_depressed. + + * xterm.h (struct x_display_info): New field grabbed. + * xterm.c (x_mouse_grabbed): Variable deleted. + (note_mouse_highlight): Use grabbed field instead. + (XTmouse_position, XTread_socket): Likewise. + * xmenu.c (xdialog_show, xmenu_show): + Use grabbed field instead of x_mouse_grabbed. + + * xfns.c (mouse_timestamp): Variable deleted. + + * xterm.h (struct x_display_info): Struct renamed from x_screen. + (x_display): x_screen field renamed to display_info. + (FRAME_X_DISPLAY): Use new name. + (FRAME_X_DISPLAY_INFO): Likewise; also renamed from FRAME_X_SCREEN. + + * xterm.h (struct x_display_info): + New fields height, width, screen, visual, n_planes. + * xfns.c (screen_visual, x_screen_planes): Variables deleted. + (x_screen, x_screen_height, x_screen_width): Variables deleted. + (Fx_open_connection): Don't set them here. + Put that info in the x_display_info structure. + (x_window): Get the visual from x_display_info structure. + (x_decode_color): Use n_planes from x_display_info structure. + * xterm.c (x_calc_absolute_position, x_wm_set_size_hint): + Get screen height, width from the x_display_info structure. + * xmenu.c (xmenu_show): Use the screen in FRAME_X_DISPLAY_INFO, + not the default screen. + + * xterm.c: Use FRAME_X_DISPLAY instead of x_current_display + and XDISPLAY. + + * xfns.c: Use FRAME_X_DISPLAY instead of x_current_display + and XDISPLAY. + (x_in_use): New variable, + (check_x, using_x_p): Test x_in_use. + (Fx_open_connection): Set x_in_use. + (check_x_frame): New function. + (defined_color): New arg f specifies frame. Callers changed. + (x_decode_color): New arg f. All callers changed. + (Fx_color_values, Fx_color_defined_p): New arg FRAME. + Use check_x_frame. + (Fx_list_fonts): Use check_x_frame. + + * keyboard.c (do_mouse_tracking): Now a FRAME_PTR. + (EVENT_QUEUES_EMPTY, Ftrack_mouse, tracking_off): Changed accordingly. + (kbd_buffer_get_event): Let do_mouse_tracking specify the display + for mouse tracking. + + * minibuf.c (read_minibuf): Undo previous change. + +1994-10-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * window.c (Fdisplay_buffer): If the other window is smaller + than its peer, even out their heights. + + * xterm.c (x_catch_errors, x_check_errors, d_errors_p) + (x_uncatch_errors): Take frame as arg. + (x_stop_queuing_selection_requests, x_unqueue_events, x_queue_event) + (x_start_queuing_selection_requests): Take frame as arg. + (x_find_modifier_meanings): New arg `display'. All callers changed. + (x_scroll_bar_create, x_scroll_bar_set_handle) + (x_scroll_bar_move): New local var f. + (x_scroll_bar_report_motion): Rename arg f to fp. + New local var f. + (XTmouse_position): Lossage. + (frame_highlight, frame_unhighlight): Arg frame renamed to f. + + * callproc.c (child_setup): Always use _exit. + + * xselect.c (x_own_selection, x_get_foreign_selection): Pass frame + to x_catch_errors, x_check_errors, x_uncatch_errors. + + * xfns.c (x_set_mouse_color): Pass frame to x_catch_errors, + x_check_errors, x_uncatch_errors. + + * xselect.c (x_get_foreign_selection): Get display from + selected_frame. Pass frame to x_stop_queuing_selection_requests and + x_start_queuing_selection_requests. + (x_own_selection, Fx_disown_selection_internal, Fx_selection_exists_p) + (Fx_store_cut_buffer_internal, Fx_get_cut_buffer_internal) + (Fx_rotate_cut_buffers_internal): Get display from selected_frame. + + * xmenu.c: Use FRAME_X_DISPLAY, not XDISPLAY or x_current_display. + (menu_item_equiv_key): Reject equiv sequences + that start with mouse clicks. + +1994-10-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * search.c: (searchbufs): New variable, replaces searchbuf and + last_regexp and search_fastmap. + (syms_of_search): Initialize it. + (searchbuf_head): New variable. + (compile_pattern_1): Renamed from compile_pattern and made static. + Copy the regexp string in case the caller modifies it in place later. + (compile_pattern): New code, uses a cached entry if one is available. + The pattern buffer is now a return value instead of an arg. + (set_search_regs): Set num_regs directly, since there's no active + pattern buffer to pass to re_set_registers. + (Fstore_match_data): Likewise. + (Flooking_at): Use the new calling convention for compile_pattern. + (Fstring_match, fast_string_match, search_buffer): Likewise. + * dired.c (Fdirectory_files): Likewise. + +1994-10-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (Voverriding_local_map_menu_flag): New variable. + (syms_of_keyboard): Set up Lisp var. + (menu_bar_items): Obey Voverriding_local_map_menu_flag. + + * ralloc.c (struct heap): New fields first_bloc, last_bloc. + (struct bp): New field heap. + (get_bloc, free_bloc, obtain, r_alloc_sbrk): Update new fields. + (reorder_bloc): New function. + (update_heap_bloc_correspondence): + Renamed from update_heap_free_pointers. Update new fields. + (relinquish): Add error check for new fields. + + * Makefile.in.in (SOME_MACHINE_OBJECTS): Add msdos.o and x*.o files. + +1994-10-17 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * minibuf.c (read_minibuf): Store the object, not the string, into + the history variable. + + * xfns.c (x_set_unsplittable): New function. + (x_frame_parms): Add that function to the table. + + * xterm.c (do_line_dance): Decrement index only once per loop. + + * scroll.c (do_line_insertion_deletion_costs): Fix argument order. + +1994-10-17 Morten Welinder <terra@mole.gnu.ai.mit.edu> + + * fileio.c (Fexpand_file_name) [MSDOS]: Correct the for absolute + default directory. + + * config.h.in [HAVE_X_WINDOWS]: #define HAVE_FACES and HAVE_MOUSE. + + * dispextern.h: Guard entire file from being include more than once. + [MSDOS]: Include msdos.h. + + * dispnew.c (direct_output_for_insert): Check HAVE_FACES, not + HAVE_X_WINDOWS. + (selected_frame, last_minibuffer_frame): Doc fix. + + * dosfns.c (Fset_mouse_position, Fmsdos_mouse_p) [!HAVE_X_WINDOWS]: + New functions. + (syms_of_dosfns) [!HAVE_X_WINDOWS]: Defsubr them. Also define + Qmsdos_color_translate. + (init_dosfns) [SYSTEM_MALLOC]: Don't call non-existing get_lim_data. + + * dosfns.h (Qmsdos_color_translate) [!HAVE_X_WINDOWS]: New variable. + + * editfns.c (init_editfns) [MSDOS]: Let the user name default to + "root". + + * emacs.c (main) [MSDOS && !HAVE_X_WINDOWS]: Call syms_of_xfaces + and syms_of_xmenu. + + * frame.c [MSDOS]: Include msdos.h. + (Fframep #1) [MSDOS]: Doc change for the following. + (Fframep #2) [MSDOS]: Return 'pc for when termcap is not used. + (Fmouse_position #2) [HAVE_MOUSE]: Return useful information. + (Fframe_parameters #2): Show "font" as "default". + (Fframe_parameters #2) [MSDOS]: Show fore- and background colours. + (Fmodify_frame_parameters #2) [MSDOS]: Call IT_set_frame_parameters. + (Fframe_list #2): New stub function. + (syms_of_frame #2): defsubr frame_list. + (syms_of_frame #2) [MSDOS]: Initialize the_only_frame. + (Fselected_frame #2): Doc fix. + + * frame.h [!MULTI_FRAME]: We give up having selected_frame be + an always-zero integer variable. From now on it will be a + pointer to a `struct frame' just like in the MULTI_FRAME case. + (selected_frame, last_nonminibuf_frame): use FRAME_PTR, not EMACS_INT. + (XFRAME): Redefine to use the_only_frame. + (XSETFRAME): Define to set Lisp value. + (WINDOW_FRAME): Redefine to return Lisp value. + (FOR_EACH_FRAME): Set the frame variable to Lisp value. + (output_method): New method: output_msdos_raw. + (FRAME_TERMCAP_P, FRAME_X_P) [MSDOS]: Define non-stub versions. + + * keyboard.c (read_char_x_menu_prompt): Include menu code also in + case MSDOS. + (gobble_input): Complete Sep 15 change. + + * lisp.h: #define glyph-stuff when HAVE_FACES, not only when + HAVE_X_WINDOWS. + (FRAMEP): Define different versions for MULTI_FRAME and MSDOS. + Otherwise, don't define at all. + + * makefile.in.in (MSDOS_SUPPORT): Add faces.elc. + (msdos.o, dosfns.o): Add dependencies. + (MSDOS_OBJ): New set of object files. + (obj): Include MSDOS_OBJ. + + * msdos.c: #include dispextern.h, termopt.h, and window.h needed + for the following. + (highlight): New variable. + (rien_du_tout, IT_ring_bell, IT_set_face, IT_write_glyphs, + IT_clear_end_of_line, IT_cursor_to, IT_reassert_line_highlight, + IT_change_line_highlight, IT_update_begin, IT_set_menu_bar_lines, + IT_set_frame_parameters): New functions like their XT_* counterparts. + (internal_terminal_init): Initialize Vwindow_system, + Vwindow_system_version, the_only_x_display, and terminal hooks. + (mouse_get_xy): New function. + (mouse_get_pos, mouse_check_moved): Use mouse_get_xy. + (IT_menu_create, IT_menu_make_room, IT_menu_search_pane, + IT_menu_calc_size, IT_menu_display, XMenuCreate, XMenuAddPane, + XMenuAddSelection, XMenuLocate, XMenuActivate, XMenuDestroy, + x_pixel_width, x_pixel_height): New functions. + (init_environment) [HAVE_X_WINDOWS]: Let DISPLAY default to "unix:0.0". + (init_environment): Handle the case of a relative argv[0]. + (dos_rawgetc): Use XSETFRAME. + (the_only_x_display, x_current_display) [!HAVE_X_WINDOWS]: New + variables. + + * msdos.h: (XFontStruct, GC, Pixmap, Display, Window) [MSDOS_NO_X]: + Dummy types. + (struct face, FACE_HAS_GC, FACE_GC, FACE_FOREGROUND, FACE_BACKGROUND, + FACE_FONT, FACE_STIPPLE, FACE_UNDERLINE_P) [MSDOS_NO_X]: Define like + corresponding X-versions. + (struct x_display) [MSDOS_NO_X]: Define cut-down version. + (FRAME_PARAM_FACES, FRAME_N_PARAM_FACES, FRAME_DEFAULT_PARAM_FACE, + FRAME_MODE_LINE_PARAM_FACE, FRAME_COMPUTED_FACES, + FRAME_N_COMPUTED_FACES, FRAME_SIZE_COMPUTED_FACES, FRAME_DEFAULT_FACE, + FRAME_MODE_LINE_FACE, x_current_display, XFreeGC, same_size_fonts, + unload_font, unload_color, XGetGeometry, DisplayWidth, + DisplayHeight, XMenuSetAEQ, XMenuSetFreeze, XMenuRecompute, + FONT_WIDTH, check_x, ButtonReleased) [MSDOS_NO_X]: Define suitable + stubs. + (XM_FAILURE, XM_SUCCESS, XM_NO_SELECT, XM_IA_SELECT) [MSDOS_NO_X]: + Define like old-x-menu versions. + Guard the entire file from being included more than once. + (internal_flush): Correct guarding conditional. + Don't include <time.h>. + + * puresize.h (SYSTEM_PURESIZE_EXTRA): Default to 0. + (BASE_PRESIZE): Increase by SYSTEM_PURESIZE_EXTRA. + + * s/msdos.h: #define HAVE_FACES. + (LIBX11_SYSTEM, HAVE_X11R5) [HAVE_X_WINDOWS]: Define. + (PURESIZE): Don't define. + (SYSTEM_PURESIZE_EXTRA): Define. + + * sysdep.c (init_sys_modes): Make sure that internal_terminal_init + is only called once. + (init_sys_modes, reset_sys_modes) [HAVE_X_WINDOWS]: Add conditional. + (reset_sys_modes) [MSDOS]: Change to MSDOG's default colours. + (kbd_input_ast): Use just XSETFRAME. + + * window.c (init_window_once) [!MULTI_FRAME]: Set selected_frame and + last_nonminibuf_frame once and for all. + + * xdisp.c (redisplay, copy_part_of_rope, fix_glyph, + display_text_line, display_mode_line): Check HAVE_FACES, not + HAVE_X_WINDOWS. + + * xfaces.c: Guard the file by HAVE_FACES, not HAVE_X_WINDOWS. + [MSDOS]: Include dosfns.h needed for the following. + [!HAVE_X_WINDOWS]: Don't #include xterm.h or Xos.h. + [!HAVE_X_WINDOWS] (intern_face, clear_face_cache, load_font, + load_color, unload_color, Fpixmap_spec_p, load_pixmap, + same_size_fonts, frame_update_line_height): Don't define. + [!HAVE_X_WINDOWS] (intern_face, clear_face_cache, build_face): Define + stubs. + (load_color) [MSDOS && !HAVE_X_WINDOWS]: Special version. + (Fset_face_attribute_internal) [MSDOS && !HAVE_X_WINDOWS]: Stubify + font setting, mask away 0x08 (the blink bit) from background colour. + (syms_of_xfaces) [!HAVE_X_WINDOWS]: Don't defsubr Spixmap_spec_p. + (Fmake_face_internal): Use FOR_EACH_FRAME. + (init_frame_faces): Guard multi-frame stuff with MULTI_FRAME. + + * xmenu.c [!HAVE_X_WINDOWS]: Don't #include xterm.h. + [!HAVE_X_MENU]: Don't #include XMenu.h. + (xmenu_show, xdialog_show) [!HAVE_X_WINDOWS]: We don't need the + button hack for msdos. + (xmenu_show) [!HAVE_X_WINDOWS]: Don't adjust coordinates with + respect to the (non-existing) outer window manager. + + * xterm.c (x_term_init) [!subprocesses]: Don't set input descriptor. + + +1994-10-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfaces.c (intern_face): Update mask properly to set stipple + and fill_style. Set everything all at once in XCreateGC. + + * window.c (Fdisplay_buffer): In desperation case of looking for + something to split, verify that a window's frame is splittable. + +1994-10-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Makefile.in.in (xfns.o): Depend on paths.h. + + * xfns.c: Include paths.h. + +1994-10-16 Morten Welinder <terra@mole.gnu.ai.mit.edu> + + * editfns.c (Fuser_login_name): Optional argument uid decides + which user's login name to return. + +1994-10-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (dumpglyphs): Explicitly draw background stipple. + + * xfaces.c (intern_face): Set the fill_style. + + * paths.h.in (PATH_BITMAPS): New macro. + + * xterm.c (x_bitmap_icon): Arg FILE is now a Lisp_Object. + (x_iconify_frame, x_make_frame_visible): Supply FILE arg to it. + * xfns.c (x_set_icon_type): Pass x_bitmap_icon 2nd arg as Lisp_Object. + (x_icon_type): Return a Lisp_Object. + + * xfns.c (x_destroy_bitmap, x_reference_bitmap): Take frame as arg. + Callers changed. + (struct x_bitmap_record): New fields height, width, depth. + (x_create_bitmap_from_data): Fill in those fields. + (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap): New functions. + (x_create_bitmap_from_file): Arg FILE is now a Lisp_Object. + Search Vbitmap_file_path for it. Fill in new fields. + (syms_of_xfns): Set up Vbitmap_file_path. + + * xterm.c (x_bitmap_icon): Properly discard the previous bitmap. + (x_text_icon): Discard bitmap only if we have one. + + * xfaces.c (copy_face, merge_faces): Copy the pixmap_h and pixmap_w. + (intern_face): Store the stipple in the GC. + (unload_color): Really do free the color. + (free_frame_faces): Call unload_pixmap. + (Fset_face_attribute_internal): Handle background pixmap. + Destroy old pixmap when necessary. + (free_frame_faces): Destroy pixmaps. + (load_pixmap): New function. + (Fpixmap_spec_p): New function. + (syms_of_xfaces): Set up Lisp function pixmap-spec-p. + Set up Qpixmap_spec_p. + + * dispextern.h (struct face): Delete cached_index field. + * xfaces.c (compute_base_face): Don't set cached_index field. + + * ralloc.c (heap_base): Move static var to top level. + (struct heap): New slot `free'. + (obtain): Set `free' for new heap. + (get_bloc): Update `free'. + (find_heap): New function. + (update_heap_free_pointers): New function. + (resize_bloc, r_alloc_sbrk): Call update_heap_free_pointers. + +1994-10-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * lread.c (load_unwind): Cast argument of fclose. + + * xmenu.c: Delete HAVE_X11 conditionals. + + * xfaces.c (compute_base_face): Use FRAME_FOREGROUND_PIXEL, + FRAME_BACKGROUND_PIXEL, FRAME_FONT. + + * xterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL) + (FRAME_FONT): New macros. + +1994-10-15 Tom Tromey <tromey@drip.colorado.edu> + + * xterm.c (x_bitmap_icon): Allow bitmap to come from file. + (x_wm_set_icon_pixmap): Second arg is now pixmap_id; + call x_lookup_pixmap. + (x_text_icon): Call x_destroy_bitmap. + + * xfns.c (x_set_icon_type): If icon-type is a string, then use + bitmap from that file. + (Fx_create_frame): Set icon_bitmap field to -1. + (struct x_bitmap_record): New structure type. + (x_bitmaps, x_bitmaps_size, x_bitmaps_last, x_bitmaps_free): + New variables. + (x_allocate_bitmap_record): New function. + (x_reference_bitmap, x_create_bitmap, x_create_bitmap_from_file) + (x_destroy_bitmap, x_lookup_pixmap): New functions. + + * xterm.h (x_display): Changed icon_bitmap_flag to icon_bitmap. + Changed all users. + +1994-10-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * textprop.c (Fset_text_properties): Special case for getting + rid of all properties of a string. + +1994-10-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xterm.c (stuffline, scraplines): Functions deleted. + (line_dance, line_dance_len, line_dance_in_progress): New vars. + (XTins_del_lines): Don't do any X calls; just update the array. + (do_line_dance): New function. Do the X calls here. + (XTupdate_end, XTwrite_glyphs): Call do_line_dance. + +1994-10-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/isc4-0.h (LIBS_SYSTEM): Add -lcposix. + (sigblock, SIG_BLOCK): Define if not defined. + + * sysdep.c (read_input_waiting): Set e.frame_or_window w/ XSETFRAME. + + * xterm.c (x_new_font): Don't keep looping after the FONT property. + +1994-10-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * term.c (term_get_fkeys_1): Workaround for IBM's dialect of terminfo. + +1994-10-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (Fx_create_frame): Init the FRAME_X_SCREEN + as soon as can be done. + + * xdisp.c (redisplay): Call clear_face_cache instead + of clear_face_vector. Do it at most once per 1000 redisplays. + + * xfaces.c: Eliminate the "display faces"; store GCs in the + "computed faces". + (face_vector, nfaces, nfaces_allocated): Vars deleted. + (free_frame_faces): Free GCs in the computed faces. + Free the computed faces themselves. + (clear_face_cache): Renamed from clear_face_vector + and completely rewritten to free GCs in the computed faces. + (get_cached_face): Function deleted. + (build_face): Function deleted; code moved into intern_face. + (intern_face): Don't treat default and modeline faces specially. + (recompute_basic_faces): Call intern_face, not build_face. + + * xfaces.c (intern_face, clear_face_vector, load_font, unload_font) + (load_color, free_frame_faces, recompute_basic_faces): + Use FRAME_X_DISPLAY. + + * m/mips-siemens.h (C_ALLOCA): Defined. + (HAVE_ALLOCA): Definition deleted. + + * editfns.c (Fuser_login_name, Fuser_real_login_name): + Call init_editfns now if it was not done before. + + * puresize.h (BASE_PURESIZE): Incremented. + + * lisp.h (Funhandled_file_name_directory): Declared. + +1994-10-10 Rainer Schoepf (Schoepf@Uni-Mainz.de) + + * unexalpha.c (Brk): Declare as unsigned long. + (unexec): Do CHECH_SCNHDR on _RCONST if that's defined. + Ignore rdata_section if there is none. + (update_dynamic_symbols): New arg new_name. Call changed. + Fix some calls to WRITE. + (fatal_unexec): Declare all arguments. + +1994-10-12 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * unexelf.c: Include config.h. + + * s/freebsd.h (LD_SWITCH_SYSTEM): New definition. + +1994-10-11 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (enum Lisp_Misc_Type): Add new enumerations + Lisp_Misc_Intfwd, Lisp_Misc_Boolfwd, Lisp_Misc_Objfwd, + Lisp_Misc_Buffer_Objfwd. + (enum Lisp_Type): Delete the corresponding enumerations from here. + (struct Lisp_Buffer_Objfwd): New structure. + (struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd): Ditto. + (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD): Access the new structure. + (INTFWDP, BOOLFWDP, OBJFWDP, BUFFER_OBJFWDP): Ditto. + (XSETINTFWD, XSETBOOLFWD, XSETOBJFWD, XSETBUFFER_OBJFWD): Deleted. + (union Lisp_Misc): Add new members. + (allocate_misc): Declare this function. + (XINTPTR): Deleted. + * alloc.c (mark_object): Use the new substructure. + * buffer.c (buffer_slot_type_mismatch): Take just the offset as + argument. Only check against types that are actually used. + * bytecode.c (Fbyte_code): Skip optimization for all Lisp_Misc types. + * data.c (do_symval_forwarding, store_symval_forwarding, + find_symbol_value, Fset, default_value, Fset_default, + Fkill_local_variable): Use the new substructure. + (store_symval_forwarding): Change args to buffer_slot_type_mismatch. + * lread.c (defvar_int, defvar_bool, defvar_lisp, + defvar_lisp_nopro, defvar_per_buffer): Use the new substructure. + + * minibuf.c (test_completion): Fix reversed condition. + + * ralloc.c: Install Hiroshi Nakano's rewrite to allow multiple + heaps, for implementations where the C library makes calls to + sbrk directly. + +1994-10-11 Jim Blandy <jimb@geech.gnu.ai.mit.edu> + + * search.c (scan_buffer): After temporarily turning immediate_quit + off, turn it back on by setting it to allow_quit, never 1. + + * search.c (find_before_next_newline): Declare the arguments' + types explicitly; don't let them default to int. + + * xdisp.c (display_scan_buffer): Pass the correct number of + arguments to scan_buffer. + +1994-10-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (read_key_sequence): The output of function-key-map + goes to key-translation-map, but not vice versa. + Don't exit if either of them is a possibility. + +1994-10-11 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h (Lisp_Misc): new type code, replacing Lisp_Marker (and + soon to replace other type codes as well). + (XMARKER, SETMARKER, MARKERP): Check/set the new type field. + (XMISC, SETMISC, MISCP): New accessor macros for the superset type. + (struct Lisp_Free): New structure. + (Lisp_Misc_Free): Type code for that structure. + * buffer.h (OVERLAY_POSITION): Marker assert now tests substructure. + * alloc.c: (MARKER_BLOCK_SIZE, marker_block, marker_free_list): + Now refers to the superset type, not just markers. + (allocate_misc): New function, extracted from Fmake_marker. + (Fpurecopy): Check the substructure. + (clear_marks, mark_object, gc_sweep): Likewise. + * buffer.c (buffer_slot_type_mismatch): Test against Lisp_Misc. + * fns.c (internal_equal): Check the substructure. + * print.c (print): Check the substructure. + +1994-10-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * sysdep.c (sys_subshell): Use NILP macro directly, not its + expansion. Previous code was leftover from when NULL was a bad + word. + +1994-10-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fileio.c (Finsert_file_contents): Use original unexpanded + FILENAME arg to set buffer-file-name. + + * buffer.c (list_buffers_1): Fix indentation in header lines. + + * xdisp.c (redisplay_window): Fix Oct 1 change: + don't call cancel_my_columns unless we will call try_window. + +1994-10-10 Jim Blandy <jimb@geech.gnu.ai.mit.edu> + + * buffer.c (syms_of_buffer): Doc fix for cache-long-line-scans. + +1994-10-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * syntax.c (scan_sexps_forward): At startincomment, + do notice a 2-char comment ender that straddles FROM. + +1994-10-09 Jim Blandy <jimb@geech.gnu.ai.mit.edu> + + Cache the results of some scans, to improve performance in buffers + containing very long lines. + * region-cache.c, region-cache.h: New files. + * Makefile.in.in (obj) Add region-cache.o to the list of files. + (region-cache.o): New target. + (buffer.o, indent.o, search.o): Depend on region-cache.h. + * buffer.h (struct buffer): New members: newline_cache, + width_run_cache, width_table, and cache_long_line_scans. + * buffer.c: #include region-cache.h. + (Fget_buffer_create): Initialize new members of struct buffer. + (Fkill_buffer): Free memory occupied by caches. + (init_buffer_once): Set default value for cache_long_line_scans in + buffer_defaults, and give it a bit in buffer_local_flags. + (syms_of_buffer): Add DEFVAR_PER_BUFFER for cache_long_line_scans. + * insdel.c (prepare_to_modify_buffer): Invalidate width run and + newline caches, if they exist. + * search.c: #include "region-cache.h". + (max, min): Make these functions, not macros; we'd like to pass + them arguments that would be bad to evaluate more than once. + (newline_cache_on_off): New function. + (scan_buffer): New argument END. Call newline_cache_on_off. If + this buffer's newline cache is enabled, consult it to see if we + need to scan a region for newlines, and store information in the + cache after doing so. + (find_next_newline): Pass new arg to scan_buffer. + (find_before_next_newline): New function. + * cmds.c (Fforward_line): Call scan_buffer with new args. + (Fend_of_line): Replace call to Fforward_line and search loop with + call to find_before_next_newline. + * syntax.c (find_defun_start): Call scan_buffer with new args. + * indent.c: #include "region-cache.h". + (character_width, disptab_matches_widthtab, recompute_width_table, + width_run_cache_on_off): New functions. + (compute_motion): Call width_run_cache_on_off. If this buffer's + width run cache is enabled, consult it to see if we need to + traverse a region character-by-character; store information in the + cache after doing so. Call find_before_next_newline instead of + writing out an equivalent loop explicitly, to take advantage of + the newline cache. + Doc fixes. + * xdisp.c (redisplay_window): Invalidate width_run_cache, if the + buffer's display table doesn't match the width table the cache was + built for. + (display_text_line): Use compute_motion to skip forward to the + left edge of the window when the window is hscrolled; this is + faster than rendering all the characters into the bit bucket when + the hscroll is large. + Doc fixes. + (display_count_lines): Call scan_buffer with new args. + * disptab.h (window_display_table): Doc fix. + (buffer_display_table): New declaration. + * indent.h (disptab_matches_widthtab, recompute_width_table): New + declarations. + +1994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (inhibit_local_menu_bar_menus): New variable. + (read_char_x_menu_prompt): Optionally don't use local maps. + (syms_of_keyboard): Set up Lisp variable. + +1994-10-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * lisp.h (enum Lisp_Misc_Type): New type. + (struct Lisp_Marker): Add a member of that type. Delete unused + member `modified'. + +1994-10-07 Morten Welinder <terra@frigg.diku.dk> + + * minibuf.c (test_completion): New function, extracted from + do_completion. + (do_completion): Use test_completion. + (Fminibuffer_complete_and_exit): If completion is already + exact, don't try to complete it. + + * dired.c (file_name_completion): Ignore files "." and ".." + in first pass. + (Ffile_name_completion): Perform the completion even if the + name part is empty. + +1994-10-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * insdel.c (make_gap): Keep input blocked till after we set BEG_ADDR. + + * fileio.c (check_writable, check_executable): Test HAVE_EACCESS. + + * config.h.in (HAVE_EACCESS): Add #undef. + +1994-10-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * alloc.c (mark_object): Don't check for Lisp_Void; nothing ever + creates that type. + * bytecode.c (Fbyte_code): Likewise. + * data.c (Fboundp, Ffboundp, find_symbol_value, Fset, + Fdefault_boundp, Fdefault_value): Likewise. + * lisp.h (Lisp_Void, VOIDP): Deleted. + + * floatfns.c (Fabs): Don't use XFASTINT when negative. + * data.c (Flsh, Fadd1, Fsub1, Flognot): Likewise. + + * buffer.c (init_buffer_once): Don't use XSETFASTINT when negative. + (reset_buffer_local_variables, Fbuffer_local_variables): Access + buffer_local_flags as Lisp_Object, not int. + * data.c (Fset, default_value, Fset_default, + Fkill_local_variable): Likewise. + * lread.c (defvar_per_buffer): Likewise. + Give XSETBUFFER_OBJFWD an integer offset, not a pointer. + + * lread.c (read1): New argument for returning out-of-band data, + obviating the need for Lisp_Internal datatype. + (read0, read1, read_list): Use that new calling sequence. + * lisp.h (Lisp_Internal, XSETINTERNAL, INTERNALP): Deleted. + + * lread.c (Fload, load_unwind): Store stream pointer as a cons of + two integers, obviating the need for Lisp_Internal_Stream datatype. + * lisp.h (Lisp_Internal_Stream, XSETINTERNAL_STREAM, + INTERNAL_STREAMP): Deleted. + * alloc.c (mark_object): Delete case Lisp_Internal_Stream. + +1994-10-05 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * unexec.c (make_hdr): Undo June 16 change. + + * fileio.c (Ffile_regular_p): New function. + (syms_of_fileio): defsubr it. + + * xterm.c (x_term_init): Call XtSetLanguageProc or XSetLocaleModifiers. + +1994-10-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (x_set_icon_type): Remove period from error message. + + * xterm.c (x_make_frame_visible, x_iconify_frame): + Call x_bitmap_icon if frame wants a bitmap icon. + + * xfns.c (x_icon_type): New function. + + * callint.c (Finteractive): Doc fix. + +1994-10-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * buffer.c (validate_region): Swap using temp Lisp_Object, not int. + + * lisp.h (XSETINT): Set object type as well as value. + (XSETCONS, XSETBUFFER, XSETVECTOR, XSETSUBR, XSETSTRING, + XSETSYMBOL, XSETMARKER, XSETOBJFWD, XSETWINDOW, XSETPROCESS, + XSETFLOAT): Likewise. + (XSETBOOLFWD, XSETBUFFER_OBJFWD, XSETWINDOW_CONFIGURATION, + XSETINTERNAL_STREAM, XSETINTFWD, XSETINTERNAL): New macros. + (XSETUINT, XSETPNTR, XFUNCTION, XSETFUNCTION, XSETINTPTR): Deleted. + + * frame.h (XSETFRAME): Set object type as well as value. + * m/alpha.h, m/gec63.h, m/hp800.h, m/iris4d.h, m/iris5d.h, m/mips.h: + Don't override the (new) definition of XSETINT from lisp.h. + Delete XSETUINT and XSETPNTR, which are no longer used. + * *.c: Use new accessor macros instead of calling XSET directly. + * xterm.h (SCROLL_BAR_UNPACK): Likewise. + * fns.c (Fstring_equal): No longer necessary to set type separately. + (Fstring_lessp): Likewise. + * callint.c (Fprefix_numeric_value): Likewise. + * fileio.c (Finsert_file_contents): Likewise. + + * lisp.h (XSETFASTINT): New macro. + (XFASTINT): Changed to non-lvalue syntax, to ensure that callers + will use XSETFASTINT instead. + (CHECK_NUMBER_COERCE_MARKER): Don't use XFASTINT as an lvalue. + (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): Likewise. + * *.c: Likewise. + * frame.h (FOR_EACH_FRAME): Likewise. + +1994-10-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Makefile.in.in (MKTIME_OBJ): New variable. + (obj): Use MKTIME_OBJ. + + * config.h.in (HAVE_MKTIME): Add #undef. + + * xmenu.c (widget_id_tick): Move definition into conditional. + (syms_of_xmenu): Conditionalize initialization of widget_id_tick. + + * xmenu.c (last_menu_bar_item_end): Var deleted. + (this_menu_bar_item_beg, this_menu_bar_item_end): Vars deleted. + (other_menu_bar_item_p, unread_menu_bar_button) + (check_mouse_other_menu_bar): Functions deleted. + (last_event_timestamp, Vdouble_click_time, Vmouse_depressed): + Decls deleted. + (xmenu_show): XMENU_FOO conditional and its contents deleted. + + * xterm.c (input_signal_count): New variable. + (XTread_socket): Increment it. + (x_make_frame_visible): Exit final loop when XTread_sockets has run. + +1994-10-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * window.c (Frecenter): Don't trigger point-motion hooks. + + * fileio.c (Finsert_file_contents): set type of `end', not just + the value. + + * xfns.c (x_figure_window_size): Use new formula for scroll bar width. + + * config.h.in (HAVE_UTIME_H): Add #undef. + * systime.h: Don't include <utime.h> here. + * sysdep.c: Include it here instead. + (set_file_times): Move struct declaration to top of file. + +1994-10-02 Paul Reilly <pmr@churchy.gnu.ai.mit.edu> + + * xmenu.c (popup_get_selection): Remove BLOCK_INPUT, UNBLOCK_INPUT + since the calls to popup_get_selection provide the protection. + +1994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu> + + * xfns.c: (HACK_EDITRES): Declare if using X11R5. + (widget_id_tick): New variable. + (x_any_window_to_frame): Use lw_window_is_in_menubar for + widget set independence. + (x_window): Renamed screen_widget to frame_widget. Use + lw_create_widget and lw_set_main_areas for widget set + independence. Enable using editres for X11R5. + + * widget.c (EmacsFrameSetCharSize): Use lw_refigure_widget for + widget set independence. + + * widget.h: Declare resources showGrip, allowResize, and + resizeToPreferred. + + * keyboard.c (make_lispy_event): Do not set item. Now handled in + xmenu.c by popup_get_selection. + +1994-10-01 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (keys_of_frame): Make binding for delete-frame. + + * xdisp.c (redisplay_window): If we set PT, and that alters a region + being highlighted, call try_window again. + + * Makefile.in.in (LIBXTR6): If NEED_LIBW, add -lw. + * s/usg5-4-2.h (NEED_LIBW): Defined. + + * Makefile.in.in (LDFLAGS): New variable. + (LIBX): Use LDFLAGS. + +1994-09-30 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * data.c (Fmake_local_variable): Doc fix. + +1994-09-29 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fileio.c (check_writable, check_executable) [__HURD__]: + Use eaccess. + + * xfaces.c (compute_char_face): Handle list as overlay face property. + +1994-09-29 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * minibuf.c (scmp): Use unsigned chars, to avoid confusing DOWNCASE. + + * unexaix.c (CHECK_SCNHDR, write_segment): Fix format/arg mismatch. + * xfns.c (x_report_frame_params): Likewise. + +1994-09-29 Boris Goldowsky <boris@cs.rochester.edu> + + * xfaces.c (compute_char_face): If face text-property is a list, + merge the attributes of the faces in the list. + +1994-09-29 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * buffer.c (Foverlay_get): Handle `category' property on overlay. + + * xfaces.c (Fset_face_attribute_internal): Mark frame garbaged whenever + any face's font or color is changed. + + * keyboard.c (head_table): Set up Qdelete_frame. + (kbd_buffer_get_event): Handle delete_window_event by making + a delete-frame event. + +1994-09-28 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * data.c (Flocal_variable_p): New function. + (syms_of_data): defsubr it. + +1994-09-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * fileio.c (Fdelete_file): Undo Sep 16 change. + * dired.c (syms_of_dired): Likewise. + +1994-09-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu> + + * frame.h (scroll_bar_pixel_width, scroll_bar_cols): Update comment. + * xfns.c (x_set_scroll_bar_width): Nil now means 2 columns' worth. + (Fx_create_frame): Default scroll bar width is now nil. + * xterm.c (x_new_font): New rule for computing column width. + Factored out common code. + (XTset_vertical_scroll_bar): Use new width formula. + [!USE_X_TOOLKIT] (x_set_window_size): Likewise. + * widget.c (set_frame_size, EmacsFrameSetCharSize): Likewise. + + * lisp.h (BOOLFWDP, INTERNALP, INTFWDP, OBJFWDP, INTERNAL_STREAMP, + BUFFER_LOCAL_VALUEP, SOME_BUFFER_LOCAL_VALUEP, BUFFER_OBJFWDP, + VOIDP): New type test macros. + * *.h, *.c: Use type test macros instead of checking XTYPE directly. + +1994-09-26 Richard Stallman <rms@churchy.gnu.ai.mit.edu> + + * window.c (syms_of_window): Doc fix. + +1994-09-26 Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr> + + * m/dpx2.h (POSIX_SIGNALS): Define it. + (sigsetmask): Add #undef. + +1994-09-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * m/*.h, s/*.h (WORDS_BIG_ENDIAN): Renamed from BIG_ENDIAN, + and restored where mistakenly deleted by earlier change. + + * emacs.c (argmatch): New function. + (main): Recognize --longopt synonyms for all options handled here. + Add --help and --version. + +1994-09-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * unexsunos4.c: Delete __FreeBSD__ conditional macro definitions. + (unexec): Major changes in UNDO_RELOCATION code. + + * unexsunos4.c (is_it): Rename argument and local variable. + +1994-09-25 Richard Stallman <rms@churchy.gnu.ai.mit.edu> + + * Makefile.in.in (${etc}DOC): Run make-docfile twice--two batches. + +1994-09-24 Richard Stallman <rms@churchy.gnu.ai.mit.edu> + + * sysdep.c (set_file_times): Don't test HAVE_UTIME. + Assume utime exists if utimes does not. + + * config.h.in (HAVE_UTIMES): Add #undef. + + * editfns.c (Fformat_time_string): Mostly rewritten, to handle + unlimited size, and report errors properly. + + * Makefile.in.in (strftime.o, mktime.o): New target. + (obj): Add strftime.o and mktime.o. + + * strftime.c, mktime.c: New files (shared from libc). + +1994-09-24 Erik Naggum (erik@naggum.no) + + * editfns.c (Fformat_time_string): New function. + (syms_of_editfns): Defsubr it. + +1994-09-24 Richard Stallman <rms@churchy.gnu.ai.mit.edu> + + * sysdep.c [USE_DL_STUBS] (dlopen, dlsym, dlclose): New functions. + * s/sunos4-1.h (USE_DL_STUBS): Defined. + * s/sunos4shr.h (USE_DL_STUBS): Add #undef. + + * fileio.c (Ffile_writable_p): Use stat to test for existence. + (check_executable, check_writable): New functions. + (Ffile_executable_p, Ffile_writable_p): Use the new functions. + + * intervals.c (set_point): + If Vinhibit_point_motion_hooks, ignore intangible properties. + If move backwards into intangible text, move back over it. + + * textprop.c (syms_of_textprop): Doc fix. + + * config.h.in (STACK_DIRECTION): Don't redefine if defined already. + Move definition down past #include's. + +1994-09-23 Richard Stallman <rms@churchy.gnu.ai.mit.edu> + + * s/linux.h: Don't include signal.h, values.h. + (signal): Definition deleted. + + * abbrev.c (Fexpand_abbrev): Instead of Fcapitalize_region, + just upcase the first initial. + + * casefiddle.c (Fupcase_initials_region): New function. + (Fupcase_initials): New function. + (syms_of_casefiddle): defsubr them. + + * minibuf.c (read_minibuf_unwind): Preserve Vdeactivate_mark. + + * s/isc2-2.h (DONT_DEFINE_SIGNAL): Macro deleted. + + * m/next.h (DK_HEADER_FILE): Macro deleted. + + * m/tahoe.h (DKSTAT_HEADER_FILE): Macro deleted. + + * m/hp800.h (CPTIME_SYMBOL, DKXFER_SYMBOL): Macros deleted. + + * sysdep.c (start_of_text): Don't test CANNOT_UNEXEC. + * unexec.c: Don't test CANNOT_UNEXEC. + * unexaix.c: Don't test CANNOT_DUMP or CANNOT_UNEXEC. + + * sysdep.c: Delete BROKEN_FASYNC conditional. + + * data.c (Fset_default, Fset): Delete RTPC_REGISTER_BUG conditionals. + + * process.c (Fprocess_send_eof): Delete DID_REMOTE conditional. + + * buffer.c (get-file-buffer): Doc fix. + +1994-09-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (prev_frame): Fix typo. + + * unexec.c (copy_text_and_data): Delete some printf's. + + * m/acorn.h (PURESIZE): Definition deleted. + + * xfns.c (x_figure_window_size): Decode (- N), (+ N) for position. + (x_set_frame_parameters): Handle (+ N) and (- N). + Preserve negative positions properly too. + [USE_X_TOOLKIT] (x_window): Let xneg, yneg specify whether to + negate left and top. + (Fx_parse_geometry): Handle [XY]Negative with positive number + or negative number without [XY]Negative. + + * callint.c (Qplus): New variable. + (syms_of_callint): Set it up. + * lisp.h (Qplus): Declared. + + * xfns.c (Fx_create_frame): Rename menuBarLines resource to menuBar. + + * s/sunos4-1-3.h, s/sunos4shr.h (X_IO_BUG): Definition deleted. + + * textprop.c (Fset_text_properties): Don't let validate_interval_range + increment START and END twice. + + * xterm.h (FRAME_X_DISPLAY): New macro. + + * s/freebsd.h (BSD): Have two definitions according to version number. + +1994-09-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (x_destroy_window): Decrement ref count of x_screen struct. + + * xfns.c (the_x_screen): New variable. + (syms_of_xfns): Staticpro parts of it. + (Fx_open_connection): Initialize it. + (Fx_create_frame): Make frame point to it. + (Fx_list_fonts): Use a cache stored in FRAME_X_SCREEN. + + * xterm.h (struct x_screen): New structure. + (struct x_display): New field x_screen. + (FRAME_X_SCREEN): New macro. + + * process.c (exec_sentinel_error_handler): Call update_echo_area. + (read_process_output_error_handler): Likewise. + + * xdisp.c (update_echo_area): New function. + +1994-09-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * buffer.c (evaporate_overlays): Overlay is in car, not cdr. + +1994-09-21 Tom Tromey <tromey@creche.colorado.edu> + + * doc.c (get_doc_string): Look in ../etc while dumping. + (munge_doc_file_name): New subroutine. + +1994-09-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * minibuf.c (Fcompleting_read): Doc fix. + + * puresize.h (BASE_PURESIZE): Increment both values. + + * window.c (Fdelete_other_windows): Nice error if WINDOW is minibuf. + + * lisp.h (Vdebug_on_error): Declared. + + * process.c (exec_sentinel_error_handler): New function. + (exec_sentinel): Catch all errors in the sentinel. + + * keyboard.c (read_char): Don't return right away when + read_char_minibuf_menu_prompt returns non-nil. + Instead, set key_already_recorded, which inhibits most but not all + of the work at non_reread. + +1994-09-21 Simon Leinen <simon@lia.di.epfl.ch> + + * cm.h (cmputc): Return int rather than void. + * cm.c (evalcost, cmputc): They now return their arguments. + +1994-09-21 Per Abrahamsen <abraham@iesd.auc.dk> + + * window.c (display-buffer, special-display-buffer-names) + (special-display-regexps, special-display-function): Accept cons + cells in `special-display-buffer-names' and + `special-display-regexps'. If the buffer name matches the car, + call `special-display-function' with the cdr as a second argument. + +1994-09-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/bsd386.h (HAVE_TERMIOS, NO_TERMIO): Defined. + + * editfns.c (Fmessage_or_box): Use Fmessage_box with new name. + + * process.c (read_process_output_error_handler): New function. + (read_process_output_call): New function. + (read_process_output): Catch and report errors in filters. + + * keyboard.c (cmd_error_internal): + New function, broken out of cmd_error. + + * fileio.c (Fread_file_name): If DEFAULT is nil and INITIAL is not, + use INITIAL to set DEFAULT. + + * editfns.c (Fmessage_box): Renamed from Fbox_message. + +1994-09-17 Michael Ben-Gershon (mybg@cs.huji.ac.il) + + * unexec.c (copy_text_and_data): Add RISCiX changes. + + * m/acorn.h, s/riscix1-1.h, s/riscix1-2.h: New files added. + +1994-09-21 Bill Burton (billb@progress.com) + + * s/ptx.h: New file for Sequent DYNIX/ptx 1.x/2.x + + * m/sequent-ptx.h: New file for Sequent DYNIX/ptx 1.x/2.x + +1994-09-21 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr> + + * editfns.c (Fbox_message): New function to print a message in + a dialog box. + (Fmessage_or_box): New function that choose whether to print a + message in a dialog or in the echo area. + +1994-09-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * search.c (Freplace_match): New 4th arg OBJECT can specify string + to replace in. + + * casefiddle.c (upcase_initials): New function. + (casify_object): Handle CASE_CAPITALIZE_UP. + + * fns.c (concat3): New function. + + * xfns.c (Fx_get_resource): Doc fix. + + * buffer.c (overlays_at): New arg PREV_PTR. + Return previous overlay end. + (Foverlays_at): Pass NULL for last 2 args of overlays_at. + (Fnext_overlay_change): Pass new arg to overlays_at. + (Fprevious_overlay_change): New function. + * xterm.c (note_mouse_highlight): Pass new arg to overlays_at. + * xfaces.c (compute_char_face): Pass new arg to overlays_at. + * textprop.c (Fget_char_property): Pass new arg to overlays_at. + (NULL): Define if not defined. + + * minibuf.c (get_minibuffer): Make BUF current to kill its local vars. + +1994-09-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * ralloc.c (r_alloc_freeze_level): New variable. + (r_alloc_freeze, r_alloc_thaw): New functions. + (r_alloc_sbrk): Refuse to move blocs, if frozen. + + * unexaix.c (report_error): Include reason in error message. + +1994-09-20 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * eval.c (init_eval_once): Init Vrun_hooks here. + (syms_of_eval): Not here. + +1994-09-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * search.c (trivial_regexp_p): New function. + (search_buffer): Don't depend on internal format of re_pattern_buffer. + + * frame.h (FRAME_SCROLL_BAR_PIXEL_WIDTH): New macro, supersedes + VERTICAL_SCROLL_BAR_PIXEL_WIDTH; no longer device-dependent. + All callers changed. + (FRAME_SCROLL_BAR_COLS): New macro, supersedes + VERTICAL_SCROLL_BAR_WIDTH; no longer constant. All callers changed. + (scroll_bar_pixel_width, scroll_bar_cols): New members of struct frame. + * xterm.h (VERTICAL_SCROLL_BAR_PIXEL_WIDTH): Deleted. + * xfns.c (x_set_scroll_bar_width): New function. + (x_frame_parms): Add that function to this table. + (Qscroll_bar_width): New symbol. + (syms_of_xfns): Initialize and staticpro it. + (Fx_create_frame): Set default scroll bar width. + * xterm.c (x_new_font): Compute number of scrollbar columns. + + * keyboard.c (kbd_store_ptr): Declare storage class before qualifier. + (make_lispy_event): Fix Lisp_Object vs. int problems. + (read_avail_input, menu_bar_items_index, read_key_sequence): Likewise. + * window.c (Fset_window_buffer): Likewise. + * alloc.c (make_float, make_pure_float): Likewise. + + * sysdep.c (set_file_times): Move this out of the USG conditional. + +1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/sco4.h (POSIX_SIGNALS): Defined. + +1994-09-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * buffer.c (syms_of_buffer): Doc fix. + + * keymap.c (Fkey_description): Reverse condition. + +1994-09-19 Jim Blandy <jimb@geech.gnu.ai.mit.edu> + + Add a new element to display tables controlling side-by-side + window borders. + * buffer.c (syms_of_buffer): Update doc string for + `buffer-display-table'. + * disptab.h (DISP_TABLE_SIZE): Bump to 262. + (DISP_BORDER_GLYPH): New accessor macro. + * xdisp.c (display_text_line): Consult the display table when + building side-by-side window borders. + +1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/netbsd.h (SYSTEM_TYPE): Delete definition. + + * lisp.h (RETURN_UNGCPRO): Use if (1) .. else, not do ... while (0). + +1994-09-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * lisp.h (Fmember): Declare this function. + * intervals.c: #include "keyboard.h" + * term.c: Declare Fmake_sparse_keymap. + * minibuf.c (read_minibuf): Fix Lisp_Object vs. int problems. + * frame.h [!MULTI_FRAME] (FOR_EACH_FRAME): Likewise. + * fns.c (Frandom): Likewise. + * eval.c (Fsignal): Likewise. + * frame.c (Fframe_parameters): Likewise. + * indent.c (vmotion, Fvertical_motion): Likewise. + * lread.c (openp): Likewise. + * dispnew.c (direct_output_for_insert, direct_output_forward_char): + Likewise. + * textprop.c (validate_interval_range, property_value, + Fget_char_property, Fnext_property_change, + Fnext_single_property_change, Fprevious_property_change, + Fprevious_single_property_change): Likewise. + +1994-09-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * process.c (pty_name): Move it up; make it static. + (create_process): Set the tty_name field. + (Fprocess_tty_name): New function. + (syms_of_process): defsubr it. + + * process.h (struct process): New field tty_name. + + * s/sol2.h (HAVE_VFORK): Defined. + (C_SWITCH_SYSTEM): Deleted. + (const): Definition deleted. + + * fileio.c (Ffile_writable_p): Don't use ro_fsys. + (ro_fsys): Deleted. + +1994-09-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * config.h.in (_ALL_SOURCE): Don't redefine if already defined. + + * xdisp.c [!HAVE_X_WINDOWS] (store_frame_title): Dummy macro. + + * sysdep.c (set_file_times): New function, replaces EMACS_SET_UTIMES. + * fileio.c (Fcopy_file): Use it, and check for the error return. + * systime.h: Declare it. + [HAVE_UTIME_H]: #include <utime.h>. + + * config.h.in (_ALL_SOURCE, HAVE_STRUCT_UTIMBUF, HAVE_SELECT, + HAVE_TIMEVAL): Add #undefs. + + * s/*.h, m/*.h: Delete obsolete symbols USE_UTIME, MISSING_UTIMES, + IRIS_UTIME, USG_SYS_TIME, HAVE_SELECT, HAVE_TIMEVAL, BIG_ENDIAN. + +1994-09-18 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * dispnew.c (preserve_other_columns): Fix arg to sizeof in bcopy call. + + * minibuf.c (get_minibuffer): Call Fkill_all_local_variables. + + * buffer.c (reset_buffer): Don't call reset_buffer_local_variables. + (Fget_buffer_create): Call it here. + (init_buffer_once): And here. + + * window.c (struct saved_window_data): New slots min_width, min_height. + (Fcurrent_window_configuration): Set slots from window_min_... + (Fset_window_configuration): Restore them. + Set window_min_height and window_min_width to 1 + while restoring windows. + + * unexsunos4.c (SUNOS4 or __FreeBSD__): Define UNDO_RELOCATION. + (unexec): Test UNDO_RELOCATION. Distinguish the relocation formats + of __FreeBSD__ and SUNOS4. + + * s/sol2.h (REL_ALLOC): #undef deleted. + + * keymap.c (Fkey_description): Give error if KEYS not an array. + (get_keyelt, access_keymap, get_keymap_1): Use type test macros. + +1994-09-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * unexsunos4.c (unexec): Fix logic for rounding section boundaries. + + * config.h.in (EMACS_CONFIG_OPTIONS): Add #undef. + + * textprop.c (property_value): Declare args plist, prop. + + * s/osf1.h (malloc, realloc): Declared. + + * print.c (print): sprintf arg for frame depends on VALBITS. + + * callproc.c (Fcall_process) [__osf__ && __alpha]: + Don't stop reading if read returns negative. + + * puresize.h (PURESIZE_RATIO, BASE_PURESIZE): Defined. + (PURESIZE): Define it based on those. + * m/alpha.h (PURESIZE): Definitions deleted. + +1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu> + + * buffer.h: Declare some functions. + * intervals.h: Declare some functions. + * lisp.h: Declare some functions. + * xterm.c, xfaces.c: Add #include "intervals.h" + * fileio.c (barf_or_query_if_file_exists): Fix declaration. + * xmenu.c (menu_item_enabled_p): Fix declaration. + +1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (hack_wm_protocols): Arrange to handle WM_SAVE_YOURSELF. + + * s/hpux9.h (HAVE_TERMIO, HAVE_TERMIOS, NO_TERMIO): Undo Jul 28 change. + +1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu> + + * emacs.c (Vsystem_configuration_options): New variable. + (syms_of_emacs): Initialize it. + + * buffer.h: Declare evaporate_overlays. + * buffer.c: Declare new symbol Qevaporate. + (syms_of_buffer): Initialize it. + (Fmove_overlay): Check if overlay is empty. + (Foverlay_put): Check if setting evaporate property on empty overlay. + (evaporate_overlays): New function. + * insdel.c (del_range_1): Call evaporate_overlays after deleting text. + +1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/intel386.h (HAVE_VFORK): Defined. + [__GNUC__] (C_SWITCH_SYSTEM): Add #undef. + + * emacs.c (shut_down_emacs): Don't call Fx_close_current_connection. + + * lisp.h (EMACS_INT, EMACS_UINT): Define, if not already defined. + + * alpha.h (EMACS_INT, EMACS_UINT): Defined. + +1994-09-16 Rainer Schoepf <schoepf@sc.ZIB-Berlin.DE> + + * s/osf1.h [__alpha] (LD_SWITCH_SYSTEM): Alternate definition. + + * unexalpha.c, m/alpha.h: New files. + + * alloc.c (pure, pure_size): Use EMACS_INT. + (free_float, free_cons, PAD, STRING_FULLSIZE, struct string_block) + (make_pure_string, make_pure_vector, Fgarbage_collect, mark_object) + (gc_sweep, compact_strings, Fmemory_limit): Use EMACS_INT. + + * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables) + (init_buffer_once): Use EMACS_INT. + + * callint.c (Fcall_interactively): Use EMACS_INT. + + * data.c (sign_extend_lisp_int): Use EMACS_INT. + + * dispextern.h (struct face): Use EMACS_UINT. + + * doc.c (Fdocumentation): Use EMACS_INT. + + * editfns.c (Fnarrow_to_region, format1): Use EMACS_INT. + + * floatfns.c (FLOAT_TO_INT, FLOAT_TO_INT2): Use EMACS_INT. + + * frame.h (struct frame, selected_frame, last_nonminibuf_frame): + Use EMACS_INT. + + * lisp.h (Lisp_Object): Use EMACS_INT. + (MARKBIT): Don't define if already defined. + (VALMASK, GCTYPEMASK, XSETTYPE, XSET) + (XSETCONS, XSETBUFFER, XSETVECTOR, XSETSUBR, XSETSTRING) + (XSETSYMBOL, XSETFUNCTION, XSETMARKER, XSETOBJFWD) + (XSETINTPTR, XSETWINDOW, XSETPROCESS, XSETFLOAT) + (struct Lisp_String, struct Lisp_Vector): Use EMACS_INT. + + * lread.c (Fload): Use EMACS_INT. + + * marker.c (unchain_marker): Use EMACS_INT. + + * mem-limits.h: Check for __alpha, in __osf__ conditional. + (EXCEEDS_LISP_PTR): Use EMACS_UINT. + + * print.c (print): Use EMACS_UINT. + + * puresize.h (CHECK_IMPURE, all versions): Use EMACS_INT. + + * window.h (struct window): Use EMACS_INT. + + * xdisp.c (message): Use EMACS_INT. + + * xterm.h (struct scroll_bar, SCROLL_BAR_VEC_SIZE): Use EMACS_INT. + +1994-09-16 Morten Welinder <terra@diku.dk> + + * fileio.c (Finsert_file_contents) [MSDOS]: Don't re-gc-protect + filename; delete unused variables. + +1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu> + + * term.c (clear_to_end): Fix reversed condition. + +1994-09-16 K. Berry <kb@cs.umb.edu> + + * dired.c (Qcompletion_ignored_extensions): New symbol. + (syms_of_dired): Initialize it. + * fileio.c (Fdelete_file): Bind completion-ignored-extensions to nil. + +1994-09-16 Morten Welinder (terra@diku.dk) + + * s/msdos.h (MODE_LINE_BINARY_TEXT): Define this symbol. + * xdisp.c (decode_mode_spec): Use it when defined. + +1994-09-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * minibuf.c (read_minibuf): Don't add to the history list if the + minibuffer string is empty, since it is not very useful. + +1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/hp9000s300.h [not BSD4_3] [__GNUC__] (HAVE_ALLOCA): Defined. + +1994-09-16 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xdisp.c [!HAVE_X_WINDOWS] (frame_title_ptr): define as always null. + +1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c: Delete X11 conditionals. + (XTupdate_end, XTupdate_begin, XTclear_end_of_line) + (XTclear_frame, XRINGBELL, stufflines, scraplines, dumprectangle) + (XTread_socket, x_draw_box, clear_cursor, refreshicon, x_iconify_frame) + (x_bitmap_icon, x_text_icon, x_new_font, x_term_init) + (x_calc_absolute_position, x_set_window_size) + (x_make_frame_visible, x_make_frame_invisible): Delete X10 code. + (dumpqueue, x_do_pending_expose, dumpborder, XEvent, x_read_exposes) + (enqueue_event, dequeue_event, queue_event_count) + (mouse_event_pending_p, x_set_resize_hint): Delete X10 versions. + + * xfns.c: Delete X11 conditionals. + (defined_color, x_decode_color, x_set_foreground_color) + (x_set_background_color, x_set_mouse_color, x_set_cursor_color) + (x_set_border_color, x_set_border_pixel, Fx_create_frame) + (Fx_open_connection, Fx_close_current_connection, syms_of_xfns): + Delete X10 code. + (Fx_get_default, Fx_get_resource, Fx_rubber_band) + (Fx_store_cut_buffer, Fx_get_cut_buffer): Delete X10 definitions. + + * xfns.c (Fx_display_grayscale_p): New function. + (syms_of_xfns): defsubr it. + + * s/bsd386.h (__bsdi__): Define, unless already defined. + (DECLARE_GETPWUID_WITH_UID_T): Define. + + * filelock.c (getpwuid): Test just DECLARE_GETPWUID_WITH_UID_T, + not __bsdi__. + * xrdb.c (getpwuid, getpwnam): Test just DECLARE_GETPWUID_WITH_UID_T, + not __bsdi__. + +1994-09-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * editfns.c (syms_of_editfns): Make Vsystem_name and Vuser...name + lisp variables again. + * xdisp.c (multiple_frames, Vframe_title_format, + Vicon_title_format): New variables. + (store_frame_title): New function. + (x_consider_frame_title): Format title according to template. + (display_mode_element): Handle frame title as well as mode line. + (decode_mode_spec): Use w->buffer, not current_buffer. + +1994-09-15 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/freebsd.h (DECLARE_GETPWUID_WITH_UID_T): Defined. + [NO_SHARED_LIBS and __FreeBSD__]: + (LD_SWITCH_SYSTEM, A_TEXT_OFFSET, A_TEXT_SEEK): Alternate definitions. + + * textprop.c (syms_of_textprop): + Delete Lisp var interval-balance-threshold. + + * intervals.c, intervals.h (interval_balance_threshold): Var deleted. + + * xfns.c (Fx_create_frame): Make 1 the default for menu-bar-lines. + + * keyboard.c (gobble_input): Use sigblockx only if it is defined. + + * unexsunos4.c [SUNOS4]: Include link.h. + (unexec) [SUNOS4]: Cancel relocations that ld.so did. + + * s/sunos4-0.h (SUNOS4): Defined. + +1994-09-14 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Makefile.in.in (xmenu.o): Depend on puresize.h. + (cmds.o): Depend on window.h. + + * cmds.c: Include window.h. + (Fnewline): Inhibit the insert-at-end-of-line hack + when at the top of the window. + + * minibuf.c (Fcompleting_read): Doc fix. + + * xmenu.c: Include puresize.h. + (menu_item_equiv_key): Use CHECK_IMPURE. + + * syntax.c (Fforward_comment): Do increment from, when reaching + single-char comment end going forward. + + * callproc.c (delete_temp_file): Use Fdelete_file. + + * fileio.c (Fset_default_file_modes): Doc fix. + + * Makefile.in.in (OLDXMENU variable): Refer to the library in the + dir where it is compiled. + (OLDXMENU rule): Delete the commands; keep just a dep. + +1994-09-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Version 19.27 released. + +1994-09-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keymap.c (syms_of_keymap): Doc fix. + + * keyboard.c (gobble_input): Block SIGALRM if we are using it. + + * gmalloc.c: Bug fix affecting __ptrdiff_t in non-ANSI case. + +1994-09-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Version 19.26 released. + +1994-09-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (record_asynch_buffer_change): Don't test + Fwaiting_for_user_input_p if no subprocesses. + +1994-09-05 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/sol2.h [USE_X_TOOLKIT && HAVE_X11XTR6] (REL_ALLOC): Undefine it. + +1994-09-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (init_cmdargs): After chasing link, use only the + expanded name. + +1994-09-04 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * fileio.c (Ffile_accessible_directory_p): Put back the gcpro. + + * sysdep.c (srandom): Pass arg to srand48; no return value. + +1994-09-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * emacs.c (init_cmdargs): When setting dir, expand the dir name. + + * sysdep.c (random, srandom): Check HAVE_LRAND48, not HAVE_RAND48. + Call lrand48, nor rand48. + + * config.h.in (HAVE_LRAND48): Replaces HAVE_RAND48. + +1994-09-03 Kaveh R. Ghazi (ghazi@noc.rutgers.edu) + + * m/delta88k.h [__GNUC__] (HAVE_ALLOCA): Defined. + [__GNUC__] (C_ALLOCA): Add #undef + (LIB_X11_LIB): Add #undef. + (HAVE_TERMIOS): Defined. + (HAVE_TERMIO): Add #undef. + (NO_TERMIO): Defined. + (sigsetmask): Add #undef. + (USE_GETOBAUD): Defined. + +1994-09-03 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * sysdep.c (init_baud_rate): Test that getobaud is actually defined. + + * sysdep.c (init_baud_rate) [USE_GETOBAUD]: Use getobaud. + +1994-09-02 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * insdel.c (prepare_to_modify_buffer): Don't call + verify_overlay_modification if no overlays or + verify_interval_modification no intervals. + + * textprop.c (Fset_text_properties): + Return early if buffer has no intervals and PROPS is nil. + +1994-09-02 Lennart Staflin (lenst@rudolf) + + * xdisp.c (display_text_line): Don't overrun the charstart area. + +1994-09-02 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * insdel.c (insert_1): Don't call interval fns if buffer has none. + + * textprop.c (Fset_text_properties): Don't create or split an interval + if we trivially do not need to change anything. + +1994-08-31 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (defined_color): New arg ALLOC--optionally don't allocate + the color. + (x_decode_color, Fx_color_defined_p): Pass new arg. + (Fx_color_values): New function. + +1994-08-30 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (Fdelete_frame): Fix previous change. + +1994-08-30 enami tsugutomo <enami@sys.ptg.sony.co.jp> + + * fileio.c (Fwrite_region): unbind_to should take two args. + +1994-08-30 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fileio.c (Ffile_accessible_directory_p): No need for gcpro. + + * keyboard.c (input_polling_used): New function. + * xterm.c (x_make_frame_visible): Call input_polling_used. + +1994-08-28 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * frame.c (Fdelete_frame): Free the frame's glyphs arrays. + Free the line insert/delete cost vectors. + + * dispnew.c (free_frame_glyphs): No longer static. + + * m/next.h (HAVE_MACH_MACH_H): Defined. + + * editfns.c (Finsert_and_inherit_before_markers): + Use insert_before_markers_and_inherit for character args. + (Finsert_and_inherit): Use insert_and_inherit for character args. + + * insdel.c (insert_before_markers_and_inherit): New function. + + * cmds.c (internal_self_insert): Use insert_and_inherit. + +1994-08-27 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * indent.c (Findent_to): Pass new arg to Finsert_char. + + * editfns.c (Finsert_char): New arg INHERIT. + Use insert_and_inherit if requested. + + * insdel.c (insert_1): New arg INHERIT. + (insert_and_inherit): New function. + +1994-08-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (polling_for_input): Define var unconditionally. + * keyboard.h (polling_for_input): Declared. + * xterm.c: Include keyboard.h. + (x_make_frame_visible): Fix previous change: test polling_for_input + instead of whether SIGIO is defined. + * Makefile.in.in (xterm.o): Depend on keyboard.h. + +1994-08-26 Kevin Rodgers <kevinr@ihs.com> + + * xfns.c (Fx_color_defined_p): Return list of RGB values, not just t. + +1994-08-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xterm.c (x_make_frame_visible): Call signal handler directly. + +1994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/linux.h: Add LINUX_QMAGIC conditional. + + * m/alliant-2800.h (USE_NONANSI_DEFUN): Defined. + + * lisp.h (DEFUN): Check USE_NONANSI_DEFUN. + + * Makefile.in.in (obj): Put cm.o before term.o. + (Avoids mysterious lossage on Irix.) + + * xmenu.c (xmenu_show): Don't queue events that are in the menu bar. + +1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xmenu.c (xmenu_show): Do nothing special for ButtonPress in the menu. + Call XtDispatchEvent for all ButtonRelease events. + xlwmenu.c now deals with posting the menu. + Check for events in subwidgets of the menu + when deciding whether to queue them for later handling. + + * unexelfsgi.c (unexec): Copy previous change in unexelf.c. + + * s/irix5-0.h [__GNUC__] (LD_SWITCH_SYSTEM): Defined. + +1994-08-24 Simon Leinen <simon@lia.di.epfl.ch> + + * term.c (term_init): Added missing argument to tgetstr. + (tgetstr): Move declarations to top level. + +1994-08-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * xterm.c (x_make_frame_visible): Raise a signal to cause the + pending X I/O to be read. + +1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (display_scan_buffer): New function. + (display_count_lines): Use that. + + * intervals.c (textget): Ignore category prop if not a symbol. + +1994-08-23 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * s/gnu.h: New file. + +1994-08-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * indent.c (pos_tab_offset): Don't trigger point-motion hooks. + + * buffer.c (Frename_buffer): Fix gcpro problems. + * fileio.c (Fmake_symbolic_link, Ffile_accessible_directory_p, + Finsert_file_contents, auto_save_error, Fwrite_region): Likewise. + (Fcopy_file, build_annotations, Fdo_auto_save): Delete unused + variables. + +1994-08-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * fileio.c (O_RDONLY): Defined. + (Finsert_file_contents, Fcopy_file): use it. + (barf_or_query_if_file_exists, Ffile_exists_p): Use stat, not access. + (Ffile_readable_p): Use open, not access. + + * lread.c (O_RDONLY): Defined. + (openp): Use it. + + * unexelf.c (unexec): Don't alter the info field + of SHT_SYMTAB and SHT_DYNSYM sections. + + * xdisp.c (redisplay_window): Don't access text before BEGV. + + * keyboard.c (read_char): After read_char_minibuf_menu_prompt, + don't just return; jump to non_reread. + + * fileio.c (Fmake_directory_internal): Pass just 2 args to handler. + +1994-08-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * frame.c (Fmake_frame_invisible, Ficonify_frame): Don't switch frames. + +1994-08-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * search.c (Fstring_match): Fix sign error. + + * m/ibmrs6000.h (LD_SWITCH_MACHINE): Use full path to ibmrs6000.inp. + +1994-08-21 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/ibmrs6000.h (LD_SWITCH_MACHINE): Supply m/ibmrs6000.inp as input. + + * m/ibmrs6000.inp: New file. + +1994-08-19 Hiroshi NAKANO <nakano@whale.math.ryukoku.ac.jp> + + * unexelf.c: Eliminate local var bss_end. + Update the symbol values of _edata and _end. + +1994-08-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * process.c (wait_reading_process_input): + Clear waiting_for_user_input_p before returning. + + * xterm.c (x_make_frame_visible): Quit if requested, in loop at end. + +1994-08-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (read_char): Don't show buffer-events to the user. + Handle chars over 255 in dribble files. + +1994-08-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * callproc.c (Fcall_process_region): gcpro filename_string. + +1994-08-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * doc.c (store_function_docstring): Do nothing for bytecode object + which has no slot for doc string. + +1994-08-16 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * buffer.c (list_buffers_1): Update header line layout. + +1994-08-13 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/sol2-4.h (pid_t): New definition. + (vfork): Definition deleted. + + * xmenu.c (xmenu_show): Unconditionally update x_mouse_grabbed + and Vmouse_depressed. + + * window.c (window_loop, case UNSHOW_BUFFER): + When we delete a frame, skip all the windows on that frame. + +1994-08-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> + + * s/isc4-0.h (NEED_SIOCTL): moved to isc-3.0.h. + * s/isc3-0.h (NEED_SIOCTL): moved from isc-4.0.h, and disabled + BROKEN_TIOCGWINSZ since it works fine when you use <sioctl.h>. + (C_SWITCH_SYSTEM): Add -D_SYSV3 to ensure availability of + traditional non-standard functions. + (memmove): Delete this macro; it screws up <string.h> if you + use the native cc. (Emacs already does the right thing anyway.) + +1994-08-12 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * indent.c (compute_motion): Use WIN's frame, not selected one. + + * xterm.c (x_new_font): Don't set filename = full_name if that's null. + +1994-08-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * Makefile.in.in (FRAME_SUPPORT): Add faces.elc. + + * search.c (Freplace_match): Treat caseless initial like a + lowercase initial. + + * keymap.c (Fdefine_key): Fix error message. + (Fsingle_key_description): Likewise. + +1994-08-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/sol2-3.h (POSIX_SIGNALS): Define it. + (PTY_TTY_NAME_SPRINTF): New overriding definition. + (sigsetmask): Add #undefs. + + * s/sol2-4.h (POSIX_SIGNALS, PTY_TTY_NAME_SPRINTF, sigsetmask): + Delete those things (moved to sol2-3.h). + + * s/sol2-4.h (HAVE_VFORK): Deleted. + (vfork): Define as emacs_vfork. + + * window.c (Fwindow_end): Undo previous change. + +1994-08-09 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (record_asynch_buffer_change): Do nothing + except when waiting_for_user_input_p. + + * m/i860.h [USG5_4] (SVR4): Defined. + + * xdisp.c (display_text_line): + Make previous change #ifdef HAVE_X_WINDOWS. + +1994-08-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * puresize.h [MULTI_FRAME] (PURESIZE): Increased. + + * window.c (Fwindow_end): If window_end_valid is nil, return nil. + + * window.c (Fpos_visible_in_window_p): Do something reasonable + if w->start is outside the buffer bounds. + +1994-08-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * s/sol2-4.h (PTY_TTY_NAME_SPRINTF): New definition. + (sigsetmask): Add #undef. + + * keymap.c (Faccessible_keymaps): Fix previous change. + +1994-08-06 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xdisp.c (display_text_line): Use the face properties + of the overlay arrow, if any. + + * xfaces.c (compute_glyph_face_1): New function. + + * m/intel386.h (LIBS_MACHINE): If SOLARIS2_4, don't define this. + * s/sol2-4.h (SOLARIS2_4): Defined. + +1994-08-05 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keymap.c (Fuse_global_map, Fuse_local_map): + Call record_asynch_buffer_change. + + * xterm.c (XTread_socket): + Don't test X_IO_BUG; make that code unconditional. + (x_noop_count, x_term_init): Likewise. + +1994-08-04 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * data.c (Fdefine_function, Fdefalias): Handle advice as in Ffset. + (Qad_advice_info): Lisp and C names renamed from Qadvice_info. + (Qad_activate): C name renamed from Qactivate_advice. + + * fileio.c (Fread_file_name_internal): Call double_dollars + when `changed' is set. + +1994-08-03 Caveh Jalali (caveh@eng.sun.com) + + * m/intel386.h [SOLARIS2] (VALBITS, GCTYPEBITS): New definitions. + + * s/sol2-4.h: New file. + +1994-08-03 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * buffer.c (list_buffers_1): Add one column to size column. + + * xterm.c (x_make_frame_visible): Start one_in_four at 1. + + * window.c (Fwindow_end): Doc fix. + + * xterm.c (construct_mouse_click, construct_menu_click): + Don't update x_mouse_grabbed, Vmouse_depressed, last_mouse_frame here. + (XTread_socket): Update them here, so we do it without fail. + (XTmouse_position, XTread_socket case MotionNotify): + Check last_mouse_frame is nonzero before using it. + + * Makefile.in.in (alloca.o): Use -f in all rm's. + +1994-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keymap.c (Faccessible_keymaps): Use PREFIX to set loop starting + point; don't even consider maps except those reached via prefix. + + * keyboard.c (make_lispy_event): If the position is not in a window, + at least pass along the frame it is in. + +1994-08-01 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * data.c (Ffset): Don't call Fget unless SYM's plist is consp. + +1994-08-01 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * eval.c (Fprog2): Doc fix. + + * window.c (Fmove_to_window_line): Doc fix. + +1994-08-01 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) + + * xmenu.c (xmenu_show): Ignore any geometry resource from the user. + +1994-07-31 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (Fx_get_resource): Doc fix. + + * data.c (syms_of_data): Set up Qadvice_info, Qactivate_advice. + (Ffset): Activate advice if symbol has advice-info property. + + * xdisp.c (redisplay_window): Avoid using SET_PT to change point + temporarily. + + * dispnew.c (sit_for): Undo previous change. + +1994-07-30 enami tsugutomo <enami@sys.ptg.sony.co.jp> + + * dispnew.c (direct_output_for_insert): Pass missing 8th + argument to compute_char_face. + +1994-07-30 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * keyboard.c (follow_key): Don't downcase letters here. + Delete arg `case_converted'. + (read_key_sequence): Do it here; but not if in middle of fcn key. + + * fns.c (Frandom): Handle LIMIT >= 40000000. + + * xdisp.c (decode_mode_spec): Handle %&. + +1994-07-29 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * process.c (create_process): Set default handling for SIGINT, etc. + +1994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * process.c (wait_reading_process_input): Fix previous change. + + * s/hpux9.h (HAVE_TERMIOS, NO_TERMIO): Defined. + (HAVE_TERMIO): Add #undef. + + * sysdep.c (random): Use rand differently, and distinguish BSD/USG. + + * fns.c (Frandom): Fix previous change. + +1994-07-27 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * syssignal.h [POSIX_SIGNALS] (signal): New definition. + + * config.h.in (HAVE_RAND48): Add #undef. + +1994-07-26 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xterm.c (x_queue_event, x_unqueue_events): New functions. + (x_start_queuing_selection_requests): New function. + (x_stop_queuing_selection_requests): New function. + (XTread_socket): Queue up SelectionRequest events sometimes. + * xselect.c (x_get_foreign_selection): Use the new feature + to queue up SelectionRequest events. + + * process.c (wait_reading_process_input): If wait_for_cell, + do check for keyboard input and handle it. + + * fns.c (Frandom): Use just the low 30 bits of random's value. + + * sysdep.c (random, srandom): Obey HAVE_RAND48 flag. + Test that random is not a macro. Don't test USG or BSD4_1. + + * m/tek4300.h (tek4300): Don't define if already defined. + +1994-07-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * m/tek4300.h (BSD_PGRPS): Defined. + + * puresize.h (PURESIZE): Increase non-MULTI_FRAME value. + + * editfns.c (get_system_name): Add a cast. + + * config.h.in: Add #undef HAVE_H_ERRNO. + * process.c, sysdep.c [!HAVE_H_ERRNO]: Declare h_errno. + * sysdep.c (init_system_name): Set h_errno to 0 initially. + * process.c (Fopen_network_stream): Set h_errno to 0 initially. + + * window.c (Fdisplay_buffer): Add MULTI_FRAME cond in last change. + + * Makefile.in.in: Add #undef alloca. + +1994-07-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * minibuf.c (Fdisplay_completion_list): gcpro `completions'. + + * print.c (internal_with_output_to_temp_buffer): gcpro things. + + * puresize.h (PURESIZE): Incremented to 252000. + +1994-07-23 Jim Blandy (jimb@totoro.bio.indiana.edu) + + * .gdbinit: Set the breakpoint in x_error_quitter instead of + _XPrintDefaultError. + +1994-07-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * window.c (Fnext_window, Fprevious_window): Don't get stuck in a loop + in the minibuffer frame. + + * dispnew.c (direct_output_for_insert): Dpn't call compute_char_face + for a non-X frame. + + * s/usg5-4.h: Move #undef static before the includes. + + * xrdb.c [USG5] (SYSV): Don't define if already defined. + + * fileio.c (Fwrite_region): Do unwind the new unwind protect. + +1994-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (struct font_info): New field full_name. + (x_new_font): Record, and return, the full name of the font. + + * widget.c (EmacsFrameSetCharSize): Delete the code to make rows at + least 3. + + * fileio.c (Vwrite_region_annotations_so_far): New variable. + (syms_of_fileio): Set up Lisp var. + (build_annotations): Handle annotate functions that switch buffers. + Set Vwrite_region_annotations_so_far. + (Fwrite_region): Handle change of buffer in build_annotations. + Add an unwind protect to restore original buffer and kill the temp. + + * sysdep.c (init_system_name): Retry gethostbyname after TRY_AGAIN + failure. + + * process.c (Fopen_network_stream): + Retry gethostbyname after TRY_AGAIN failure. + + * s/isc4-0.h [__GNUC__] (LIBX11_SYSTEM): Add -lcposix. + + * s/usg5-4.h (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty. + + * sysdep.c (sys_subshell): Expand ~ in dir. + Do the processing of dir before calling fork. + Use vfork. + +1994-07-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (note_mouse_movement): Use proper data type for window + args to XQueryPointer. + (x_scroll_bar_note_movement): Likewise. + + * keyboard.c (Vdeferred_action_list, Vdeferred_action_function): + New variables. + (command_loop_1): Handle them. + (syms_of_keyboard): Set up Lisp variables. + + * s/linux.h [emacs]: Include stdio.h. + + * commands.h (unread_command_char): Declared. + * dispnew.c (sit_for): Return immediately if unread events exist. + +1994-07-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * textprop.c (Fget_text_property): Simplify using Ftext_properties_at. + +1994-07-17 Richard Stallman <rms@mole.gnu.ai.mit.edu> + + * xfns.c (Fx_create_frame): Use 140 as default font size. + + * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Handle UnmapNotify events. + +1994-07-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * window.c (Fdisplay_buffer): Cope with unsplittable frames + and dedicated windows. + + * frame.c [!MULTI_FRAME] (Fframe_first_window): Defined. + (syms_of_frame): Defvar it. + +1994-07-14 Morten Welinder (terra@diku.dk) + + * s/msdos.h (HAVE_VOLATILE): Define. + +1994-07-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * keyboard.c (safe_run_hooks): Use local var to restore hook's value. + +1994-07-13 Morten Welinder (terra@diku.dk) + + * keyboard.c (kbd_buffer_get_event) [HAVE_MOUSE]: Include code + to check for mouse dragging. + (make_lispy_movement) [HAVE_MOUSE]: Define also in this case, + but only include the non-multiframe stuff. + + * msdos.c (mouse_init1): Use alternate mouse detection for old + mouse drivers. + (mouse_get_pos): Downscale coordinates by 8. + +1994-07-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * window.c (Fselect_window): Fix bug checking new_point is in range. + + * fileio.c (syms_of_fileio): Finish previous change. + + * keyboard.c (command_loop_1): Do direct output for cursor motion + over text chars when disp tab exists but says nothing for them. + + * frame.h (FRAME_EXTERNAL_MENU_BAR) [!USE_X_TOOLKIT]: Give zero. + + * xdisp.c [!HAVE_X_WINDOWS] (compute_char_face, compute_glyph_face): + Add simple alternate definitions for non-X case. + +1994-07-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * process.c (Qlast_nonmenu_event): New variable. + (syms_of_process): Set it up. + (read_process_output, exec_sentinel): Bind it to t around filter. + + * fileio.c (Fmake_directory_internal): Use Qmake_directory_internal. + (syms_of_fileio): Set up Qmake_directory_internal, not Qmake_directory. + + * frame.c [MULTI_FRAME] (Fframe_parameters): For non-X frames, + fill in menu-bar-lines value. + +1994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xmenu.c (xmenu_show): Don't call XtUngrabPointer here. + + * Makefile.in.in (ctagsfiles): Rewrite to avoid compiler bug. + +1994-07-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * window.c (Fdisplay_buffer): Add MULTI_FRAME conditional + in previous change. + +1994-07-10 Morten Welinder (terra@diku.dk) + + * m/intel386.h [MSDOS] (NO_REMAP): Defined. + * s/msdos.h (HAVE_MOUSE, PURESIZE): Definitions moved here. + * m/dos386.h: File obsolete and deleted. + + * msdos.c (dos_rawgetc): Use bios, not kbhit. + +1994-07-09 Morten Welinder (terra@diku.dk) + + * fileio.c (Ffile_name_directory, Ffile_name_nondirectory, + file_name_as_directory, directory_file_name, Fexpand_file_name, + Ffile_name_absolute_p, Fsubstitute_in_file_name) [MSDOS]: + Allow backslashed file names. + +1994-07-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * puresize.h (PURESIZE) [MULTI_FRAME]: Increased to 250000. + + * lread.c (readevalloop): Correctly unbind the unwind protect. + +1994-07-08 Morten Welinder (terra@diku.dk) + + * msdos.c (do_visible_bell): Clean-up using GNU assembly extension. + +1994-07-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * m/sparc.h (BIG_ENDIAN): Don't redefine if defined. + + * Makefile.in.in (alloca.o): Delete allocatem.c first thing. + + * xmenu.c (xmenu_show) {USE_X_TOOLKIT}: ButtonPress no longer pops + down; instead it forces the next ButtonRelease to exit. Don't + dispatch on ButtonPress events. + + * xfns.c (syms_of_xfns): Provide x-toolkit in toolkit version. + Undo previous change. + (x_toolkit): Variable deleted. + + * xfns.c (x_toolkit): New variable. + (syms_of_xfns): Set up Lisp var x-toolkit. + + * window.c (Fnext_window, Fprevious_window): ALL_FRAMES = 0 means + try both visible frames and iconified frames. + (window_loop): Likewise, for FRAMES = 0. + (Fget_buffer_window): Likewise, for FRAME = 0. + (Fdisplay_buffer): Pass 0 to Fget_buffer_window; + if the frame is iconified, make it visible. + + * frame.c (next_frame, prev_frame): + MINIBUF = 0 means try visible frames and iconified frames. + +1994-07-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Keyboard input exits the menu. + ButtonRelease does so if within Vdouble_click_time. + Ignore mouse motion if button was already released. + (menu_item_selection): Declare volatile, if __STDC__. + + * keyboard.c (make_lispy_event): Ignore menu bar up events. + +1994-07-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * doprnt.c (doprnt): Handle padding on %c. + + * frame.c (next_frame, prev_frame): Change which frames to use + when MINIBUF is a window. + (Fnext_frame, Fprevious_frame): Doc fixes. + + * window.c: Doc fixes. + +1994-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (XTread_socket, construct_menu_click) [USE_X_TOOLKIT]: + Update x_mouse_grabbed and Vmouse_depressed. + +1994-07-02 Richard Stallman (rms@gnu.ai.mit.edu) + + * xdisp.c (decode_mode_spec): %+ makes % for unmodified RO buffer. + + * buffer.c (syms_of_buffer): Doc fix. + + * xfaces.c (get_cached_face): Set the cached_index field. + +1994-07-01 Richard Stallman (rms@gnu.ai.mit.edu) + + * sysdep.c (init_sys_modes): Turn off VSTART and VSTOP chars. + On DGUX, turn off INPCK. + +1994-07-01 Paul Reilly (pmr@churchy.gnu.ai.mit.edu) + + * xfns.c (Fx_create_frame): Add GC protection for frame being made. + +1994-06-30 Richard Stallman (rms@gnu.ai.mit.edu) + + * xterm.c (x_make_frame_visible): In x_sync loop at the end, + every fourth time, sleep for 1/4 second. + + * xselect.c (x_own_selection, x_get_foreign_selection): + Get rid of spurious X_TOOLKIT conditional. + + * frame.c (Fdelete_frame): Call x_clear_frame_selections. + + * xselect.c (x_own_selection): Put the frame in Vselection_alist. + (x_clear_frame_selections): New function. + + * xterm.c (x_draw_box): Use curs_x and curs_y, not f->cursor_[xy]. + + * xfns.c (XLIB_ILLEGAL_ACCESS): Defined. + +1994-06-29 Richard Stallman (rms@gnu.ai.mit.edu) + + * s/hpux.h (random, srandom): Defined. + + * cmds.c (internal_self_insert): Now can return 2. + * keyboard.c (command_loop_1): Don't clear nonundocount + when internal_self_insert returns 1. + +1994-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xfns.c (x_set_frame_parameters): Call x_set_offset directly. + Handle `-' for position parameters. + +1994-06-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * lread.c (readchar): Restart interrupted I/O. + +1994-06-28 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * fileio.c (a_write): Loop while *ANNOT is listp, not consp. + Previous code omitted all data from output files when *ANNOT was + nil. + +1994-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xfns.c (x_set_name): If no change needed, avoid consing. + + * xdisp.c (prepare_menu_bars): Call x_consider_frame_title + only if windows_or_buffers_changed. + + * keyboard.c (safe_run_hooks): Take symbol as arg. + Use Fsymbol_value and Fset. + (command_loop_1): Pass symbol to safe_run_hooks. + Look in the value cell to check for trivial case (no hooks). + + * xdisp.c (redisplay_region): For special treatment, BUF most be + both current and displayed in selected window. + + * buffer.c (Foverlay_put): Pass redisplay_region a struct buffer *. + +1994-06-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fileio.c (a_write): Verify that *annot is a cons. + +1994-06-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * keyboard.c (echo_dash): Fix backwards conditional. + (read_key_sequence): Don't echo if echo_keystrokes is 0. + + * m/news-risc.h (C_DEBUG_SWITCH) [not NEWSOS5]: + Don't define if __GNUC__. + (KERNEL_FILE) [not NEWSOS5]: New override definition. + +1994-06-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * process.c (send_process): Major rewrite. + Don't put in a C-d unless a single line is too long. + Read process input whenever output gets stuck. + Relocate BUF if we read input. New arg OBJECT. + (Fprocess_send_region, Fprocess_send_string, process_send_signal) + (Fprocess_send_eof): Pass new arg OBJECT. + + * buffer.h (BUF_PTR_CHAR_POS): New macro. + + * window.c (Fsave_window_excursion): Doc fix. + + * s/hpux9.h (C_SWITCH_SYSTEM): Add -D_BSD. + + * frame.c (Fframe_parameters): Don't handle menu-bar-lines explicitly. + + * window.c (Fother_window_for_scrolling): New function. + (Fscroll_other_window): Use that. + (syms_of_window): defsubr it. + +1994-06-24 Karl Heuer (kwzh@nutrimat.gnu.ai.mit.edu) + + * fileio.c (Finsert_file_contents): Fix check for non-regular files. + +1994-06-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * syntax.c (scan_lists, Fforward_comment): When moving backward over + a comment, ignore a comment-starter that overlaps the comment-ender. + + * minibuf.c (Fcompleting_read): Doc fix. + +1994-06-23 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * keyboard.c (syms_of_keyboard): Don't staticpro the same var twice. + +1994-06-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * s/convexos.h: File deleted. + + * xterm.c: Don't include string.h or strings.h. + + * term.c (term_get_fkeys): Don't redeclare term_get_fkeys_1 here. + + * m/convex.h (LIBS_MACHINE, GETPGRP_NO_ARG): Defined. + (NLIST_NAME_UNION, DECLARE_GETPWUID_WITH_UID_T): Defined. + (CRT0_DUMMIES): Conditionalize according to __GNUC__. + (convex): Define if necessary. + (C_SWITCH_MACHINE): Definition deleted. + +1994-06-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * buffer.c (Fmove_overlay): Fix typo in previous change. + + * s/sunos4shr.h (X_IO_BUG): Defined. + +1994-06-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * minibuf.c (read_minibuf_unwind): Run Qminibuffer_exit_hook here. + (read_minibuf): Not here. + + * buffer.c (Fkill_buffer): Don't delete auto save file + if it didn't come from this Emacs session. + (Fmove_overlay): Add missing XINT calls in previous change. + +1994-06-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * xfns.c (x_window): Delete duplicate computation. + Change type of reference argument from int to Dimension. + +1994-06-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * config.h.in: Move #undef HAVE_STRERROR before the #includes. + + * m/mips4.h (HAVE_STRERROR, HAVE_XRMSETDATABASE) + (HAVE_XSCREENRESOURCESTRING, HAVE_SETSID): Add #undefs. + + * buffer.c (Fmove_overlay): Call redisplay_region even when + changing to a different buffer. + + * syntax.c (Fmatching_paren): Fix typo. + + * xterm.c (show_mouse_face): Set endcolumn ok in side-by-side windows. + +1994-06-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * s/linux.h (SEGMENT_MASK): Defined. + + * xfns.c (x_window): Take account of pane widget internal border width. + + * s/linux.h (C_OPTIMIZE_SWITCH): Definition deleted. + + * lisp.h (RETURN_UNGCPRO): Swallow semicolon. + (GCPRO5): New macro. + + * xmenu.c (single_keymap_panes): Put menu_item_equiv_key in the gcpro. + (menu_item_equiv_key): GCPRO things. + + * keymap.c (Flookup_key): Add gcpro. + (Fkey_binding, Fminor_mode_key_binding): Likewise. + (Fwhere_is_internal): Likewise. + + * keyboard.c (apply_modifiers): Use assq_no_quit. + +1994-06-19 Erik Naggum (erik@naggum.no) + + * syntax.h (SYNTAX_MATCH): Fix typo (syntax -> matcher). + + * syntax.c (Fmatching_paren): New function. + (Fchar_syntax): Pass arg directly to SYNTAX, no masking. + +1994-06-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * .gdbinit: Doc fixes. + (xsymbol): Cast $ to int. + (xvector, xstring): Don't use a string constant. + Reduce size limit for printing contents. + + * s/sol2.h (GETTIMEOFDAY_ONE_ARGUMENT): Undo previous change. + +1994-06-18 Francesco Potorti` (pot@fly.cnuce.cnr.it) + + * m/delta.h (memmove): switch the first two args. + +1994-06-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (x_make_frame_visible): At end, wait till Emacs sees + frame is visible. + + * keyboard.c (echo_after_prompt): New variable. + (echo_prompt, cancel_echoing): Set it. + (echo_dash): Test it. + + * s/linux.h (C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE. + (HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR): + (HAVE_XSCREENNUMBEROFSCREEN, HAVE_XRMSETDATABASE): + Comment out these definitions. + + * Makefile.in.in (doprnt.o): Depend on config_h. + +1994-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * systime.h (EMACS_GET_TIME): Test GETTIMEOFDAY_ONE_ARGUMENT, + not USG5_4. + * s/usg5-4.h (GETTIMEOFDAY_ONE_ARGUMENT): Define it. + * s/sol2.h (GETTIMEOFDAY_ONE_ARGUMENT): Undef it. + + * xfns.c (x_real_positions): Make sure we know the parent window. + +1994-06-17 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * window.h (minibuf_prompt): Now a Lisp_Object. All uses changed. + + * minibuf.c (minibuf_save_list): New variable, replaces + minibuf_save_vector. + (read_minibuf): Cons it up. + (read_minibuf_unwind): Pop back the saved values. + (syms_of_minibuf): staticpro it. + + * indent.c (compute_motion): Recenter overlays, for speed. + +1994-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (scratch_cursor_gc): New variable. + (dumpglyphs): Rework handling of GCs for cursor display + to use scratch_cursor_gc, and reuse the GC more. + +1994-06-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * unexec.c (make_hdr): Handle case of no "additional header". + + * xdisp.c (redisplay_region): Treat selected window's buffer + specially, not current buffer. + + * syssignal.h [USG5_4] (sigblock): Use |, not &. + +1994-06-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * xdisp.c (redisplay_window): Don't use shortcut if window_end_vpos + is out of date. + +1994-06-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * process.c (Fprocess_status): Return nil for process name + that has no process. + + * dispnew.c (syms_of_display): Make baud-rate a user var. + + * syntax.c (scan_lists): Get error if eob within comment with depth!=0. + +1994-06-16 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * unexec.c: Include <sys/file.h> and [USG5] <fcntl.h> to define + O_* macros. + (O_RDONLY, O_RDWR): Define if undefined. + [emacs] (report_error): Use report_file_error so the user can tell + what the errno code was. + (unexec): Use O_RDONLY instead of explicit 0. + (make_hdr): Don't undo A_TEXT_OFFSET adjustment #ifndef NO_REMAP, + since it was never adjusted earlier #ifndef NO_REMAP. + (adjust_lnnoptrs): Use O_RDWR instead of explicit 2. + +1994-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (x_noop_count): New variable. + (x_term_init) [X_IO_BUG]: Init it. + (XTread_socket) [X_IO_BUG]: Don't do XNoOp every time, just 1 in 100. + +1994-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * syssignal.h (sigblock) [USG5_4]: Define if not defined. + +1994-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * lread.c: Put config.h first. + + * hftctl.c: Put sys/signal.h and errno.h first, then config.h. + + * dired.c: Put stdio.h, sys/types.h and sys/stat.h after config.h. + + * callproc.c, dispnew.c, frame.c, term.h: Put stdio.h after config.h. + * widget.c, xmenu.c, xterm.c: Put stdio.h after config.h. + +1994-06-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * sysdep.c (init_system_name): New function, replaces get_system_name. + * lisp.h: declare it. + * editfns.c (init_editfns): Call it. + (get_system_name): New function, now just uses Vsystem_name. + * xterm.c (x_term_init): Use Vsystem_name instead of calling + get_system_name. + + * keymap.c (Fsingle_key_description): Allow strings as keys. + + * process.c (create_process): Set input_wait_mask before forking. + +1994-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * indent.c (vmotion): Use find_next_newline_no_quit. + (indented_beyond_p): Likewise. + + * search.c (find_next_newline_no_quit): New function. + + * sysdep.c (init_sys_modes): Don't set up sigio here if window system. + + * keyboard.c (read_key_sequence): Verify event has a POSN_BUFFER_POSN + before trying to extract it. + + * eval.c (init_eval_once): Call xmalloc, not malloc. + + * process.c (Fprocess_send_eof): Doc fix. + +1994-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * keyboard.c (interrupt_signal, init_keyboard): + Don't handle SIGINT and SIGQUIT if using window system directly. + + * sysdep.c (init_sys_modes): Don't call set_terminal_modes + if using a window system. + + * xterm.c (XTread_socket): Use x_top_window_to_frame in prev change. + + * s/sol2.h (SOLARIS2): Defined. + + * m/intel386.h: Add conditional for SOLARIS2. + +1994-06-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * xmenu.c (single_keymap_panes): gcpro some things. + +1994-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (XTread_socket): Handle Xatom_wm_save_yourself + by calling XSetCommand. + + * emacs.c (init_cmdargs): Set up initial_argv, initial_argc. + + * keyboard.c (syms_of_keyboard): Properly init Vsystem_key_alist. + + * unexaix.c (adjust_lnnoptrs): Handle multiple aux symbols. + +1994-06-12 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * editfns.c (transpose_markers): Allow for gap at start of region. + (Ftranspose_regions): Don't precompute pointers into buffer text. + +1994-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xfns.c (x_window): Request "save yourself" commands. + + * callint.c (Fcall_interactively): Ignore `-' in string. + (Fcall_interactively): Don't call minibuffer-window-active-p; + determine directly whether a minibuf window is active. + + * keyboard.c (read_char): When we loop and call redisplay, + do prepare_menu_bars first. + +1994-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * search.c (Freplace_match): Be sure not to treat non-digit like digit. + + * xmenu.c (xmenu_show): Don't call XMenuDestroy twice + in XM_FAILURE case. + + * Makefile.in.in (xterm.o): Depend on dispextern.h. + + * s/sunos4-1-3.h (X_IO_BUG): Defined. + +1994-06-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * s/linux.h (CLASH_DETECTION): Defined. + + * minibuf.c (Fdisplay_completion_list): + Require at least two spaces between items. + +1994-06-07 Richard Stallman (rms@geech.gnu.ai.mit.edu) + + * keyboard.c (command_loop_1): + Treat nil in display tab like no display tab. + +1994-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * mips-siemens.h: Include pyramid.h, not mips.h. + (LOAD_AVE_TYPE, LOAD_AVE_CVT): Definitions deleted. + (NO_ARG_ARRAY, HAVE_ALLOCA): Defined. + (BROKEN_FIONREAD): Add #undef. + +1994-06-07 Morten Welinder (terra@diku.dk) + + * msdos.c (init_environment): Clean up code and make the default + EMACSPATH equal to the directory from which Emacs was started. + (emacsroot): New variable. + (rootrelativepath): New function. + * msdos.h: Add template for rootrelativepath. + * lread.c [MSDOS]: #include "msdos.h". + * callproc.c (init_callproc) [MSDOS]: Exclude less code, so ../etc + is still tested for doc file. + +1994-06-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * fns.c (Fy_or_n_p, Fyes_or_no_p) [HAVE_X_MENU]: Redisplay before + popping up a menu. + + * dispnew.c (Fframe_or_buffer_changed_p): Reuse the state vector. + +1994-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * frame.c (Ficonify_frame, Fmake_frame_invisible, Fmake_frame_visible): + Increment windows_or_buffers_changed. + + * xdisp.c (redisplay): Don't call x_consider_frame_title. + (display_mode_line): Likewise. + (prepare_menu_bars): Call it here. + +1994-06-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * dispnew.c (Fframe_or_buffer_changed_p): New function. + +1994-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xterm.c (x_wm_set_icon_position, x_wm_set_icon_pixmap): + [USE_X_TOOLKIT]: Use top-level widget's window. + + * s/bsd386.h (BSD): Redefine. + (WAITTYPE, WRETCODE, WCOREDUMP): New definitions. + Include wait.h. + + * m/sun386.h (LIBS_MACHINE) [USG]: New #define. + + * xterm.c (x_term_init): New args xrm_option and resource_string. + Pass an -xrm option to XtAppInitialize if appropriate. + + * xfns.c (Fx_open_connection): Set up Vx_resource_name and xrm_option + before calling x_term_init. Pass new args. + + * keyboard.c (modify_event_symbol): Return nil if out of range. + + * keymap.c (Fkey_description): Avoid using Fmapconcat--do it directly. + + * keyboard.c, dispnew.c: Include systime.h after xterm.h. + + * xfns.c (x_window): Take account of internal border of paned widget. + + * m/dos386.h (PURESIZE): Increased to 240000. + + * xfns.c (using_x_p): New function. + * fns.c (Fy_or_n_p): Don't use dialog box if not an X frame. + (Fyes_or_no_p): Likewise. + +1994-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * s/hpux9shr.h (C_DEBUG_SWITCH): Define as empty. + +1994-06-03 Morten Welinder (terra@diku.dk) + + * callproc.c [MSDOS]: #include "msdos.h" for rootrelativepath + template. + + * msdos.c (run_msdos_command): Make local copy of argv[2] on stack, + not on heap. + (run_msdos_command): When changing argv[2] from using slashes to + using backslashes, only do so on the first white-space delimited + part. + +1994-06-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * textprop.c (Fprevious_single_property_change): Check for null + interval after correcting for edge effects. + + * xdisp.c (display_text_line): Make sure pointer is in range. + + * xmenu.c (xdialog_show): Fix problem with message in dialog box. + +1994-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * emacs.c (main): Do the setpgrp after checking for -batch. + + * keyboard.c (command_loop_1): Properly handle nil in display table. + + * s/hpux9.h (C_SWITCH_SYSTEM): Put inside __GNUC__ conditional. + +1994-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * process.c (kill_buffer_processes): For net conn, use Fdelete_process. + +See ChangeLog.4 for earlier changes. |