]> git.eshelyaron.com Git - emacs.git/commitdiff
#
authorDave Love <fx@gnu.org>
Mon, 4 Oct 1999 16:40:11 +0000 (16:40 +0000)
committerDave Love <fx@gnu.org>
Mon, 4 Oct 1999 16:40:11 +0000 (16:40 +0000)
lisp/ChangeLog
src/ChangeLog.7 [new file with mode: 0644]

index b681cab79fdf10deab2fd112044ff6e951dbce74..f5cc87c3f5c46e255e6388ff68cf27cc98f469bd 100644 (file)
@@ -1,3 +1,20 @@
+1999-10-03  Dave Love  <fx@gnu.org>
+
+       * image.el (defimage): Remove redundant code.  Substitute file in
+       image plist.
+
+1999-10-02  Andre Spiegel  <spiegel@inf.fu-berlin.de>
+
+       * vc.el (vc-backend-checkout): Use coding system 'no-conversion
+       when doing with-temp-file.
+
+1999-10-01  Dave Love  <fx@gnu.org>
+
+       * cus-edit.el (custom-comment-create): Fill :from and :to slots.
+
+       * help.el: Require view when compiling.
+       (view-emacs-FAQ): Use Info version.
+
 1999-09-29  Ken'ichi Handa  <handa@gnu.org>
 
        * ps-mule.el (ps-mule-font-info-database-ps): Typo fixed
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7
new file mode 100644 (file)
index 0000000..576aebd
--- /dev/null
@@ -0,0 +1,11100 @@
+1998-08-19  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * Version 20.3 released.
+
+       * callproc.c (Fcall_process): Use malloc for decoding_buf.
+       
+       * s/freebsd.h (LD_SWITCH_SYSTEM): Delete -dp.
+
+       * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Increased.
+
+1998-08-18  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * xselect.c (selection_data_to_lisp_data): Code-convert selections
+       regardless of enable-multibyte-characters.
+       (lisp_data_to_selection_data): Likewise for decoding.
+
+1998-08-18  Ken'ichi Handa  <handa@delysid.gnu.org>
+
+       * ccl.c (ccl_driver): In case
+       ccl_read_multibyte_character_suspend:, if ccl->last_block is
+       nonzero, jump to ccl_repeat.
+
+1998-08-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (CCL_READ_CHAR): If eof is encounterd while processing the
+       last block, don't just finish but processes eol block of the
+       current CCL program.
+       (ccl_driver): Add a new jump label ccl_repeat for the above
+       change.
+
+       * coding.c (ccl_coding_driver): Setup ccl->last_block properly.
+       (setup_coding_system): Correctly setup `valid_codes' member.
+
+       * term.c (write_glyphs): When terminal_coding require flushing,
+       call encode_coding with "" as the SOURCE arg so that ccl_driver
+       correctly processes eof block of a CCL program.
+
+1998-08-18  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (read_char): If not reading a key sequence (MAPS is nil),
+       bind input-method-exit-on-first-char and input-method-use-echo-area
+       to t.
+       (read_char): If PREV_EVENT is non-nil, don't run the input method.
+       (read_key_sequence): Do not bind input-method-function. 
+       
+       * callint.c (Fcall_interactively): Pass new args to Fread_event
+       and Fread_char.  Let Fread_char do the prompting.
+
+       * lread.c (read_filtered_event): New arg INPUT_METHOD.  Calls changed.
+       (Fread_event): New args PROMPT and SUPPRESS-INPUT-METHOD.
+       (Fread_char, Fread_char_exclusive): Likewise.
+       * lisp.h (Fread_event, Fread_char, Fread_char_exclusive):
+       Update declarations.
+
+       * fns.c (Fy_or_n_p): Don't bind input-method-function.
+       Instead, pass 0 as INPUT_METHOD to read_filtered_event.
+
+       * insdel.c (replace_range): Rename NOMARKERS arg to MARKERS.
+
+       * editfns.c (Ftranspose_regions): Pass 0 as NOMARKERS to replace_range.
+
+       * cmds.c (internal_self_insert): Pass 1 as NOMARKERS to replace_range.
+
+       * fns.c (Fy_or_n_p): Bind input-method-function to nil.
+
+1998-08-17  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (Freset_this_command_lengths): Return nil.
+       (read_char): [Changes in the input method code.]
+       Process and clear before_command_restore_flag before the input method.
+       Save and restore ok_to_echo_at_next_pause and
+       current_kboard->echo_after_prompt.
+       Save, copy and empty this_command_keys, if it is not empty.
+       Clear the echo area before the input method.
+       Then in all cases restore this_command_keys, and reenable echoing
+       if it was enabled before.
+
+1998-08-16  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * charset.c (Fmultibyte_char_to_unibyte): New function.
+       (syms_of_charset): defsubr it.
+
+1998-08-15  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * xterm.c, xterm.h: x_display_unibyte_char_with_fontset renamed to
+       unibyte_display_via_language_environment.
+       
+       * xfns.c (unibyte_display_through_language_environment):
+       Renamed from x_display_unibyte_char_with_fontset.
+
+       * xterm.h (widget_store_internal_border): Conditionalize declaration.
+
+1998-08-15  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (coding_category_name): Fix the order of initial
+       contents.
+       (detect_coding_mask): Fix previous change.
+
+       * insdel.c (copy_text): Fix previous change, call
+       multibyte_char_to_unibyte.
+
+       * puresize.h (BASE_PURESIZE): Increased.
+
+       * xfns.c (x_display_unibyte_char_with_fontset): New variable.
+       (syms_of_xfns): Declare x-display-unibyte-char-with-fontset as a
+       Lisp variable.
+
+       * xterm.h (x_display_unibyte_char_with_fontset): Extern it.
+
+       * xterm.c (dumpglyphs): If x_display_unibyte_char_with_fontset is
+       nonzero, convert a unibyte 8-bit char to a multibyte char and
+       display it by a font listed in the current fontset.
+
+       * xselect.c (Vnext_selection_coding_system): New variable.
+       (selection_data_to_lisp_data): If Vnext_selection_coding_system is
+       non-nil, use it.
+       (lisp_data_to_selection_data): Likewise.
+       (syms_of_xselect): Declare next-selection-coding-system as a Lisp
+       variable.
+
+1998-08-13  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * msdos.c (dos_set_keyboard): Set up stack and flags before
+       calling _go32_dpmi_simulate_int.
+
+1998-08-13  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32.c (stat): Fall-back to default behaviour when we cannot get
+       accurate information on file attributes.
+
+1998-08-12  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * indent.c (vmotion): Don't use WINDOW for Fget_char_property
+       when it is not showing the right buffer.
+
+1998-08-11  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * process.c (wait_reading_process_input): If a pty gives EIO,
+       raise SIGCHLD just in case.
+
+1998-08-10  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * syntax.c (scan_sexps_forward): Set up the syntax table scanning
+       stuff before jumping into the loop.
+
+1998-08-10  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * msdos.c (IT_cmgoto): In the echo area, only put the cursor at
+       the end of text if it is beyond the displayed text end.
+
+1998-08-10  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (read_char): Don't decrement this_command_key_count
+       when saving it.
+
+1998-08-09  Kenichi HANDA  <handa@etl.go.jp>
+
+       * fileio.c (Fwrite_region): Reflect the eol conversion
+       specification of default value of buffer-file-coding-system if
+       any.
+
+       * coding.c (default_buffer_file_coding): New variable.
+       (init_coding_once): Initialize default_buffer_file_coding.
+
+       * coding.h (default_buffer_file_coding): Extern it.
+
+1998-08-09  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * s/freebsd.h (__FreeBSD_version): Define it, or else
+       include osreldate.h to define it.
+       (LIB_GCC): Unconditional definition deleted.
+       [ELF] (LD_SWITCH_SYSTEM, START_FILES, UNEXEC, LIB_STANDARD, LIB_GCC):
+       New alternative definitions.
+       [! ELF] (START_FILES, LIB_GCC): New alternative definitions.
+
+       * unexelf.c (unexec): Check for section names end and edata
+       with no underscore.
+
+       * coding.c (CHARSET_OK): Check that coding_system_table[IDX] != 0.
+
+1998-08-08  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * coding.c: Avoid using initializers for Lisp_Object.
+
+1998-08-07  Paul Eggert  <eggert@twinsun.com>
+
+       * xterm.c (x_term_init): Don't reset LC_TIME to "C", since we
+       want strftime to be localized.
+
+1998-08-07  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * s/ptx4-2.h: New file.
+
+       * xterm.c (x_list_fonts): Fix previous change.
+
+       * callproc.c (Fcall_process): Check type of process cmd args
+       earlier on.
+
+       * process.c (Fprocess_send_eof): Transfer proc_encode_coding_system
+       data to the new outfd.
+
+       * commands.h (Vthis_command): Renamed from this_command.
+
+       * minibuf.c (Fminibuffer_complete): 
+       this_command renamed to Vthis_command.
+
+       * macros.c (Fcall_last_kbd_macro):
+       this_command renamed to Vthis_command.
+
+       * keyboard.c (Vthis_command): Renamed from this_command.
+       (real_this_command): New variable, but not a Lisp variable;
+       updated like Vthis_command, but never altered by Lisp programs.
+       (command_loop_1): Use real_this_command to set Vreal_last_command.
+       
+1998-08-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * cmds.c (internal_self_insert): If enable-multibyte-characters is
+       nil, convert a multibyte character to unibyte appropriately.
+
+       * editfns.c (general_insert_function): Likewise.
+
+       * charset.c (multibyte_char_to_unibyte): New function.
+       (charset_id_internal): Avoid initializer for Lisp_Object.
+       (init_charset_once): Likewise.
+
+       * lisp.h (multibyte_char_to_unibyte): Extern it.
+
+1998-08-06  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * window.c (Fsplit_window): Doc fix.
+
+       * macros.c (Fexecute_kbd_macro): Fix error message.
+       (Fend_kbd_macro): Fix error message.
+
+       * coding.c (setup_coding_system): Avoid initializer for Lisp_Object.
+       (setup_raw_text_coding_system, detect_coding): Likewise.
+       (code_convert_region, code_convert_string): Likewise.
+       (Fset_coding_priority_internal): Likewise.
+
+1998-08-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * dired.c (Fdirectory_files): If MATCH is non-nil, decode filenames
+       before checking them against MATCH.
+
+1998-08-05  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (read_char): When input method returns no chars,
+       call cancel_echoing.  Restore the previous echo area message
+       and this_command_keys, too.
+
+       * abbrev.c (Funexpand_abbrev): Add ADJUST instead of subtracting.
+
+       * w32select.c (Vselection_coding_system):
+       Renamed from Vclipboard_coding_system.
+       (syms_of_w32select): No need to staticpro Vselection_coding_system.
+
+1998-08-04  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * w16select.c (Vselection_coding_system):
+       Renamed from Vclipboard_coding_system.
+       (Fw16_set_clipboard_data): Don't count trailing zero in the string
+       for the purposes of conversion.
+
+1998-08-04  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * xterm.c (x_list_fonts): Call XFreeFont after the new call
+       to XLoadQueryFont.
+       (fast_find_position): Handle case where position is before
+       an invisible character, thus not actually listed in charstarts.
+       
+       * keyboard.c (Vinput_method_previous_message): New variable.
+       (syms_of_keyboard): Set up lisp variable.
+       (Qinput_method_exit_on_first_char, Qinput_method_use_echo_area):
+       New variables.
+       (syms_of_keyboard): Initialize them.
+       (Fread_key_sequence): New arg COMMAND_LOOP.
+       Bind those variables.
+
+       * lisp.h (Fread_key_sequence): Update declaration.
+
+       * callint.c (Fcall_interactively): Pass new arg to Fread_key_sequence.
+       
+1998-08-03  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * window.c (Fmove_to_window_line): Doc fix.
+
+       * xterm.h (FRAME_OUTER_WINDOW): New macro.
+
+       * xterm.c (x_make_frame_visible): Use XGetGeometry to see if
+       position has been changed by the window manager.  Use
+       FRAME_OUTER_WINDOW.
+
+       * insdel.c (replace_range): Don't assume PT is at the place
+       where the change is being done.
+
+       * editfns.c (Fsubst_char_in_region): Use replace_range in case
+       where we may need to combine bytes.
+       (Ftranslate_region): Likewise.
+
+1998-08-01  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * lread.c (read1): In reading a string, treat Qlambda
+       like Qget_file_char.
+
+       * doc.c (Fdocumentation): Specify UNIBYTE = 0
+       when calling get_doc_string for a compiled function.
+
+1998-08-01  Kenichi HANDA  <handa@etl.go.jp>
+
+       * ccl.h (ccl_spec): New member valid_codes.
+
+       * coding.c (Qvalid_codes): New variable.
+       (coding_category_name): Include "coding-category-ccl".
+       (detect_coding_ccl): New function.
+       (setup_coding_system): Setup coding->spec.ccl.valid_codes from the
+       coding system priority `valid-codes' for CCL based coding systesm.
+       (detect_coding_mask): Check also a CCL based coding system.
+       (Fupdate_coding_systems_internal): Renamed from
+       Fupdate_iso_coding_systems.
+       (syms_of_coding): Change property char-table-extra-slot of
+       translation-table to 1.  Initialize and static pro Qvalid_codes.
+
+       * coding.h (CODING_CATEGORY_IDX_CCL): New macro.
+       (CODING_CATEGORY_IDX_BIG5, CODING_CATEGORY_IDX_RAW_TEXT,
+       CODING_CATEGORY_IDX_BINARY, CODING_CATEGORY_IDX_MAX): Increased by
+       one.
+       (CODING_CATEGORY_MASK_CCL): New macro.
+       (CODING_CATEGORY_MASK_ANY): Include CODING_CATEGORY_MASK_CCL.
+
+       * insdel.c (copy_text): In multibyte to unibyte conversion, take
+       nonascii-translation-table and nonascii-insert-offset into
+       account.
+
+1998-07-30  Paul Eggert  <eggert@twinsun.com>
+       
+       * src/Makefile.in (widget.o, xfns.o, xmenu.o):
+       Prepend $(srcdir)/ to rule dependencies outside this dir.
+
+1998-07-29  Kenichi Handa  <handa@etl.go.jp>
+
+       * fns.c (concat): Fix previous change.
+
+1998-07-29  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * process.c (create_process): For outchannel, set up
+       proc_encode_coding_system, not proc_decode_coding_system.
+
+1998-07-28  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keymap.c (push_key_description): Output multibyte char as itself.
+
+1998-07-27  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (Fexecute_extended_command):
+       Don't delay before displaying the suggestion message
+       if the command did not display anything in the echo area.
+
+1998-07-26  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * s/ultrix4-3.h (rint): Add declaration.
+
+1998-07-25  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * s/aix3-2.h (HAVE_STRING_H): Move #undef here.
+       * s/aix4.h (HAVE_STRING_H): Delete #undef here.
+
+       * sysdep.c [AIXHFT] (hft_init, hft_reset): Add declarations.
+
+1998-07-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (syms_of_coding): Mention auto-coding-alist in the
+       docstring of file-coding-system-alist.
+
+       * fileio.c (Finsert_file_contents): Call Vset_auto_coding_function
+       with two arguments.
+       (Fwrite_region): If buffer-file-coding-system is set locally, use
+       the coding system whithout checking file-coding-system-alist.
+       (syms_of_fileio): Docstring of set-auto-coding-function adjusted
+       for the change of argument number.
+
+1998-07-20  Kenichi HANDA  <handa@etl.go.jp>
+
+       * callproc.c (Fcall_process): Use alloca instead of
+       get_conversion_buffer.
+
+       * coding.c (init_coding): New function.
+       (init_coding_once): Don't initialize conversion_buffer here.  It
+       is done in init_coding.
+
+       * emacs.c (main): Call init_coding.
+
+       * lisp.h (init_coding): Extern it.
+
+1998-07-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (Fdefine_charset): Fix doc-string.
+
+       * xterm.c (dumpglyphs): After calling ccl_driver, set cp->byte1 to
+       zero for 1-byte font.
+
+1998-07-15  kenichi HANDA  <handa@kowloon.etl.go.jp>
+
+       * process.c (read_process_output): Even if we read data without
+       code conversion, calculate character counts.  If we insert the
+       data into a unibyte buffer, treat the data as unibyte.
+
+1998-07-14  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (Qinput_method_function): New variable.
+       (syms_of_keyboard): Init and staticpro it.
+       (read_key_sequence): Bind input-method-function,
+       and set it to nil after reading the first event.
+       (raw_keybuf, raw_keybuf_count): New variables, to record
+       raw input events as they are read with read_char.
+       (GROW_RAW_KEYBUF): New macro.
+       (Fthis_single_command_raw_keys): New function.
+       (syms_of_keyboard): defsubr it.
+
+1998-07-13  Andrew Innes  <andrewi@delysid.gnu.org>
+
+       * w32menu.c (add_menu_item): Draw menu items like titles if
+       call_data is 0.
+
+1998-07-13  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * w16select.c (set_clipboard_data, get_clipboard_data,
+       Fw16_set_clipboard_data, Fw16_get_clipboard_data,
+       Fx_selection_exists_p): Use CF_OEMTEXT instead of CF_TEXT.
+
+1998-07-12  Andrew Innes  <andrewi@delysid.gnu.org>
+
+       * w32select.c: (Fw32_set_clipboard_data): Set Vlast_coding_system_used.
+       (Fw32_get_clipboard_data): Likewise.
+
+1998-07-12  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * marker.c (Fcopy_marker): Make return from wrong_type_argument
+       fall thru into normal case.
+
+       * fileio.c (Finsert_file_contents): When replacing, in multibyte bfr,
+       always extend the range to a character boundary.
+
+1998-07-11  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (read_char): Call the input method if appropriate.
+       Change logic for distinguishing rereads from new events;
+       use local var `reread'.  Take events from
+       Vunread_input_method_events and Vunread_post_input_method_events.
+       (Vunread_input_method_events, Vunread_post_input_method_events)
+       (Vinput_method_function): New variable.
+       (syms_of_keyboard): Set up Lisp vars.
+       (command_loop_1): Check Vunread_input_method_events and
+       Vunread_post_input_method_events along with Vunread_command_events.
+       
+1998-07-11  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32menu.c (w32_menu_show): Set widget call_data to 0 if
+       definition is nil.
+       (add_menu_item): Gray menu entry if widget call_data is 0.
+
+1998-07-11  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * xselect.c (Vselection_coding_system):
+       Renamed from Vclipboard_coding_system.  All uses changed.
+       (syms_of_xselect): Rename Lisp variable.
+
+1998-07-09  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * w16select.c (Vclipboard_coding_system): New variable.
+       (set_clipboard_data, set_clipboard_data): New parameter Raw
+       determines whether CRLF <-> NL translation needs to be done.  All
+       callers changed.
+       (Fw16_set_clipboard_data): Encode the text using
+       Vclipboard_coding_system, if necessary.
+       (Fw16_get_clipboard_data): Decode the text using
+       Vclipboard_coding_system, if necessary.
+       (syms_of_win16select): DEFVAR Vclipboard_coding_system and
+       staticpro it.
+
+1998-07-09  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_string): Count characters again if we
+       encounter some invalid code while decoding.
+
+1998-07-09  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c: Typo in comments fixed.
+
+       * coding.c (DECODE_ISO_CHARACTER): While decoding two-byte code,
+       if the sencond byte is invalid, produce the first byte as is.
+
+       * fontset.c (fs_load_font): Typo in comments fixed.
+
+       * xselect.c (selection_data_to_lisp_data): Set
+       Vlast_coding_system_used.
+       (lisp_data_to_selection_data): Likewize.
+
+1998-07-07  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * charset.c (Fchars_in_region): Coerce markers.
+
+1998-07-08  Kenichi Handa  <handa@etl.go.jp>
+
+       * editfns.c (Fformat): Replace explicit numeric constants with
+       proper macros.
+
+       * fns.c (concat): Likewize.
+
+1998-07-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (MAX_CHAR_COMPOSITION): Defined as (GLYPH_MASK_CHAR - 1),
+       one less than the previous value.
+       (GENERIC_COMPOSITION_CHAR): New macro. 
+
+       * charset.c (Vgeneric_character_list): New variable.
+       (init_charset_once): Init and staticpro it.
+       (Fgeneric_character_list): New function. 
+       (syms_of_charset): defsubr it.
+
+       * fns.c (Fset_char_table_default): Check only if the charset of
+       the arg CH is in the valid range or not.  Handle the case that CH
+       is a generic character for composite characters.
+
+1998-07-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * editfns.c (Fformat): Pay attention to the byte combining problem.
+
+       * fileio.c (Finsert_file_contents): Cancel previous change.  Setup
+       the variable coding even if the inserted bytes is zero.
+
+       * fns.c (concat): Deal with combining bytes between two args.
+
+1998-07-03  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * print.c (print_escape_multibyte, Qprint_escape_multibyte)
+       (Qprint_escape_nonascii): New variables.
+       (syms_of_print): Initialize them and set up Lisp variable.
+       (PRINTPREPARE): Bind print-escape-multibyte to t if appropriate.
+       Also bind print-escape-nonascii if appropriate.
+       (print): Test print_escape_multibyte and print_escape_nonascii,
+       rather than enable-multibyte-characters.
+
+1998-06-29  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * fileio.c (Ffile_regular_p) [WINDOWSNT]: Bind
+       `w32-get-true-file-attributes' to t while calling stat.
+       (Finsert_file_contents) [WINDOWSNT]: Likewise.
+       (Fwrite_region): Don't try seeking to end of FILENAME for
+       appending if not a regular file.
+
+1998-07-03  Kenichi Handa  <handa@etl.go.jp>
+
+       * editfns.c (Finsert): Typo in doc-string fixed.
+       (Finsert_and_inherit, Finsert_before_markers,
+       Finsert_and_inherit_before_markers):  Likewize.
+
+1998-07-02  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * fileio.c (Finsert_file_contents): Do not set Vlast_coding_system
+       if inserted bytes is zero.
+
+1998-06-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * unexec.c [COFF]: New variable coff_offset.
+       (make_hdr) [MSDOS]: If a_name is a coff-go32-exe executable with a
+       prepended stub, compute coff_offset.
+       (make_hdr, copy_sym) [COFF]: Use coff_offset when seeking into temacs.
+
+1998-06-29  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * editfns.c (Fbyte_to_position): New function.
+       (syms_of_editfns): defsubr it.
+
+1998-06-29  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * callproc.c (Fcall_process) [! subprocesses]: Balance parentheses
+       in an if clause.
+
+1998-06-28  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * fileio.c (Fread_file_name): Bind minibuffer-completing-file-name to t.
+
+       * minibuf.c (Vminibuffer_completing_file_name): New var.
+       (syms_of_minibuf): Set up Lisp variable.
+       (Fminibuffer_complete_word): Test it, instead of checking
+       specifically for Qread_file_name_internal.
+       (Fcompleting_read): Likewise.
+
+1998-06-27  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * xterm.c (x_list_fonts): Fix prev change: cast result of alloca.
+
+1998-06-26  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * coding.h (Qemacs_mule): Extern it.
+
+       * process.c (init_process): Initilize Vdefault_process_coding_system.
+
+1998-06-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (setup_raw_text_coding_system): New function.
+       (decode_coding_sjis_big5): Bug for handling invalid code fixed.
+
+       * coding.h (setup_raw_text_coding_system): Extern it.
+
+       * fileio.c (Finsert_file_contents): Call
+       setup_raw_text_coding_system.
+
+       * process.c (Fstart_process): Check process-coding-system-alist
+       and default-process-coding-system even in unibyte mode.
+       (create_process): In unibyte mode, suppress character code
+       conversion.
+
+1998-06-25  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32fns.c (Fx_list_fonts): Bring arglist into sync with xfns.c.
+       (x_set_font): Call face-set-after-frame-default.
+       (Qface_set_after_frame_default): New variable.
+       (syms_of_w32fns): Initialize it.
+
+1998-06-25  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * search.c (wordify): Fix i_byte even in unibyte case for copy loop.
+       If input is unibyte, make the output unibyte.
+
+1998-06-24  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * print.c (PRINTFINISH): Convert text to unibyte before
+       inserting in a unibyte buffer.
+
+       * doc.c (get_doc_string): Take both UNIBYTE and DEFINITION as args.
+       All callers changed.
+       * lisp.h (get_doc_string): Adjust declaration.
+       
+       * lread.c (read_list): Pass new arg to get_doc_string.
+
+       * doc.c (get_doc_string): 2nd arg is now DEFINITION;
+       if non-nil, read a dynamic function definition.
+       (read_doc_string): Don't call read here.
+
+1998-06-23  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * indent.c (indented_beyond_p): Return the right kind of value.
+
+1998-06-22  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * emacs.c (sort_args): Discard duplicate options with no args.
+       (main): With duplicate -d options, use the last one.  Likewise for -t.
+       Check -d last, by checking for -nl earlier on.
+       
+1998-06-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * keyboard.c (command_loop): Reset executing_macro after
+       command_loop_2 has returned, in case a throw to exit or top-level
+       was executed as part of a keyboard macro.
+
+       * callproc.c (Fcall_process): Handle third argument BUFFER
+       consistently when it is an integer or a list.
+
+1998-06-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * syntax.c (Fmodify_syntax_entry): Use macro STRING_BYTES to get
+       byte size of a string.
+
+1998-06-22  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32select.c: Include buffer.h, charset.h, and coding.h.
+       (Vclipboard_coding_system): New variable.
+       (syms_of_w32select): DEF_VAR it.
+       (Fw32_set_clipboard_data): Encode string using
+       Vclipboard_coding_system if necessary.
+       (Fw32_get_clipboard_data): Decode clipboard contents using
+       Vclipboard_coding_system if necessary.
+
+       * w32console.c (initialize_w32_display): Call init_crit to
+       initialize interrupt_handle (referenced by sys_select).
+
+1998-06-22  Richard Stallman  <rms@gnu.org>
+
+       * print.c (print_string): Properly compute number of chars
+       in multibyte case, before calling strout.
+
+       * lisp.h (Qinhibit_redisplay): Declared.
+
+       * keyboard.c (menu_item_eval_property): Bind Qinhibit_redisplay.
+
+       * xdisp.c (Vinhibit_redisplay, Qinhibit_redisplay): New variables.
+       (syms_of_xdisp): Set up Lisp var.
+       (redisplay_internal): Test Vinhibit_redisplay.
+
+1998-06-21  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * process.c (read_process_output): While processing carryover,
+       check the size of p->decoding_buf.
+
+1998-06-21  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * process.c (wait_reading_process_input) [! subprocesses]:
+       Recompute timeout each time through the loop.  Check
+       requeued_events_pending_p and exit the loop if there is unread
+       keyboard input.
+
+1998-06-20  Richard Stallman  <rms@gnu.org>
+
+       * search.c (Freplace_match): Work by chars, not by bytes,
+       for scanning the old text, and for inserting new string in buffer.
+
+1998-06-20  Karl Heuer  <kwzh@gnu.org>
+
+       * xterm.c (x_list_fonts): Keep alloca usage simple.
+
+1998-06-20  Per Starback  <starback@strindberg.ling.uu.se>
+
+       * xdisp.c, charset.h, coding.c, emacs.c: Doc fixes.
+
+1998-06-20  Kenichi Handa  <handa@etl.go.jp>
+
+       * print.c (strout): Show multibyte message correctly.
+
+       * ccl.c: Comment for CCL_MapMultiple modified.
+
+       * charset.c (find_charset_in_str): Do not set the value of
+       charsets[LEADING_CODE_COMPOSITION].
+
+       * process.c (read_process_output): Handle carryover correctly.
+
+       * xterm.c (dumpglyphs): Check the case that FACE_FONT (face) is
+       NULL.  While displaing cursor with non-default face, if the
+       variable `font' is NULL, don't set GCFont.
+
+1998-06-19  Richard Stallman  <rms@gnu.org>
+
+       * minibuf.c (syms_of_minibuf): Initialize buffer-name-history.
+
+1998-06-18  Richard Stallman  <rms@gnu.org>
+
+       * casefiddle.c (casify_object): Cope with modifier bits in character.
+
+1998-06-17  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32.c (is_unc_volume, open_unc_volume, read_unc_volume,
+       close_unc_volume, unc_volume_file_attributes): New functions.
+       (wnet_enum_handle): New variable.
+       (opendir, readdir, closedir, sys_access, stat): Handle UNC volumes.
+
+1998-06-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_list_fonts): If SIZE is zero and MAXNAMES is 1, use
+       XLoadQueryFont instead of XListFonts.
+       (x_load_fonts): Call x_list_fonts with MAXNAMES 1.
+
+1998-06-16  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * xdisp.c (message_dolog): GCPRO the oldpoint, oldbegv and oldzv
+       markers, and old_deactivate_mark.
+
+1998-06-15  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32.c (sys_rename): On some network drives, rename fails with
+       EACCES instead of EEXIST if target already exists.
+
+       * coding.c (encode_eol): Fix typo that prevented converting to Mac
+       line endings.  Always update dst_bytes to number of bytes actually
+       copied.
+       (decode_eol): Fix value of coding->produced when decoding Unix
+       line endings (in case this function is ever used for that).
+
+1998-06-14  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * fileio.c (Finsert_file_contents): Redo the change for handling
+       set-auto-coding while adding a kludgy code to avoid a compiler
+       bug.
+       (syms_of_fileio): Doc-string of the variable
+       set-auto-coding-function modified for the change above.
+
+1998-06-14  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * msdos.c (dos_set_keyboard): Call Int 2Fh via the DPMI server,
+       not directly. 
+       (dos_yield_time_slice): New function.
+       (sys_select): Use it instead of __dpmi_yield.
+
+1998-06-14  Erik Naggum  <erik@naggum.no>
+
+       * minibuf.c (Fcompleting_read): Escape bare newline in doc string.
+
+1998-06-14  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents): Fix change to set INSERTED.
+
+1998-06-13  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (parse_menu_item): Put a quote around DEF
+       to pass it as an argument to the filter function.
+
+       * syntax.c (skip_chars):
+       Don't examine STRING before verifying that it is a string.
+
+1998-06-13  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_coding_system): Always return a list of HIGHEST
+       is zero.
+       (Fdetect_coding_region): Doc-string adjusted for the above change.
+       (Fdetect_coding_string): Likewise.
+
+1998-06-12  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * emacs.c (standard_args): Fix arg order to match code in `main'.
+
+1998-06-12  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * fileio.c (Finsert_file_contents): Undo the previous change for
+       handling set-ault-coding.
+
+1998-06-11  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents): After calling handler,
+       get INSERTED from the handler's value.
+
+       * callint.c (Fcall_interactively) <k, K>: If sequence ends in a down
+       event, discard following up event.
+
+1998-06-12  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (set_auto_coding_unwind): New function.
+       (Finsert_file_contents): If the current buffer is empty, decide
+       the coding system after the file is inserted in the buffer.  If
+       not, insert the head and tail of a file in a temporary buffer and
+       call set-auto-coding-function.
+       (e_write): If there are carryover bytes in encoding because of
+       incomplete multibyte form, write them out as is.
+
+1998-06-11  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * syntax.c (scan_lists): Use prev_char_comend_first, not ...comstart...
+
+1998-06-11  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * makefile.nt (LINK_FLAGS): Place debug info in executable in
+       unoptimized compile.  Link to run off of cd or network.
+
+1998-06-10  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * syntax.c (Fforward_comment):
+       Properly compute BYTEPOS arg to char_quoted.
+
+1998-06-09  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32.c (sys_rename): Don't examine errno if rename didn't fail.
+
+       * s/ms-w32.h (getcwd): Remove define.
+       (getdefdir) [emacs]: Redefine to always return root directory.
+
+1998-06-09  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * lisp.h (Feval_region): Accept 4 args.
+
+       * lread.c (readevalloop): New arg READFUN.  Callers changed.
+       (Feval_region): New arg READ_FUNCTION.
+
+1998-06-08  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * syntax.h (SETUP_SYNTAX_TABLE): Don't call update_syntax_table
+       for FROM-1 if that's before BEGV.
+
+1998-06-07  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * syntax.c (struct lisp_parse_state): New field, levelstarts.
+       (scan_sexps_forward): Use 10th elt of STATE to set levelstarts.
+       (parse-partial-sexp): Add 10th elt to return value.
+
+       * keyboard.c (lispy_function_keys): Add kanji...eisu-toggle.
+
+       * keyboard.c (cmd_error): Init Vlast_prefix_arg.
+       (init_kboard, command_loop_1): Init Vlast_prefix_arg.
+       (Fcommand_execute): Set Vlast_prefix_arg to prefix arg used.
+
+       * callint.c (syms_of_callint): Set up Lisp variable.
+
+       * alloc.c (mark_kboards): Mark all the Lisp_Object fields.
+
+       * keyboard.c (command_loop_1):
+       Set Vreal_last_command with Vlast_command.
+       (init_kboard): Init Vreal_last_command field.
+       (syms_of_keyboard): Set up Lisp var real-last-command.
+
+       * keyboard.h (struct kboard): New elts Vreal_last_command
+       and Vlast_prefix_arg.
+
+1998-06-06  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * xterm.c (XTread_socket): Accept Japanese XK keysyms.
+
+       * xdisp.c (redisplay_internal): If cursor's in the frame's echo area,
+       make last_point invalid instead of setting it normally.
+       (display_text_line): If cursor's in the frame's echo area,
+       don't set this_line_endpos.
+       (redisplay_window): Use Fwindow_end to find lower scroll margin.
+       
+       * syntax.c (scan_lists): Properly skip the comment-fence character
+       that ends a comment, when moving forward.
+       (Fbackward_prefix_chars): Return immediately if point is at BEGV.
+
+       * callproc.c (init_callproc): Check Vinstallation_directory
+       even if !initialized.
+
+1998-06-06  Richard Stallman  <rms@sucrose.ai.mit.edu>
+
+       * syntax.c (prev_char_comend_first): New function.
+       (back_comment): Use that.  Carefully update syntax table position
+       for each character that is fetched.
+       (Fforward_comment): Likewise.
+       (scan_lists): Likewise.
+       (prev_char_comstart_first): New function.
+
+       * syntax.c 
+1998-06-05  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32.c: #include sys/file.h
+       (sys_access): Provide our own implementation which recognizes D_OK.
+       (is_exec): New function.
+       (stat): Use it.
+       (init_environment): Set TMPDIR to an existing directory.
+       Abort if none of the usual places is available.
+       (sys_rename): On Windows 95, choose a temp name that
+       includes the original file's base name and use an explicit loop
+       rather than calling mktemp.  Only attempt to unlink the newname if
+       the rename fails, rather than second-guessing whether the old and
+       new names refer to the same file.
+
+       * fileio.c (Finsert_file_contents): Always update
+       Vlast_coding_system_used when we actually perform IO.
+       (Fwrite_region): Update documentation.
+
+1998-06-03  Richard Stallman  <rms@gnu.org>
+
+       * emacs.c (main): Don't implement --version if not initialized.
+
+       * intervals.c (create_root_interval): Initialize position to 0
+       for a string.
+       (interval_start_pos): New function.
+       (find_interval): Handle string positions starting at 0.
+       (adjust_intervals_for_insertion): Likewise.
+       (adjust_intervals_for_deletion): Likewise.
+       (compare_string_intervals): Likewise.
+       (graft_intervals_into_buffer): Set `position' in reproduce_tree value.
+       (copy_intervals): Init `position' to 0.
+
+       * textprop.c: Handle the new convention that `position' values
+       in a string's intervals start from zero.
+       (validate_interval_range, interval_of, Fnext_property_change)
+       (property_change_between_p, Fnext_single_property_change)
+       (Fprevious_property_change, Fprevious_single_property_change):
+       (Ftext_property_any, Ftext_property_not_all): Implement that.
+
+       * textprop.c: Undo previous change.
+
+       * coding.c (code_convert_string_norecord): New function.
+       Does encoding or decoding but doesn't set Vlast_coding_system_used.
+
+       * coding.h (DECODE_FILE, ENCODE_FILE):
+       Use code_convert_string_norecord.
+
+1998-06-02  Richard Stallman  <rms@gnu.org>
+
+       * sysdep.c (sys_subshell): Cast arg to chdir.
+       (init_sys_modes): Cast arg to setbuf or setvbuf.
+
+       * keyboard.c (syms_of_keyboard): Doc fix for suggest-key-bindings.
+
+1998-06-02  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * charset.c (string_to_non_ascii_char): Don't check the arg
+       EXCLUDE_TAIL_GARBAGE for an invalid composite characters.
+
+1998-06-01  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * coding.c (detect_coding_mask): Initilize local variable C.
+
+1998-06-01  Richard Stallman  <rms@gnu.org>
+
+       * emacs.c (main): Test `initialized' before clearing *Messages*.
+
+1998-06-01  Karl Heuer  <kwzh@gnu.org>
+
+       * s/aix4.h (SOCKLEN_TYPE): Define as int.
+
+       * callproc.c (Fcall_process): Avoid initializer on auto struct.
+
+1998-06-01  Andrew Innes  <andrewi@mescaline.gnu.org>
+
+       * s/ms-w32.h: Use 1 as explicit value of empty #defines.
+
+       * makefile.nt (LOCAL_FLAGS): Define HAVE_NTGUI if appropriate.
+
+1998-05-31  Karl Heuer  <kwzh@gnu.org>
+
+       * doprnt.c (doprnt1): Fix char signedness mismatches.
+       * fileio.c (Finsert_file_contents): Likewise.
+
+1998-05-31  Richard Stallman  <rms@gnu.org>
+
+       * dispnew.c (Fredraw_frame): Don't erase frame or its glyph records
+       if it hasn't got any.
+
+1998-05-30  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32proc.c (sys_spawnve): Place Emacs pid in EM_PARENT_PROCESS_ID.
+
+       * w32.c (sys_rename): Handle filenames with accented characters.
+       (stat): Handle "c:/.." and "/.." specially.
+       
+       * unexw32.c (w32_fatal_reload_error): Update error message.
+
+1998-05-30  Karl Heuer  <kwzh@gnu.org>
+
+       * Makefile.in (distclean): Delete config.stamp, stamp-oldxmenu.
+
+       * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fix.
+       * charset.c (syms_of_charset): Put \n\ at eol of docstring.
+
+1998-05-29  Richard Stallman  <rms@gnu.org>
+
+       * textprop.c (Fnext_property_change): Properly offset interval
+       position for string when comparing with LIMIT.
+       (property_change_between_p): Likewise.
+       (Fnext_single_property_change, Fprevious_property_change): Likewise.
+       (Fprevious_single_property_change): Likewise.
+
+1998-05-28  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (command_loop_1): In shortcuts for forward-char etc.,
+       use FETCH_CHAR not FETCH_BYTE.
+
+1998-05-28  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * lread.c (read1): Swap saved_doc_string_length and
+       prev_saved_doc_string_length.
+       (read_list): Negate docstring position if negative before checking
+       against saved_doc_string_length et al.
+
+1998-05-28  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * lread.c: Remember the last TWO strings skipped with #@.
+       (prev_saved_doc_string*): New variables.
+       (Fload): Initalize prev_saved_doc_string.
+       (read1): Copy saved_doc_string to prev_saved_doc_string
+       before storing a new string in saved_doc_string.
+       (read_list): Look in prev_saved_doc_string as well as
+       in saved_doc_string.
+
+1998-05-25  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * doc.c (get_doc_string): Make non-static.
+
+       * lisp.h: Add prototype for get_doc_string.
+
+       * lread.c (read_vector): Add bytecodeflag parameter, which is
+       nonzero when reading a bytecode object.  If
+       `load-force-doc-strings' is t when reading a lazily-loaded
+       bytecode vector, the loaded docstring must be treated as unibyte
+       and passed to Fread to obtain the actual bytecode string and
+       constants vector.
+       (read1): Add extra parameter to read_vector calls.
+
+       (read1): Enable saving of doc strings on WINDOWSNT.
+       (read_list): Call get_doc_string instead of read_doc_string, when
+       forced to load doc strings.
+       
+1998-05-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * s/gnu-linux.h (setpgrp): Remove extra parens around parameters.
+
+       * xterm.c (XTread_socket): Fix second argument of
+       x_any_window_to_frame.
+
+       * print.c (print) <Lisp_Cons>: Detect circular list.
+
+1998-05-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_coding_system): Treat CODING_EOL_INCONSISTENT
+       like CODING_EOL_UNDECIDED.
+
+       * coding.c (ascii_skip_code): New variable.
+       (detect_coding_mask): Skip ASCII codes at the head according to
+       ascii_skip_code.
+       (coding_priorities): New variable.
+       (Fset_coding_priority_internal): New function.
+       (detect_coding): Call set_coding_mask with coding_priorities as
+       arg CODING.
+       (init_coding_once): Initialize ascii_skip_code.
+       (syms_of_coding): Declare set-coding-priority-internal as a Lisp
+       function.
+
+1998-05-25  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * config.in (RE_TRANSLATE): Use CHAR_TABLE_TRANSLATE.
+
+       * lisp.h (CHAR_TABLE_TRANSLATE): New macro.
+
+1998-05-24  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * window.c (Fdelete_windows_on): For FRAME, change t to nil
+       and nil to t, but don't change other values.
+
+       * xdisp.c (message_dolog): Do set windows_or_buffers_changed,
+       if *Messages* is displayed in a window.
+
+1998-05-22  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * indent.c (compute_motion): Check for past vpos/hpos target
+       before skipping invisible chars.
+
+       * buffer.c (Fother_buffer): Doc fix.
+
+       * window.c (window_loop): Pass new arg to Fother_buffer.
+
+       * frame.c (frame_buffer_predicate): New arg FRAME.
+       (frame_buffer_list, set_frame_buffer_list): Likewise.
+       (make_frame): Pass new arg to Fother_buffer.
+
+       * buffer.c (Fother_buffer): New arg FRAME.
+       Pass it to frame_buffer_list, frame_buffer_predicate.
+       Calls changed.
+       (record_buffer): Pass selected frame to them
+       and set_frame_buffer_list.
+
+       * lisp.h (frame_buffer_predicate, frame_buffer_list)
+       (set_frame_buffer_list, Fother_buffer): Decls changed.
+
+       * window.c (select_window_1): New subroutine, from Fselect_window.
+       (Fselect_window): Use select_window_1.
+       (temp_output_buffer_show): Use select_window_1.
+       
+1998-05-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c: Change term "character translation table" to "translation
+       table".
+
+       * charset.c: Change term "character translation table" to
+       "translation table".
+       (string_to_non_ascii_char): New arg EXCLUDE_TAIL_GARBAGE.  Caller
+       changed.
+       (Funibyte_char_to_multibyte): Doc-string fixed.
+       (syms_of_charset): Doc-string fixed.
+
+       * charset.h (STRING_CHAR_AND_CHAR_LENGTH): New macro.
+       (string_to_non_ascii_char): Adjusted for the new arg.
+
+       * coding.c: Change term "character translation table" to
+       "translation table".
+
+       * coding.h: Change term "character translation table" to
+       "translation table".
+
+       * print.c (print_string): Don't ignore garbage bytes following a
+       multibyte characters.
+       (print): Likewise.
+
+1998-05-22  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * search.c (shrink_regexp_cache): New function.
+
+       * alloc.c (Fgarbage_collect): Call shrink_regexp_cache.
+
+1998-05-20  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * editfns.c (Fchar_after): Make nil fully equivalent to (point) as arg.
+       (Fchar_before): Likewise.
+
+1998-05-20  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fileio.c (Ffile_name_directory, Ffile_name_nondirectory)
+       [DOS_NT]: Handle the special construct "/:" when followed by d:foo.
+
+       * buffer.c (init_buffer): Support DOS_NT absolute file names.
+
+1998-05-20  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (find_charset_in_str): New arg CMPCHARP.
+       (Ffind_charset_region): Call find_charset_in_str with CMPCHARP 0.
+       (Ffind_charset_string): Likewise.
+
+       * charset.h (find_charset_in_str): Number of arguments fixed.
+
+       * coding.c (shrink_decoding_region): No short cut by
+       coding->heading_ascii if eol conversion is necessary.
+
+       * fns.c (Fstring_make_multibyte): Call CHECK_STRING.
+       (Fstring_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte):
+       Likewise.
+
+       * xselect.c (lisp_data_to_selection_data): Call
+       find_charset_in_str with CMPCHARP 1 to encode Lisp string if it
+       contains a composite character.
+
+1998-05-19  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * minibuf.c (syms_of_minibuf): Doc fix.
+
+       * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fixes.
+       
+       * frame.c (make_frame_visible_1): New function.
+       (Fmake_frame_visible): Use that.
+
+       * xdisp.c (redisplay_window): Don't use window->start
+       if it is out of range of BEGV/ZV.
+
+1998-05-18  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * minibuf.c (read_minibuf): If history list var is void, make it nil.
+
+1998-05-18  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * syntax.c (skip_chars): Fix previous change.
+
+1998-05-17  Kenichi HANDA  <handa@etl.go.jp>
+
+       * ccl.c: Change term translation to code conversion, then change
+       terms unify/unification to translate/translation respectively
+       throughtout the file.
+
+       * charset.c: Change terms unify/unification to
+       translate/translation respectively throughtout the file.
+       (ONE_BYTE_CHAR_WIDTH): Delete unnecessary continuation line at the
+       tail.
+
+       * charset.h: Change terms unify/unification to
+       translate/translation respectively throughtout the file.
+       (GET_TRANSLATION_TABLE): Name changed from UNIFICATION_ID_TABLE.
+
+       * coding.c: Change terms unify/unification to
+       translate/translation respectively throughtout the file.
+       (encode_coding_iso2022): Fix bug in encoding a text ending by a
+       composite character.
+       (check_composing_code): If we are decoding the last block of data,
+       return 0 even if the source doesn't end by an escape sequence
+       which terminates the current composing sequence.
+       (decode_coding_iso2022): Decode correctly even if the source
+       doesn't end by an escape sequence which terminates the current
+       composing sequence.
+
+       * coding.h: Change terms unify/unification to
+       translate/translation respectively throughout the file.
+
+       * fns.c (concat): Fix bug in concatinating a list of multibyte and
+       unibyte characters.
+
+       * lisp.h (Vnonascii_translation_table): Name changed from
+       Vnonascii_translate_table.
+
+       * syntax.c (skip_chars): Fix bug in handling a range which
+       contains multibyte characters.
+
+1998-05-17  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * filelock.c (get_boot_time): Scan the whole wtmp file
+       to find the most recent reboot.
+
+       * window.c (Fselect_window): Doc fix.
+       (temp_output_buffer_show): Make the temp buffer current
+       before running Qtemp_buffer_show_hook.
+
+       * fileio.c (Fexpand_file_name): Change conditional
+       in previous change from WINDOWSNT to DOS_NT.
+
+1998-05-16  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * buffer.h (struct buffer): New slot display_time.
+
+       * buffer.c (syms_of_buffer): Set up Lisp variable buffer-display-time.
+       Doc fixes.
+       (reset_buffer): Initialize display_time slot.
+       (init_buffer_once): Initialize display_time slot.
+
+       * window.c (Fset_window_buffer): Update buffer's display_time.
+
+       * insdel.c (insert_1_both, insert_from_string_1, replace_range)
+       (insert_from_buffer_1, adjust_before_replace, adjust_after_replace): 
+       Don't copy text being deleted, if undo is disabled.
+
+       * lread.c (readchar): Use readchar_backlog again
+       to read a character byte by byte, if its byte sequence
+       does not really match the character code.
+       (unreadchar): Handle readchar_backlog.
+       (readevalloop, Fread): Initialize readchar_backlog to -1.
+
+1998-05-15  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * fileio.c (Fexpand_file_name) [WINDOWSNT]: Be careful not to
+       concatenate the directory prefix and file name to accidentally
+       create a network share name.
+
+1998-05-14  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32xfns.c (interrupt_handle): New variable.
+       (init_crit): Initialize it.
+       (delete_crit): Cleanup on exit.
+       (signal_quit): New function.  Signal any threads that are blocked
+       on a "system" call (provided they have been specially written to
+       check for this), so the call can fail with EINTR as on Unix.
+
+       * w32term.h (signal_quit): Add prototype.
+
+       * w32fns.c (w32_wnd_proc): Call signal_quit when C-g is received.
+
+       * w32proc.c (sys_select): Always wait on interrupt_handle, so that
+       user can break out of `accept-process-input' (for instance) by
+       typing C-g.
+
+1998-05-14  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * keyboard.c (read_char): If redisplay is preempted,
+       try swallow_events; if that clears input_pending,
+       finish the redisplay.
+
+1998-05-14  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32term.c (w32_ring_bell): Flash window correctly.
+
+1998-05-13  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents): Don't check non-regular
+       files for a coding: specification.
+
+1998-05-13  Inge Frick  <inge@nada.kth.se>
+
+       * keyboard.c (parse_menu_item): Removed unnecessary gcproing.
+       Fix a test of inmenubar.
+
+1998-05-13  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * msdos.c (init_environment): Set TMPDIR to an existing
+       directory.  Abort if none of the usual places is available.
+
+1998-05-13  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * syntax.c (skip_chars): When fetching char after \,
+       don't fail to set c_leading_code.
+
+1998-05-12  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents): Check that a -*- coding: -*- spec
+       or a local variables list exists, before Vset_auto_coding_function.
+
+       * minibuf.c (Fminibuffer_complete_word):
+       Fix the string-comparison loop.
+
+       * search.c (search_buffer): Set search regs for all success
+       with an empty string.
+       (set_search_regs): Clear out all regs except 0.
+
+       * minibuf.c (Fall_completions, Ftry_completion):
+       Compare char sizes, not STRING_BYTES.
+
+1998-05-12  Inge Frick  <inge@nada.kth.se>
+
+       * keyboard.c (parse_menu_item): Argument inmenubar < 0 now means
+       parsing a keyboard menu item.
+       (read_char_minibuf_menu_prompt): Use `parse_menu_item' to understand
+       new menu item format.
+
+1998-05-12  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32.c (stat, get_long_basename): Fail if filename contains any
+       characters that are illegal in file names.
+
+1998-05-11  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * minibuf.c (assoc_for_completion): Use Fcompare_strings.
+       (test_completion): In obarray, try both unibyte and multibyte strings.
+       (read_minibuf): Convert unibyte prompt to multi if minibuffer is multi.
+       (Fdisplay_completion_list): Convert unibyte to strings to multibyte
+       to conform to the buffer.
+
+       * fileio.c (Finsert_file_contents): Don't use the fast replace code
+       if coding needs eol conversion.
+       (Finsert_file_contents) [DOS_NT]: When setting buffer_file_type,
+       if code conversion is needed, file is not binary.
+
+       * xdisp.c (redisplay_window): Handle scroll_step along with
+       scroll_conservatively.  Fix 1-off error checking the limit for them.
+
+       * filelock.c (unlock_file): Encode the file name. 
+
+1998-05-10  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * buffer.c (Fset_buffer_multibyte): Error if marker is put
+       on buffer's marker-chain while we have temporarily put nil there.
+
+       * marker.c (unchain_marker): Abort if the marker is not
+       in its buffer's chain.
+       (buf_bytepos_to_charpos): Fix assignment of `record'
+       when scanning from below.
+       Don't create a marker if buffer's marker chain is empty.
+
+       * coding.c (code_convert_region1): Set Vlast_coding_system_used.
+       (code_convert_string1): Likewise.
+       (Fdecode_coding_region, Fencode_coding_region): Doc fixes.
+       (Fdecode_coding_string, Fencode_coding_string): Doc fixes.
+
+       * Makefile.in (TAGS): Specify directory when running etags.
+
+1998-05-09  Richard Stallman  <rms@psilocin.ai.mit.edu>
+
+       * bytecode.c (Fbyte_code): Don't use Bmark.
+
+       * .gdbinit (xstring): Handle unibyte strings.
+       (xchartable, xboolvector): New commands.
+
+       * xdisp.c (redisplay_window): Don't use last_point_x and last_point_y
+       if cursor_in_echo_area.
+
+       * minibuf.c (Qbuffer_name_history): New variable.
+       (syms_of_minibuf): Initialize it.
+       (Fread_buffer): Use that history list.
+
+1998-05-09  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * syntax.c (scan_lists, scan_sexps_forward): Move complex expressions
+       outside of the switch statement.
+
+1998-05-09  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * indent.c (compute_motion): Fix previous change.
+
+1998-05-08  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_coding_mask): Check also coding-category-binary.
+
+1998-05-08  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * doc.c (get_doc_string): New arg UNIBYTE
+       Maybe use make_unibyte_string.  All callers changed.
+       (read_doc_string): Specify 1 for UNIBYTE.
+
+       * process.c (Fstart_process): Remove the special case for
+       unibyte, for initializing the process coding systems.
+       Instead, use the normal multibyte code, but check
+       BUFFER's value and the default value of enable-multibyte-characters.
+       (Fopen_network_stream): Likewise.
+
+1998-05-08  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * indent.c (compute_motion): Fix, in a different way, the bug of
+       handling wide-column character around right margin.
+
+1998-05-07  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * indent.c (compute_motion): Undo both May 7 changes.
+
+       * doprnt.c (doprnt1): Cast arg to CHAR_STRING.
+
+1998-05-07  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * callproc.c (Fcall_process): Fix test for when to call
+       Ffind_operation_coding_system.
+
+1998-05-07  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * indent.c (compute_motion): Fix previous change.
+
+1998-05-07  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * search.c (Freplace_match): Fix the loop for copying text
+       from a string, in handling lastpos and pos.
+
+1998-05-07  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * data.c (set_internal): Properly compare lisp objects.
+       (Fmakunbound): Likewise.
+       * lread.c (Fintern): Properly compare lisp objects.
+
+1998-05-07  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * fileio.c (Fexpand_file_name) [DOS_NT]: Note when special escape
+       prefix /: is present, and reinsert after name has been expanded.
+       Only recognize drive specifier at beginning of name.
+
+       * fileio.c (Fexpand_file_name):
+       Don't strip trailing slash if newdir is just /.
+
+1998-05-07  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * process.c (init_process, syms_of_process) [not subprocesses]:
+       Make definition consistent with prototypes on lisp.h
+
+1998-05-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * indent.c (compute_motion): Fix bug of handling wide-column
+       character around right margin.
+
+1998-05-07  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
+
+1998-05-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * callproc.c (Fcall_process): If we must display received data on
+       the fly, don't wait until a buffer is filled.
+
+1998-05-05  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fileio.c (barf_or_query_if_file_exists): Encode file name.
+
+1998-05-04  Kenichi HANDA  <handa@etl.go.jp>
+
+       * coding.c (encode_coding_iso2022): Don't skip a code following
+       some invalid code.
+
+1998-05-04  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fileio.c (Finsert_file_contents): Don't use gap pos to set point
+       if del_range_byte deleted 0 characters.
+
+       * search.c (boyer_moore): Check more reliably for ptr[1] being
+       out of range.  Use pat_end to point at the pattern's end.
+
+       * emacs.c (main): Call the syms_of_... and keys_of_... functions
+       earlier, before init_vms_input and init_display.
+       
+1998-05-04  E. Jay Berkenbilt  <ejb@ql.org>
+
+       * window.h (WINDOW_RIGHT_MARGIN): Don't subtract 1 from width when
+       there are no vertical scrollbars and this is the rightmost window
+       in the frame.
+
+1998-05-04  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * lread.c (Fload): Rename dosmode to fmode and use it on all
+       platforms.  Avoid calling fdopen only for WINDOWSNT, use fdopen
+       for the the MSDOS version.
+       (read1): Avoid recording doc strings positions only for WINDOWSNT,
+       not for MSDOS.
+
+1998-05-04  Andreas Schwab  <schwab@delysid.gnu.org>
+
+       * xterm.c: Include syssignal.h after lisp.h.
+
+       * syssignal.h: Declare init_signals and add prototypes.
+
+       * lisp.h: Declare init functions.
+
+1998-05-03  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * s/sunos4shr.h (LIBXMU): Don't bother testing CANNOT_DUMP.
+
+       * Makefile.in (TAGS-LISP): New target.
+       (${lispsource}TAGS): Target deleted.
+       (tags): Depend on TAGS-LISP.
+       (TAGS): Generate the TAGS file in the build dir.
+       (lisptagsfiles): Variable deleted.
+
+       * Makefile.in (shortnamesdir, cppdir): Vars deleted.
+       (shortnames): Target deleted.
+       (temacs): Don't use $(SHORT).
+       (SHORT): Var deleted.
+
+1998-05-02  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * alloc.c (Fmake_bool_vector): Clear out extraneous bits at end.
+
+       * lread.c (read1): Clear out extraneous bits at end of bool-vector.
+
+       * search.c (compile_pattern_1): Declare raw_pattern as unsigned char *.
+       Fix casts when assigning raw_pattern.
+       Cast raw_pattern when calling re_compile_pattern.
+
+1998-05-02  Hallvard B Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * process.c (create_process): Add cast when calling encode_coding
+       and another when storing buf into new_argv.
+
+       * search.c (search_buffer): Fix casts when assigning raw_pattern.
+
+       * editfns.c (Fformat): Fix casts when assigning buf.
+
+       * lread.c (isfloat_string): Don't look at bytes before the string.
+
+1998-05-02  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * s/nextstep.h (HAVE_STRING_H): Add #undef.
+       (NO_ABORT): Defined.
+
+       * editfns.c (Finsert_char): Doc fix.
+
+1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fileio.c (Fmake_temp_name): Improve randomness of generated file 
+       names.
+
+1998-05-01  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * search.c (wordify): Do the second loop by chars, not by bytes.
+
+1998-05-01  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (encode_coding_iso2022): If encoding a last block,
+       reset graphic planes and registers.
+
+1998-04-30  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * keyboard.c (Qdrag_n_drop, drag_n_drop_syms, lispy_drag_n_drop_names) 
+       New variables.
+       (make_lispy_event): Handle drag_n_drop events.
+       (syms_of_keyboard): Initialize new symbols.
+
+       * w32fns.c (enum_font_cb2): Only ignore raster fonts when
+       determining height and width.
+
+       * termhooks.h (event_kind): New event type `drag_n_drop'.
+
+       * makefile.nt (LIBS): Link in shell32.lib.
+       
+       * w32fns.c: Include shellapi.h.
+       (w32_createwindow): Enable drag-n-drop on new windows.
+       (w32_wnd_proc): Handle WM_DROPFILES messages.
+       Disable drag-n-drop on closing windows.
+
+       * w32term.c: Include shellapi.h.
+       (construct_drag_n_drop): New function.
+       (w32_read_socket): Handle WM_DROPFILES messages.        
+
+1998-04-30  Skip Collins  <ColliBF1@APLMSG.JHUAPL.EDU>
+
+       * w32fns.c (msh_mousewheel): New variable.
+       (w32_msg_pump): Register that Emacs accepts mousewheel events.
+       (w32_wnd_proc): Check for mousewheel events.
+
+       * w32term.c (msh_mousewheel): Declare.
+       (w32_read_socket): Check for mousewheel events.
+
+       * w32term.h (WM_MOUSEWHEEL): Define relative to WM_MOUSELAST.
+       (MSH_MOUSEWHEEL): New macro.
+
+1998-04-29  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * indent.c (compute_motion): When invisible text cross TO,
+       return TO, not the start of the invisible text.
+
+       * process.c (Fset_process_inherit_coding_system_flag, Fstart_process): 
+       Store inherit_coding_system_flag as a Lisp_Object.
+       (Fopen_network_stream): Likewise.
+       (Fprocess_inherit_coding_system_flag): Access it as Lisp_Object.
+       (read_process_output): Likewise.
+
+       * process.h (struct Lisp_Process):
+       Make inherit_coding_system_flag a Lisp_Object.
+
+1998-04-29  David Mosberger-Tang  <David.Mosberger@acm.org>
+
+       * unexelf.c [__alpha__ && !__NetBSD__ && !__OpenBSD__]:
+       Include definition of HDRR structure that used to be in sym.h,
+       instead of sym.h
+
+1998-04-29  Andreas Schwab  <schwab@delysid.gnu.org>
+
+       * xfns.c: Fix -Wimplicit warnings.
+
+       * xdisp.c (redisplay_window): Update STARTP_BYTE alongside with
+       STARTP.  New variable scroll_margin_bytepos, to parallel
+       scroll_margin_pos.  Fix arguments of pos_tab_offset to agree with
+       the first argument of compute_motion.
+
+       * window.c (make_window): Initialize last_point field.
+
+       * sysdep.c (emacs_get_tty): Zero out termios structure before
+       getting attributes to get consistent values for holes.
+       (emacs_set_tty): Likewise.
+
+       * lisp.h: Declare Fcompare_strings.
+
+       * fns.c: Include <time.h> for time.
+
+       * emacs.c (main): Use Vbuffer_alist instead of Fbuffer_list.
+       (syms_of_emacs): Fix doc of Vsignal_USR1_hook and
+       Vsignal_USR2_hook.
+
+       * coding.c (setup_coding_system): Properly check for nil.
+
+1998-04-29  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * editfns.c (Fcompare_buffer_substrings): Rewrite to loop by chars.
+
+       * coding.h (Vfile_name_coding_system)
+       (Vdefault_file_name_coding_system): Declarations added.
+
+       * emacs.c (abort): Omit this definition, if NO_ABORT.
+       End by calling exit, to avoid warning.
+       
+1998-04-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * filelock.c: Include coding.h.
+       (lock_file): Encode the file name, to make lock file name.
+
+       * editfns.c (Fgap_position, Fgap_size): New functions.
+       (syms_of_editfns): defsubr them.
+
+       * filelock.c (lock_file): gcpro `fn'.
+
+       * insdel.c (insert_1_both): Call prepare_to_modify_buffer before
+       moving or making gap.
+       (insert_from_string_1): Don't check max buffer size here.
+
+       * data.c (Flsh, Fash): Handle out-of-range shift counts reasonably.
+
+1998-04-28  Dave Love  <d.love@dl.ac.uk>
+
+       * s/aix4.h (HAVE_STRING_H): Add #undef.
+       (HAVE_WAIT_HEADER): Defined.
+
+1998-04-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * emacs.c (main): Fix bug report address in --help message.
+       (main): Doc --multibyte and --unibyte in --help message.
+
+       * fns.c [HAVE_MENUS]: Include xterm.h only if HAVE_X_WINDOWS.
+
+1998-04-28  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * Makefile.in (callproc.o, print.o, cmds.o, dispnew.o, fileio.o,
+       frame.o, keyboard.o, minibuf.o, process.o, scroll.o, sysdep.o,
+       term.o, w16select.o, window.o, xdisp.o, xfaces.o, lread.o): Depend
+       on msdos.h.
+       (print.o): Depend on dispextern.h.
+
+1998-04-28  Andreas Schwab  <schwab@delysid.gnu.org>
+
+       * process.c (Fset_process_inherit_coding_system_flag):
+       Fix test for non-nil FLAG.
+
+       * lread.c: Fix -Wimplicit warnings.
+       (readevalloop): Fix type of UNIBYTE parameter.
+
+1998-04-27  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xterm.c (XTwrite_glyphs): Don't advance cursor X beyond limit.
+       (XTcursor_to): Likewise.
+
+       * blockinput.h (reinvoke_input_signal): Don't use prototype decl.
+
+1998-04-27  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Fload_average): New arg USE_FLOATS.
+
+1998-04-27  Eli Zaretskii  <eliz@mescaline.gnu.org>
+
+       * fns.c [HAVE_MENUS]: Include xterm.h only if HAVE_WINDOW_SYSTEM
+       is defined.
+
+       * callproc.c, fileio.c: Include msdos.h after lisp.h.
+
+       * msdos.c (IT_ring_bell, IT_write_glyphs, IT_clear_end_of_line,
+       IT_clear_screen, IT_clear_to_end, IT_clear_to_end, IT_cursor_to,
+       IT_cmgoto, IT_reassert_line_highlight, IT_change_line_highlight,
+       IT_update_begin, IT_update_end, IT_set_terminal_modes,
+       IT_reset_terminal_modes, IT_set_terminal_window,
+       pixel_to_glyph_coords, IT_menu_display):  Bring definitions in
+       accordance with prototype declarations.
+
+       * msdos.h [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
+       and prototypes for external functions.
+
+1998-04-26  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fns.c (Fcompare_strings): Doc fix.
+
+       * minibuf.c (minibuf_conform_representation): New function.
+       (Ftry_completion): Use it to return multibyte string
+       if and only if the completion table has a multibyte string.
+       (Fdisplay_completion_list): 
+       Convert string to unibyte before displaying it, if default is unibyte.
+
+       * eval.c (find_handler_clause): Cast Fbacktrace to proper type.
+
+       * data.c (Fmakunbound): Test keywordness only in initial obarray.
+
+1998-04-26  Erik Naggum  <erik@naggum.no>
+
+       * emacs.c (standard_args): Apply --unibyte/multibyte after --nw.
+
+       * lisp.h: Include initial_obarray from lread.c
+
+       * data.c (set_internal): Test keywordness only in initial obarray.
+
+       * lread.c (Fintern): Initialize keywords only in initial obarray.
+
+1998-04-25  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * sysdep.c (croak): Add forward declaration.
+
+       * xfns.c (x_set_foreground_color, x_set_background_color)
+       (x_set_mouse_color, x_set_cursor_color): Don't call unload_color
+       if same pixel is used in another slot in the frame.
+
+       * xterm.c (x_display_cursor): Use FRAME_CURSOR_X_LIMIT.
+
+       * dispnew.c (change_frame_size_1): Use FRAME_CURSOR_X_LIMIT.
+       (update_frame): Likewise.
+
+       * frame.h (FRAME_CURSOR_X_LIMIT): New macro.
+
+1998-04-25  Erik Naggum  <erik@naggum.no>
+
+       * lread.c (Fread_from_string): Initialize startval and endval.
+
+1998-04-24  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * lread.c (read1): Allow multibyte and unibyte together
+       in one string.
+
+       * xdisp.c (Qinhibit_point_motion_hooks): New variable.
+       (syms_of_xdisp): Init and staticpro it.
+       (redisplay_window): Bind the symbol to t.
+
+1998-04-24  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32.c (sys_socket): Make sockets non-inheritable.
+
+1998-04-23  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * coding.c (shrink_decoding_region): Do not consider LF as ascii
+       if preceded by CR, since that confuses eol decoding.
+       (code_convert_region): When conversion fails with
+       CODING_FINISH_INSUFFICIENT_SRC, was overwriting src with garbage
+       from dst instead of copying from src to dst.
+
+       * fileio.c (Fcopy_file): Skip dev/inode check on Windows.
+
+       * lread.c (dir_warning): Don't log a warning if Emacs hasn't
+       finished initializing.
+
+       * s/ms-w32.h (utimbuf): New macro.
+
+       * w32.c (fstat, utime): New functions; these are provided in
+       conjunction with stat to make handling of file timestamps
+       consistent.
+       (convert_from_time_t): Fix calculation of low-order bits.
+       (sys_unlink): Allow read-only files to be unlinked as on Unix.
+
+       * w32fns.c (x_set_vertical_scroll_bars): Put scroll bars on the
+       right, as is conventional on MS-Windows.
+       (w32_wnd_proc): Add code to draw popup menu titles.
+       Ensure mouse capture is released before running popup menu.
+
+       * w32term.c (w32_read_socket): Don't misinterpret WM_PAINT message
+       as an expose event if the repaint region is actually empty.  Also
+       use the standard menubar_selection_callback routine.
+
+       * w32menu.c: Replace code with a new version written from scratch
+       based on xmenu.c; menu construction is now completely lazy.
+
+       * w32proc.c (sys_kill): Fix indenting.
+
+1998-04-23  Inge Frick  <inge@nada.kth.se>
+
+       * keyboard.c: (parse_menu_item): Support keywords :keys and
+       :key-sequence.  Some changes to provide GC-protection. Some
+       cosmetic changes.
+       (syms_of_keyboard): Define new symbols `:keys' and `:key-sequence'.
+
+1998-04-23  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * Makefile.in (emacs.o): Depend on buffer.h.
+
+       * charset.c (syms_of_charset): Doc fix for nonascii-insert-offset.
+
+       * editfns.c (Fbuffer_substring): Doc fix.
+       (Finsert_and_inherit_before_markers): Doc fix.
+       (Finsert_and_inherit, Finsert_before_markers, Finsert): Doc fixes.
+
+       * fns.c (Fstring_make_multibyte): Doc fix.
+       (Fstring_make_unibyte): Doc fix.
+
+1998-04-22  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * charset.c (Funibyte_char_to_multibyte): Doc fix.
+
+       * xfns.c (x_set_foreground_color): Call unload_color on the old color.
+       (x_set_background_color, x_set_mouse_color): Likewise.
+       (x_set_cursor_color, x_set_border_pixel): Likewise.
+
+       * xfaces.c (unload_color): No longer static.
+
+       * insdel.c (insert_from_string, insert_from_string_before_markers): 
+       Don't special case LENGTH = 0.
+       (insert_from_buffer): Likewise.
+
+1998-04-22  Erik Naggum  <erik@naggum.no>
+
+       * filelock.c (get_boot_time): Remove extraneous semicolon.
+
+       * lisp.h: Remove extraneous semicolon.
+
+1998-04-22  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * w16select.c (Fwin16_set_clipboard_data): Call UNBLOCK_INPUT
+       before calling sit_for.  
+       (Fwin16_get_clipboard_data, Fwin16_set_clipboard_data): Balance
+       the calls to BLOCK_INPUT and UNBLOCK_INPUT.
+       (alloc_xfer_buf): If want_size is more than 1MB, return
+       immediately with failure.
+       (Fw16_set_clipboard_data, Fw16_get_clipboard_data): Replace win16
+       with w16.
+
+1998-04-21  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * eval.c (Fsignal): Unconditionally do TOTALLY_UNBLOCK_INPUT.
+
+       * dispnew.c (update_frame): Move echo area cursor into range.
+
+1998-04-21  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * callproc.c (Fcall_process) [MSDOS]: Call child_setup instead of
+       run_msdos_command. 
+       (child_setup) [MSDOS]: Call run_msdos_command here.
+       (child_setup) [DOS_NT]: Get past drive letter in pwd.  Don't call
+       close_load_descs, since we are not in a vfork.
+
+       * msdos.c (run_msdos_command): Don't construct process
+       environment, it's already done in child_setup.
+       (run_msdos_command): Add ENVV to argument list.
+
+1998-04-20  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * emacs.c (main): Move the --unibyte code below
+       the most basic initializations.
+       Clear out *Messages* at that point.
+
+       * lread.c (read_from_string_index_byte): New variable.
+       (read_from_string_index): Now counts characters.
+       (readchar, unreadchar, Fread_from_string): Changed accordingly.
+
+       * lread.c (readchar): Read a multibyte char all at once
+       from a buffer, marker or string.
+       (unreadchar): Unread a multibyte char all at once.
+       (read1): Properly handle non-escaped multibyte chars.
+       They force a string to be multibyte.
+       When reading direct from a file, any multibyte sequence means
+       a multibyte string.
+       Insist on MAX_LENGTH_OF_MULTI_BYTE_FORM bytes when checking
+       for read_buffer full; this way need not check specially for multibyte.
+
+       * emacs.c: Include buffer.h
+       (main): When handling --unibyte, mark all existing
+       buffers as unibyte; but don't handle it when dumping.
+
+       * alloc.c (Fgarbage_collect): Don't truncate command-history here.
+
+       * callint.c (Fcall_interactively): Truncate command-history here.
+
+       * keyboard.c (Fcommand_execute): Truncate command-history here.
+
+       * lread.c (readevalloop): New arg UNIBYTE.  Callers changed.
+       Use it to bind load_convert_to_unibyte.
+       (Feval_buffer): New arg UNIBYTE.  Pass it to readevalloop.
+       (readevalloop_1): New unwind-protect subroutine.
+       (load_convert_to_unibyte): New variable.
+       (syms_of_lread): Set up Lisp var.
+       (read1): If load_convert_to_unibyte, convert strings to unibyte.
+       
+       * insdel.c (copy_text): Count down bytes_left properly
+       in multibyte to unibyte case.
+
+       * fns.c (Fcompare_strings): Require first 6 args.
+
+1998-04-20  Kenichi HANDA  <handa@etl.go.jp>
+
+       * Makefile.in (lisp): Add czech.elc, slovak.elc, and romanian.elc.
+       (shortlisp): Likewise.
+
+       * coding.c (setup_coding_system): For a type 4 coding system,
+       FLAGS member of coding spec is a cons of CCL program symbols.
+
+       * ccl.c (Fregister_ccl_program): Put ccl-program-idx property to
+       NAME.
+
+1998-04-19  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * process.h (struct Lisp_Process): Add inherit_coding_system_flag
+       member.
+
+       * process.c (Fset_process_inherit_coding_system_flag,
+       Fprocess_inherit_coding_system_flag): New functions.
+       (syms_of_process): Defsubr them.
+       (Fstart_process, Fopen_network_stream): Initialize
+       inherit_coding_system_flag.
+       (read_process_output): If the process buffer isn't dead, call
+       after-insert-file-set-buffer-file-coding-system.
+
+1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fileio.c (Fmake_temp_name): Complete rewrite.
+
+1998-04-18  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * minibuf.c (Ftry_completion): Use Fcompare_strings.
+       (Fall_completions, Fminibuffer_complete_word): Likewise.
+
+       * fns.c (Fcompare_strings): New function.
+       (syms_of_fns): defsubr it.
+
+       * xselect.c (Fx_get_cut_buffer_internal):
+       If FORMAT is 0, cut buffer is empty.
+
+       * emacs.c (main): --unibyte affects minibuffer too.
+
+1998-04-17  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * emacs.c (syms_of_emacs): Fix patching error in previous change.
+
+       * lread.c (read1): Compute NaN and infinities using 0.0 in a
+       variable, to cope with compilers that think they are smarter than us.
+
+       * lread.c (readchar): Find the previous byte's address properly
+       for the buffer case, as for the marker case.
+
+1998-04-17  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * emacs.c (Vpath_separator): New variable.
+       (syms_of_emacs): Define Vpath_separator using SEPCHAR.
+
+       * lastfile.c (_my_endbss, my_endbss_static): New variables.
+
+       * term.c (reset_terminal_modes): Only invoke hook if defined.
+
+       * makefile.nt (LINK_TYPE): Do not include debug info in optimized
+       binary.
+       (LIBS): Include mpr.lib.
+       (clean): Delete patch generated files, optimized build directory.
+
+       * s/ms-w32.h (HAVE_STRING_H, HAVE_STRFTIME): Define macros.
+       (SYSTEM_PURESIZE_EXTRA): Increase to handle more dumped lisp files.
+
+       * unexw32.c (my_begbss_static, my_endbss_static): Declare.
+       (get_bss_info_from_map_file): Only define if SEPARATE_BSS_SECTION.
+       (get_section_info): Use my_begbss_static, my_endbss_static to
+       determine bounds of bss.
+       (w32_fatal_reload_error): New function.
+       (read_in_bss, map_in_heap): Invoke w32_fatal_reload_error upon error.
+
+       * w32.c (sys_read): Clear carriage return flag.
+       Report normal EOF when read fails if nothing in buffer.
+       Only read more if more remaining.
+       (check_windows_init_file): New function.
+       (term_ntproc): Invoke check_windows_init_file.
+
+       * w32.h (FILE_SEND_SIGCHLD): New macro.
+
+       * w32faces.c (Qforeground_color, Qbackground_color): Declare.
+       (compute_char_face, merge_face_list): Update from xterm.c.
+
+       * w32fns.c (w32_msg_pump): Handle WM_EMACS_SETLOCALE.
+       (w32_wnd_proc): Handle WM_EMACS_SETFOREGROUND.
+
+       * w32heap.c (recreate_heap): Invoke w32_fatal_reload_error upon error.
+       * w32heap.h (w32_fatal_reload_error): Declare.
+
+       * w32inevt.c (Vw32_recognize_altgr): Declare.
+       (w32_kbd_mods_to_emacs): Obey Vw32_recognize_altgr.
+       Add more keys for Vw32_capslock_is_shiftlock.
+       (w32_kbd_patch_key): Obey Vw32_recognize_altgr.
+       (map_virt_key): Brazilian keyboards use 0xc1 for /(?) key.
+
+       * w32menu.c (Vmenu_updating_frame): New variable.
+       (Fx_popup_menu, set_frame_menubar): Record frame whose menu is 
+       being updated.
+       (syms_of_w32menu): Define Vmenu_updating_frame.
+
+       * w32proc.c (w32_executable_type): Properly cast dos_header when
+       making size comparison.
+       (sys_spawnve): Update comments.
+       (sys_select): Ignore children dead children with pending input.
+       Delay sending SIGCHLD until all output has been read.
+       (sys_kill): Sleep to allow focus change events to propagate.
+       Use TerminateProcess on Win95.
+       (int_from_hex, enum_locale_fn, Fw32_get_valid_locale_ids):
+       New functions.
+       (Vw32_valid_locale_ids): New variable.
+       (Fw32_set_current_locale): Send message to input thread.
+       (syms_of_ntproc): defsubr Sw32_get_valid_locale_ids.
+
+       * w32term.c (Vw32_recognize_altgr): New variable.
+       (dumpglyphs): Update from xterm.c.
+       (w32_ring_bell): Flash window, don't just reset its state.
+       (dumprectangle, show_mouse_face, x_draw_single_glyph): Use new 
+       args to dumpglyphs.
+       (my_set_foreground_window): New function.
+       (w32_condemn_scroll_bars): Mark all as condemned scroll bars.
+       (w32_redeem_scroll_bar): Look through all scroll bars.
+       (w32_judge_scroll_bars): Don't clear out condemned list.
+       (w32_read_socket): Clip window after frame has been restored.
+       (x_focus_on_frame, x_raise_frame): Use my_set_foreground_window.
+       (syms_of_w32term): Define Vw32_recognize_altgr.
+
+       * w32term.h (WM_EMACS_SETFOREGROUND, WM_EMACS_SETLOCALE):
+       New message macros.
+
+1998-04-16  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * callproc.c (Fcall_process_region): Unbind coding-system-for-write
+       after calling Fwrite_region.
+
+       * eval.c (Fcatch): Doc fix.
+
+       * mocklisp.c (Fml_if): Initialize val.
+
+1998-04-16  Erik Naggum  <erik@naggum.no>
+
+       * emacs.c (main): Fix typo, add --multibyte and --no-multibyte.
+       (standard_args): Add --multibyte and --no-multibyte.
+
+1998-04-16  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fns.c (time): Declare it only if not HAVE_UNISTD_H.
+
+       * emacs.c (standard_args): Add --no-unibyte.
+       (main): Recognize --no-unibyte to inhibit EMACS_UNIBYTE.
+
+       * fns.c (Frequire): Doc fix.
+
+       * fileio.c (file_name_as_directory): For empty arg, return `./'.
+
+1998-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * msdos.c (it_keyboard): New variable, supports Italian keyboard.
+       (keyboard_layout_list): Add Italian keyboard.
+
+1998-04-15  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * coding.c (code_convert_region): If point in the conversion
+       region, move it to FROM in advance.
+
+1998-04-15  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * callproc.c (Fcall_process): Call
+       after-insert-file-set-buffer-file-coding-system if
+       inherit-process-coding-system is non-nil.
+
+       * coding.c (syms_of_coding): Declare and define
+       inherit-process-coding-system.
+
+       * coding.h: Declare inherit-process-coding-system.
+
+       * w32.c (sys_pipe): Use binary pipe I/O unconditionally.
+
+       * callproc.c: Remove binary-process-{in,out}put.
+       (syms_of_callproc): Likewise.
+       (Fcall_process, Fcall_process_region): Don't use
+       binary-process-{in,out}put.
+
+1998-04-15  Andreas Schwab  <schwab@delysid.gnu.org>
+
+       * config.in (RE_TRANSLATE_P): Define.
+
+1998-04-15  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * ccl.c (Fccl_execute_on_string): Put \n\ at eol of docstring.
+
+       * xfns.c (x_set_font): Give 2nd arg nil to Fquery_fontset.
+       (Fx_create_frame): Likewise.
+
+1998-04-15  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c: Typo in comments fixed.
+       (Qccl_program_idx, Qunification_table, Qunification_table_id): New
+       variables.
+       (syms_of_ccl): Initialize and staticpro them.
+       (CCL_ReadMultibyteChar2): Macro name changed from
+       CCL_ReadMultibyteCharacter.
+       (CCL_WriteMultibyteChar2): Macro name changed from
+       CCL_WriteMultibyteChar2.
+       (CCL_
+       (MAX_TABLE_SET_LEVEL): New macro.
+       (tr_stack): New type.
+       (translate_stack, translate_stack_pointer): New variables.
+       (PUSH_TRANSLATE_STACK, POP_TRANSLATE_STACK): New macros.
+       (ccl_driver): Adjusted for the above changes.
+       (resolve_symbol_ccl_program): New function.
+       (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
+       program.  If CCL-PRGRAM is a vector, convert symbols in it to ID
+       numbers by resolve_symbol_ccl_program.
+       (Fccl_execute_on_string): Likewise.
+       (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
+       convert symbols in it to ID numbers by resolve_symbol_ccl_program.
+
+       * ccl.h (Vccl_program_table, Qccl_program_idx): Extern them.
+
+       * fontset.c (find_ccl_program_func): New variable.
+       (fs_load_font): Call a function pointed by find_ccl_program_func
+       instead of finding CCL program to encode a character by itself.
+       (Fquery_fontset): New optional 2nd arg REGEXPP.  Callers changed.
+
+       * fontset.h (FONT_ENCODING_NOT_DECIDED): The value is changed to 255.
+       (find_ccl_program_func): Extern it.
+       (Fquery_fontset): Args number changed to 2.
+       
+       * xfns.c (syms_of_xfns): Initialize find_ccl_program_func.
+
+       * xterm.c (x_find_ccl_program): New function.
+
+       * xterm.h (x_find_ccl_program): Extern it.
+
+1998-04-14  Dave Love  <fx@gnu.org>
+
+       * keymap.c: Revert erroneous 1998-04-07 change.
+
+1998-04-14  Karl Heuer  <kwzh@gnu.org>
+
+       * xfns.c (x_destroy_bitmap): Declare as void, not int.
+       (x_report_frame_params, x_set_border_pixel): Likewise.
+       (x_set_internal_border_width): widget_store_internal_border takes
+       just one arg, not two.
+
+1998-04-14  Andreas Schwab  <schwab@delysid.gnu.org>
+
+       * xdisp.c (try_window): Fix mixing of Lisp_Object and int.
+
+       * window.c (Fset_window_configuration): Fix mixing of Lisp_Object
+       and int.
+
+       * sysdep.c (init_sys_modes): Fix mixing of Lisp_Object and int
+
+       * search.c (compile_pattern, compile_pattern_1): Fix mixing of
+       Lisp_Object and int.
+
+       * process.c (read_process_output): Fix mixing of Lisp_Object and
+       int.
+
+       * minibuf.c (Fself_insert_and_exit): Fix mixing of Lisp_Object and
+       int.
+
+       * marker.c (set_marker_both): Remove bogus checks on charpos.
+
+       * keyboard.c (parse_menu_item): Don't GCPRO non-lisp variables.
+
+       * insdel.c (signal_after_change): Fix mixing of Lisp_Object and
+       int.
+
+       * indent.c (indented_beyond_p): Fix mixing of Lisp_Object and int.
+
+       * frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Fix
+       mixing of Lisp_Object and int.
+
+       * fns.c (Fsubstring, substring_both, Fchar_table_range,
+       Fset_char_table_range): Fix mixing of Lisp_Object and int.
+
+       * fileio.c (Fwrite_region): Fix mixing of Lisp_Object and int.
+
+       * editfns.c (Fchar_after, Fchar_before): Fix mixing of Lisp_Object
+       and int
+
+       * coding.c (code_convert_region): Fix mixing of Lisp_Object and
+       int.
+
+       * charset.c (Fchars_in_region): Fix mixing of Lisp_Object and int.
+
+       * ccl.c (ccl_driver, syms_of_ccl): Fix mixing of Lisp_Object and
+       int.
+
+       * cm.h: Update return types of declarations.
+
+       * xterm.h, puresize.h, termhooks.h, lisp.h, keyboard.h,
+       intervals.h, dispextern.h, blockinput.h, coding.h: Add more
+       prototypes.
+
+       * xterm.c, xselect.c, xrdb.c, xmenu.c, xdisp.c, window.c,
+       widget.c, undo.c, terminfo.c, term.c, sysdep.c, syntax.c,
+       search.c, scroll.c, process.c, print.c, mocklisp.c, prefix-args.c,
+       marker.c, keymap.c, keyboard.c, intervals.c, insdel.c, indent.c,
+       frame.c, fontset.c, fns.c, floatfns.c, filelock.c, fileio.c,
+       eval.c, emacs.c, editfns.c, doprnt.c, doc.c, dispnew.c, dired.c,
+       data.c, coding.c, cmds.c, cm.c, charset.c, ccl.c, category.c,
+       casetab.c, casefiddle.c, callproc.c, callint.c, bytecode.c,
+       buffer.c, alloc.c, abbrev.c: Fix -Wimplicit warnings.
+
+       * buffer.c (Fset_buffer_multibyte): Do nothing if nothing actually
+       changes.
+
+       * coding.c (code_convert_region): Call adjust_after_insert also
+       in unibyte mode.
+
+       * fileio.c (Finsert_file_contents): Call adjust_after_insert also
+       in unibyte mode.
+
+1998-04-13  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * coding.c (code_convert_string): Give decode_coding correct byte
+       length of source text.
+
+1998-04-13  Richard Stallman  <rms@gnu.org>
+
+       * print.c (strout): Convert old echo area to multibyte, like printchar.
+       (printchar, strout): If echo area text converted to multibyte
+       does not all fit, truncate it at char boundary.
+
+       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): 
+       When calling set_marker_both, pass the right buffer.
+
+       * indent.c (Fcompute_motion): Check that TO and FROM are in range.
+
+1998-04-13  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * msdos.c (dosv_refresh_virtual_screen): Do not use negative
+       arguments.
+       (dos_direct_output): Fix the offset passed to
+       dosv_refresh_virtual_screen.
+       (IT_display_cursor): Don't call dosv_refresh_virtual_screen.
+       (IT_reset_terminal_modes): Don't call dosv_refresh_virtual_screen
+       when setting cursor.
+
+1998-04-12  Richard Stallman  <rms@gnu.org>
+
+       * print.c (temp_output_buffer_setup): Clear out overlays,
+       visited file, undo list, etc.
+
+       * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): FROM counts chars.
+       (SYNTAX_TABLE_BYTE_TO_CHAR): Handle the offset properly
+       both before and after conversion.
+
+       * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Arg renamed to charpos.
+       (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE): Likewise.
+
+       * xdisp.c (display_text_line): When handling selective > 0,
+       update pos and pos_byte with results of calling scan_newline.
+
+       * data.c (set_internal, Fmakunbound): Fix previous change.
+
+1998-04-12  Hallvard B Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * print.c (print) <Lisp_String>: Fix "\ " handling.
+
+1998-04-11  Richard Stallman  <rms@gnu.org>
+
+       * s/netbsd.h (LINKER): Add definition.
+       (LD_SWITCH_SYSTEM): Undo previous change.
+
+       * data.c (set_internal, Fmakunbound): No error if setting
+       a keyword to itself.
+
+1998-04-09  Karl Heuer  <kwzh@gnu.org>
+
+       * marker.c (Fbuffer_has_markers_at): Fix termination condition.
+
+       * search.c (min, max): Make these macros, not functions.
+       (scan_buffer, boyer_moore): Simplify args to those macros.
+       * unexw32.c (min, max): Define as macros.
+       * w32.c (min, max): Define as macros.
+       * w32term.c (min, max): Define as macros.
+       * callproc.c (relocate_fd): Avoid `min'/`max' as variable names.
+       * print.c (print): Likewise.
+       * dispnew.c (minmax): New macro.
+       (update_frame): Use it.
+
+       * w32proc.c: Delete incorrect prototype of report_file_error.
+       * w32.c (unrequest_sigio, request_sigio): Fix prototype.
+
+       * w32menu.c (set_frame_menubar): Call Fset_match_data, not
+       Fstore_match_data.
+
+       * emacs.c (abort): Don't redefine on DOS_NT.
+
+1998-04-09  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (string_to_non_ascii_char): Include garbage bytes (if
+       any) following a multibyte character in *ACTUAL_LEN.
+       (Fcharset_after): New function.
+       (syms_of_charset): Defsubr it.
+       (multibyte_form_length): Modified to be consistent with
+       string_to_non_ascii_char.
+       
+       * charset.h (MULTIBYTE_FORM_LENGTH): Don't check LEN here.
+
+       * xdisp.c (display_text_line): Code for displaying a character by
+       octal form is modified.
+
+1998-04-08  Richard Stallman  <rms@gnu.org>
+
+       * data.c (keyword_symbols_constant_flag): New variable.
+       (syms_of_data): Set up Lisp variable.
+       (set_internal): Obey it and give error for :-symbols.
+       (Fmakunbound): Likewise.
+
+1998-04-08  Eli Zaretskii  <eliz@delysid.gnu.org>
+
+       * dosfns.c (init_dosfns): Fix bug in passing segment address of
+       the transfer buffer.
+
+1998-04-08  Karl Heuer  <kwzh@gnu.org>
+
+       * keymap.c (fix_submap_inheritance): Fix parens.
+
+1998-04-07  Richard Stallman  <rms@gnu.org>
+
+       * fileio.c (Fmake_temp_name): Detect error return from mktemp.
+
+1998-04-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * charset.c (string_to_non_ascii_char, multibyte_form_length)
+       (split_non_ascii_string, str_cmpchar_id): Make the STR argument
+       const unsigned char *.
+       * charset.h: Update prototypes for the above.
+
+       * filelock.c: Include <utmp.h> only if CLASH_DETECTION is
+       defined.
+
+       * process.c (kill_buffer_processes): Make consistent with
+       prototype in lisp.h.
+
+       * msdos.c (request_sigio, unrequest_sigio): Make consistent with
+       prototypes in lisp.h.
+
+       * charset.h (CHAR_STRING): Cast to unsigned char ** explicitly.
+
+       * w16select.c (Fwin16_set_clipboard_data): Call message2 with 3
+       arguments.
+
+       * emacs.c (abort): Don't redefine on MSDOS.
+
+1998-04-07  Dave Love  <fx@gnu.org>
+
+       * keymap.c (describe_command): Use quotes around symbol name.
+
+       * emacs.c (main): Obey environment variable EMACS_UNIBYTE as
+       alternative to --unibyte.
+
+1998-04-06  Jonathan I. Kamens  <jik@kamens.brookline.ma.us>
+
+       * config.in (GSSAPI, HAVE_LIBGSSAPI_KRB5, HAVE_LIBGSSAPI)
+       (HAVE_GSSAPI_H): Add undefs for GSS-API support in movemail.
+
+1998-04-06  Richard Stallman  <rms@gnu.org>
+
+       * dired.c (Fdirectory_files): Use make_uninit_multibyte_string.
+       Use STRING_BYTES on encoded_directory.
+
+1998-04-06  Andreas Schwab  <schwab@gnu.org>
+
+       * fns.c (Flength): Doc fix.
+
+       * unexelf.c (unexec): Account for possible padding before the old
+       .bss section.
+
+       * editfns.c (Ftranspose_regions): Fix order of parameters for
+       replace_range.
+
+       * dired.c (Fdirectory_files): GCPRO encoded_directory and list.
+       Compute needsep only once.  Pass correct arg to chars_in_text.
+
+       * alloc.c (gc_sweep): Avoid using two loop variables counting the
+       same thing.
+
+1998-04-06  Ken'ichi Handa  <handa@delysid.gnu.org>
+
+       * fns.c (Fstring_as_unibyte): Set size_byte field to -1.
+
+1998-04-05  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * config.in: Don't include <string.h> when configuring.
+
+1998-04-04  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * s/netbsd.h (LD_SWITCH_SYSTEM): Add -L/usr/lib.
+
+1998-04-03  enami tsugutomo  <enami@but-b.or.jp>
+
+       * editfns.c (Fmessage_box): Pass the missing third argument
+       STRING_MULTIBYTE (val) to message2.
+
+       * frame.c (make_frame_without_minibuffer): Conditionalize on
+       HAVE_WINDOW_SYSTEM.
+       (make_minibuffer_frame): Likewise.
+       * frame.h: Ditto.
+
+1998-04-03  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * intervals.c (set_intervals_multibyte):
+       Function moved after set_intervals_multibyte_1.
+
+       * xdisp.c (redisplay_window): If updating mode line,
+       temporarily change selected_frame
+
+1998-04-02  Dave Love  <fx@gnu.org>
+
+       * emacs.c (main): Add [--unibyte] to usage.
+
+1998-04-02  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * print.c (print) <Lisp_String>: Follow a hex escape with `\ ' if nec.
+
+       * data.c (Fmake_variable_frame_local): Doc fix.
+
+       * fns.c (Fstring_as_multibyte): Never return unibyte string unchanged.
+
+1998-04-02  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * fns.c (Fstring_as_multibyte): Set size_byte field.
+
+1998-04-02  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fns.c (char_table_translate): New function.
+       * config.in (RE_TRANSLATE): Use char_table_translate.
+
+1998-04-02  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (CHARSET_OK): Don't reject safe charsets.
+       (DECODE_DESIGNATION): Likewise.
+       (check_composing_code): Likewise.
+
+       * marker.c (buf_charpos_to_bytepos): Delete local variable
+       gapend_byte.
+
+       * xselect.c (selection_data_to_lisp_data): Give
+       make_string_from_bytes a correct char size.
+
+1998-04-01  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xdisp.c (redisplay_window): Fix computing pos from last_point.
+
+1998-03-30  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Handle skipped ASCII characters
+       at the head and tail of conversion region correctly when adjusting
+       position keepers.  Call adjust_after_insert to record undo info
+       and adjust markers when we don't have to change byte sequence of
+       a buffer.
+
+       * coding.h (struct coding_system): Comment for the member
+       heading_ascii modified.
+
+       * fileio.c (Finsert_file_contents): Call adjust_after_insert when
+       a text is inserted in a multibyte buffer without any code
+       conversion.
+
+       * insdel.c (adjust_markers_for_replace): New function.
+       (adjust_after_replace): Arguments changed.  Call
+       adjust_markers_for_replace if this function is called after
+       replacement.
+       (adjust_after_insert): New function.
+
+       * lisp.h (adjust_after_replace, adjust_after_insert): Extern them.
+
+1998-03-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xdisp.c (display_text_line): Handle overlay-arrow correctly.
+
+1998-03-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fileio.c (barf_or_query_if_file_exists): New arg QUICK.
+       All calls changed.
+       
+1998-03-27  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * insdel.c (check_markers_debug_flag): New variable.
+       (syms_of_insdel): Set up Lisp var.
+       (CHECK_MARKERS): New macro.  Use it everywhere
+       instead of calling check_markers directly.
+       It tests check_markers_debug_flag.
+
+1998-03-26  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * alloc.c (mark_buffer): Mark the undo_list slot specially;
+       don't mark a marker just cause it is in this list.
+       (Fgarbage_collect): Discard from all undo-lists
+       all elements that adjust markers that were not marked.
+
+       * buffer.h (struct buffer): Field `undo_list' moved before `name'
+       so it won't get marked in the usual way.
+
+       * coding.c (code_convert_region): Call adjust_before_replace
+       in the no-conversion case.  Adjust GPT, ZV and Z in chars.
+       
+1998-03-25  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * lread.c (init_lread): Init Vstandard_input.
+
+1998-03-25  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * xdisp.c (redisplay_window): Fix previous change.
+
+1998-03-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * indent.c (compute_motion): Call strwidth only when necessary.
+       Set wide_column_end_hpos only when MULTIBYTE_BYTES_WIDTH set
+       nonzero to wide_column.
+
+       * xdisp.c (redisplay_window): Give byte position to FETCH_BYTE.
+       Call pos_tab_offset appropriately.
+       (try_window_id): Give byte position to FETCH_BYTE.  Set
+       val.bytepos to pos_byte.
+
+       * lisp.h (make_buffer_string, make_buffer_string_both): Extern
+       them.
+
+       * process.c (read_process_output): Count multibyte characters.  If
+       received data is stored in p->decoding_buf, copy it to a temporary
+       buffer and call insert_before_makers instead of
+       insert_from_string_before_markers.
+
+1998-03-24  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * lisp.h (record_delete): The second arg is Lisp_Object.
+
+1998-03-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * indent.c (MULTIBYTE_BYTES_WIDTH): Set wide_column only when we
+       encounter a wide-column character.
+
+       * undo.c (record_delete): Record last_point_position when there's
+       no record other than marker adjustment before undo boundary.
+
+       * insdel.c (del_range_2): Move gap again to a proper place just
+       after calling make_buffer_string_both.
+
+       * coding.c (shrink_decoding_region): If EOL_CONVERSION is nonzero,
+       don't skip `\r' (instead of `\n').
+
+1998-03-23  Andreas Schwab  <schwab@gnu.org>
+
+       * xmenu.c (popup_get_selection): On receiving a KeyPress event
+       only deactivate the menu when the key is not a modifier key.
+
+       * xfns.c (Fx_create_frame): Use "borderWidth", not "borderwidth",
+       as resource name, to be consistent with other X applications.
+
+1998-03-21  Richard Stallman  <rms@delysid.gnu.org>
+
+       * dired.c (Fdirectory_files):
+       In FULL case, compute number of characters
+
+       * fns.c (substring_both, Fsubstring): Use make_specified_string.
+       (concat): Make string result unibyte or multibyte as appropriate.
+
+       * sunfns.c (syms_of_sunfns): Pass new arg to make_pure_string.
+
+       * alloc.c (make_specified_string): New function.
+       (make_string_from_bytes): New function.
+       (compact_strings): Get byte size from size, if size_byte < 0.
+       (Fmake_string): Use make_uninit_string for single-byte char.
+       (make_unibyte_string): Mark string as unibyte.
+       (make_uninit_string): Likewise.
+       (make_string): Likewise, if size == size in bytes.
+       (make_pure_string): New arg MULTIBYTE.
+       (Fpurecopy): Pass new arg to make_pure_string.
+
+       * editfns.c (Fchar_to_string): Use make_string_from_bytes.
+       (Fformat): Use make_specified_string.
+       (make_buffer_string_both): Use make_uninit_string if buffer is unibyte.
+
+       * casefiddle.c (casify_object): Use make_specified_string.
+
+       * charset.c (Fstring): Use make_string_from_bytes.
+       (Fcompose_string): Likewise.
+
+       * cmds.c (internal_self_insert): Use make_string_from_bytes.
+
+       * coding.c (code_convert_string): Use make_string_from_bytes.
+
+       * doc.c (Fsubstitute_command_keys): Use make_string_from_bytes.
+
+       * lread.c (read1): Pass new arg to make_pure_string.
+       (make_symbol): Likewise.
+       (init_obarray): Likewise.
+       (read1): Use make_specified_string.
+
+       * print.c (PRINTPREPARE): Use make_string_from_bytes.
+
+       * process.c (read_process_output): Use make_string_from_bytes.
+
+       * search.c (Fregexp_quote): Use make_specified_string.
+
+       * xselect.c (selection_data_to_lisp_data): Use make_string_from_bytes.
+
+       * insdel.c: (insert_from_string_1, replace_range):
+       Use STRING_MULTIBYTE to determine whether string is multibyte.
+
+       * editfns.c: Use STRING_BYTES and SET_STRING_BYTES.
+
+       (Ftranspose_regions): Try to handle combining bytes.
+
+       * alloc.c, xterm.c, xselect.c, xmenu.c, xfns.c, xdisp.c, search.c,
+       process.c, print.c, lread.c, keymap.c, insdel.c, keyboard.c,
+       frame.c, fns.c, filelock.c, doc.c, dispnew.c, data.c, coding.c,
+       charset.c, ccl.c, category.c, casefiddle.c, callproc.c, callint.c,
+       bytecode.c, abbrev.c, minibuf.c, buffer.c, fileio.c: Use
+       STRING_BYTES and SET_STRING_BYTES.
+
+       * xmenu.c: Don't include puresize.h any more as code that needs it
+       has moved to keyboard.c.
+       (menu_item_equiv_key, menu_item_enabled_p_1, menu_item_enabled_p):
+       Functions deleted; code moved to parse_menu_item in keyboard.c.
+       (single_keymap_panes): Large part of code moved to single_menu_item.
+       (single_menu_item): New function that uses parse_menu_item.
+       (Qmenu_alias): Variable deleted.
+       (QCtoggle, QCradio): New variables.
+       (syms_of_xmenu): Change initializations of variables.
+
+       * keymap.c (fix_submap_inheritance, get_keyelt, store_in_keymap)
+       (copy-keymap, where_is_internal_1):
+       Support new format for menu items.
+       (syms_of_keymap): New symbol `menu-item'.
+
+       * keyboard.c: Include puresize.h for CHECK_IMPURE.
+       (parse_menu_item): New function.
+       (menu_item_eval_property_1, menu_item_eval_property) New suroutines.
+       (menu_bar_one_keymap): Moved some code to menu_bar_item.
+       (menu_bar_item): Rewritten to use parse_menu_item.
+       (menu_bar_item_1): Function deleted.
+       (QCenable, QCvisible, QChelp, QCfilter, QCbutton, QCtoggle, QCradio):
+       (Qmenu_alias): New variables.
+       (syms_of_keyboard): Initialize them, and item_properties.
+
+       * insdel.c (replace_range): New arg NOMARKERS.
+
+1998-03-21  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * dired.c (Fdirectory_files): In FULL case,
+       compute number of characters
+
+       * insdel.c (insert_from_string_1, replace_range):
+       Use STRING_MULTIBYTE to determine whether string is multibyte.
+
+       * lisp.h: Declarations changed.
+       (STRING_MULTIBYTE, STRING_BYTES, SET_STRING_BYTES):
+       New definitions treating negative size_byte as a flag for unibyte.
+
+       * xselect.c (selection_data_to_lisp_data): Use make_string_from_bytes.
+
+       * search.c (Fregexp_quote): Use make_specified_string.
+
+       * process.c (read_process_output): Use make_string_from_bytes.
+
+       * print.c (PRINTPREPARE): Use make_string_from_bytes.
+
+       * fns.c (substring_both, Fsubstring): Use make_specified_string.
+       (concat): Make string result unibyte or multibyte as appropriate.
+       
+       * doc.c (Fsubstitute_command_keys): Use make_string_from_bytes.
+
+       * coding.c (code_convert_string): Use make_string_from_bytes.
+
+       * cmds.c (internal_self_insert): Use make_string_from_bytes.
+
+       * charset.c (Fstring): Use make_string_from_bytes.
+       (Fcompose_string): Likewise.
+
+       * casefiddle.c (casify_object): Use make_specified_string.
+
+       * editfns.c (Fchar_to_string): Use make_string_from_bytes.
+       (Fformat): Use make_specified_string.
+       (make_buffer_string_both): Use make_uninit_string if buffer is unibyte.
+       
+       * sunfns.c (syms_of_sunfns): Pass new arg to make_pure_string.
+
+       * lread.c (read1): Pass new arg to make_pure_string.
+       (make_symbol): Likewise.
+       (init_obarray): Likewise.
+       (read1): Use make_specified_string.
+
+       * alloc.c (make_specified_string): New function.
+       (make_string_from_bytes): New function.
+       (compact_strings): Get byte size from size, if size_byte < 0.
+       (Fmake_string): Use make_uninit_string for single-byte char.
+       (make_unibyte_string): Mark string as unibyte.
+       (make_uninit_string): Likewise.
+       (make_string): Likewise, if size == size in bytes.
+       (make_pure_string): New arg MULTIBYTE.
+       (Fpurecopy): Pass new arg.
+
+       * lisp.h (STRING_BYTES, SET_STRING_BYTES): New macros.
+
+       * All files: Use STRING_BYTES and SET_STRING_BYTES.
+       
+       * editfns.c (Ftranspose_regions): Try to handle combining bytes.
+       * insdel.c (replace_range): New arg NOMARKERS.
+       
+1998-03-20  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * cmds.c (internal_self_insert): Pass new arg to replace_range.
+       
+       * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1):
+       (adjust_before_replace, adjust_after_replace, replace_range):
+       (del_range_2): Call record_delete the new way.
+       Use make_buffer_string_both to make the string to pass.
+
+       * editfns.c (make_buffer_string_both): New function.
+       (make_buffer_string): Use make_buffer_string_both.
+
+       * undo.c (record_delete): Replace LENGTH arg with STRING.
+       (record_change): Call record_delete the new way.
+       
+       * Makefile.in (keymap.o): Depend on puresize.h.
+       (xmenu.o): Don't depend on puresize.h.
+
+1998-03-20  Inge Frick  <inge@nada.kth.se>
+
+       * keyboard.h (item_properties): New variable.
+       (ITEM_PROPERTY_...): New macros.
+
+       * keymap.c (fix_submap_inheritance, get_keyelt, store_in_keymap,
+       copy-keymap, where_is_internal_1): Support new format for menu items.
+       (syms_of_keymap): New symbol `menu-item'.
+       
+       * keyboard.c: Include puresize.h for CHECK_IMPURE.
+       (parse_menu_item): New function.
+       (menu_item_eval_property_1, menu_item_eval_property) New suroutines.
+       (menu_bar_one_keymap): Moved some code to menu_bar_item.
+       (menu_bar_item): Rewritten to use parse_menu_item.
+       (menu_bar_item_1): Function deleted.
+       (QCenable, QCvisible, QChelp, QCfilter, QCbutton, QCtoggle, QCradio):
+       (Qmenu_alias): New variables.
+       (syms_of_keyboard): Initialize them, and item_properties.
+
+       * xmenu.c: Don't include puresize.h any more as code that needs it
+       has moved to keyboard.c.
+       (menu_item_equiv_key, menu_item_enabled_p_1, menu_item_enabled_p):
+       Functions deleted; code moved to parse_menu_item in keyboard.c.
+       (single_keymap_panes): Large part of code moved to single_menu_item.
+       (single_menu_item): New function that uses parse_menu_item.
+       (Qmenu_alias): Variable deleted.
+       (QCtoggle, QCradio): New variables.
+       (syms_of_xmenu): Change initializations of variables.
+
+1998-03-20  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * window.c (window_display_table): Don't look inside buffer if its nil.
+
+       * insdel.c (del_range_2): Use adjust_markers_for_record_delete.
+
+1998-03-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * editfns.c (Fgoto_char): If POSITION is a marker pointing a
+       different buffer, don't rely on the byte position of the marker.
+
+1998-03-19  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * editfns.c (Fformat): Handle padding before or after, for %s etc.
+       Treat 0 like a multibyte char in %c.
+
+1998-03-19  Erik Naggum  <erik@naggum.no>
+
+       * filelock.c (get_boot_time): Conditionalize on BOOT_TIME.
+       (lock_file_1): Add boot-time to lock only if available.
+
+1998-03-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * fns.c (Fstring_as_multibyte): Call multibyte_chars_in_text
+       instead of chars_in_text because we must ignore
+       enable-multibyte-characters here.
+       * lread.c (read1): Likewise.
+       * marker.c (byte_char_debug_check): Likewise.
+
+1998-03-19  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * filelock.c (current_lock_owner): If lock file data doesn't include
+       the uptime, assume the lock is from this system boot.
+
+1998-03-18  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * lread.c (read0): Swap args to Fmake_string.
+
+1998-03-17  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * callproc.c (syms_of_callproc): Doc fixes.
+
+       * insdel.c (adjust_markers_for_delete):
+       Delete unused local coming_gap_size.
+       (adjust_markers_for_record_delete): New function.
+       (insert_1_both, insert_from_string_1, insert_from_buffer_1)
+       (adjust_after_replace, replace_range):
+       Use adjust_markers_for_record_delete.
+
+       * editfns.c (Fsave_excursion): Doc fix.
+
+       * window.c (Frecenter): Operate on window's buffer even
+       if some other was current.
+
+       * filelock.c (get_boot_time): New function.
+       (lock_file_1): Include boot time in the lock text.
+       (current_lock_owner): Parse and compare the boot time.
+
+1998-03-16  Erik Naggum  <erik@naggum.no>
+
+       * editfns.c (Fformat): Properly print floats.
+
+1998-03-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * insdel.c (ADJUST_CHAR_POS): New macro.
+       (combine_bytes): Use the macro ADJUST_CHAR_POS.
+       (adjust_after_replace): New arg REPLACE.  If it is zero, give LEN
+       as the arg LENGTH to offset_intervals.
+       (del_range_2): Give correct args to count_combining_before and
+       combine_bytes.  Adjust the gap position after record_delete if
+       necessary.  Give character position to adjust_overlays_for_delete.
+
+       * fileio.c (Finsert_file_contents):
+       Give adjust_after_replace the new arg REPLACE as 0.
+
+       * coding.c (code_convert_region): The 6th arg name is changed to
+       REPLACE.  Even if there's no need of code conversion, call
+       adjust_after_replace to handle bytes combining.
+
+1998-03-15  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * syntax.h (SYNTAX_FLAGS_COMSTART_FIRST): New macro.
+       (SYNTAX_FLAGS_COMSTART_SECOND): Likewise.
+       (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND): Likewise.
+       (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLE): Likewise.
+
+       * syntax.c (Fbackward_prefix_chars): Set point properly while scanning.
+       (scan_sexps_forward): Make INC_FROM do UPDATE_SYNTAX_TABLE_FORWARD.
+       Delete the explicit calls to UPDATE_SYNTAX_TABLE_FORWARD.
+       Also set prev_from_syntax (new local var).  Test that in the loop,
+       instead of fetching syntax of the previous char.
+
+       * editfns.c (Fchar_after, Fchar_before): Properly check arg type
+       and whether in range, for all cases.
+
+1998-03-14  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * process.c (exec_sentinel, read_process_output):
+       Fstore_match_data => Fset_match_data.
+       
+       * xmenu.c (set_frame_menubar): Fstore_match_data => Fset_match_data.
+
+       * xdisp.c (message_dolog): Save and restore Vdeactivate_mark.
+       (prepare_menu_bars): Fstore_match_data => Fset_match_data.
+       (update_menu_bar): Likewise.
+
+1998-03-13  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * search.c (Fset_match_data): Renamed from Fstore_match_data.
+       (syms_of_search): Corresponding change.
+
+       * lisp.h: Fstore_match_data => Fset_match_data.
+
+       * window.c (Fwindow_end): New arg UPDATE.
+
+       * window.c (Fset_window_configuration): Don't call do_switch_frame
+       or run Qwindow_configuration_change_hook if frame is dead.
+
+       * cmds.c (internal_self_insert): Call Fforward_buffer to advance
+       over the replacement characters.
+
+1998-03-12  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * process.c (Fstart_process): Doc fix.
+
+       * s/ptx4.h (SETUP_SLAVE_PTY): New definition.
+
+       * buffer.c (init_buffer): Call Fset_buffer_multibyte for *scratch*.
+
+1998-03-11  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1)
+       (adjust_after_replace, replace_range):
+       Account for combining bytes in args to record_insert.
+       (del_range_2): Make undo records for combining bytes.
+       Put second call to move_gap_both before setting beg_unchanged.
+
+1998-03-12  Kenichi HANDA  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Adjusted for the change of
+       adjust_after_replace.
+
+       * fileio.c (Finsert_file_contents): Don't do position adjustments
+       and handling post-read-conversion here, they are done in
+       code_convert_region.  Even if a file is read by no-conversion,
+       call adjust_after_replace to adjust positions.
+
+       * insdel.c (adjust_before_replace): Call
+       adjust_overlays_for_delete.
+       (adjust_after_replace): Delete args COMBINED_BEFORE_BYTES and
+       COMBINED_AFTER_BYTES.  This makes the newly generated text
+       following GPT_ADDR a buffer contents.
+
+1998-03-10  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * insdel.c (adjust_markers_for_insert): Don't leave a marker within
+       the combined_after_bytes.  Use DEC than INC when leaving
+       a marker before the insertion.
+       (count_combining_before): Return number of bytes from start
+       of insertion that will combine.
+       (insert_1_both): Compensate for change in count_combining_before.
+       Delete intervals for the combined_after_bytes.
+       Compensate for that when updating other intervals.
+       (insert_from_buffer_1, replace_range): Likewise.
+       (adjust_after_replace): Likewise.
+       (insert_from_string_1): Likewise.  Also handle intervals
+       for inserting just part of string.
+
+       * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1):
+       Count all of combined_after_bytes, not just 1, when correcting
+       nchars, and in related places.
+       (adjust_after_replace, replace_range): Likewise.
+
+1998-03-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * fontset.c (fontset_pattern_regexp): `==' was used instead of `='.
+
+1998-03-09  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * insdel.c (combine_bytes): New function.
+       (insert_1_both, insert_from_string_1, insert_from_buffer_1):
+       Simplify greatly by using combine_bytes near the end
+       to handle all aspects of combining except for undo-recording.
+       This means most of the code deals with the text as if there were
+       no combining.
+       (replace_range): Likewise.  Also handle unibyte-multibyte conversion
+       as in insert_from_string_1.
+       (del_range_2): Handle combining of character before the deletion
+       with strays after the deletion.
+       (adjust_markers_for_delete): Delete debugging code for Z == Z_BYTE.
+       (adjust_markers_for_insert): Move Z == Z_BYTE debugging code
+       to before we relocate the marker.
+
+1998-03-09  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * lisp.h (struct Lisp_Buffer_Local_Value):
+       Field car renamed to realvalue.  New fields check_frame,
+       found_for_buffer, found_for_frame, buffer, frame.
+       
+       * data.c (store_symval_forwarding, swap_in_symval_forwarding)
+       (set_internal, default_value, Fset_default, Fmake_local_variable)
+       (Fmake_variable_buffer_local, Fkill_local_variable):
+       Handle new data structure for struct Lisp_Buffer_Local_Value.
+       (Fmake_variable_frame_local): New function.
+
+       * buffer.c (set_buffer_internal_1) 
+       (swap_out_buffer_local_variables): Handle new data structure
+       for struct Lisp_Buffer_Local_Value.
+
+       * print.c (print): Handle new data structure
+       for struct Lisp_Buffer_Local_Value.
+
+       * alloc.c (gc_sweep, mark_object): Handle new data structure
+       for struct Lisp_Buffer_Local_Value.
+
+1998-03-08  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * insdel.c (adjust_markers_for_insert): New arg COMBINED_BEFORE_BYTES.
+       Calls changed.
+
+       * search.c (simple_search): Don't count a character until it matches!
+       Call set_search_regs differently in a forward search.
+       (boyer_moore): Fix up the code that translates the pattern
+       and loops thru equivalent characters.
+       
+1998-03-07  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * insdel.c (adjust_markers_for_insert): New arg COMBINED_AFTER_BYTES.
+       Calls changed.
+       (insert_1): Call insert_1_both.
+       (count_combining_before): New function.
+       (count_combining_after): New function.
+       (insert_1_both, insert_from_string_1): Handle bytes that combine
+       with chars adjacent to the inserted text.
+       (insert_from_buffer_1, replace_range): Likewise.
+       (adjust_after_replace):
+       New args COMBINED_BEFORE_BYTES, COMBINED_AFTER_BYTES.
+
+1998-03-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * Makefile.in (alloc.o): Depend on charset.h.
+
+       * alloc.c (Fmake_string): Handle the case INIT is a multibyte
+       character correctly.
+
+       * buffer.c (advance_to_char_boundary): Handle the case the code
+       0240..0377 is not a constituent of a multibyte sequence.
+
+       * coding.c (code_convert_region): Fix previous change.  Adjusted
+       for the change of adjust_after_replace (see insdel.c change above).
+
+1998-03-04  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * coding.c (code_convert_region): Fix previous change.
+
+1998-03-04  Kenichi HANDA  <handa@etl.go.jp>
+
+       * buffer.c (Fset_buffer_multibyte): Fix arg for chars_in_text.
+       Be sure not to have a multibyte sequence striding over the GAP
+
+       * charset.c (strwidth): Make it work for invalid bytes sequence.
+       (Fstring_width): Give byte length of STR to strwidth.
+
+       * coding.c (code_convert_region): Handle the case that codes
+       0240..0377 are generated just after a multibyte character.
+
+       * editfns.c (Fformat): Format multibyte characters by "%c"
+       correctly.  Handle padding for multibyte characters correctly.
+
+1998-03-03  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increased.
+
+1998-03-03  Kenichi Handa  <handa@etl.go.jp>
+
+       * Makefile.in (dired.o): Depend on charset.h and coding.h.
+
+       * callproc.c (Vdefault_file_name_coding_system): Extern it.
+       (Fcall_process): Use ENCODE_FILE.
+
+       * coding.h (ENCODE_FILE): Moved from fileio.c.  Use
+       default-file-name-coding-system if file-name-coding-system is nil.
+       (DECODE_FILE): New macro.
+
+       * dired.c: Include charset.h and coding.h.
+       (ENCODE_FILE): This macro is moved to coding.h.
+       (Vdefault_file_name_coding_system): Extern it.
+       (Fdirectory_files): Use DECODE_FILE.
+       (file_name_completion): Likewise.
+
+       * editfns.c (Fformat): Fix previous change.
+
+       * fileio.c (ENCODE_FILE): This macro is moved to coding.h.
+       (Vdefault_file_name_coding_system): New variable.
+       (syms_of_fileio): Defsubr it.
+       (Ffile_symlink_p): Use DECODE_FILE.
+       (Ffile_name_directory): Use size_byte member of XSTRING (filename).
+       (Ffile_name_as_directory): Likewise.
+       (Fdirectory_file_name): Likewise.
+       (Fsubstitute_in_file_name): Likewise.
+       (expand_and_dir_to_file): Likewise.
+       (Fdo_auto_save): Likewise.
+       (Fread_file_name): Likewise.
+
+       * insdel.c (insert_1_both): If enable-multibyte-characters is nil,
+       insert each byte as one character.
+
+       * process.c (Vdefault_file_name_coding_system): Extern it.
+       (create_process): Use ENCODE_FILE.
+
+1998-03-02  Kenichi Handa  <handa@etl.go.jp>
+
+       * callproc.c (Fcall_process): Calculate CARRYOVER correctly.
+
+       * charset.h (NONASCII_INSERT_OFFSET): New macro.
+       (VALID_MULTIBYTE_CHAR_P): New macro.
+
+       * charset.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
+       moved to charset.h.
+       (unibyte_char_to_multibyte): Always return a valid character.
+       (Funibyte_char_to_multibyte): New function.
+       (syms_of_charset): Defsubr it.  Doc-string of
+       nonascii-insert-offset is modified.
+
+       * coding.h: Typo in comment fixed.
+
+       * cmds.c (internal_self_insert): Avoid checking
+       enable-multibyte-characters twice.
+
+       * editfns.c (string1): Cast ARGS to `char **' to avoid
+       compiler warning.
+
+       * fileio.c (Ffile_name_nondirectory): Use size_byte member of
+       XSTRING (filename).
+
+       * fns.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
+       moved to charset.h.
+       (concat): Use unibyte_char_to_multibyte.
+
+       * insdel.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
+       moved to charset.h.
+       (copy_text): Don't convert codes in the range 0200..0237 to
+       multibyte characters.  For codes in the range 0240..0377, use
+       unibyte_char_to_multibyte.
+       (count_size_as_multibyte): Likewise.
+       (adjust_before_replace): Comment fixed.
+
+       * xdisp.c (try_window_id): Use DEC_BOTH unconditionally.
+       (display_text_line): Likewise.
+
+1998-03-02  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * lisp.h (Vnonascii_translate_table, Qcharset): New variable decls.
+       (Fstring_make_multibyte, Fstring_make_unibyte): New function decl.
+       (Fstring_as_multibyte, Fstring_as_unibyte): New function decl.
+       (list2, list3, list4, list5): New function decl.
+       (Fwrite_region): Add an argument.
+       (compare_window_configurations): New function decl.
+       
+       * keyboard.c: Include syntax.h.
+       (interrupt_signal): Save and restore gl_state
+       around an immediate quit, in case debugger returns.
+
+       * Makefile.in (keyboard.o): Depend on syntax.h.
+
+       * syntax.h (UPDATE_SYNTAX_TABLE):
+       Do nothing unless parse_sexp_lookup_properties.
+       (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD): Likewise.
+       (SYNTAX_TABLE_BYTE_TO_CHAR): If parse_sexp_lookup_properties is 0,
+       return 0 right away.
+       (SETUP_SYNTAX_TABLE): Add if (1) ... else.
+
+1998-03-01  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fileio.c (auto_save_1): Pass new arg to Fwrite_region.
+       (Fwrite_region): New arg CONFIRM.  If non-nil, confirm overwriting.
+
+       * callproc.c (Fcall_process_region): Pass new arg to Fwrite_region.
+
+1998-03-01  Ilya Zakharevich  <ilya@math.ohio-state.edu>
+       
+       * syntax.c (update_syntax_table): Properly update `position'
+       field of used intervals.
+
+       * interval.c (update_interval): Properly update `position'
+       field of used intervals.
+
+1998-02-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fns.c (internal_equal): compare_window_configurations takes new arg.
+
+       * window.c (compare_window_configurations): New arg ignore_positions.
+       (Fcompare_window_configurations): New function.
+       (syms_of_window): defsubr it.
+
+       * keyboard.c (Fthis_command_keys_vector): New function.
+       (Fread_key_sequence_vector): New function.
+       (syms_of_keyboard): defsubr them.
+       (Fthis_single_command_keys): Always return a vector.
+
+1998-02-27  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xterm.c (XTframe_up_to_date): Check that mouse_face_mouse_frame
+       is non-null before calling note_mouse_highlight.
+       (x_destroy_window): If f equals mouse_face_mouse_frame,
+       clear that, and clear mouse_face_deferred_gc too.
+
+       * xdisp.c (syms_of_xdisp): Doc fix.
+
+       * data.c (store_symval_forwarding) <Lisp_Misc_Buffer_Objfwd>:
+       If buffer_local_types has -1, this variable is read-only.
+
+       * buffer.c (syms_of_buffer): enable-multibyte-characters is read-only.
+
+       * data.c (Fset_default) <BUFFER_OBJFWDP>:
+       Unconditionally set the slot in buffer_defaults.
+
+       * buffer.c (reset_buffer): Initialize enable_multibyte_characters.
+
+       * buffer.c (init_buffer_once): Force enable-multibyte-characters
+       to be local in every buffer whether it is set or not.
+
+       * fns.c (mapcar1): Handle bool-vectors.
+       (Fmapconcat, Fmapcar): Doc fixes.
+       (Flength): For char-table, length is based on max valid char code.
+
+       * syssignal.h: Delete #endif left over from previous change.
+
+1998-02-27  Andreas Schwab  <schwab@gnu.org>
+
+       * indent.c (compute_motion): If we just moved over a continuation
+       return contin_hpos as prevhpos.
+
+1998-02-27  Karl Heuer  <kwzh@gnu.org>
+
+       * insdel.c (del_range_2): Reorder args.  All callers changed.
+
+1998-02-25  Karl Heuer  <kwzh@gnu.org>
+
+       * insdel.c (del_range_both): Reorder args.  All callers changed.
+
+1998-02-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * xdisp.c (message_dolog): Give correct args to
+       message_log_check_duplicate and del_range_both.
+
+       * search.c (scan_newline): Delete duplicated code.
+
+1998-02-21  Richard Stallman  <rms@gnu.org>
+
+       * cmds.c (Fdelete_backward_char): Count both bytes and chars.
+
+1998-02-21  Ilya Zakharevich  <ilya@math.ohio-state.edu>
+
+       * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Fix condition.
+       (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE): Likewise.
+       (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix bounds.
+       * syntax.c (update_syntax_table): Fix calculations using offset.
+       (skip_chars): Fix loop termination condition.
+       * textprop.c (interval_of): Handle Qt.
+
+1998-02-20  Andreas Schwab  <schwab@gnu.org>
+
+       * s/gnu-linux.h (LINUX_MAP_SHARED_DOES_WORK): Define for kernel
+       version after 2.0.
+       (UNEXEC_USE_MAP_PRIVATE): Don't define if
+       LINUX_MAP_SHARED_DOES_WORK.
+
+       * syssignal.h (sigmask) [POSIX_SIGNALS]: Always define our own
+       version that returns a sigset_t.
+       (sigpause) [POSIX_SIGNALS]: Unconditionally define in terms of
+       sigsuspend.  Don't redefine SIGEMPTYMASK.
+       (sys_sigpause): Don't declare.
+       (temp_mask): Don't declare.
+       * sysdep.c (sys_sigpause): Removed.
+       (new_action, old_action): Move as local variables into sys_signal.
+       (old_mask, temp_mask): Removed.
+
+1998-02-20  Kenichi Handa  <handa@etl.go.jp>
+
+       * editfns.c (Fmessage): Check byte size (instead of char size) of
+       VAL against MESSAGE_LENGTH.
+
+       * fileio.c (Fwrite_region): When writing a string, give byte size
+       to a_write.
+       (a_write): Handle annotations correctly when writing a string.
+
+       * ccl.c (Fccl_execute_on_string): Put \n\ at end-of-line of
+       doc-string.
+
+1998-02-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * buffer.c (advance_to_char_boundary): Make the behaviour
+       consistent with INC_POS.
+
+       * ccl.c (Fccl_execute_on_string): Add new arg UNIBYTE-P.
+
+       * charset.h (INC_POS): Use macro BASE_LEADING_CODE_P.
+       (DEC_POS): Make the behaviour consistent with INC_POS.
+       (BUF_INC_POS, BUF_DEC_POS): Likewise.
+
+       * charset.c (invalid_character): New function.
+       (chars_in_text): Make the behaviour consistent with INC_POS.
+       (multibyte_chars_in_text): Likewise.
+       (str_cmpchar_id): Likewise.
+       (non_ascii_char_to_string): Call invalid_character.
+       (Fchar_direction): Likewise.
+
+       * coding.c (decode_coding_iso2022): Update coding->fake_multibyte.
+       (ENCODE_SINGLE_SHIFT_2, ENCODE_SINGLE_SHIFT_3,
+       encode_coding_iso2022, decode_coding_sjis_big5,
+       encode_coding_sjis_big5, decode_eol, encode_eol, decode_coding,
+       encode_coding): Likewise.
+       (shrink_decoding_region, shrink_encoding_region): Do not skip
+       non-ASCII code in any cases.  Bug fix for getting starting address
+       from BEG.
+       (code_convert_region): Sync character positions correctly by
+       paying attention to coding->fake_multibyte.
+       (code_convert_string): Set number of character and bytes just
+       processed in members of CODING.
+       (code_convert_string): Adjusted for the change of
+       code_convert_region.
+       (code_convert_region1): Likewise.
+
+       * coding.h (struct coding_system): New member fake_multibyte.
+
+       * fileio.c (Finsert_file_contents): Read a file contents into the
+       correct buffer (byte) position.  Adjusted for the change of
+       code_convert_region.
+
+       * fns.c (Fset_char_table_default): For an invalid character, call
+       invalid_character.
+
+       * indent.c (MULTIBYTE_BYTES_WIDTH): New macro.
+       (current_column_1): Don't follow a display table for a heading
+       byte of a multibyte character.  Use the macro
+       MULTIBYTE_BYTES_WIDTH.
+       (Fmove_to_column): Likewise.
+       (compute_motion): Likewise.  Handling of wide-column character
+       fixed.
+
+       * insdel.c (adjust_before_replace): Comment added.
+       (adjust_after_replace): Comment added.  Give correct args to
+       adjust_point.  Don't call signal_after_change here.
+
+       * intervals.c (temp_set_point_both): Declare arg BYTEPOS as int.
+       (set_point_both): Likewise.
+
+       * search.c (search_buffer): Update POS_BYTE for regexp search.
+
+       * xdisp.c (display_text_line): Handling of a wide-column character
+       fixed.  Make the behaviour consistent with INC_POS.
+
+1998-02-18  Richard Stallman  <rms@gnu.org>
+
+       * editfns.c (Fchar_before): Check POS in valid range
+       before calling CHAR_TO_BYTE.
+
+       * search.c (search_command): Check LIM in valid range
+       before calling CHAR_TO_BYTE.
+
+1998-02-15  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * minibuf.c (read_minibuf): Do use DEFALT in place of empty input
+       when when expflag is nonzero.
+       (Fread_no_blanks_input): Arg INIT renamed to INITIAL.
+
+1998-02-14  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fileio.c (Fread_file_name): Alter the history
+       to contain just the actual file name, and not any
+       other preinserted text that is not really used.
+
+       * search.c (simple_search): Call set_search_regs.
+       (boyer_moore): New arg CHARSET_BASE says which chars
+       to use the translate tables for.
+       (search_buffer): Properly test which chars participate in translation.
+       
+1998-02-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * intervals.c (split_interval_right): Make sure to call
+       balance_possible_root_interval in case an interval doesn't have a
+       right child, because otherwise the interval tree might degenerate
+       into a list.
+       (split_interval_left): Ditto if an interval hasn't a left child.
+
+1998-02-12  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * search.c (TRANSLATE): New arg OUT.  Handle non-integer in TRT.
+       All calls changed.
+
+       * editfns.c (Fsubst_char_in_region): Don't increment pos twice.
+
+       * charset.h (INC_BOTH, DEC_BOTH): In unibyte mode,
+       simply increment bytepos.
+
+       * syntax.c (skip_chars): Use INC_POS instead of INC_BOTH.
+       (Fforward_comment): Always use both FROM and FROM_BYTE to set point.
+       Use dec_bytepos not DEC_POS.
+       (scan_lists): Handle unibyte buffers when decrementing temp_pos.
+       (INC_FROM): Use INC_BOTH.
+       (inc_bytepos, dec_bytepos): In unibyte mode, just increment bytepos.
+
+       * xdisp.c (display_text_line): Use INC_BOTH for unibyte buffers too.
+
+1998-02-10  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * keymap.c (describe_map_tree): Add the maps we have already
+       handled into SUB_SHADOWS.
+
+1998-02-06  Kenichi Handa  <handa@melange.gnu.org>
+
+       * fns.c (Fstring_bytes): Declare arg STRING as Lisp_Object.
+
+       * editfns.c (Fposition_bytes): Declare arg POSITION as
+       Lisp_Object.  Allow marker as arg POSITION.  Use XINT for type
+       consistency.
+
+1998-02-09  Andreas Schwab  <schwab@gnu.org>
+
+       * indent.c (compute_motion): If right margin is reached and we are
+       truncating don't clobber PREV_HPOS if we are already past TO.
+
+1998-02-09  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fns.c (concat): Use Vnonascii_translate_table.
+
+       * charset.c (Vnonascii_translate_table): New variable.
+       (unibyte_char_to_multibyte): Use Vnonascii_translate_table.
+       (syms_of_charset): Defvar it.
+
+       * insdel.c (copy_text, count_size_as_multibyte):
+       Use Vnonascii_translate_table.
+
+1998-02-08  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * print.c (printchar): When outputting to echo area,
+       update message_enable_multibyte, and convert previous text
+       from unibyte to multibyte if necessary.
+
+       * search.c (search_command): Fix call to search_buffer.
+
+1998-02-07  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * dired.c (Fdirectory_files): Call compile_pattern the new way.
+
+       * search.c (boyer_moore, simple_search): New subroutines.
+       (search_buffer): For non-regexp, use one of those subroutines.
+       Args TRT and INVERSE_TRT are now Lisp_Object.  Callers changed.
+       (compile_pattern_1): Arg TRANSLATE is now Lisp_Object.  Calls changed.
+       (compile_pattern): Arg TRANSLATE is now Lisp_Object.  Calls changed.
+
+       * config.in (RE_TRANSLATE_TYPE): Define as Lisp_Object.
+       (RE_TRANSLATE): Use Faref to examine translate table.
+
+1998-02-06  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * marker.c (byte_char_debug_check): New function.
+       (CONSIDER, both definitions): Call it.
+       (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
+       (byte_debug_flag): New variable.
+       (syms_of_marker): Set up Lisp variable.
+
+       * buffer.c (advance_to_char_boundary): New function.
+       (Fset_buffer_multibyte): Advance all byte-positions to char boundaries.
+       Clear undo list.
+       
+       * fontset.h (GENERIC_FONT_PTR): Commented-out definition deleted.
+
+1998-02-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * window.h: Change argument number of Fdisplay_buffer to 3.
+
+1998-02-06  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * buffer.c (Fpop_to_buffer): Pass new arg to Fdisplay_buffer.
+
+       * window.c (Fdisplay_buffer): New arg FRAME.
+       (temp_output_buffer_show): Pass new arg to Fdisplay_buffer.
+       (Fother_window_for_scrolling): Likewise.
+
+       * editfns.c (Fposition_bytes): New function.
+       (syms_of_editfns): defsubr it.
+
+       * fns.c (Fstring_bytes): New function. 
+       (syms_of_fns): defsubr it.
+
+1998-02-05  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * minibuf.c (read_minibuf): If input is empty, return empty string.
+       (Fread_string): Return DEFAULT_VALUE here, if input is empty.
+       (Fcompleting_read): Likewise.
+
+1998-02-04  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * keymap.c (Fdescribe_bindings_internal):
+       Renamed from Fdescribe_bindings.  New arg NOMENU.
+       (syms_of_keymap): Corresponding changes.
+       (describe_buffer_bindings): Get NOMENU out of the arg list.
+       Pass it along to describe_map_tree.
+       Improve text of `alternate_heading'.
+
+       * alloc.c (list2, list3, list4, list5): New functions.
+
+1998-02-04  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (Fiso_charset): Doc-string modified.
+
+       * editfns.c (Fsubst_char_in_region): Handle character-base
+       position and byte-base position correctly.
+       (Fstring_to_char): Give byte size to STRING_CHAR.
+
+       * insdel.c (copy_text): When copying from multibyte to unibyte, do
+       not alter ASCII characters.
+
+1998-02-03  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * editfns.c (Fformat): If MULTIBYTE is changed to 1
+       after we start computing TOTAL, jump back to `retry' (a new label).
+
+1998-02-01  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * lread.c (read1): Handle infinities, NaN and -0.0 specially.
+       (isfloat_string): Accept e+INF and e+NAN as exponents.
+
+       * print.c (float_to_string): Handle infinities and NaN specially.
+
+       * fns.c (concat): Handle bool-vectors correctly.
+
+       * fns.c (concat): If making a string, a nonempty bool-vector is error.
+
+1998-01-30  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * data.c (Faref, Faset): Allow indexing a char-table
+       directly by numbers up to CHAR_TABLE_ORDINARY_SLOTS.
+
+       * fns.c (Fset_char_table_range, Fchar_table_range):
+       Allow a charset name symbol to designate a range.
+
+       * callproc.c (Fcall_process): Allow creating a new buffer
+       for the output.
+
+1998-01-30  Kenichi Handa  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (ENCODE_ISO_CHARACTER): Pay attention to
+       CODING_FLAG_ISO_USE_ROMAN and CODING_FLAG_ISO_USE_OLDJIS.
+       (code_convert_region1): New function.
+       (Fdecode_coding_region): Call code_convert_region1.
+       (Fencode_coding_region): Likewise.
+       (code_convert_string1): New function.
+       (Fdecode_coding_string): Call code_convert_string1.
+       (Fencode_coding_string): Likewise.
+
+       * doc.c (Fsubstitute_command_keys): Declare length_byte out of
+       internal block.
+
+       * editfns.c (CONVERTED_BYTE_SIZE): Fix the logic.
+       (Fformat): Update the variable MULTIBYTE according to the result
+       of Fprin1_to_string.  Free BUF after making Lisp string from it.
+
+1998-01-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * search.c (search_buffer): New args pos_byte and lim_byte.
+       (search_command): Pass new args.
+
+1998-01-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (DECODE_SJIS_BIG5_CHARACTER): Don't have to increase
+       coding->produced_char here.
+       (code_convert_region): Initialize LEN_BYTE correctly.
+
+       * search.c (fast_string_match): Give re_search byte size of
+       STRING.
+       (trivial_regexp_p): Initialize LEN to byte size of REGEXP.
+       (search_buffer): Give re_search_2 STARTPOS, RANGE and STOP by
+       counting them by bytes.
+
+       * data.c (syms_of_data): Register multibyte-string-p as a Lisp
+       function.
+
+1998-01-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * category.c (Fmodify_category_entry): Doc fix.
+       (Fdescribe_categories): Renamed from Fdescribe_category.
+       (syms_of_category): Corresponding changes.
+       (Fcategory_set_mnemonics): Doc fix.
+       (Fchar_category_set): Doc fix.
+       (Fmake_category_set): Doc fix.
+
+1998-01-26  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xdisp.c (message_dolog): Cast M to unsigned char * to access bytes.
+
+       * keyboard.c (command_loop_1): Run post-command-hook before,
+       not after, clearing this-command-keys and updating last-command.
+
+       * fns.c (string_make_multibyte): In all-ASCII case, return orig STRING.
+
+       * fns.c (Fstring_as_unibyte): New function.
+       (Fstring_as_multibyte): New function.
+       (syms_of_fns): defsubr them.
+
+1998-01-25  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * window.c (compare_window_configurations): New function.
+
+       * fns.c (internal_equal): Use compare_window_configurations.
+
+       * fileio.c (file_name_as_directory): For an empty name, return "/".
+
+1998-01-24  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * callproc.c (Fcall_process): Test only args past args[4]
+       for multibyteness.
+
+1998-01-23  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * charset.h: Delete garbage line "int use_dialog_box".
+
+1998-01-23  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * lread.c (Funintern): Clear the symbol's obarray field.
+
+1998-01-21  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * s/sol2-5.h (SYSTEM_MALLOC): Defined.
+
+1998-01-21  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * fileio.c (Finsert_file_contents): Fix previous change.
+
+1998-01-21  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * syntax.c (back_comment): Move the find_defun_start call
+       out of the scan_sexps_forward call.
+       No need to call find_defun_start
+       if we found the defun start in the initial scan.
+
+1998-01-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * callproc.c (Fcall_process): Use raw-text instead of emacs-mule
+       when enable-multibyte-characters is nil.  Adjusted for the change
+       of encode_coding and decode_coding.
+
+       * ccl.h: Definition of macros CCL_STAT_XXX are moved from ccl.c to
+       here.
+
+       * charset.c (min_composite_char): New variable.
+       (syms_of_charset): Declare a Lisp variable min-composite-char.
+
+       * charset.h (BCOPY_SHORT): New macro.
+
+       * coding.h (CODING_FINISH_XXX): New macros.
+       (CODING_MODE_XXX): New macros.
+       (struct coding_system): New member mode, category_idx,
+       heading_ascii.  Deleted members last_block, direction, selective,
+       carryover, carryover_size.
+       (CODING_MAY_REQUIRE_DECODING): New macro.
+       (CODING_CATEGORY_MASK_ISO_7BIT, CODING_CATEGORY_MASK_ISO_8BIT,
+       CODING_CATEGORY_MASK_ISO_SHIFT, CODING_CATEGORY_MASK_ISO): New
+       macros.
+       (Qraw_text): Extern it.
+
+       * coding.c (DECODE_CHARACTER_ASCII): Update coding->produced_char;
+       (DECODE_CHARACTER_DIMENSION1): Likewise.
+       (Qraw_text, Qcoding_category): New variables.
+       (syms_of_coding): Intern and staticpro them.
+       (coding_system_table): New variable.
+       (CHARSET_OK, SHIFT_OUT_OK): New macros.
+       (detect_coding_iso2022): Detection algorithm improved.
+       (decode_coding_iso2022): Arg CONSUMED deleted, and the meaning of
+       return value changed.  Update members produced, produced_char,
+       consumed, consumed_char of the struct *coding.  Pay attention to
+       CODING_MODE_INHIBIT_INCONSISTENT_EOL.
+       (encode_coding_iso2022): Likewise.
+       (decode_coding_sjis_big5, encode_coding_sjis_big5): Likewise.
+       (decode_eol, encode_eol): Likewise.
+       (ENCODE_ISO_CHARACTER): Update coding->consumed_char.
+       (DECODE_SJIS_BIG5_CHARACTER): Update coding->produced_char.
+       (ENCODE_SJIS_BIG5_CHARACTER): Update coding->consumed_char.
+       (detect_coding_mask): New args PRIORITIES and SKIP.
+       (detect_coding): Adjusted for the change of detect_coding_mask.
+       Update coding->heading_ascii.
+       (detect_eol_type): New arg SKIP.
+       (detect_eol): Adjusted for the change of detect_eol_type.
+       (ccl_codign_driver): New function.
+       (decode_coding): Arg CONSUMED deleted, and the meaning of return
+       value changed.  Update members produced, produced_char, consumed,
+       consumed_char of the struct *coding.
+       (encode_coding): Likewise.
+       (shrink_decoding_region, shrink_encoding_region): New function.
+       (code_convert_region, code_convert_string): Completely rewritten.
+       (detect_coding_system): New arg HIGHEST.
+       (Fdetect_coding_region): New arg HIGHEST.
+       (Fdetect_coding_string): New function.
+       (Fdecode_coding_region, Fencode_coding_region): Adjusted for the
+       change of code_convert_region.
+       (Fdecode_coding_string, Fencode_coding_string): Adjusted for the
+       change of code_convert_string.
+       (Fupdate_iso_coding_systems): New function.
+       (init_coding_once): Initialize coding_system_table.
+       
+       * data.c (Faset): Allow setting a multibyte character in a
+       multibyte string as far as it doesn't change the size_byte of the
+       string.
+
+       * fileio.c (Finsert_file_contents): Adjusted for the change of
+       struct coding_system and function decode_coding.  For normail file
+       reading, use code_convert_region.
+       (Fwrite_region): Adjusted for the change of struct coding_system.
+       (e_write): Adjusted for the change of encode_coding.
+
+       * fns.c (mapcar1): Keep `i' in `i_before' before `i' is
+       incremented by FETCH_STRING_CHAR_ADVANCE.
+
+       * insdel.c (adjust_before_replace, adjust_after_replace): New
+       functions.
+
+       * lisp.h (detect_coding_system): Extern it.
+
+       * process.c (Fstart_process): Use raw-text instead of emacs-mule
+       if enable-multibyte-characters is nil.  Initialize members
+       decoding_carryover and encoding_carryover of PROC.
+       (create_process): Adjusted for the change of encode_coding.
+       (Fopen_network_stream): Initialize members decoding_carryover and
+       encoding_carryover of PROC.
+       (read_process_output): Adjusted for the change of decode_coding.
+       (send_process): Adjusted for the change of encode_coding.
+
+       * process.h (struct Lisp_Process): New members decoding_carryover
+       and encoding_carryover.
+
+       * term.c (encode_terminal_code): Adjusted for the change of
+       encode_coding.
+       (write_glyphs): Likewise.  Adjusted for the change of struct
+       coding_system.
+       (insert_glyphs): Likewise.
+
+       * xselect.c (selection_data_to_lisp_data): Adjusted for the change
+       of decode_coding.
+       (lisp_data_to_selection_data): Adjusted for the change of
+       encode_coding.
+       (syms_of_xselect): Initialize clipboard-coding-system to
+       compound-text.
+
+1998-01-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (Finsert_file_contents): Even if
+       enable-multibyte-characters is nil, we must check `coding:' tag
+       and `file-coding-system-alist' to handle eol-conversion.
+
+       * coding.c (Vselect_safe_coding_system_function): New variable.
+       (coding_category_table): This variable deleted.
+       (Vcoding_category_table): New variable.
+       (coding_category_name): Add "coding-category-iso-7-tight".
+       (detect_coding_iso2022): Check the mask
+       CODING_FLAG_ISO_DESIGNATION in CODING->FLAGS.  Check a new coding
+       category coding-category-iso-7-tight.
+       (DECODE_DESIGNATION): Decode only such designations that CODING
+       can handle.
+       (check_composing_code): New function.
+       (decode_coding_iso2022): Decode only such characters that CODING
+       can handle.
+       (encode_coding_iso2022): Before and after encoding composite
+       characters, reset designation and invocation status.
+       (detect_coding_sjis): Delete unnecessary check.
+       (detect_coding_big5): Likewise.
+       (encode_designation_at_bol): Check the validity of requested
+       designation register.
+       (setup_coding_system): Set requested designation registers for
+       non-supported charsets to
+       CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION.  Set mask
+       CODING_FLAG_ISO_DESIGNATION in CODING->FLAGS.  Code tuned for
+       no-conversion and undecided.
+       (detect_coding): Adjusted for the new variable
+       Vcoding_category_table.
+       (syms_of_coding): Initialize Vcoding_category_table and staticpro
+       it.  Register select-safe-coding-system as a Lisp variable.
+
+       * coding.h (CODING_FLAG_ISO_DESIGNATION): New macro.
+       (struct iso2022_spec): New member.
+       last_invalid_designation_register.
+       (struct coding_system): New member inhibit_inconsistent_eol_type.
+       (CODING_CATEGORY_IDX_ISO_7_TIGHT,
+       CODING_CATEGORY_MASK_ISO_7_TIGHT): New macros.
+       (CODING_CATEGORY_MASK_ANY): Include
+       CODING_CATEGORY_MASK_ISO_7_TIGHT.
+       (coding_category_table, coding_category_name): Extern deleted.
+       (Vselect_safe_coding_system_function): Extern it.
+       
+       * charset.h (MAX_CHAR_COMPOSITION): New macro.
+       (CHAR_CHARSET): Check more strictly.
+       (CODING_FLAG_ISO_DESIGNATION): New macro.
+
+1998-01-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.h: (struct ccl_program): New member private_state.
+
+       * ccl.c (Vccl_translation_table_vector, Qccl_program,
+       Qccl_translation_table, Qccl_translation_table_id): New variables.
+       append new symbols.  Qccl_translation_table and
+       Qccl_translation_table_id.
+       (CCL_Call): Fix the comment.
+       (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter,
+       CCL_UnifyCharacter, CCL_UnifyCharacterConstTbl,
+       CCL_IterateMultipleMap, CCL_TranslateMultipleMap): New macros for
+       CCL Commands.
+       (EXCMD): New macro.
+       (ccl_driver): New case lable `CCL_Extention'.
+       (setup_ccl_program): Initialize the member `private_state' of CCL.
+       (Fregister_ccl_program): Delete unused variable IDX.
+       (Fregister_ccl_translation_table): New function.
+       (syms_of_ccl): Intern and staticpro Qccl_program,
+       Qccl_translation_table, and Qccl_translation_table_id.  Declare
+       `ccl-translation-table-vector' as a Lisp variable.  Declare
+       register-ccl-translation-table as a Lisp function.
+
+       * charset.h (Vcharacter_unification_table_vector): Extern it.
+       (UNIFICATION_ID_TABLE): New macro.
+
+       * charset.c (Vcharacter_unification_table_vector): New variable.
+       (syms_of_charset): Declare it as a Lisp symbol.
+       (unify_char): Delete unnecessary codes.
+
+1998-01-21  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * indent.c (current_column_1):
+       Eliminate argument POS; use PT and PT_BYTE.
+       When doing FETCH_BYTE, use scan_byte.
+       (current_column): Check whether buffer really has multibyte chars,
+       not whether they are enabled.
+
+       * editfns.c (Fsave_current_buffer): Use set_buffer_if_live.
+
+       * bytecode.c (Fbyte_code) <Bsave_current_buffer_1>:
+       Use set_buffer_if_live.
+
+       * buffer.c (set_buffer_if_live): New function.
+
+1998-01-20  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * charset.c (nonascii_insert_offset): Variable moved from cmds.c.
+       (syms_of_charset): Initialize variable.
+
+       * cmds.c (internal_self_insert, Fself_insert_command): 
+       Use unibyte_char_to_multibyte.
+       (nonascii_insert_offset): Variable moved to charset.c.
+       (syms_of_cmds): Don't initialize nonascii_insert_offset.
+
+       * fileio.c (Fsubstitute_in_file_name): Use unibyte_char_to_multibyte.
+       
+       * keyboard.c (command_loop_1): Use unibyte_char_to_multibyte.
+
+       * xdisp.c (message_dolog): Use unibyte_char_to_multibyte.
+       Pass different args to scan_newline.
+       Properly compare oldpoint with Z.
+       
+       * syntax.c (skip_chars): Use unibyte_char_to_multibyte,
+
+       * fns.c (concat): Use unibyte_char_to_multibyte.
+
+       * charset.c (unibyte_char_to_multibyte): New function.
+       (DEFAULT_NONASCII_INSERT_OFFSET): New macro definition.
+
+       * lread.c (unreadchar): For unreading an ASCII char
+       thru a buffer or marker, really decrement point or the marker position.
+
+       * xdisp.c (display_menu_bar): Don't set maxendcol too large.
+
+       * editfns.c (Fchar_equal): Fix case-conversion code.
+
+1998-01-19  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * window.h (WINDOW_RIGHT_MARGIN): Deduct width of vertical line
+       if frame has no scroll bars.
+
+       * fns.c (concat): Fix lossage in installing previous patch.
+
+       * window.c (window_scroll): Set opoint_byte properly.
+
+1998-01-16  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * intervals.c (set_intervals_multibyte): New function.
+       (set_intervals_multibyte_1): New function.
+
+       * marker.c (clear_charpos_cache): New function.
+
+1998-01-16  Richard Stallman  <rms@gnu.org>
+
+       * buffer.c (Fset_buffer_multibyte): New function.
+       (syms_of_buffer): defsubr it.
+
+       * syntax.c (skip_chars): Fix test for end of string, looking for `-'.
+       (back_comment): Don't allow quoting a comment-end.
+       (scan_lists): Likewise.
+
+       * .gdbinit: Make GDB not handle SIGINT.
+
+       * search.c (compile_pattern_1): If representation of STRING
+       does not fit MULTIBYTE, convert its contents.
+       (fast_c_string_match_ignore_case): Pass 0 to compile_pattern
+       as MULTIBYTE.
+       (search_buffer): If representation of STRING
+       does not fit MULTIBYTE, convert its contents.
+
+       * print.c (print) <Lisp_String>: When multibyte is enabled, print
+       single-byte non-ASCII chars using octal escapes.
+
+       * lread.c (read1): Escape codes can force multibyte or single-byte.
+       Otherwise buffer_defaults->enable_multibyte_characters decides.
+       Only set force_singlebyte when a \-sequence is in the relevant range.
+       (read_escape): New arg STRINGP.  `\ ' is ignored only when STRINGP
+       (normally, when reading a string).  Calls changed.
+
+       * fns.c (concat): Move the test for all nil in `append'
+       back to the right place.
+       Always compute result_len_byte as for a multibyte string.  Then,
+       if the result will be single-byte, don't use that computation.
+       When converting single-byte to multibyte, don't use copy_text.
+       Do use copy_text between single-byte string and multibyte string.
+
+       (Fstring_make_multibyte, Fstring_make_unibyte): New functions.
+       (syms_of_fns): defsubr them.
+
+       (string_char_to_byte): Count from the beginning or the end,
+       whichever is closer.  Keep a cache of recent values.
+       (string_byte_to_char): Likewise.
+
+       (Fstring_lessp): Compare the strings char by char.
+
+       * xdisp.c (display_text_line): Set pos_byte with pos
+       when skipping invisible.
+
+       * alloc.c (STRING_BASE_SIZE): New macro.
+       (STRING_FULLSIZE): Use STRING_BASE_SIZE instead of the whole
+       size of struct Lisp_String.
+       (make_pure_string): Use STRING_FULLSIZE.
+
+1998-01-16  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * window.c (Fspecial_display_p): Return the right value
+       when special-display-regexps specifies frame parameters.
+
+       * syntax.h (SYNTAX_TABLE_BYTE_TO_CHAR): New macro.
+
+1998-01-12  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * keymap.c (Fkey_description): Remember to set i_before.
+       and use it in all cases.
+
+1998-01-12  Kenichi Handa  <handa@etl.go.jp>
+
+       * minibuf.c (Fminibuffer_complete_word): Fix a bug of refering
+       `i'.  We must refer `i_byte' instead.
+
+       * insdel.c (insert_from_string_1): Decrement GAP_SIZE by
+       outgoing_nbytes.
+
+       * keymap.c (push_key_description): If C >= 128, always use octal
+       representation.
+
+       * fns.c (concat): Check STRINGP before increasing result_len_byte.
+
+1998-01-12  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * fileio.c (Finsert_file_contents): When not decoding,
+       properly calculate number of chars in the text.
+       Fix error message.
+
+       * coding.c (code_convert_region): Always count chars inserted
+       in accord with value of enable-multibyte-characters.
+       (Fcoding_system_p): Doc fix.
+       (Fcheck_coding_system): Doc fix.
+       (Fterminal_coding_system): Doc fix.
+       (Fkeyboard_coding_system): Doc fix.
+
+1998-01-11  Dave Love  <fx@gnu.org>
+
+       * charset.c (Fchar_valid_p): Fix bare newlines in doc string.
+
+1998-01-11  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * fileio.c (file_name_as_directory): Error if arg is empty.
+       (Fwrite_region): Don't flush the encoding buffer if failure is set.
+
+1998-01-10  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * syntax.h (struct gl_state_s): New field `object'.
+       (SETUP_SYNTAX_TABLE_FOR_OBJECT): Set it.
+       Handle non-current buffer properly.  Args renamed to all caps.
+       (SETUP_SYNTAX_TABLE): Set `object'.  Args renamed to all caps.
+       (UPDATE_SYNTAX_TABLE): Use gl_state.object.
+       (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD): Likewise.
+
+       * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Add gl_state.offset
+       when using the arg FROM.  Use BYTE_TO_CHAR.
+
+1998-01-09  Richard Stallman  <rms@gnu.org>
+
+       * callint.c (Fcall_interactively): Allocate string by bytes.
+       Use message_with_string.
+
+       * dired.c (Fdirectory_files): Fix arg to compile_pattern.
+
+1998-01-06  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * emacs.c (standard_args): Add "-unibyte" aka "--unibyte".
+       (main): Handle --unibyte.
+
+1998-01-05  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * search.c (search_buffer): Handle bytes vs chars in non-RE case.
+       Have two locals len and len_byte.
+
+       * minibuf.c (read_minibuf): Handle bytes vs chars
+       when checking for junk at end of expression.
+
+1998-01-04  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * editfns.c (Fformat): Do all the work directly--don't use doprnt.
+       Calculate the right size the first time, so no need to retry.
+       Count chars and bytes in the result.
+       Convert single-byte strings to multibyte as needed.
+
+       * buffer.c (record_overlay_string): Totalize sizes assuming
+       strings are converted to match buffer in multibyteness.
+       (overlay_strings): Convert strings to match buffer in multibyteness.
+
+       * search.c (fast_c_string_match_ignore_case): Use string_make_unibyte.
+
+       * fns.c (string_make_unibyte): New function.
+
+       * insdel.c (count_size_as_multibyte): New function.
+       (insert_from_string_1, insert_from_buffer_1): Use it.
+
+       * lread.c (read_escape): `\ ' stands for nothing at all.
+
+       * .gdbinit (xstring): Use size_byte.
+
+       * lread.c (oblookup): Take args SIZE and SIZE_BYTE.  Callers changed.
+       * abbrev.c (Fexpand_abbrev): Pass both kinds of size to oblookup.
+       * minibuf.c (test_completion): Pass both kinds of size to oblookup.
+
+       * print.c (print_string): Now static.
+       (print): When multibyte is disabled,
+       print multibyte string chars using hex escapes.
+
+       * puresize.h (BASE_PURESIZE): Increased.
+
+       * bytecode.c (Fbyte_code): Use size_byte.
+
+       * filelock.c (MAKE_LOCK_NAME): Use size_byte.
+
+       * lread.c (init_obarray, read1, make_symbol):
+       Pass new arg to make_pure_string.
+       (Fintern, oblookup, Fintern_soft, intern): Handle size_byte.
+
+       * alloc.c (make_pure_string): New arg length_byte.
+       Take account of size used by size_byte; store both sizes.
+       (Fpurecopy): Call make_pure_string the new way.
+       (compact_strings): Use size_byte field to compute string's size.
+
+1998-01-03  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * coding.c (code_convert_region): Delete duplicate local `zv_before'.
+
+       * fileio.c (Fdo_auto_save): Save and restore multibyteness of minibuffer.
+
+       * process.c (read_process_output): use insert_1_both.
+
+       * abbrev.c (Fexpand_abbrev): Pass new args to insert_from_string.
+       (Funexpand_abbrev): Likewise.  Use size_byte.
+
+       * editfns.c (Ftranslate_region): Scan by chars and bytes
+       using STRING_CHAR_AND_LENGTH.  Replace only single-byte chars.
+
+       * insdel.c (copy_text): New function.
+       (insert_from_buffer_1): Call copy_text to convert between
+       single-byte and multibyte text.
+       (insert_from_string_1): Likewise.
+       
+       * process.c (read_process_output): New var `multibyte'.
+       Set it according to which coding system was used.
+
+       * charset.c (multibyte_chars_in_text): New function.
+
+       * fileio.c (Fwrite_region): Use message_with_string.
+       (auto_save_error, Fdo_auto_save): Likewise.
+
+       * print.c (printchar): Pass new arg to message_dolog.
+       (strout): New arg MULTIBYTE.  Callers changed.
+
+       * lread.c (dir_warning): Pass new arg to message_dolog.
+
+       * emacs.c (main): Pass new arg to message_dolog.
+
+       * keyboard.c (echo_now): Use message2_nolog, not message1_nolog.
+       (Fexecute_extended_command): Likewise.
+       (read_char_minibuf_menu_prompt): Use message2_nolog, not message1.
+
+       * xdisp.c (message_dolog, message2): New arg MULTIBYTE.
+       Callers changed.
+       (message1, message1_nolog): String must be ASCII-only.
+       (message2, message2_nolog): Now static.
+
+       * search.c (compile_pattern): New arg MULTIBYTE.  Callers changed.
+
+       * syntax.c (skip_chars): Handle multibyte and unibyte strings
+       for either kind of buffer.  Scan string by bytes and chars.
+
+       * keymap.c (describe_vector): Unconditionally handle multibyte chars.
+
+       * fns.c (map_char_table): Unconditionally consider non-ASCII charsets.
+
+       * cmds.c (internal_self_insert): Simplify handling of c2;
+       avoid testing enable-multibyte-characters.
+
+       * callproc.c (Fcall_process): When deciding whether to encode args,
+       check them for multibyteness, don't check enable-multibyte-characters.
+
+       * doc.c: Include charset.h.
+
+       * keymap.c (describe_vector): Pass new args to insert_from_string.
+
+       * search.c (wordify): Use make_uninit_multibyte_string.
+       Scan by chars and bytes.
+
+       * lread.c (read1): PCH is now int *.
+       Declare ch as int.
+       (read0): Declare c as int.
+       (read_list): Declare ch as int.
+       (read0): Use Fmake_string not make_string.
+       (read1): When reading a string, maybe use make_unibyte_string.
+
+       * keymap.c (Ftext_char_description): Use make_multibyte_string.
+
+       * keyboard.c (parse_modifiers): Use size_byte.
+       (echo_char): Use size_byte.
+       (parse_modifiers_uncached): Likewise.
+       (record_char): Likewise.
+       (parse_solitary_modifier): Likewise.
+
+       * fns.c (Fsubstring): Use make_multibyte_string.
+
+       * minibuf.c (Fminibuffer_complete_word): Pass new args to
+       insert_from_string.  Scan string by bytes and chars.
+       (Ftry_completion): Use size_byte while comparing.
+       (Fall_completions): Use size_byte while comparing.
+       (test_completion): 
+
+       * editfns.c (syms_of_editfns): Delete defsubr for sref.
+
+       * fns.c (string_make_multibyte): New function.
+
+       * fileio.c (Ffile_name_directory): Maybe use make_unibyte_string.
+       (Ffile_name_nondirectory): Likewise.
+       (Fsubstitute_in_file_name): Convert substituted envvars to multibyte
+       if necessary.  Otherwise use make_unibyte_string.
+       (Finsert_file_contents): Use make_unibyte_string.
+       (double_dollars): Use make_uninit_multibyte_string.
+
+       * doc.c (Fsubstitute_command_keys): Scan by bytes.
+
+       * coding.c (code_convert_string): Maybe use make_unibyte_string.
+
+       * cmds.c (internal_self_insert): Use make_multibyte_string.
+
+       * charset.c (Fstring): Use make_multibyte_string.
+       (Fcompose_string): Likewise.
+
+       * casefiddle.c (casify_object): Scan string by bytes and chars.
+       Use make_multibyte_string.
+
+       * xselect.c (lisp_data_to_selection_data): Use size_byte.
+       (Fx_store_cut_buffer_internal): Use size_byte.
+       (selection_data_to_lisp_data): Use make_multibyte_string.
+
+       * category.c (Fmake_category_set): Don't allow multibyte string.
+       (describe_category): Pass new args to insert_from_string.
+       (describe_category_1): Likewise.
+
+       * dispnew.c (Fsend_string_to_terminal): Use size_byte.
+
+       * xdisp.c (x_consider_frame_title): Use size_byte.
+       (display_text_line): Likewise.
+       And scan Voverlay_arrow_string by bytes and chars.
+       (display_menu_bar): Call display_string with a byte size.
+       (display_mode_line): Call display_string with a byte size.
+
+       * frame.c (set_term_frame_name): Use size_byte.
+
+       * ccl.c (Fccl_execute_on_string): Use size_byte.
+
+       * xterm.c (x_load_font): Use string_byte.
+
+       * keyboard.c (read_char): Use Faref on Vkeyboard_translate_table
+       if it is a string.
+       (apply_modifiers_uncached): New arg base_len_byte.  Calls changed.
+       (read_char_minibuf_menu_prompt): 
+       (read_key_sequence): Access buffer's downcase_table with XCHAR_TABLE.
+       (Fexecute_extended_command): Use Faref to access FUNCTION.
+       Use size_byte of BINDING.
+       (stuff_buffered_input): Use size_byte of STUFFSTRING.
+
+       * xdisp.c (redisplay_window): Set pos.bytepos along with pos.bufpos.
+
+       * keymap.c (Fkey_binding): Scan PREFIX a char at a time.
+       (Fkey_description): Scan KEYS by chars.
+
+       * xfns.c (x_create_bitmap_from_file): Use size_byte on strings.
+       (x_set_name, x_set_title, validate_x_resource_name): Likewise.
+       (Fx_get_resource, display_x_get_resource): Likewise.
+       (x_get_resource_string): Likewise.
+
+       * xmenu.c (xmenu_show): Use size_byte of strings.
+
+       * callproc.c (Fcall_process): Use size_byte for the args.
+       (Fcall_process_region): Likewise for temp file.
+       (child_setup, getenv_internal, Fgetenv): Likewise.
+
+1998-01-02  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * process.c (read_process_output): Handle bytes vs chars.
+       (send_process): Use size_byte of OBJECT.
+       (Fprocess_send_string): Pass size_byte to send_process.
+
+       * lisp.h (STRING_MULTIBYTE): New macro.
+
+       * print.c (strout): Take args SIZE and SIZE_BYTE;
+       operate on both chars and bytes.
+       (print_string): Pass new arg to strout.
+       If not using strout, fetch a whole multibyte char at once.
+       (write_string): Pass new arg to strout.
+       (write_string_1): Likewise.
+       (print) <case Lisp_String>: Scan by chars and bytes.
+       (print) <case Lisp_Symbol>: Scan name by chars and bytes.
+
+       * insdel.c (insert_1_both): New function.
+
+       * print.c (PRINTPREPARE): Use make_multibyte_string.
+       Initialize print_buffer_pos_byte.  Use insert_1_both.
+       (printchar): Update print_buffer_pos_byte and print_buffer_pos.
+       (print_buffer_pos_byte): New variable.
+       
+       * editfns.c (general_insert_function):
+       Pass the additional args to INSERT_FROM_STRING_FUNC.
+       (Fchar_to_string): Use make_multibyte_string.
+       (Fsref): Function deleted.
+       (Fformat_time_string): Use size_byte of FORMAT_STRING.
+       (make_buffer_string): Use make_uninit_multibyte_string.
+       (Ftranslate_region): Use TABLE's size_byte.
+       (Fmessage, Fmessage_box): Update message_text based on size_byte.
+
+       * insdel.c (insert_from_string): New args POS_BYTE, LENGTH.
+       (insert_from_string_before_markers): 
+       (insert_from_string_1): New arg POS_BYTE.  Swap args NCHARS, NBYTES.
+       Don't fail to use POS_BYTE!
+       (insert_from_buffer_1): Get both inschars and insbytes from NEW.
+
+       * alloc.c (make_uninit_multibyte_string): New function.
+       (make_uninit_string): Use make_uninit_multibyte_string.
+       (make_multibyte_string): New function.
+       (make_unibyte_string): New function.
+       (make_string): Compute number of chars from the data.
+
+       * search.c (string_match_1): Convert string indices to/from bytes.
+       (Freplace_match): Convert string indices to/from bytes.
+       (Fregexp_quote): Convert string indices to/from bytes.
+
+       * lread.c (Fread_from_string): Convert string indices to/from bytes.
+
+       * data.c (Fmultibyte_string_p): New function.
+       (Faref): Index string by chars.
+       (Faset): Index multibyte string by chars.
+
+       * charset.c (Ffind_charset_string): Handle bytes vs chars in string.
+       Special case for single-byte strings.
+       (Fchars_in_string): Function deleted.
+       (Fstring): Renamed from Fconcat_chars.
+       Handle bytes vs chars in string.
+       (syms_of_charset): Corresponding changes.
+       
+       * fns.c (concat, Fsubstring, internal_equal, mapcar1):
+       Distinguish bytes and chars when indexing strings.
+       (Fstring_equal, Fstring_lessp): Likewise.
+       (substring_both): New function.
+       (string_char_to_byte, string_byte_to_char): New functions.
+       
+       * charset.h (FETCH_STRING_CHAR_ADVANCE): New macro.
+
+       * lisp.h (struct lisp_String): New field size_byte.
+
+       * charset.c (Fchar_boundary_p): Function deleted.
+       (syms_of_charset): defsubr deleted.
+
+       * insdel.c (make_gap): Set GPT_BYTE along with GPT.
+
+       * window.c (Fselect_window): Don't set OW->pointm if OW->buffer is nil.
+       (Fset_window_configuration): Set old selected window's pointm.
+       
+       * minibuf.c (Fcompleting_read): Doc fix.
+
+       * keymap.c (current_minor_maps): 
+       If a variable has an entry in Vminor_mode_overriding_map_alist,
+       and also an entry in Vminor_mode_map_alist, ignore the latter.
+
+1998-01-01  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * Markers now have an ordinary bytepos, not including the gap:
+
+       * marker.c (buf_bytepos_to_charpos): Use marker bytepos, not bufpos.
+       (buf_charpos_to_bytepos, marker_byte_position): Likewise.
+       (Fset_marker, set_marker_restricted, set_marker_both): Likewise.
+       (set_marker_restricted_both): Likewise.
+
+       * editfns.c (transpose_markers): Update marker's bytepos.
+
+       * alloc.c (Fmake_marker): Initialize marker's bytepos and charpos.
+
+       * lread.c (readchar): Use marker's bytepos instead of bufpos.
+
+       * fns.c (internal_equal): For markers, use bytepos instead of bufpos.
+
+       * insdel.c (adjust_markers_gap_motion): Now a no-op.
+       (adjust_markers_for_delete): Update ->bytepos instead of ->bufpos,
+       but don't adjust for the gap.
+       (adjust_markers_for_insert): Likewise.
+
+       * lisp.h (struct Lisp_Marker): Rename `bufpos' to `bytepos'.
+       Its value no longer includes the gap space.
+       
+       * editfns.c (Fchar_after): Fix previous change.
+
+       * fileio.c (a_write): Fix prototype.
+
+       * lisp.h (struct Lisp_Marker): New field `charpos'.
+       (pos_tab_offset): Decl deleted.
+       (insert_1, indented_beyond_p): Decls changed.
+       (move_gap_both, del_range_byte, del_range_both, del_range_2)
+       (scan_newline, Ffile_locked_p): New decls.
+       (struct Lisp_Marker): 
+
+       * search.c (scan_newline): Always restore prev value of immediate_quit.
+
+1997-12-31  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * syntax.c (scan_sexps_forward): Additional arg FROM_BYTE.
+       Calls changed.
+       (find_defun_start): Scan bytes and chars.  Additional arg POS_BYTE.
+       Save final byte pos in find_start_value_byte.
+       (find_start_value_byte): New variable.
+
+       * charset.c (Fchars_in_string): Update call to CHAR_HEAD_P.
+       (chars_in_text, str_cmpchar_id, Fcompose_string): Likewise.
+
+       * indent.c (current_column_1, Fmove_to_column):
+       Update call to CHAR_HEAD_P.
+
+       * fileio.c (Finsert_file_contents): Update call to CHAR_HEAD_P.
+
+       * editfns.c (Fsref): Update call to CHAR_HEAD_P.
+       (Fcompare_buffer_substrings. Ftranslate_region): Likewise.
+
+       * doprnt.c (doprnt1): Call to CHAR_HEAD_P fixed.
+
+       * charset.h (CHAR_HEAD_P): Take char, not pointer, as arg.
+
+       * window.c (unshow_buffer): Set PT with TEMP_SET_PT_BOTH.
+       
+       * indent.c (indented_beyond_p): Take POS in bytes and chars.
+       Callers changed.
+       (pos_tab_indent): Function moved to xdisp.c.
+
+1997-12-30  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xdisp.c (redisplay_internal): Use scan_newline.
+       (display_text_line, try_window_id): Use scan_newline.
+
+       * xdisp.c (pos_tab_indent): Moved from indent,c.  Now static.
+       Take POS in bytes and chars.  Callers changed.
+       
+       * indent.c (Fcurrent_indentation): Use scan_newline and SET_PT_BOTH.
+       (indented_beyond_p, current_column_1): Likewise.
+
+       * fileio.c (Fwrite_region): Use scan_newline.
+
+       * buffer.c (Fmake_indirect_buffer): Use set_marker_both.
+       (set_buffer_internal_1): Likewise.
+       (set_buffer_temp): Likewise.
+
+       * xdisp.c (redisplay_window): Handle byte and char positions.
+       (try_window): Don't move W->start if it's already at right place.
+
+       * window.c (Fset_window_buffer): Use set_marker_both.
+       (Fselect_window, Fscroll_other_window, save_window_save): Likewise.
+       (Fset_window_configuration): Pass p->mark itself to Fset_marker
+       and set_marker_restricted_both.
+       (temp_output_buffer_show): Use set_marker_restricted_both.
+       (window_scroll): Save and restore both kinds of pointers.
+
+       * process.c (status_notify): Use byte and char pointers.
+       
+       * callint.c (Fcall_interactively) <'d', 'r'>: Use set_marker_both.
+
+       * emacs.c (abort): New function.
+
+1997-12-29  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * window.c (Fdelete_other_windows): Rely on vmotion to give bytepos.
+       Use set_marker_both.  Use byte positions.
+       (Frecenter): Likewise.
+       (Fmove_to_window_line): Use set_marker_both and Fgoto_char.
+
+       * s/sco4.h (LIB_MOTIF): Define, if HAVE_LIBINTL.
+       (LIBX11_SYSTEM): Undo previous change.
+
+       * cmds.c (forward_point): Function deleted.
+       (Fforward_point): Just add.
+       (Fforward_char): Don't call forward_point, just add.
+       (Fforward_line): Use scan_newline.
+       (Fdelete_char): No need for forward_point, just add.
+       (Fdelete_backward_char): Handle bytes and chars.
+       (internal_self_insert): Handle bytes and chars.
+
+       * xdisp.c (display_count_lines): Several changes in args.
+       Do the work directly.
+       (display_scan_buffer): Function deleted.
+       (decode_mode_spec): Pass new arg.
+       (message_log_check_duplicate): Take charpos and bytepos args.
+       (message_dolog): Use markers to update old PT, BEGV, ZV.
+       Use scan_newline.  Handle positions in bytes and chars.
+       
+1997-12-28  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
+
+       * coding.c (code_convert_region): Handle bytepos and charpos.
+       (Fdetect_coding_region): Likewise.
+       
+       * Makefile.in (marker.o): Depend on charset.h.
+
+1997-12-27  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * casefiddle.c (casify_region): Scan in bytes and chars.
+       (casify_object, casify_region): Declare str, workbuf as unsigned char.
+
+       * insdel.c (move_gap): Use move_gap_both.
+       (move_gap_both): New function.
+       (gap_left, gap_right): Take both charpos and bytepos args.
+       (adjust_markers_gap_motion): Renamed from adjust_markers
+       and simplified.
+       (adjust_markers_for_delete): New function.
+       (adjust_markers_for_insert): Take args in chars and bytes.
+       Also new arg BEFORE_MARKERS.  One call does all marker updating
+       needed for any insert.
+       (adjust_point): Take 2 args and update PT and PT_BYTE.
+       (make_gap): Handle bytes vs chars.
+       (insert, insert_and_inherit): Handle bytes vs chars.
+       Pass new BEFORE_MARKERS arg to insert_1.
+       (insert_before_markers, insert_before_markers_and_inherit): Likewise.
+       (insert_from_string, insert_from_string_before_markers): Likewise.
+       (insert_from_buffer): Likewise.
+       (insert_1): Handle bytes vs chars.  New arg BEFORE_MARKERS.
+       (insert_from_string_1, insert_from_buffer_1): Likewise.
+       (replace_range): Likewise.
+       (del_range_2): New subroutine, taken from del_range_1.
+       (del_range_1): Use del_range_2.
+       (del_range_byte, del_range_both): New functions.
+
+       * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Call bytepos_to_charpos.
+       Wrap in  if (1) ... else.
+       
+       * minibuf.c (Fminibuffer_complete_word): Handle bytes vs characters
+       when comparing buffer against string.
+       (temp_echo_area_glyphs): Save, update, delete text using
+       byte and char positions.
+       (read_minibuf): BACKUP_N counts bytes.
+
+       * syntax.c (Fforward_comment): Scan by bytes and chars.
+       (Fbackward_prefix_chars): Scan by bytes and chars.
+       (scan_words, scan_sexps_forward): Scan bytes as well as chars.
+       (skip_chars, scan_lists): Scan by bytes and chars.  Now static.
+
+       * buffer.h (DECODE_POSITION): New macro.
+       (CHAR_TO_BYTE, BYTE_TO_CHAR): New macros.
+       
+       * buffer.h (BEG_BYTE, BEGV_BYTE, PT_BYTE, GPT_BYTE)
+       (ZV_BYTE, Z_BYTE): New macros.
+       (BUF_BEG_BYTE, BUF_BEGV_BYTE, BUF_PT_BYTE, BUF_GPT_BYTE)
+       (BUF_ZV_BYTE, BUF_Z_BYTE): New macros.
+       (BUF_GAP_END_ADDR): New macro.
+       (BEGV_ADDR, PT_ADDR, GPT_ADDR, GAP_END_ADDR, ZV_ADDR, Z_ADDR): 
+       Use the new ..._byte buffer data.
+       (BUFFER_CEILING_OF, BUFFER_FLOOR_OF): Likewise.
+       (BUF_GPT_ADDR, BUF_Z_ADDR): Likewise.
+       (SET_PT_BOTH, TEMP_SET_PT_BOTH): New macros.
+       (SET_PT, TEMP_SET_PT, BUF_SET_PT, BUF_TEMP_SET_PT):
+       Call functions with new arg order.
+       (SET_BUF_BEGV, SET_BUF_BEGV_BOTH): New macros.
+       (SET_BUF_PT): Macro deleted.
+       (SET_BUF_ZV): Set charpos and bytepos.
+       (SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH): New macros.
+       (BYTE_POS_ADDR): Renamed from POS_ADDR.
+       (CHAR_POS_ADDR): New macro.
+       (FETCH_BYTE): Use BYTE_POS_ADDR.
+       (FETCH_MULTIBYTE_CHAR): Use ..._BYTE macros.
+       (BUF_CHAR_ADDRESS): Convert charpos to bytepos.
+       (BUF_BYTE_ADDRESS): New macro, like the old BUF_CHAR_ADDRESS.
+       (PTR_BYTE_POS): Renamed from PTR_CHAR_POS.
+       (BUF_PTR_BYTE_POS): New macro.
+       (BUF_FETCH_CHAR, BUF_FETCH_BYTE, BUF_FETCH_MULTIBYTE_CHAR): New macros.
+       (struct buffer_text): New fields gpt_byte, z_byte.
+       (struct buffer): New fields pt_byte, begv_byte, zv_byte.
+
+       * syntax.c (char_quoted): Take charpos and bytepos as args.
+       (back_comment): Likewise.
+       (update_syntax_table): Arg renamed.
+       (inc_bytepos, dec_bytepos): New functions.
+
+       * abbrev.c (describe_abbrev): Return void.
+       (write_abbrev): Return void.
+       (Fexpand_abbrev): Scan in bytepos along with charpos.
+       (Funexpand_abbrev): Use bytepos to delete the expansion.
+       
+       * charset.h (INC_POS, DEC_POS): Fix because arg is a bufpos.
+       (BUF_INC_POS, BUF_DEC_POS): New macros.
+       (INC_BOTH, DEC_BOTH): New macros.
+
+       * minibuf.c (Fread_command, Fread_variable): Fix previous change.
+
+       * intervals.h (set_point, temp_set_point): Swap args in decl.
+       (set_point_both, temp_set_point_both): New decls.
+
+       * print.c (PRINTDECLARE): Declare old_point_byte and start_point_byte.
+       (PRINTPREPARE): For a marker, set old_point_byte and start_point_byte.
+       Set both kinds of PT from the marker.
+       (PRINTFINISH): For a marker, use set_marker_both.
+       Restore both kinds of PT.
+       (print): For strings and symbols, handle multibyte chars.
+
+1997-12-26  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * lread.c (readchar_backlog): New variable.
+       (readchar): When fetching from buffer or marker,
+       use readchar_backlog to fetch bytes from a character.
+       (unreadchar): Increment readchar_backlog.
+       (readevalloop, Fread): Init readchar_backlog.
+       
+       * charset.c (Fchar_boundary_p): Always return 0.
+       (Fchars_in_region): Just subtract the arguments.
+       (chars_in_text): New function.
+       (Ffind_charset_region): Scan in bytepos as well as charpos.
+
+       * process.c (Fprocess_send_region): Make bytepos for send_process.
+       (read_process_output): Save, restore, and update both kinds of ptrs.
+       (send_process): OFFSET is now in bytes.
+
+       * marker.c (marker_byte_position): Renamed from marker_position.
+       (marker_position): New function returns the charpos.
+       (Fbuffer_has_markers_at): Test the marker's charpos.
+       (set_marker_restricted, Fset_marker): Set both kinds of position.
+       Optimize case where POSITION is a marker.
+       (set_marker_both, set_marker_restricted_both): New functions.
+       (Fmarker_position): Use the charpos.
+
+       * marker.c (charpos_to_bytepos, bytepos_to_charpos): New functions.
+       (buf_charpos_to_bytepos, buf_bytepos_to_charpos): New functions.
+
+       * textprop.c (Ftext_properties_at): Doc fix.
+
+       * intervals.c (set_point_both): Renamed from set_point;
+       New arg BYTE; BUFFER is now first arg; use temp_set_point_both.
+       (set_point): New function; uses set_point_both.
+       (temp_set_point_both): New function.
+       (temp_set_point): Update BUF_PT_BYTE.
+       (get_local_map): Save and restore both forms of the buffer bounds.
+
+       * buffer.c (set_buffer_temp):
+       Update BUF_PT_BYTE, BUF_BEGV_BYTE and BUF_ZV_BYTE.
+       (Fmake_indirect_buffer, set_buffer_internal_1):
+       Set up the pt, begv and zv markers with both kinds of position.
+       Set BUF_PT_BYTE, BUF_BEGV_BYTE, BUF_ZV_BYTE.
+       (Fget_buffer_create): Set BUF_..._BYTE.
+
+       * indent.c (vmotion, compute_motion): Set up bytepos value
+       to return it.  ??? This is a quick hack and must be redone.
+       (current_column): Handle bytepos and charpos.
+       (position_indentation): Take bytepos as arg, and scan with it.
+       Calls changed.
+       (Fmove_to_column): Scan with bytepos and charpos.
+       (pos_tab_offset): Use bytepos to do FETCH_BYTE.
+       (skip_invisible): Don't worry about position in middle of character.
+       
+       * xdisp.c (try_window): Pass bytepos to and from display_text_line.
+       (try_window_id): Likewise.  Use byte pos as well as charpos.
+       (redisplay_internal): Handle bytepos for tlbufpos.
+
+       * xdisp.c (message): Cast last arg to doprnt.
+       
+       * indent.h (struct position): New field bytepos.
+
+       * keyboard.c (command_loop_1): Use PT_BYTE when calling FETCH_BYTE.
+       Instead of Fforward_point, just add.
+       
+       * search.c (looking_at_1): Use bytepos to call re_search_2.
+       Convert search regs to charpos, if search succeeded.
+       (search_buffer): Likewise.  Also convert charpos <-> bytepos
+       in non-regexp case.
+       (scan_buffer): Convert charpos <-> bytepos. 
+       (scan_newline): New function.
+       (find_next_newline): Function deleted.
+       (set_search_regs): Args now in bytes; convert to charpos.
+       (Freplace_match): Convert charpos <-> bytepos when scanning case.
+       
+       * fileio.c (restore_point_unwind): Now static.  Use Fgoto_char.
+       (Funhandled_file_name_directory): Doc fix.
+       (Finsert_file_contents): Handle bytes vs chars.
+       (Fwrite_region): Handle bytes vs chars.
+       (a_write): Take args in bytes; handle annotations labeled in chars.
+       (e_write): Rename args.
+       (Funhandled_file_name_directory): Doc fix.
+       (a_write, e_write): Now static.
+       
+       * editfns.c (Fgoto_char): When arg is a marker, copy char and byte
+       positions from it.  When arg is an integer, no need to worry that it
+       is in middle of a character.
+       (buildmark): Take 2 args (charpos and bytepos).  Callers changed.
+       (Fline_beginning_position): Save and restore both kinds of PT.
+       (Fprevious_char): Use PT_BYTE.
+       (Fbolp, Feolp): Use PT_BYTE.
+       (transpose_markers): Take args in chars and bytes.
+       (Ftranspose_regions): Work with byte and char positions.
+       (Fchar_after, Fchar_before): Use bytepos.
+       (make_buffer_string): Convert charpos to bytepos.
+       (Fcompare_buffer_substrings): Work with charpos and bytepos.
+       (Fsubst_char_in_region): Handle charpos and bytepos.
+       (Fwiden, Fnarrow_to_region): Likewise.
+       (save_restriction_restore): Update PT and PT_BYTES.
+       Cast arg to doprnt_lisp.
+
+1997-12-26  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * keymap.c (Vminor_mode_overriding_map_alist): New variable.
+       (syms_of_keymap): Set up Lisp var.
+       (current_minor_maps): Use Vminor_mode_overriding_map_alist first,
+       then Vminor_mode_map_alist.
+
+       * config.in (HAVE_STRING_H): Add #undef.
+       [HAVE_STRING_H]: Include string.h.
+
+1997-12-24  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * fileio.c (Finsert_file_contents): Don't use coding.symbol
+       in unusual paths which don't set it up.
+
+       * xdisp.c: Declare nonascii_insert_offset.
+
+1997-12-21  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * xterm.c (x_display_cursor): Abort if X or Y is out of range.
+
+1997-12-20  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * sysdep.c (sys_signal): Undo previous change.
+
+       * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): New variables.
+       (syms_of_emacs): Set up Lisp variables.
+       (handle_USR1_signal, handle_USR2_signal): New signal handlers.
+       (main): Set up signal handlers.
+
+       * s/sco4.h (LIBX11_SYSTEM) [HAVE_LIBINTL and MOTIF]: Add -lintl.
+
+       * config.in (HAVE_LIBINTL): Add #undef.
+
+1997-12-20  Toshiaki Nomura  <dsfrsoft@yk.fujitsu.co.jp>
+
+       * s/uxpds.h: New file.
+
+1997-12-19  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * minibuf.c (Vread_buffer_function): New var.
+       (syms_of_minibuf): Set up Lisp var.
+       (Fread_buffer): Use Vread_buffer_function.
+
+       * lisp.h (message2_nolog): Fix arg types.
+
+       * xdisp.c (message2_nolog): New arg MULTIBYTE.
+       (message2): Pass new arg to message2_nolog.
+       (message1_nolog): Likewise.
+
+       * keyboard.c (Fexecute_extended_command): 
+       Save message_enable_multibyte and pass it to message2_nolog.
+       
+       * alloc.c (Fgarbage_collect):
+       Save message_enable_multibyte and pass it to message2_nolog.
+
+1997-12-17  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * syntax.c (Fparse_partial_sexp): Return nil for 9th element
+       whenever not inside a string or a comment.
+
+1997-12-16  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * minibuf.c (Fread_variable): If DEFAULT_VALUE is symbol, use its name.
+       (Fread_command): Likewise.
+
+1997-12-15  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * xdisp.c (message_dolog): Update PT and ZV properly when at end of
+       buffer, when we convert between multibyte and single-byte.
+       Properly initialize i.
+
+       * xdisp.c (message_dolog): Convert between single-byte and multibyte
+       when inserting text into *Messages*.
+       
+1997-12-11  Richard Stallman  <rms@gnu.org>
+
+       * sysdep.c (sys_signal): Add two casts.
+
+1997-12-09  Richard Stallman  <rms@gnu.org>
+
+       * callproc.c (Fcall_process): Don't clobber new_argv[0]
+       in the case of no args. 
+
+1997-12-09  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (Fget_unused_iso_final_char): New function.
+       (syms_of_charset): Declare it as a Lisp function.
+
+       * callproc.c (Fcall_process): Set Vlast_coding_system_used after
+       reading from the process.
+
+       * process.c (read_process_output): Fix previous change, i.e, if
+       proc_encode_coding_system[p->outfd] is NULL, instead of allocating
+       `struct coding_system' for encoding, just skip setting up coding
+       system for encoding.  Set Vlast_coding_system_used after some text
+       is read.
+       (send_process): Set Vlast_coding_system_used after deciding a
+       coding system to be used for encoding.
+
+       * fileio.c (Finsert_file_contents): Set Vlast_coding_system_used
+       before calling Vafter_insert_file_functions.
+       (Fwrite_region): Set Vlast_coding_system_used after deciding a
+       coding system to be used for encoding.
+
+       * coding.c (setup_coding_system): Do not set
+       Vlast_coding_system_used here.
+       (decode_coding_sjis_big5): Decode Big5 text of CR only end-of-line
+       correctly.
+
+1997-12-08  Ken'ichi Handa  <handa@delysid.gnu.org>
+
+       * keyboard.c (Fexecute_extended_command): Fix previous change.
+
+1997-12-07  Karl Heuer  <kwzh@gnu.org>
+
+       * process.c (read_process_output): Allocate for coding system, if
+       not already done.
+
+1997-12-03  Richard Stallman  <rms@gnu.org>
+
+       * emacs.c (main): Fix the stack-limit code to calculate
+       the ratio for re_max_failures accurately and leave some extra slack.
+
+       * lread.c (Feval_region): Doc correction (point does not move).
+
+1997-11-26  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * alloc.c (malloc_warning, display_malloc_warning): Return void.
+       (memory_full, free_cons, free_marker): Likewise.
+
+       * xdisp.c (message): Declare a as char *[3].
+
+       * lisp.h, print.c (internal_with_output_to_temp_buffer):
+       Don't declare arg type taken by 2nd arg.
+
+       * eval.c (do_autoload): Return void.
+
+       * sysdep.c (reset_sigio): Return void.
+       
+       * keyboard.c (Fsuspend_emacs): Cast init_sys_modes when calling
+       record_unwind_protect.
+
+       * keymap.c (describe_map): Fix decl of arg ELT_DESCRIBER.
+
+       * process.c (create_process, deactivate_process, close_process_descs):
+       (kill_buffer_processes, status_notify): Return void.
+       (Fstart_process): Cast arg to create_process.
+
+       * undo.c (record_insert, record_delete, record_marker_adjustment):
+       (record_change, record_first_change, record_property_change):
+       Return void.
+
+1997-11-27  Ken'ichi Handa  <handa@delysid.gnu.org>
+
+       * undo.c (record_change, record_first_change,
+       record_property_change): Declare them as void.
+       (record_delete, record_marker_adjustment): Declare them as void.
+       
+       * indent.c (invalidate_current_column): Declare it as void.
+
+       * fileio.c (report_file_error): Declare it as void.
+
+       * filelock.c (unlock_buffer): Declare it as void.
+
+       * buffer.c (nsberror, record_buffer, validate_region,
+       fix_overlay_before): Declare them as void.
+
+       * sysdep.c (discard_tty_input, init_baud_rate,
+       wait_for_termination, flush_pending_output, child_setup_tty,
+       sys_suspend, sys_subshell, init_sigio, request_sigio,
+       unrequest_sigio, init_sys_modes, get_frame_size, reset_sys_modes,
+       setup_pty): Declare them as void.
+
+       * keymap.c (describe_vector): Declaration fixed (delete `.' at the
+       tail of type `void'.
+       (fix_submap_inheritance): Declare it as void.
+
+       * keyboard.c (echo_now, record_auto_save, cmd_error_internal,
+       start_polling, stop_polling, bind_polling_period,
+       timer_start_idle, timer_stop_idle, gobble_input,
+       record_asynch_buffer_change, clear_input_pending,
+       stuff_buffered_input, clear_waiting_for_input,
+       quit_throw_to_read_char): Declare these as void.
+       (Fsuspend_emacs): Delete unnecessary extern declaration for
+       init_sys_mode.
+       (Fexecute_extended_command): Give Voverriding_local_map as the
+       first arg to Faref.
+
+1997-11-27  Ken'ichi Handa  <handa@melange.gnu.org>
+
+       * xterm.c (x_make_frame_visible): Give dummy arg to
+       input_poll_signal.
+
+       * xdisp.c (redisplay_preserve_echo_area): Declare it as void.
+
+       * charset.c (strwidth): Remove extra argument to buffer_display_table.
+       
+1997-11-25  Andreas Schwab  <schwab@delysid.gnu.org>
+
+       * charset.h (SPLIT_STRING): Remove extra argument to
+       split_non_ascii_string.
+
+       * window.c: Add prototypes.
+       (delete_window): Fix return type.
+       (set_window_height): Likewise.
+       (set_window_width): Likewise.
+       (change_window_height): Likewise.
+
+       * xselect.c (Fx_disown_selection_internal): Fix type of EVENT.
+
+       * window.h: Add prototypes.
+
+       * systty.h: Add prototypes.
+
+       * sysdep.c: Add prototypes.
+       (save_signal_handlers): Make static.
+       (restore_signal_handlers): Likewise.
+
+       * syntax.h: Add prototypes.
+
+       * search.c: Include "intervals.h" for prototypes.
+
+       * region-cache.h: Add prototypes.
+
+1997-11-24  Paul Eggert  <eggert@twinsun.com>
+
+       * fontset.c (free_fontset_data): Don't free null pointer.
+
+       The new GNU C library strftime needs the underlying host's
+       strftime for locale dependent formats.
+
+       * configure.in (AC_CHECK_FUNCS): Add strftime.
+       * src/config.in (HAVE_STRFTIME): New undef.
+       * src/editfns.c (emacs_strftime): New decl.
+       (Fformat_time_string): Doc fix: %b, %h, %B, %a, %A, and %p depend on
+       locale; don't use actual chars to describe %n and %t.
+
+       * src/Makefile.in (strftime.o), src/makefile.nt ($(BLD)\strftime.obj):
+       No need to compile with -Dstrftime=emacs_strftime any more.
+
+1997-11-22  Richard Stallman  <rms@gnu.org>
+
+       * syntax.c (back_comment): Handle 2-char comment starts
+       when reaching the first of the pair.
+
+1997-11-21  Andreas Schwab  <schwab@delysid.gnu.org>
+
+       * keymap.c (copy_keymap_1): Fix return type.
+       (accessible_keymaps_char_table): Likewise.
+       (where_is_internal_2): Likewise.
+       (describe_vector_princ): Likewise.
+       (describe_vector): Likewise.  Protoize parameter.
+       (Ftext_char_description): Fix type of `str'.
+
+       * keyboard.h: Add prototypes and more function declarations.
+
+       * intervals.h: Add prototypes and more function declarations.
+
+       * intervals.c (traverse_intervals): Protoize parameter.
+
+       * frame.h: Protoize function declarations.
+
+       * fontset.h: Add prototypes and more function declarations.
+
+       * fontset.c: Protoize functions declarations.
+
+       * fns.c (map_char_table): Protoize parameter.
+
+       * fileio.c (close_file_unwind): Fix return type and return nil.
+       (restore_point_unwind): Likewise.
+
+       * eval.c (record_unwind_protect): Protoize parameter.
+
+       * editfns.c (Fchar_to_string): Declare `workbuf' as unsigned char.
+       (general_insert_function): Likewise.  Protoize parameters.  Define
+       as returning nothing.
+
+       * doprnt.c (doprnt1): Declare `charbuf' as unsigned char.
+
+       * disptab.h: Add prototypes.  Remove declaration of obsolete
+       functions.
+
+       * coding.h: Add more prototypes and function declarations.
+
+       * charset.h: Add more prototypes and function declarations.
+
+       * ccl.c (setup_ccl_program): Define as returning nothing.
+
+       * ccl.h: Add declaration of setup_ccl_program and ccl_driver.
+
+       * category.h: Add declaration of word_boundary_p.
+
+       * buffer.h: Add more prototypes and function declarations.
+
+       * print.c (printchar): Declare `work' as unsigned char.
+       (internal_with_output_to_temp_buffer): Protoype parameter
+       FUNCTION.
+       (Ferror_message_string): Remove extra argument of
+       print_error_message.
+       (write_string): Define as returning nothing.
+       (write_string_1): Likewise.
+       (print_error_message): Likewise.
+
+       * minibuf.c (read_minibuf_unwind): Fix return type and return nil.
+       (temp_echo_area_glyphs): Define as returning nothing.
+       (init_minibuf_once): Likewise.
+       (syms_of_minibuf): Likewise.
+       (keys_of_minibuf): Likewise.
+
+       * marker.c (unchain_marker): Define as returning nothing.
+       (syms_of_marker): Likewise.
+
+       * macros.h: Declare finalize_kbd_macro_chars and
+       store_kbd_macro_char.
+
+       * macros.c (store_kbd_macro_char): Define as returning nothing.
+       (finalize_kbd_macro_chars): Likewise.
+       (init_macros): Likewise.
+       (syms_of_macros): Likewise.
+       (keys_of_macros): Likewise.
+
+       * lread.c (read1): Declare workbuf as unsigned char.
+       (dir_warning): Define as returning nothing.
+       (init_lread): Likewise.
+       (mapatoms_1): Likewise.
+       (map_obarray): Fix type of parameter FN.
+
+       * lisp.h: Add more prototypes and declarations.  Forward declare
+       struct window and struct frame so that it can be used in
+       prototypes.
+
+1997-11-20  Richard Stallman  <rms@gnu.org>
+
+       * sysdep.c (init_system_name): Don't use sysinfo.
+
+1997-11-20  Dave Love  <d.love@dl.ac.uk>
+
+       * syntax.c (skip_chars): Check type of `string' before using it.
+
+1997-11-20  Abraham Nahum  <miko@uxsrvc.tti.co.il>
+
+       * sysdep.c: Treat DGUX the same as USG.
+       * s/dgux4.h (LIBS_SYSTEM): Define this.
+
+1997-11-20  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * frame.c (frame_name_fnn_p, set_term_frame_name): New functions.
+       (store_frame_param): When the property name is "name", set the
+       name of the frame to its value.
+
+1997-11-16  Richard Stallman  <rms@gnu.org>
+
+       * keyboard.c (Fexecute_extended_command): Fix message wording.
+       Don't print a message for a binding for mouse-movement.
+
+1997-11-15  Richard Stallman  <rms@gnu.org>
+
+       * xdisp.c (minibuffer_scroll_overlap): New variable.
+       (syms_of_xdisp): Set up Lisp var.
+       (redisplay_window): Scroll minibuffer in a special way.
+
+       * xdisp.c (display_text_line): Make decision about which windows
+       highlight the region in just once place.
+       When minibuffer is selected, show the region in the previous window,
+
+       * charset.h (ASCII_BYTE_P): New macro.
+
+       * indent.c (position_indentation): Detect non-breaking space,
+       in either single-byte form or multibyte form (using category ' ').
+
+1997-11-15  Karl Heuer  <kwzh@gnu.org>
+
+       * xselect.c (x_handle_selection_request): Use xfree, not free.
+       (unexpect_property_change, x_get_window_property_as_lisp_data): Ditto.
+       (x_handle_property_notify, receive_incremental_selection): Ditto.
+       (selection_data_to_lisp_data, Fx_get_cut_buffer_internal): Ditto.
+
+1997-11-10  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c: Support for Japanese display on DOS/V systems.
+       (screen_old_address, screen_virtual_segment,
+       screen_virtual_offset): New variables.
+       (dosv_refresh_virtual_screen): New function.
+       (dos_direct_output, dos_set_window_size, IT_write_glyphs,
+       IT_clear_end_of_line, IT_clear_screen, IT_display_cursor,
+       IT_reset_terminal_modes, XMenuActivate, abort):  Call
+       dosv_refresh_virtual_screen if under DOS/V.
+       (IT_set_terminal_modes): If under DOS/V, update the address of
+       primary screen buffer.
+       (internal_terminal_init): Zero out screen_old_address, in case
+       Emacs was dumped under DOS/V.
+       (dos_get_saved_screen): Return failure indication if no screen was
+       saved.
+
+1997-11-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * callproc.c (Fcall_process): GCPRO infile, buffer, and
+       current_dir before encoding arguments.
+
+       * charset.c (find_charset_in_str): Handle the case that STR
+       contains invalid multibyte-form.
+
+       * coding.c (setup_coding_system): Initialize common_flags member
+       instead of require_flushing member of `*coding'.
+       (code_convert_region): Fix previous change.
+
+       * coding.h (struct coding_system): Add member common_flags, delete
+       member require_flushing.
+       (CODING_REQUIRE_FLUSHING_MASK, CODING_REQUIRE_DECODING_MASK,
+       CODING_REQUIRE_ENCODING_MASK, CODING_REQUIRE_DETECTION_MASK): New
+       macros.
+       (CODING_REQUIRE_NO_CONVERSION, CODING_MAY_REQUIRE_NO_CONVERSION):
+       These macros deleted.
+       (CODING_REQUIRE_FLUSHING, CODING_REQUIRE_DECODING,
+       CODING_REQUIRE_ENCODING, CODING_REQUIRE_DETECTION): New macros.
+
+       * editfns.c (Fsref): If IDX points an 8-bit code which is not part
+       of multibyte characters, return it.  Pay attention to
+       enable-multibyte-characters.
+
+       * fileio.c (Finsert_file_contents): Use new macros defined in
+       coding.h.
+       (Fwrite_region): Likewise.
+
+       * process.c (create_process): Encode arguments for the process.
+       (read_process_output): Use new macros defined in coding.h.
+       (send_process): Likewise.
+
+       * term.c (encode_terminal_code): Use new macros defined in
+       coding.h.
+       (write_glyphs): Likewise.
+
+1997-10-31  Richard Stallman  <rms@gnu.org>
+
+       * sysdep.c (init_system_name): If gethostname gives a proper
+       domain name, don't look farther for one.
+
+1997-10-29  Paul Eggert  <eggert@twinsun.com>
+
+       * m/alpha.h (DBL_MIN_REPLACEMENT): New macro.
+
+       * print.c (DBL_MIN): Use workaround if DBL_MIN_REPLACEMENT is defined.
+
+1997-10-27  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (Fchars_in_string): Pay attention to
+       enable-multibyte-characters.
+       (Fchars_in_region): Likewise.  Avoid error when the region ends in
+       the middle of a multibyte character.
+
+       * category.c (copy_category_table): Copy also the first extra slot
+       (vector of docstrings).
+       (Fcopy_category_table): Do not give unused second arg to
+       copy_category_table.
+
+1997-10-26  Kyle Jones  <kyle_jones@wonderworks.com>
+
+       * buffer.c (Fkill_buffer): Don't assume buffer is current.
+
+1997-10-24  Eirik Fuller  <eirik@netcom.com>
+
+       * xterm.c (XTread_socket): Check for bogus (0,0) location.
+
+1997-10-24  Richard Stallman  <rms@gnu.org>
+
+       * frame.c (Fmouse_pixel_position, Fmouse_position): 
+       Pass -1 as INSIST arg to mouse_position_hook.
+       * w32term.c (w32_mouse_position): Handle INSIST < 0.
+       * xterm.c (XTmouse_position): Handle INSIST < 0.
+
+1997-10-23  Simon Marshall  <simon@gnu.org>
+
+       * lread.c (Fload): Indicate in messages if source code is being
+       loaded and don't indicate when compiled code is being loaded.
+
+1997-10-23  Murata Shuuichirou  <mrt@mickey.ai.kyutech.ac.jp>
+
+       * coding.c (encode_designation_at_bol): Fix bug of finding graphic
+       registers which should be designated at bol.
+
+1997-10-23  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (CHAR_VALID_P): Renamed from VALID_CHAR_P, new
+       argument GENERICP.  Call char_valid_p for a non-ASCII character.
+
+       * charset.c (char_valid_p): New function
+       (Fchar_valid_p): New function.
+       (syms_of_charset): Declare it as a Lisp function.
+
+       * coding.h (struct iso2022_spec): New member
+       charset_revision_number.
+       (CODING_SPEC_ISO_SAFE_CHARSETS): This macro deleted.
+       (CODING_SPEC_ISO_REVISION_NUMBER): New macro.
+       (struct coding_system): Member `safe_charsets' is moved from
+       struct iso2022_spec.
+
+       * coding.c (Qsafe_charset): New variable.
+       (syms_of_coding): Initialize and staticpro it.
+       (detect_coding_iso2022): Handle SS2 and SS3 correctly.
+       (DECODE_ISO_CHARACTER): Recover from incorrect encoding in less
+       dangerous way.
+       (ENCODE_DESIGNATION): Get charset revision number by
+       CODING_SPEC_ISO_REVISION_NUMBER.
+       (setup_coding_system): Initialize the member safe_charsets from
+       the coding systems's safe-charsets property.  Initialize the
+       member charset_revision_number of struct iso2022_spec.
+       (ENCODE_ISO_CHARACTER_DIMENSION1): Adjusted for the change of
+       `safe_charsets' member.
+       (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
+       (code_convert_region): Restore the current point after calling a
+       function in coding->post_read_conversion.
+
+       * fns.c (map_char_table): Do not operate on invalid characters.
+       Pay attention to `enable-multibyte-characters'.
+
+1997-10-23  Richard Stallman  <rms@gnu.org>
+
+       * filelock.c (unlock_all_files): Don't call unlock_file;
+       do the work directly, and avoid calling Fexpand_file_name.
+
+       * xdisp.c (redisplay_window): If clip_changed, always run
+       window-scroll-functions.
+
+1997-10-23  Paul Eggert  <eggert@twinsun.com>
+
+       Don't generate useless digits when converting floating point to string.
+
+       * print.c (_MAXLDBL, _NMAXLDBL):
+       Define to work around hpux 7 <math.h> problem.
+       (<math.h>): Include.
+       (<float.h>, <stdlib.h>): Include if STDC_HEADERS.
+       (FLT_RADIX, DBL_MANT_DIG, DBL_DIG): Default to IEEE values.
+       (DOUBLE_DIGITS_BOUND): New macro.
+       (float_to_string): By default, generate the fewest number of digits
+       that represent the floating point value exactly.
+
+       * lisp.h (DBL_DIG): Remove; the default value is now set in print.c.
+       * data.c, floatfns.c: No need to include <float.h> before "lisp.h",
+       as the latter no longer defines DBL_DIG.
+
+1997-10-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * Makefile.in (xselect.o): Depend on buffer.h
+
+       * coding.c (Qcoding_system_spec): Deleted.
+       (Vcoding_system_list, Vcoding_system_alist): New variables.
+       (setup_coding_system): Adjusted for the change in mule.el.
+       (detect_eol): Likewise.
+       (Fcoding_system_spec): Changed to Lisp function in mule.el.
+       (Fcoding_system_p): Do not call Fcoding_system_spec.
+       (Fread_coding_system): Give Vcoding_system_alist to
+       Fcompleting_read as the arg TABLE.
+       (Fread_non_nil_coding_system): Likewise.  Give
+       Vcoding_system_history to Fcompleting_read as the arg HIST.
+       (syms_of_coding): Deleted codes for Qcoding_system and
+       Fcoding_system_spec.  Set up new Lisp variables.
+
+       * xselect.c: Include buffer.h.
+       (selection_data_to_lisp_data): Do not perform code conversion if
+       the default value of enable-multibyte-characters is nil.
+       (lisp_data_to_selection_data): Likewise.  Access the array
+       `charsets' in the correct way.
+
+1997-10-20  Richard Stallman  <rms@gnu.org>
+
+       * Makefile.in (LD_SWITCH_MACHINE_TEMACS): New macro (defaults empty).
+       (ALL_LDFLAGS): Use LD_SWITCH_MACHINE_TEMACS here.
+
+       * m/ibmrs6000.h (LD_SWITCH_MACHINE): Conditionalize this
+       on THIS_IS_MAKEFILE instead of on emacs.
+
+1997-10-20  Paul Eggert  <eggert@twinsun.com>
+
+       * strftime.c:
+       Switch back to GNU C Library version.
+       (__tz_compute): Remove unused decl.
+       (strftime): Use tm_zone even if _LIBC is defined.
+
+1997-10-19  Kurt Swanson  <kurt@dna.lth.se>
+
+       * window.c (syms_of_window): Doc fix.
+
+1997-10-16  Richard Stallman  <rms@gnu.org>
+
+       * buffer.c (init_buffer): Don't add /: to default dir if it's `/'.
+
+       * keymap.c (Faccessible_keymaps): Avoid alloca for fixed-size array.
+       (Fset_keymap_parent, Fcopy_keymap, Fwhere_is_internal): Likewise.
+
+       * minibuf.c (read_minibuf): Return DEFALT here, if minibuffer is empty.
+       (Fread_from_minibuffer, Fcompleting_read): Don't do that here.
+
+       * fileio.c (Fexpand_file_name): Avoid treating // specially
+       even in a relative file name.
+
+       * keymap.c (Fwhere_is_internal): some minor mode bindings weren't
+       being found.
+
+1997-10-15  Richard Stallman  <rms@gnu.org>
+
+       * window.c (replace_buffer_in_all_windows):
+       Pass 1 as MINI to window_loop.
+
+       * data.c (Fstring_to_number): Handle NEGATIVE for floats too.
+
+       * lread.c (read_list): Don't recognize Vload_file_name
+       specially if it is nil.
+
+1997-10-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * alloc.c (gc_sweep): Free memory blocks that contain only unused
+       objects.
+
+       * window.c (window_scroll): When scrolling forward and point is
+       inside the scroll margin put point at bottom of it, not at window
+       start.
+
+1997-10-13  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * callproc.c (child_setup) [WINDOWSNT]: Ensure standard handles
+       are reset even if spawnve fails.
+
+       * w32menu.c (Fx_popup_menu): Pass menu handle by value.
+
+1997-10-13  Eli Zaretskii  <eliz@melange.gnu.org>
+
+       * xdisp.c (decode_mode_spec): Display non-nil title as the frame's
+       name only on FRAME_WINDOW_P frames.
+
+       * frame.c (set_menu_bar_lines): Make the function external instead
+       of static (MS-DOS needs to call it).
+
+       * emacs.c (shut_down_emacs): Call `dos_cleanup'.
+
+       * msdos.c (mouse_get_pos): Remove reduntant call to `int86'.
+       Clear the mouse-moved flag for all frames.  Update last mouse
+       position.
+       (IT_set_menu_bar_lines): Remove.
+       (x_set_menu_bar_lines): Call `set_menu_bar_line' (from frame.c)
+       instead of duplicating its code.
+       (IT_set_frame_parameters): Support the `title' and `reverse'
+       properties.
+
+       * dosfns.h: Vdos_windows_version: declare.
+
+       * dosfns.c (__tb): Define.
+       (restore_parent_vm_title): New function.
+       (ms_windows_version): New function.
+       (w95_set_virtual_machine_title): New function
+       (x_set_title): New function.
+       (dos_cleanup): New function
+       (syms_of_dosfns): Define `dos-windows-version' Lisp variable.
+       (init_dosfns): Compute MS-Windows version and save the original
+       title of our DOS box.
+
+1997-10-10  Richard Stallman  <rms@gnu.org>
+
+       * s/netbsd.h (LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__.
+
+1997-10-01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * unexelf.c (round_up): Make arguments and return type unsigned.
+
+       * editfns.c: Repeat the argument list of format-time-string in the
+       comment for make-docstring.
+
+       * lread.c: Make sure that make-docfile does not see the doc string
+       of the disabled function eval-current-buffer.
+
+       * print.c (syms_of_print): Fix doc string of print-gensym.
+
+1997-10-01  Richard Stallman  <rms@psilocin.gnu.org>
+
+       * s/aix4-1.h [! HAVE_LIBXMU] (LIBXMU): Define as empty.
+       [! HAVE_LIBXMU] (NO_EDITRES): Defined.
+
+1997-09-30  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * fns.c (Qwidget_type): New variable.
+       (widget-plist-member, widget-put, widget-get, widget-apply): Move
+       here from lisp/wid-edit.el; translated into C for efficiency.
+       (syms_of_fns): Initialize Qwidget_type; defsubr new functions.
+
+1997-09-29  Karl Heuer  <kwzh@gnu.org>
+
+       * s/dgux4.h: Fix name of include file to match 1996-08-24 renaming.
+
+1997-09-27  Eirik Fuller  <eirik@netcom.com>
+
+       * ralloc.c (relinquish): When returning memory to the system,
+       watch out for the original data segment boundary.
+
+1997-09-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * keymap.c (push_key_description): Delete useless `if' statement.
+
+1997-09-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (find_charset_in_str): Return also charsets in
+       composite characters.
+
+1997-09-24  Dave Love  <d.love@dl.ac.uk>
+
+       * buffer.c (mode-line-format): Doc fix.
+
+1997-09-23  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * callproc.c (child_setup) [WINDOWSNT]: Change directory of
+       child instead of parent.
+
+1997-09-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Version 20.2 released.
+
+       * s/sol2-5.h (SYSTEM_MALLOC): Defined.
+
+1997-09-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Version 20.1 released.
+
+       * keyboard.c (command_loop_1): Add nonascii_insert_offset
+       before calling direct_output_for_insert.
+
+1997-09-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * indent.c (compute_motion): Ignore the display table entry for a
+       base leading code when dealing with multibyte characters.
+
+1997-09-14  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (Finsert_file_contents): If a coding system is
+       specified explicitly on visiting a new file, set
+       buffer-file-coding system of the new buffer to the specified one.
+
+1997-09-13  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * minibuf.c (syms_of_minibuf): Doc fix.
+
+1997-09-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c: When redisplaying the echo area, use the value
+       of enable-multibyte-characters from when message was called.
+       (message_enable_multibyte): New variable.
+       (message2_nolog): Set the variable.
+       (echo_area_display): Use that variable.
+       (display_string): New arg MULTIBYTE.  Callers changed.
+
+       * print.c (Fexternal_debugging_output): On Windows, output to debugger.
+
+1997-09-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * msdos.c: Use raw-text as coding system.
+
+1997-09-10  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (syms_of_msdos): Intern background-color and
+       foreground-color, and staticpro them.
+       (IT_set_frame_parameters): Use Qforeground_color and
+       Qbackground_color.
+
+1997-09-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (display_menu_bar): Include WINDOW_LEFT_MARGIN in maxendcol.
+
+       * process.c (create_process): Encode the new current dir.
+
+       * callproc.c (Fcall_process): Encode the new current dir.
+
+1997-09-09  Paul Eggert  <eggert@twinsun.com>
+
+       * s/sco5.h (BROKEN_MKTIME): Define.
+
+1997-09-09  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * xfns.c (x_screen_planes): Fix type of argument.
+
+       * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Add missing fourth
+       argument of update_syntax_table.
+       (UPDATE_SYNTAX_TABLE_BACKWARD): Likewise.
+       (UPDATE_SYNTAX_TABLE): Likewise.
+
+       * coding.c (encode_designation_at_bol): Fix type of local vars C1, C2.
+
+1997-09-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (ENCODE_FILE): New macro.
+       (Vfile_name_coding_system): New variable.
+       (syms_of_fileio): Set up Lisp variable.
+       (Fset_visited_file_modtime): Use ENCODE_FILE.
+       (Fcopy_file, Fmake_directory_internal, Fdelete_directory, Fdelete_file)
+       (Frename_file, Fadd_name_to_file, Ffile_exists_p Ffile_executable_p)
+       (Ffile_readable_p, Ffile_writable_p, Faccess_file, Ffile_symlink_p)
+       (Ffile_directory_p, Ffile_accessible_directory_p, Ffile_regular_p)
+       (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p, Fwrite_region)
+       (Finsert_file_contents, Fverify_visited_file_modtime): Likewise.
+
+       * fileio.c (Ffile_symlink_p): Decode the file name value.
+
+       * dired.c (ENCODE_FILE): New macro.
+       (Ffile_attributes): Encode the file names to operate on.
+       (file_name_completion): Do completion on encoded name, then decode.
+       (Fdirectory_files): Encode the argument.
+       Decode all result file names using Vfile_name_coding_system.
+
+       * coding.c (Fencode_coding_string, Fdecode_coding_string): Doc fixes.
+       
+1997-09-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lread.c (Feval_buffer): New arg FILENAME.
+
+       * buffer.c (modify_overlay): Update overlay_modiff of proper buffer.
+
+1997-09-07  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * firstfile.c: New file.
+       
+1997-09-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (display_string): Determine multibyte from current buffer,
+       not from W's buffer.
+
+1997-09-07  Kenneth Stailey  <kstailey@elbereth.disclosure.com>
+
+       * s/openbsd.h: New file.
+
+       * m/ns32000.h, m/sparc.h, m/alpha.h, m/pmax.h, unexalpha.c:
+       Test __OpenBSD__ along with __NetBSD__.
+
+       * unexelf.c: Test __OpenBSD__ along with __NetBSD__.
+       [__OpenBSD__]: Include sys/exec_elf.h.
+       
+1997-09-05  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (Ffind_operation_coding_system): If a function in
+       XXX-coding-system-alist returns a coding system (instead of cons
+       of coding systems), return cons of it.
+
+1997-09-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (Fread_coding_system):
+       New optional arg DEFAULT_CODING_SYSTEM.
+       * lisp.h (Fread_coding_system): Update decl.
+
+       * callint.c (Fcall_interactively): Pass new arg to Fread_coding_system.
+       
+1997-09-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * m/alpha.h (PTY_OPEN): Call sigblock properly.
+
+       * fileio.c (Fexpand_file_name): If default dir isn't string, use `/'.
+
+       * callproc.c (Fcall_process_region): Fix previous change:
+       never override Vcoding_system_for_write.
+
+       * m/alpha.h (PTY_OPEN): Save and restore the SIGCHLD handler.
+
+1997-09-04  Erik Naggum  <erik@naggum.no>
+
+       * emacs.c (main): Update Copyright message.
+
+1997-09-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * data.c (Faset): Simplify a statement in the char-table case.
+       This is to help some compilers.
+
+       * coding.c (Qcoding_system_history): New variable.
+       (syms_of_coding): Initialize it.
+       (Fread_coding_system): Use Qcoding_system_history.
+
+       * coding.c (setup_coding_system, Ffind_operation_coding_system)
+       (Fdetect_coding_region, Fread_coding_system):
+       Don't initialize a Lisp_Object.
+
+1997-09-03  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * emacs.c (main): Call run_time_remap earlier, before any use of stdio.
+
+1997-09-03  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * minibuf.c (read_minibuf): Fix use of Ffboundp.
+
+1997-09-03  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * lastfile.c (my_endbss) [WINDOWSNT]: New variable.
+
+1997-09-03  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (detect_coding_mask): Re-work previous change.
+       (detect_eol): Fix use of == instead of -.
+
+1997-09-03  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_coding_mask): Cancel previous change.  Always
+       include CODING_CATEGORY_MASK_RAW_TEXT in the return value.
+
+1997-09-02  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * makefile.nt (TLIB0, TOBJ, OBJ0): New macro.
+       (LINK_FLAGS): Separate debugging info from the executable.
+       (LIBS): Include TLIB0.
+       (TEMACS): Link with TLIB0.
+       (EMACS): Copy temacs map file to emacs map file.
+       Update file dependencies.
+
+       * unexw32.c: Include config.h and time.h.
+       Declare extern data and functions.
+       (file_data): Move definition from w32heap.c.
+       (_start): Add debug hook for when profiling.
+       Spoof executable name when using profilers.
+       Invoke sbrk immediately when undumped.
+       (unexec): Print error messages when input and output dump files
+       cannot be opened.
+       Reset header checksum.
+       (open_input_file, open_output_file): Return status instead of aborting.
+       (get_section_size): Handle different linkers.
+       (find_section, rva_to_section): New functions.
+       (get_section_info) [SEPARATE_BSS_SECTION]: Make code for using
+       a separate .bss section conditional.
+       Use my_begbss and my_endbss to determine .bss size by default.
+       Look for Emacs data in EMDATA section.
+       
+       * w32.c: Include stddef.h.
+       (getwd): Delete macro.
+       (startup_dir): New variable.
+       (getwd): Return directory in which Emacs started.
+       (init_user_info): Set SHELL environment variable if not set.
+       (parse_root, get_long_basename, w32_get_long_filename): New functions.
+       (init_environment): Look for CMDPROXY.
+       Make sure that PATH and COMSPEC are capitalized in the environment.
+       Record startup directory.
+       (get_emacs_configuration, sys_rename): Use OS_WIN95.
+       (map_w32_filename): Calculate returned string correctly.
+
+       (sys_fopen): Use _fdopen.
+       (sys_link): Support NTFS links.
+       (sys_rename): Use a long file name for temporary name.
+       (sys_pipe): Make pipes binary and non-inheritable.
+       (sys_read, sys_write): Spoof text mode translation for pipes 
+       and sockets.
+       
+       (hashval): Simplify.
+       (generate_inode_val): Use long file name version of file.
+
+       (stat): Optimize by using active readdir info.
+       Set fake_inode to 0 for directories.
+       Set fake_inode to xor of file indexes for files.
+       Don't use generate_inode_val to set inode value.
+
+       (volume_info_data): Renamed from volume_info.
+       (volume_info, fixed_drives, volume_cache): New variables.
+       (DRIVE_INDEX, VOLINFO_STILL_VALID): New macros.
+       (lookup_volume_info, add_volume_info, GetCachedVolumeInformation):
+       New functions.
+       (get_volume_info): Use volume_info_data.
+       Use GetCachedVolumeInformation. 
+
+       (init_ntproc): No longer restrict to one DOS subprocess.
+       Use CRT _open and _fdopen.
+       Cache fixed drive information.
+       
+       * w32.h: Remove debugging macros.
+       (child_process): Remove is_dos_process field, add hwnd handle field.
+       (FILE_LAST_CR): New macro.
+       (w32_get_long_filename): Declare extern.
+
+       * w32console.c: (DebPrint, reset_kbd, unset_kbd, take_console): 
+       Delete functions.
+       (keyboard_init_hook): Delete variable.
+       (prev_console_cursor) [! USE_SEPARATE_SCREEN]: New variable.
+       (reset_terminal_modes) [! USE_SEPARATE_SCREEN]: Reset cursor info.
+       (initialize_w32_display) [USE_SEPARATE_SCREEN]: Create separate
+       screen buffer.
+       (ctrl_c_handler): Only ignore interrupts when interactive.
+       (set_terminal_modes): Set input mode.
+       (initialize_w32_display): Record original settings.
+       Don't reset cursor or clear frame.
+
+       * w32fns.c: Include limits.h and errno.h.
+       Declare externs from other files.
+       (w32_in_use): New variable.     
+       (check_w32, have_menus_p, x_set_title, w32_msg_worker,
+       find_deferred_msg, send_deferred_msg, complete_deferred_msg,
+       Fw32_focus_frame, W32-send-sys-command): New functions.
+       (last_mouse_movement_time): Delete variable.
+
+       (x_frame_parms): Alphabetize.  Add title parm.
+       (x_set_icon_name): Use title if set.
+       (x_set_menu_bar_lines): Ensure client area remains the same.
+       (x_set_name): Don't update if the name is the same.
+       Use title for name if available.
+       (x_icon): Initial support for creating window iconified.
+       (x_display_info_for_name): Set w32_in_use.
+       (Fx_open_connection): Validate Vwindow_system.  Set w32_in_use.
+       
+       (w32_create_window): Set window size to frame dimensions.
+       Set font width, line height, border, scrollbar indexes.
+       Don't set X and Y units indexes.
+       (w32_msg_pump): Renamed from windows_msg_worker.
+       Make static.  Don't post done message. No longer handle
+       create scrollbar message.  Don't abort on anomalous messages.
+       Return when completion detected.
+       (w32_wnd_proc): Keep track of button state.     
+       For WINDOWPOSCHANGING, force window dimensions to be multiples
+       of character dimensions.
+       Handle CREATESCROLLBAR.
+       Use correct arguments for SHOWWINDOW.
+       For SETWINDOWPOS, use WINDOWPOS structure.
+
+       (my_create_window): Abort if message post fails.
+       (Fx_create_frame): Use title instead of name.
+       GC protect frame before make_frame_without_minibuffer.
+       Set icon name.
+       Use courier new as default font (has bold and italic).
+       Set BufferPredicate and Title default parameters.
+       
+       (x_to_w32_weight): Support semibold weight.
+       (x_to_w32_charset): Map # to numeric charset identifier.
+       (w32_to_x_charset): Encode unknown charsets as a number.
+       (enum_font_cb2): Don't restrict to ANSI and OEM charsets.
+
+       (Fx_color_values): Set high and low words of color values.
+
+       (syms_of_w32fns): Zero w32_in_use.  defsubr new functions.
+
+       * w32heap.c (os_subtype): New variable.
+       (cache_system_info): Set os_subtype.
+       (recreate_heap): Update system information after loading heap.
+
+       * w32heap.h: Enumerate operating system types.
+       Declare extern data and functions.
+       Move file_data struct definition here.
+       (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): New macros.
+
+       * w32inevt.c: Declare externs from other files.
+       (w32_kbd_mods_to_emacs): New parameter KEY.
+       Use w32-capslock-is-shiftlock for old behavior.
+       (key_event): Pass in new parameter to w32_kbd_mods_to_emacs.    
+       
+       * w32menu.c (init_menu_items): Disable code.
+       (x_activate_menubar): New function.
+       (initialize_frame_menubar): Pass in new param to set_frame_menubar.
+       
+       * w32proc.c: Include w32heap.h.
+       (Vw32_start_process_share_console, Vw32_generate_fake_inodes,
+       Vw32_get_true_file_attributes, Qhigh, Qlow, process_dir): 
+       New variables.
+       (find_child_console, set_process_dir, Fw32_short_file_name,
+       Fw32_long_file_name, Fw32_set_process_priority, Fw32_get_locale_info,
+       Fw32_get_current_locale_id, Fw32_get_default_local_id, 
+       Fw32_set_current_locale): New functions.
+       (CORRECT_DIR_SEPS): New macro.
+       (create_child): Create a new console if subprocs don't share parent's.
+       (reap_subprocess): Don't check for dos subprocesses.  
+       Add debug support.
+       (sys_wait): Ignore socket child_procs.
+       Check for quit while waiting.
+       (w32_executable_type): Renamed from w32_is_dos_binary.
+       Check for dos and Cygnus executables.
+       (sys_spawnve): Always use cmdproxy if spawning a dos app.
+       Use quotes to quote arguments for Cygnus apps, backslashes otherwise.
+       Handle escape characters.  Escape quotes at start and end, too.
+       (sys_select): Treat null timeout as infinite.
+       Add handles of child processes.
+       Loop over handles round robin to ensure fairness.
+       (sys_kill): Send ctrl-break and ctrl-c keystrokes to subprocesses
+       on SIGINT if not sharing consoles, otherwise generate ctrl-break event.
+       On other termination signals, send WM_QUIT message to Win95 apps
+       and WM_CLOSE to NT apps.
+       (syms_of_ntproc): Intern new symbols.  defsubr new functions.
+       DEFVAR new variables.
+
+       * w32term.c (SIF_*): Win95 macros defined for NT.
+       (struct tagSCROLLINFO): Win95 struct defined for NT.
+       (vertical_scroll_bar_min_handle, vertical_scroll_bar_top_border,
+       vertical_scroll_bar_bottom_border, last_scroll_bar_drag_pos,
+       Vw32_gab_focus_on_raise, Vw32_capslock_is_shiftlock): New
+       variables.
+       (w32_frame_up_to_date): Block input.
+       (do_line_dance): Use DC while erasing, release at end.
+       (show_mouse_face): Use column and endcolumn calculated at start of
+       loop.
+       (my_create_scrollbar, my_show_window, my_set_window_pos,
+       my_set_focus) [! ATTACH_THREADS]: Send message to window instead
+       of invoking Windows procedure.
+       (x_scroll_bar_create, x_scroll_bar_move, x_scroll_bar_handle_click,
+       x_scroll_bar_report_motion): Use SCROLLINFO for proportional handle.
+       (x_scroll_bar_set_handle): Create proportional sized scroll handle.
+       (w32_set_vertical_scroll_bar): Size handle according to how much
+       is showing in window.
+       (x_scroll_bar_set_report_motion): Use top_range, calculated above.
+       (x_scroll_bar_clear): Hide scroll bar until ready to repaint.
+       (show_scroll_bars): Pass in frame to my_show_window.
+
+       (w32_read_socket): Distinguish between invisible and obscured frames
+       when handling PAINT messages.
+       Fixup off-by-one calculation for PAINT and SIZE.
+       Pass in new parameter to w32_kbd_mods_to_emacs.
+       Handle WM_DISPLAYCHANGE, WINDOWPOSCHANGED, ACTIVATE, SHOWWINDOW,
+       INITMENU, and ACTIVATEAPP messages.
+       Explicitly check for visibile and obscured frames, and to see if 
+       any event should cause a redisplay.
+
+       (x_display_bar_cursor): Don't check whether frame is updating here.
+       (x_display_cursor): Check it here instead.
+       (x_set_offset) [HAVE_NTGUI]: Don't add border widths.
+       Set NOACTIVATE when setting window position.
+       (x_set_window_size): Fixup off-by-one calculation when setting
+       window position.  Mark frame garbaged earlier.  Clear mouse
+       highlighting state.
+       (x_focus_on_frame): Set focus by making frame the foreground window.
+       (x_raise_frame): Support frames to be raised without grabbing focus.
+       (x_lower_frame): Set NOACTIVATE flag when setting window position.
+       (x_make_frame_visible, x_make_frame_invisible): Pass in frame 
+       to my_show_window.
+       (x_iconify_frame): Send a MINIMIZE message to the window.       
+       (x_wm_set_size_hint): Set font width, line height, border,
+       and scroll bar indexes instead of X and Y unit indexes.
+
+       (w32_initialize): Set input mode.  Use w32_msg_worker instead
+       of windows_msg_worker.  Dynamically link proportional scroll bar
+       functions and intialize proportional scroll bar variables.
+       (syms_of_w32term): DEFVAR new variables.
+
+       * w32term.h (w32_output): New fields menubar_widget, menubar_active,
+       and pending_menu_activation.
+       (VERTICAL_SCROLL_BAR_*): Use proportional scroll bar variables. 
+       (W32WindowPos): Delete definition.
+       (WM_EMACS_SETFOCUS, WND_*_INDEX): New macros.
+       (deferred_msg): New structure.
+
+       * w32xfns.c (have_menus_p): Move to w32fns.c.
+
+       * s/ms-w32.h (INTERRUPT_INPUT): Don't define.
+       (bcopy): Use memmove instead of memcpy.
+       (GAP_USE_BCOPY, BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE): Define.
+       Undef system calls before redefining.  Emulated calls redefined
+       to sys_*, real calls redefined to _*.
+       (DebPrint): Macro defined.
+       
+1997-09-02  Michael Welsh Duggan  <md5i@schenley.com>
+
+       * w32term.h (WM_MOUSEWHEEL): Define if not already defined.
+       Necessary for pre VC5.0 distribution.
+       (WM_EMACS_TRACKPOPUPMENU): New Macro.
+
+       * w32term.c (construct_mouse_wheel): New function.  Constructs an
+       input event from a WM_MOUSEWHEEL message.
+       (w32_read_socket): Handle WM_MOUSEWHEEL.
+
+       * w32fns.c (win32_wnd_proc): Capture and handle WM_MOUSEWHEEL events.
+       Capture and handle WM_EMACS_TRACKPOPUPMENU events.
+       Allow a dragged selection from a popup menu started up 
+       by a mouse down event.
+       (x_to_win32_color): Support for X Windows RGB string specifications.
+
+       * w32menu.c (get_frame_menubar_event): Check for the possibility
+       of a menu-bar button.  A menu-bar button is a caption on the menu
+       bar with no submenu.
+       (set_frame_menubar): Correctly handle menu-bar buttons.
+       (add_menu_item): Equiv parameter send and paid attention to.
+       (keymap_panes, list_of_panes): Use CreatePopupMenu.
+       (single_keymap_panes): Use CreatePopupMenu.  Send key descriptions
+       to add_menu_item.
+       (list_of_items): Use CreatePopupMenu.  Send nil description to
+       add_menu_item.
+       (get_menu_event): Send keymap instead of menu to get_keymap_event.
+       (Fx_popup_menu): Extra parameter to mouse_position_hook.  Don't
+       send address of menu to win32menu_show.
+       (win32menu_show): Send message to call popup menu rather than
+       trying directly.  get_menu_event should take an address.
+       Call eat_mouse_events in order to get rid of any extraneous 
+       mouse events.
+       (list_of_panes): Only bring up one pane if the length of the list
+       of panes is one.
+
+1997-09-02  Nico Francois  <nico.francois@scala.nl>
+       * w32menu.c (single_keymap_panes): Fixed problem with 'descrip'
+       lisp object not being protected properly (GCPRO).
+       (get_single_keymap_event): Fixed problem with 'descrip' lisp
+       object not being protected properly (GCPRO).
+       (name_is_separator): New function.
+       (list_of_panes): If a pane's name is empty ("") items are now
+       placed in the main popup instead of a blank-named submenu.  This
+       seems to be an undocumented feature of x-popup-menu.
+       (list_of_items): New argument HMENU.
+       Use 1 and 0 instead of Qt and Qnil for enable in add_menu_item
+
+1997-09-02  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32.c (init_environment): Don't look for INFOPATH.
+
+       * w32fns.c (w32_wnd_proc): Pass on WM_DISPLAYCHANGE messages.
+
+       * w32heap.c: Don't use data_seg pragma here.
+       (_heap_init, _heap_term) [_MSC_VER >= 1000]: New functions that
+       override CRT routines.
+
+       * w32inevt.c (key_event): New parameter isdead. Set isdead if the
+       key press was done using a dead key.
+
+       * w32term.c (w32_read_socket): Pass in new parameter to key_event.
+       Let key_event determine whether key is dead.
+       For MOVE, use x_real_positions to map to client coords.
+       (x_set_mouse_pixel_position): Offset to use client area as origin.
+
+       * s/ms-w32.h: Use pragmas to place Emacs initialized data in
+       EMDATA segment, and Emacs uninitialized data in EMBSS segment.
+
+1997-09-02  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * fileio.c (Fadd_name_to_file) [WINDOWSNT]: Remove conditional.
+
+       * frame.h (FRAME_OBSCURED_P): New macro.
+       (FRAME_SAMPLE_VISIBILITY): Distinguish between invisible and obscured.
+
+       * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Support
+       menu_bar_activate_event.
+       (set-input-mode) [DOS_NT]: Do not invoke reset and init sys modes.
+
+       * sysdep.c (sys_subshell) [DOS_NT]: Save and restore parent's
+       working directory.
+       (sys_subshell) [WINDOWSNT]: Share MSDOS code. Don't take console.
+       (init_sys_modes, reset_sys_modes) [WINDOWSNT]: Do it even with 
+       a read_socket_hook.
+
+       * xdisp.c (redisplay_internal): Check to see if frame is not obscured
+       as well as visible.
+       
+1997-09-02  Michael Welsh Duggan  <md5i@schenley.com>
+
+       * lisp.h: Declare discard_mouse_events.
+
+       * keyboard.c (Qmouse_wheel) [WINDOWSNT]: New variable.
+       (discard_mouse_events): New function.
+       (mouse_wheel_syms) [WINDOWSNT]: New variable.
+       (lispy_mouse_wheel_names) [WINDOWSNT]: New variable.
+       (make_lispy_event) [WINDOWSNT]: Make mouse-wheel events.
+       (syms_of_keyboard) [WINDOWSNT]: Define Qmouse_wheel and
+       mouse_wheel_syms.
+
+       * termhooks.h (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
+
+1997-09-02  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * fileio.c (Fexpand_file_name) [WINDOWSNT]: When stripping
+       drive letter, be careful not to create a UNC filename.
+
+1997-09-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (detect_coding_mask): Add in CODING_CATEGORY_MASK_RAW_TEXT
+       in the detect_coding_iso2022 case.
+
+       * minibuf.c (Fread_from_minibuffer, Fread_string): Doc fixes.
+       (Fread_no_blanks_input, Fcompleting_read): Doc fixes.   
+
+       * unexnext.c: Include unistd.h instead of libc.h.
+
+1997-09-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/hpux9.h (HAVE_RINT): Add #undef.
+
+       * floatfns.c (emacs_rint): Define this,
+       either as a function or as a macro for rint.
+       (Fround, Ffround): Use emacs_rint, not rint directly.
+
+       * window.c (syms_of_window): Doc fix.
+
+       * fileio.c (Finsert_file_contents): Fix previous change--don't
+       call Fboundp on Vset_auto_coding_function, just check non-nil.
+
+1997-09-01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * alloc.c (free_float, free_cons): Don't use the same field for
+       chaining as for marking.
+       (make_float, Fcons, gc_sweep): Corresponding changes.
+
+1997-09-01  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (LEADING_CODE_PRIVATE_22): Comment fixed.
+
+       * process.c (read_process_output): Index for
+       proc_encode_coding_system should be p->outfd (not `channel' which
+       is p->infd).
+
+       * fileio.c (Vset_auto_coding_function): Name changed from
+       Vauto_file_coding_system.
+       (syms_of_fileio): Adjusted for the above change.  Doc change.
+       (Finsert_file_contents): The argument for Vset_auto_coding is a
+       concatination of the heading 1K-byte and the tailing 3K-byte.
+
+       * cmds.c (internal_self_insert): Only set TARGET_CLM when C2 is tab.
+       When multibyte characters are disabled,
+       use 1 as the width of the inserted character.
+
+1997-08-31  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * category.c (describe_category): Handle a sub-chartable.
+
+1997-08-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * sysdep.c (init_system_name): Don't try to use getdomainname.
+
+1997-08-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * dispnew.c (change_frame_size_1): Save current buffer
+       around calling Fset_window_buffer.
+
+       * lread.c (Fload): Fix doc syntax.
+
+       * m/intel386.h (HAVE_ALLOCA): Do define this, if SOLARIS2.
+
+1997-08-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lread.c (Fload): If FILE arg ends in .el or .elc,
+       don't insist on adding a suffix.
+
+1997-08-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * callproc.c (Fcall_process): Set EOL conversion type to LF when
+       binary-process-output is non-nil.
+       (Fcall_process_region): binary-process-XXXput only determines EOL
+       conversion; if it is nil, convert LF <-> CRLF.  Don't bind
+       coding-system-for-read, it is done in Fcall_process.
+
+1997-08-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * alloc.c (free_marker): Call unchain_marker.
+
+1997-08-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_eol): Do not select no-conversion even if EOL
+       format of raw-text file is inconsistent.  Just read it by
+       raw-text-unix.
+       (Fdetect_coding_region): Do not select no-conversion even if EOL
+       format of raw-text file is inconsistent.
+       
+1997-08-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (Qno_conversion, Qundecided): New variables.
+       (syms_of_coding): Initialize and staticpro them.
+       (coding_category_name): Include "coding-category-raw-test".
+       (setup_coding_system): Handle coding_type_raw_text.
+       (detect_coding_mask): Include CODING_CATEGORY_MASK_RAW_TEXT in the
+       return value instead of CODING_CATEGORY_MASK_BINARY.
+       (detect_coding): Do not check the case that `mask' is 0, which
+       never happens now.
+       (detect_eol_type): If EOL format is inconsistent, return
+       CODING_EOL_INCONSISTENT.
+       (detect_eol): If EOL format of raw-text file is inconsistent,
+       detect it as no-conversion.
+       (decode_coding): Handle coding_type_raw_text.
+       (encode_coding): Likewise.
+       (Fdetect_coding_region): Ajusted for the above changes.
+       (shrink_conversion_area): Handle coding_type_raw_text.
+
+       * coding.h (coding_type): New member coding_type_raw_text.
+       (CODING_EOL_INCONSISTENT): New macro.
+       (CODING_REQUIRE_NO_CONVERSION): Check also coding_type_raw_text.
+       (CODING_MAY_REQUIRE_NO_CONVERSION): Likewise.
+       (CODING_CATEGORY_IDX_RAW_TEXT): New macro.
+       (CODING_CATEGORY_MASK_RAW_TEXT): New macro.
+
+1997-08-28  Eli Zaretskii  <eliz@psilocin.gnu.ai.mit.edu>
+
+       * msdos.c: Add coding: tag, to prevent Emacs from interpreting
+       binary strings.
+
+1997-08-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xmenu.c (free_frame_menubar): Clear menubar_height field.
+
+1997-08-26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * xdisp.c (redisplay_window): When trying to scroll conservatively,
+       correctly take the scroll margin into account.
+
+       * buffer.c: Include errno.h.
+       (init_buffer) [HAVE_GETCWD]: Fix error message for getcwd failure.
+
+       * fileio.c (Finsert_file_contents): Fix use of Fboundp.
+
+       * fns.c (concat): Fix use of Fchar_bytes.
+
+       * lisp.h: Declare Fchar_bytes.
+
+1997-08-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * minibuf.c (read_minibuf): Inherit enable-multibyte-characters
+       along with the input method, if requested.
+
+1997-08-26  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xdisp.c (decode_mode_spec): For %Z and %z, put keyboard and
+       terminal coding systems into modeline on MSDOS frames as well.
+
+1997-08-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * minibuf.c (Qcurrent_input_method, Qactivate_input_method): New vars.
+       (syms_of_minibuf): Intern and staticpro them.
+       (read_minibuf): New argument INHERIT_INPUT_METHOD.  If it is
+       nonzero, remember the current input method in INPUT_METHOD, and
+       activate it after switching to the minibuffer.
+       (Fread_from_minibuffer): New argument INHERIT_INPUT_METHOD.
+       (Fread_minibuffer): Call read_minibuf with INHERIT_INPUT_METHOD nil.
+       (Fread_string): New argument INHERIT_INPUT_METHOD.
+       (Fread_no_blanks_input): Likewise.
+       (Fread_command): Call Fcompleting_read with INHERIT_INPUT_METHOD nil.
+       (Fread_function, Fread_variable, Fread_buffer): Likewise
+       (Fcompleting_read): New argument INHERIT_INPUT_METHOD.
+
+       * lisp.h (DEFUN_ARGS_8): New macro.
+       (Fcompleting_read, Fread_from_minibuffer, Fread_string,
+       Fread_no_blanks_input): Number of arguments fixed.
+
+       * eval.c (Feval): Handle a subr which takes 8 arguments.
+       (Ffuncall): Likewise.
+
+       * coding.c (Fread_non_nil_coding_system): Supply the arg
+       INHERIT-INPUT-METHOD to Fcompleting_read.
+       (Fread_coding_system): Likewise.
+
+       * callint.c (Finteractive): Document the code letter `M'.
+       (Fcall_interactively): Call Fcompleting_read,
+       Fread_from_minibuffer, and Fread_string with a proper value for
+       the arg INHERIT-INPUT-METHOD.  Handle the code letter `M'.
+
+       * fileio.c (Fwrite_region): Convert EOL format even if
+       enable-multibyte-characters is nil.
+       (Fread_file_name): Call Fcompleting_read with INHERIT-INPUT-METHOD
+       nil.
+
+       * keyboard.c (Fexecute_extended_command): Call Fread_from_minibuffer
+       with INHERIT-INPUT-METHOD nil.
+
+       * fns.c (Fyes_or_no_p): Likewise.
+
+       * mocklisp.c (Fml_arg): Call Fread_string with
+       INHERIT-INPUT-METHOD nil.
+
+       * search.c (Fsearch_backward): Inherit the current input method on
+       reading STRING.
+       (Fsearch_forward): Likewise.
+
+1997-08-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * frame.c (Fframe_pixel_height): Doc fix.
+
+       * Makefile.in (emacs): Put dash at beginning.
+
+1997-08-24  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * Makefile.in (xrdb.o): Depend on paths.h.
+
+1997-08-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * config.in (KERBEROS5, HAVE_LIBKRB4, HAVE_LIBDES425, HAVE_LIBKRB5)
+       (HAVE_LIBCRYPTO, HAVE_LIBCOM_ERR, HAVE_KRB5_H, HAVE_DES_H, HAVE_KRB_H)
+       (HAVE_KERBEROSIV_DES_H, HAVE_KERBEROSIV_KRB_H, HAVE_KERBEROS_DES_H)
+       (HAVE_KERBEROS_KRB_H, HAVE_COM_ERR_H): Add undefs.
+
+       * callproc.c (init_callproc): Don't warn about missing
+       arch-dep data directory, while preparing to dump.
+
+       * puresize.h (BASE_PURESIZE): Increased by 10k.
+
+1997-08-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (LIB_MOTIF_EXTRA): New variable.
+       (LIBW): Use LIB_MOTIF_EXTRA.
+       * config.in (HAVE_MOTIF_2_1): Add #undef.
+
+       * fileio.c (Fmake_temp_name): Doc fix.
+
+       * buffer.c (syms_of_buffer): Doc fixes.
+
+1997-08-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * xdisp.c (redisplay_window): Don't try using last_point_x
+       if point is in the left margin of an hscroll'ed window.
+
+1997-08-21  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (syms_of_fileio): Fix previous change.
+
+       * coding.c (detect_eol): If the coding system is an alias, get
+       eol-type from the base of it.
+
+1997-08-21  Kenichi HANDA  <handa@etl.go.jp>
+
+       * fileio.c (Vauto_file_coding_system_function): New variable.
+       (Finsert_file_contents): Decide coding system after opening a
+       file.  Call functions set in Vauto_file_coding_system_function.
+       (syms_of_fileio): Declare auto-file-coding-system-function as a
+       Lisp variable.
+
+       * fontset.c (Valternate_fontname_alist): Name changed from
+       Valternative_fontname_alist.
+       (syms_of_fontset): Adjusted for the above change.
+       
+       * fontset.h: Adjusted for the name change of
+       Valternate_fontname_alist.
+
+       * xterm.c (x_list_fonts): Adjusted for the name change of
+       Valternate_fontname_alist.
+
+1997-08-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * charset.c (Fchars_in_region): Fix gap handling.
+
+       * editfns.c (NULL): Define, if not defined.
+
+1997-08-19  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * fileio.c (Finsert_file_contents): Fix previous change.
+
+1997-08-18  Ken'ichi Handa  <handa@albert.gnu.ai.mit.edu>
+
+       * charset.c (Fchars_in_region): Renamed form Fcount_chars_region.
+       (syms_of_charset): Define Schars_in_region as a Lisp subroutine
+       instead of Scount_chars_region.
+
+1997-08-17  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Fdo_auto_save): If open fails, make lispstream nil.
+
+1997-08-16  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * fileio.c (Finsert_file_contents) [DOS_NT]: Set buffer_file_type
+       according to eol conversion used on file.
+
+1997-08-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (xselect.o): Fix previous change.
+
+       * minibuf.c (read_minibuf): New arg disable_multibyte.
+       (Fcompleting_read): Pass 1 for disable_multibyte if
+       the completion table is read-file-name-internal.
+
+       * xrdb.c: Include paths.h.
+       (get_system_app): Use PATH_X_DEFAULTS.
+
+       * paths.in (PATH_X_DEFAULTS): New macro.
+
+       * term.c (term_get_fkeys_1): Use kH as alternate for move-to-last-line.
+
+       * charset.c: Many doc fixes.
+       (Fcount_chars_region): New function.
+       (min, max): New macros.
+
+       * fns.c (Flength): Doc fix.
+
+       * editfns.c (Fchar_before): Do range check before decrement.
+
+1997-08-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.h (CODING_FLAG_ISO_LATIN_EXTRA): New macro.
+
+       * coding.c (Vmicrosoft_code_table): This variable deleted.
+       (Vlatin_extra_code_table): New variable.
+       (detect_coding_iso2022): Pay attention to Vlatin_extra_code_table.
+       (detect_coding_mask): Likewise.
+       (setup_coding_system): Handle a new FLAGS element
+       ACCEPT-LATIN-EXTRA-CODE.
+       (syms_of_coding): Delete code for Vmicrosoft_code_table.
+       Declare latin-extra-code-table as Lisp variable, and initialize.
+
+1997-08-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (xselect.o): Depend on coding.h.
+
+       * s/osf1.h (SOCKLEN_TYPE): New macro definition.
+
+1997-08-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * xdisp.c (COERCE_MARKER): Use Fmarker_position instead of
+       marker_position so that it works with a marker that points nowhere.
+       (redisplay_window): Check that Voverlay_arrow_position is a
+       marker before accessing it as such.
+
+1997-08-14  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * emacs.c (main): Update re_max_failures so regex.c won't overflow
+       the stack, except when dumping.
+
+1997-08-13  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (redisplay_window): When handling just cursor motion,
+       do not subtract hscroll when accessing last_point_x.
+       (display_text_line): Add WINDOW_LEFT_MARGIN into hpos
+       later on, after handling hscroll and minibuffer prompt.
+
+1997-08-13  Eli Zaretskii  <eliz@psilocin.gnu.ai.mit.edu>
+
+       * msdos.c (syms_of_msdos): Define and bind x-bitmap-file-path and
+       delete-exited-processes, to prevent cus-start.el from complaining.
+
+1997-08-13  Kazushi (Jam) Marukawa  <maru@pdapsun2.trc.rwcp.or.jp>
+
+       * filelock.c (lock_file): Use %lu instead of %d in sprintf because
+       the variable named pid is unsigned long.
+
+       * unexalpha.c (unexec): Cast arg to fprintf.
+
+1997-08-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * alloc.c (free_marker): New function.
+
+       * insdel.c (signal_before_change): Relocate START and END
+       using markers for subsequent functions, when we run a function.
+
+       * Makefile.in (emacs): Warn about shadowed standard libraries here.
+
+1997-08-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * emacs.c (main): Fix previous change.
+
+1997-08-11 +03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dosfns.c (init_dosfns): Avoid calling DOS memory-allocation
+       service, NT DPMI server will crash Emacs in DOS box, if we do.
+
+       * msdos.c (IT_set_frame_parameters): Actually store the frame
+       parameters in the frame parameters' alist.
+
+       * msdos.c (init_environment): Set Emacs root directory properly when
+       the executable is in its `src' subdirectory, as under a debugger.
+       (IT_set_face): If termscript is in use, print the number of the
+       face as well.
+
+1997-08-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * emacs.c (main) [__FreeBSD__ && PROFILING]: Add code for profiling.
+
+1997-08-10  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (Qbackground_color, Qforeground_color): Define vars.
+
+       * dosfns.c (Finsert_startup_screen): Call `insert_char' with a
+       single argument.
+
+1997-08-10  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * coding.h (struct iso2022_spec): New member expected_charsets.
+       (CODING_SPEC_ISO_EXPECTED_CHARSETS): New macro.
+
+       * coding.c (Fset_terminal_coding_system_internal): Set
+       CODING_FLAG_ISO_SAFE in terminal_coding.flags.
+       (ENCODE_ISO_CHARACTER_DIMENSION1): Check
+       CODING_SPEC_ISO_EXPECTED_CHARSETS.
+       (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
+
+1997-08-10  Kenichi Handa  <handa@etl.go.jp>
+
+       * term.c (encode_terminal_code): Use safe_terminal_coding if
+       terminal_coding seems to encode Emacs' internal code as is.
+       (write_glyphs): Likewise.
+
+       * coding.c (ENCODE_ISO_CHARACTER_DIMENSION1): Pay attention to
+       CODING_FLAG_ISO_SAFE.
+       (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
+       (safe_terminal_coding): New variable.
+       (Fset_safe_terminal_coding_system_internal): New function.
+       (init_coding_once): Initilize safe_terminal_coding.
+       (syms_of_coding): Declare set-safe-terminal-coding-system as a
+       Lisp function.
+
+       * coding.h (CODING_FLAG_ISO_SAFE): New macro.
+       (CODING_INHIBIT_CHARACTER_SUBSTITUTION): New macro.
+       coding.h (safe_terminal_coding): Extern it.
+
+1997-08-10  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (Vmicrosoft_code_table): New variable.
+       (syms_of_coding): Declare it as a Lisp variable and initialize it.
+       (detect_coding_mask): Pay attention to Vmicrosoft_code_table.
+
+       * xterm.c (dumpglyphs): Pay attention to
+       Vignore_relative_composition.
+
+       * fontset.h (Vignore_relative_composition): Extern it.
+
+       * fontset.c (Vignore_relative_composition): New variable.
+       (syms_of_fontset): Doc-string of use-default-ascent modified.
+       Declare ignore-relative-composition as a Lisp variable.
+
+       * fns.c (concat): Pay attention to multibyte characters when
+       TARGET_TYPE is Lisp_String.
+
+1997-08-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * sysdep.c (init_system_name): If domain is null, don't add a period.
+
+1997-08-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * buffer.c (init_buffer): Use getcwd instead of getwd, if available.
+
+       * eval.c (do_autoload): Require a suffix for the file.
+
+       * lread.c (read1): Handle read_escape making a multibyte character.
+
+       * strftime.c (gmtime_r, localtime_r): Undef before defining.
+
+       * fns.c (Frequire): Don't insist on a suffix
+       if the file name argument was explicitly specified.
+
+1997-08-07  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * Makefile.in (lisp, shortlisp): Add bindings.el and case-table.elc.
+
+       * xdisp.c (redisplay_window): Fix access to w->last_point{,_[xy]}.
+
+       * lisp.h (Flocal_variable_p, Ffind_operation_coding_system): Declared.
+       (find_symbol_value): Fix declaration.
+
+1997-08-07  Erik Naggum  <erik@naggum.no>
+
+       * emacs.c (main): Remove call to init_filelock.
+       * filelock.c (init_filelock): Function deleted.
+       * paths.in (PATH_LOCK): Definition deleted.
+
+1997-08-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xrdb.c (X_DEFAULT_SEARCH_PATH): Add /usr/X11R6/lib alternatives.
+
+       * editfns.c (Fwiden, Fnarrow_to_region, save_restriction_restore): 
+       Don't set clip_changed if the new values are the same as the old.
+
+       * fileio.c (Fwrite_region): Turn off the feature of checking
+       whether another buffer has locked this file.
+
+       * xdisp.c (COERCE_MARKER): New macro.
+       (redisplay_internal): Coerce Voverlay_arrow_position to a number
+       to record it in last_arrow_position.
+       (mark_window_display_accurate, redisplay_window): Likewise.
+       (redisplay_window): Don't do the "only point has change" optimization
+       if the overlay arrow is in this buffer.
+
+1997-08-06  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * unexelf.c (unexec): Cast 1st arg in mmap calls.
+
+       * sysdep.c (init_sys_modes) [mips || HAVE_TCATTR]:
+       Handle flow_control by setting VSTART and VSTOP characters.
+
+       * filelock.c (lock_file_1, lock_file): Add casts.
+
+       * xselect.c (syms_of_xselect): Doc syntax fixes.
+
+       * coding.c (syms_of_coding): Doc syntax fixes.
+
+       * xdisp.c (redisplay_internal): Count only visible frames at first.
+
+       * xdisp.c (redisplay_internal): Count all visible frames in new_count.
+
+1997-08-05  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (detect_eol_type): Fix previous change.
+
+1997-08-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fontset.c (syms_of_fontset): Doc fixes.
+
+1997-08-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * indent.c (current_column): Update ptr differently at newline
+       so that current_column_bol_cache is set properly.
+
+1997-08-04  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_eol_type): If EOL representation does not
+       seem consistent, use no conversion.
+
+       * process.c (Fset_process_coding_system): Doc-string modified.
+       (Fprocess_coding_system): Likewise.
+
+       * callproc.c (Fcall_process_region): Use cdr part (not car part)
+       of Vdefault_process_coding_system for writing out text.
+
+       * coding.c (detect_coding_iso2022): Do not exclude posibility of
+       7-bit encoding when designation to G1 occurs.  If CSI, SS2, or SS3
+       is found, return CODING_CATEGORY_MASK_ISO_8_ELSE.
+       (Fdetect_coding_region): Doc-string modified.
+
+1997-08-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xfaces.c (merge_face_list): New function.
+       (compute_char_face): Use merge_face_list.
+       Allow (foreground-color . COLOR) and (background-color . COLOR)
+       in place of a face.
+
+1997-08-03  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * m/intel386.h (HAVE_ALLOCA): Don't define this
+       on USG5_4 if not using GNU C.
+
+       * xdisp.c (redisplay_internal): Count number of visible frames
+       instead of number of frames that were redisplayed.
+
+       * m/ibmrs6000.h (LD_SWITCH_MACHINE):
+       Add #ifdef emacs around all the definitions of this.
+
+       * lisp.h (Fload): Update declaration.
+
+1997-08-03  Kenichi HANDA  <handa@etl.go.jp>
+
+       * coding.h (CODING_CATEGORY_MASK_BINARY): New macro.
+
+       * coding.c (detect_coding_mask): Include
+       CODING_CATEGORY_MASK_BINARY in the return value if any 8-bit code
+       is found.
+
+       * xfns.c (x_set_frame_parameters): Heading comment fixed.
+       (x_default_parameter): Likewise.
+
+       * xselect.c (Vclipboard_coding_system): New variable.
+       (selection_data_to_lisp_data): Decode text by
+       Vclipboard_coding_system.
+       (lisp_data_to_selection_data): Encode text by
+       Vclipboard_coding_system.
+       (syms_of_xselect): Declare clipboard-coding-system as Lisp
+       variable and initialize it.
+
+1997-08-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * coding.c: Doc fixes.
+       
+       * lread.c (Fload): New optional arg MUST-SUFFIX.
+       * fns.c (Frequire): Pass t for the MUST-SUFFIX arg to Fload.
+       * eval.c (do_autoload): Pass new arg to Fload.
+
+       * indent.c (compute_motion): Correct the criterion for when to
+       move back 1 space when we terminate just after continuing the line.
+
+1997-07-31  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (encode_coding_iso2022): When source data ends not at
+       character boundardy, set data in coding->carryover correctly, and
+       set SRC to SRC_END.
+       (encode_coding_sjis_big5): Likewise.
+       (encode_coding): Don't set coding->carryover_size to 0.
+
+       * fileio.c (Fwrite_region): Don't try to flush out a data twice.
+
+1997-07-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (redisplay_window): Fix previous change.
+
+       * dispnew.c (direct_output_for_insert): Set last_point_x properly.
+
+1997-07-31  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (x_list_fonts): Request at least 10 fonts by XListFonts.
+
+       * coding.c (encode_coding_iso2022): Write out invalid multibyte
+       forms in a buffer as is.
+       (detect_coding_mask): If ISO_CODE_CSI appears in an invalid
+       sequence, ignore it.
+
+1997-07-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (redisplay_window): Fix one-off in handling
+       scroll-conservatively for scrolling up.
+
+       * filelock.c (current_lock_owner): Don't try to delete lock
+       if this or another existing process owns it!
+
+1997-07-31  enami tsugutomo  <enami@but-b.or.jp>
+
+       * process.c (read_process_output): Don't call setup_coding_system
+       for proc_decode_coding_system[channel].  It is already done in
+       detect_coding called via decode_coding.
+
+1997-07-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * filelock.c (lock_if_free): Don't loop; for strange error, return -1.
+
+       * s/sunos4shr.h (LIBXMU): Alternative definition if CANNOT_DUMP.
+
+       * Makefile.in (LDFLAGS, CPPFLAGS): Get them from configure like CFLAGS.
+
+1997-07-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (wait_reading_process_input): Call detect_input_pending
+       whenever read_kbd is 0, not just when wait_for_cell.
+
+       * xdisp.c (decode_mode_spec_coding): If multibyte chars disabled.
+       display only the eol flag.
+
+1997-07-29  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (x_list_fonts): Reject a font whose min_bounds.width is 0.
+       
+1997-07-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * emacs.c (sort_args): Check properly for `--'.
+
+       * xdisp.c (redisplay_window): Fix previous change.
+
+       * cm.h, sysdep.c, terminfo.c [HAVE_LIBNCURSES]:
+       Declare ospeed as short, unless NCURSES_OSPEED_T.
+
+       * xdisp.c (redisplay_window): When text has not changed,
+       call compute_motion starting from the former PT if possible.
+       If PT is unchanged from w->last_point, don't do compute_motion at all.
+
+1997-07-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * editfns.c (Fformat_time_string): Don't hang if strftime produces
+       an empty string.  Fix arguments of second call to strftime.
+       Remove check for result being negative, this cannot happen.
+
+       * xterm.c (x_new_font): Follow the change in
+       x_set_scroll_bar_width and make the scroll bar at least 14 pixels
+       wide.
+
+       * xfns.c (Fx_create_frame): Initialize fontset in output_data.
+
+1997-07-28  Dan Nicolaescu  <done@ece.arizona.edu>
+
+       * charset.c (non_ascii_char_to_string): Fix typos.
+
+1997-07-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * callproc.c (syms_of_callproc):
+       Don't init Vtemp_file_name_pattern here.
+
+       * lread.c (map_obarray): Don't crash if something strange
+       is in the obarray.
+
+1997-07-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (x_term_init) [! HAVE_X11R5]: Don't try to use
+       XtCvtStringToFont.
+
+       * print.c (strout, printchar): Handle minibuffer_auto_raise.
+
+1997-07-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Fwrite_region): Fix previous change.
+
+1997-07-25  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * indent.c (compute_motion): Handle display table correctly for
+       multibyte characters.
+
+1997-07-25  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
+
+       * fontset.c (syms_of_fontset): Set Vhighlight_wrong_size_font to
+       Qnil.
+
+       * coding.h (CODING_REQUIRE_TEXT_CONVERSION,
+       CODING_REQUIRE_EOL_CONVERSION, CODING_REQUIRE_CONVERSION): Deleted.
+       (CODING_REQUIRE_NO_CONVERSION): New macro.
+       (CODING_MAY_REQUIRE_NO_CONVERSION): New macro.
+
+       * fileio.c (Finsert_file_contents): Use new macros
+       CODING_MAY_REQUIRE_NO_CONVERSION and
+       CODING_MAY_REQUIRE_NO_CONVERSION.
+       (Fwrite_region): Correct the logic for deciding coding system.
+
+       * process.c (read_process_output): Use new macro
+       CODING_REQUIRE_NO_CONVERSION
+       (send_process): Use new macro CODING_MAY_REQUIRE_NO_CONVERSION.
+
+       * xterm.c (dumpglyphs): Check the member `encoding' of *FONTP while
+       setting `byte1' and `byte2' members of *CP.
+
+1997-07-24  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (${lispsource}TAGS): Specify ETAGS var in inner make.
+
+       * print.c (Vprint_gensym_alist): Renamed from printed_gensyms.
+       (Vprint_gensym): Now a Lisp_Object; Renamed from print_gensym.
+       (syms_of_print): Set up both as Lisp vars.
+       (PRINTPREPARE, PRINTFINISH): Don't clear Vprint_gensym_alist
+       if Vprint_gensym is a cons cell.
+
+       * Makefile.in (../src/$(OLDXMENU)): New target.
+
+       * xselect.c (selection_data_to_lisp_data):
+       Make the vector the right size, when format is 16.
+
+       * emacs.c (main): Make --help msg end in newline.
+
+       * xfns.c (Fx_create_frame): Don't fail to initialize `font'.
+
+       * syntax.c (Fforward_comment): When count1 is negative,
+       return nil if FROM reaches STOP.
+
+       * editfns.c (Fcurrent_message): New function.
+       (syms_of_editfns): defsubr it.
+
+1997-07-23  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>
+
+       * xterm.c (XTread_socket): Trap the BadMatch error that can occur
+       after a XSetInputFocus if window is not visible.
+
+1997-07-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (XTread_socket) <ClientMessage>: Use FRAME_X_WINDOW
+       when calling XSetInputFocus.
+
+       * buffer.c (syms_of_buffer): Doc fix.
+
+       * eval.c (syms_of_eval): Doc fix.
+
+1997-07-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (display_text_line): Don't count minibuf_prompt_width
+       twice in taboffset.
+
+       * coding.c (syms_of_coding): Doc fix.
+
+1997-07-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/sol2.h (LIBS_SYSTEM): Undo previous change.
+       (HAVE_LIBKSTAT): Define it.
+
+       * minibuf.c (choose_minibuf_frame_1): New function.
+       (read_minibuf): Make an unwind protect to run that.
+       (read_minibuf_unwind): Don't call choose_minibuf_frame here.
+
+       * keyboard.c (read_char): Delete spurious UNGCPRO.
+       Add UNGCPRO before the longjmps to wrong_kboard_jmpbuf.
+       Initialize c before the GCPRO1.
+       
+       * frame.c (Fdelete_frame): Undo previous change.
+
+       * s/hpux8.h (LD_SWITCH_SYSTEM_TEMACS): Define this
+       instead of LD_SWITCH_SYSTEM.
+       
+       * window.c (set_window_height): Allow all heights > 0
+       for minibuffer windows.
+       (change_window_height): Fix one-off comparing DELTA with MAXIMUM.
+
+       * xfns.c (Fx_create_frame): Default vertical-scroll-bars
+       as symbol, not boolean.
+
+1997-07-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (wait_reading_process_input): Initialize total_read.
+       Check for read_process_output giving back EIO.
+
+       * keyboard.c (Fcommand_execute): gcpro c.
+
+1997-07-20  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32term.c (w32_clear_end_of_line): Include scroll bar width.
+
+1997-07-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/irix6-0.h: Undo previous change.
+
+       * xterm.c (XTread_socket) <ClientMessage>:
+       Don't use FRAME_XIC if it is null, here.
+
+       * puresize.h (BASE_PURESIZE): Increased to 410000.
+
+       * xdisp.c (redisplay_internal): Calculate new_count properly
+       for non-window displays.
+
+1997-07-18  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * minibuf.c (Fcompleting_read): gcpro def.
+
+       * xterm.c (XTread_socket) <ClientMessage>:
+       For wm_take_focus, use x_any_window_to_frame.
+
+       * fileio.c (Fread_file_name): If Fcompleting_read return the default
+       because the buffer want empty, replace that with an empty string.
+
+1997-07-18  Simon Marshall  <simon@diazepam.gnu.ai.mit.edu>
+
+       * data.c: Many doc fixes.
+
+1997-07-17  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * coding.c (Ffind_operation_coding_system): Use Ffboundp to
+       check for a function entry.
+
+       * fileio.c (Finsert_file_contents) [DOS_NT]: Use the coding
+       system to determine buffer_file_type.
+       (Fwrite_region): Only use Qbuffer_file_coding_system
+       before checking file-coding-system-alist if non-nil.
+       (Fwrite_region) [DOS_NT]: Delete conditional code.
+
+1997-07-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * dispnew.c (direct_output_forward_char): Reenable check against
+       truncated text at end of line.
+
+       * xdisp.c (display_string): Ignore W->left if OBEY_WINDOW_WIDTH is
+       zero.
+
+1997-07-17  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (dumpglyphs): Use 8-bit output to X, rather than 16-bit,
+       if the character values permit that.
+
+       * .gdbinit (xcar, xcdr): Print with /x.
+
+       * fileio.c (Fdo_auto_save): Temporarily clear minibuffer_auto_raise.
+
+1997-07-17  enami tsugutomo  <enami@but-b.or.jp>
+
+       * xdisp.c (decode_mode_spec_coding): Fix typo; use `val' instead
+       of `coding-system'.
+
+1997-07-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * xdisp.c (display_text_line): Handle the case of point being in
+       the invisible part of the line beyond the left margin.
+
+1997-07-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix previous change.
+
+1997-07-15  Kenichi HANDA  <handa@etl.go.jp>
+
+       * coding.h (CODING_CATEGORY_IDX_ISO_7_ELSE): This macro is deleted
+       (CODING_CATEGORY_IDX_ISO_7_ELSE): New macro.
+       (CODING_CATEGORY_IDX_ISO_8_ELSE): New macro
+       (CODING_CATEGORY_MASK_ISO_ELSE): This macro is deleted.
+       (CODING_CATEGORY_MASK_ISO_7_ELSE): New macro.
+       (CODING_CATEGORY_MASK_ISO_8_ELSE): New macro.
+       (CODING_CATEGORY_MASK_ANY): Adjusted for the above change.
+
+       * coding.c (detect_coding_iso2022): Distinguish
+       coding-category-iso-7-else and coding-category-iso-8-else.
+
+1997-07-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * unexalpha.c (unexec):
+       Don't call update_dynamic_symbols if static link.
+
+       * keyboard.c (read_char): Call timer_stop_idle unconditionally
+       at non_reread.
+
+       * keyboard.c (make_lispy_event): Distinguish S-SPC from SPC.
+
+       * cmds.c (internal_self_insert): Use replace_range when
+       number_to_delete is nonzero.
+
+       * insdel.c (replace_range): New function.
+
+       * keyboard.c (make_lispy_event): Handle non_ascii_keystroke
+       in the ASCII range.
+
+       * xterm.c (XTread_socket): Treat SPC as a function key.
+
+1997-07-13  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>
+
+       * xterm.c (x_draw_box): Use scratch_cursor_gc to draw the cursor
+       box using the color specified by cursor_pixel.
+
+1997-07-13  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fileio.c (Fwrite_region) [DOS_NT]: Always use binary mode since
+       coding conversion now takes care of NL -> CRLF.
+
+       * callproc.c (Fcall_process) [MSDOS]: Request EOL conversion of
+       the process output, unless we were promised it is binary.
+
+       * coding.c: Substantial comment changes.
+
+       * lread.c (init_lread): Don't add to load-path lisp subdirectories
+       of the source tree if the parent of the source was moved after
+       dumping Emacs.
+
+1997-07-13  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * search.c (compile_pattern_1): Don't declare val with CONST.
+
+       * cmds.c (internal_self_insert): When overwriting, insert first
+       and then delete.
+
+1997-07-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/irix4-0.h (XPointer): Define as macro.
+
+       * emacs.c (main): Use setrlimit only if RLIMIT_STACK.
+
+1997-07-11  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>
+
+       * xdisp.c (decode_mode_spec): Initialize and use `p' (for the termcap
+       case).
+
+       * dispnew.c (init_display): Go ahead and prepare for
+       a X configuration in the CANNOT_DUMP case.
+
+1997-07-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * editfns.c (get_system_name): Don't crash if Vsystem_name does
+       not contain a string.
+       * filelock.c (lock_file_1): Don't crash if Fuser_login_name or
+       Fsystem_name don't return strings.
+       (current_lock_owner): Likewise.
+
+       * ralloc.c (r_alloc_reinit): New function.
+       * emacs.c (main) [DOUG_LEA_MALLOC]: Call it when restarting a
+       dumped Emacs.
+
+1997-07-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * m/news-r6.h: Renamed from news-risc6.h.
+
+1997-07-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * xdisp.c (display_text_line): Exit the outer loop immediately
+       when the right margin has been reached.
+
+       * lisp.h (EXFUN, P_): New definitions.  Use them to declare
+       prototypes for external functions.
+
+       * xterm.c (dumpglyphs): Declare local variable first_ch as
+       Lisp_Object, not int.
+       * xselect.c (selection_data_to_lisp_data): Convert Fmake_vector
+       and Faset arguments to Lisp_Integer.
+       (clean_local_selection_data): Likewise.
+       * x-list-font.c (Fx_list_fonts): Fix Fnconc argument.
+       * window.c (Fcoordinates_in_window_p): Convert Fcons arguments to
+       Lisp_Integer.
+       (save_window_save): Convert Fset_marker argument to Lisp_Integer.
+       * textprop.c (interval_of): Convert args_out_of_range arguments to
+       Lisp_Integer.
+       * syntax.c (init_syntax_once): Convert Fmake_vector argument to
+       Lisp_Integer.
+       * process.c (Fprocess_send_region): Convert move_gap argument to int.
+       * mocklisp.c (Fml_arg): Add missing Fread_string arguments.
+       * minibuf.c (Fread_from_minibuffer): Remove extra get_keymap argument.
+       (Fminibuffer_complete): Convert Fset_window_start argument to
+       Lisp_Integer.
+       * keyboard.c (command_loop_1): Add missing message2 argument.
+       (menu_bar_items): Add missing get_keyelt argument.
+       (follow_key): Likewise.
+       (read_key_sequence): Likewise.
+       * intervals.c (set_point): Convert call2 arguments to Lisp_Integer.
+       * fileio.c (Fwrite_region): Fix call2 argument.
+       (Fread_file_name): Convert Fcons argument to Lisp_Integer.
+       * editfns.c (Fcurrent_time_zone): Convert Fmake_list argument to
+       Lisp_Integer.
+       (Ftranspose_regions): Convert Fset_text_properties arguments to
+       Lisp_Integer.
+       * doc.c (Fsubstitute_command_keys): Add missing describe_map_tree
+       argument.
+       * coding.c (Ffind_coding_system): Use call1, not call2.
+       * cmds.c (Fdelete_backward_char): Convert Finsert_char argument to
+       Lisp_Integer and add missing argument.
+       (internal_self_insert): Convert Fmove_to_column argument to
+       Lisp_Integer and add missing argument.
+       * ccl.c (Fregister_ccl_program): Convert Fmake_vector argument to
+       Lisp_Integer.
+       (syms_of_ccl): Likewise.
+       * category.h (CATEGORY_DOCSTRING): Convert Fchar_table_extra_slot
+       argument to Lisp_Integer.
+       (CATEGORY_TABLE_VERSION): Likewise.
+       * buffer.c (set_buffer_internal_1): Convert Fset_marker argument
+       to Lisp_Integer.
+       (set_buffer_temp): Likewise.
+       (fix_overlays_in_range): Likewise.
+
+       * xdisp.c (message2_nolog): Don't call fwrite will null string.
+
+1997-07-10  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32.c (sys_shutdown): New function.
+       * s/ms-win32.h: Define HAVE_SHUTDOWN.
+       
+1997-07-10  Eli Zaretskii  <eliz@pogo.gnu.ai.mit.edu>
+
+       * xfaces.c (Fset_face_attribute_internal): Set mouse_face_defer
+       only if HAVE_X_WINDOWS is defined.
+
+1997-07-09  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>
+
+       * xdisp.c (echo_area_display): Don't offset using left-side
+       scroll bar width because it is included in the width; clear
+       the entire line.
+
+1997-07-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (read_process_output): Add cast.
+
+       * filelock.c (current_lock_owner, lock_file_1): Add casts.
+
+       * xdisp.c (redisplay_internal): Fix previous change.
+
+       * s/irix4-0.h (C_SWITCH_SYSTEM): Add -Wf,-XNh option.
+
+       * s/ms-w32.h: Don't define HAVE_SHUTDOWN.
+
+       * frame.c (Fdelete_frame): Always err for deleting the only frame.
+
+1997-07-09  Kenichi HANDA  <handa@etl.go.jp>
+
+       * fontset.c (Ffont_info): Make vector of correct size.
+
+       * xterm.c (x_load_font): Get value of fontp->height from
+       ascent and descent members of structure font->max_bounds.
+       (dumpglyphs): Draw background by FillSolid if a font is too short. 
+
+1997-07-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (x_term_init): Don't use initializer for null_bits.
+
+       * cm.h, sysdep.c, terminfo.c: Fix previous change.
+
+       * fns.c (syms_of_fns): Fix previous change.
+
+       * xdisp.c (decode_mode_spec) <z,Z>: Display buffer coding system
+       last of the three.
+
+       * doprnt.c: Use #ifdef to test STDC_HEADERS.
+
+       * Makefile.in (shortlisp): Fix typo.
+
+1997-07-08  enami tsugutomo  <enami@but-b.or.jp>
+
+       * emacs.c (main) [__NetBSD__]: Round up new stack limit to page bdry.
+
+       * fileio.c (Finsert_file_contents): Give up match-end only if
+       coding requires conversion.  Adjust end of non-matching text area
+       to multibyte character boundary if enable_multibyte_character is
+       non-nil.
+
+1997-07-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (decode_mode_spec_coding): Really don't display
+       EOL indicator when eol_flag is 0.
+       (echo_area_display): Use proper width when scroll bars on left.
+
+       * syntax.h (struct gl_state_s): New field `offset'.
+       (SETUP_SYNTAX_TABLE_FOR_OBJECT): Set offset field.
+       (SETUP_SYNTAX_TABLE): Clear offset field.
+       (UPDATE_SYNTAX_TABLE, UPDATE_SYNTAX_TABLE_FORWARD): 
+       (UPDATE_SYNTAX_TABLE_BACKWARD): Use the offset field.
+
+       * s/sol2.h (LIBS_SYSTEM): Add -lkvm and -lelf.
+
+1997-07-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * editfns.c (Fuser_full_name): Declare p, q and r as unsigned char *.
+
+       * xterm.c (XTread_socket) <KeyPress>: Call XFilterEvent.
+
+       * terminfo.c (ospeed):
+       Define as short, unless HAVE_TERMIOS_H and LINUX.
+
+       * cm.h (ospeed): Declare as short unless HAVE_TERMIOS_H and LINUX.
+       * sysdep.c (ospeed): Likewise.
+
+       * window.c: Include blockinput.h.
+       (Fset_window_configuration): Block input around frobbing the frame.
+       Preseve point in the current buffer if we do not switch
+       to a different one.
+
+1997-07-06  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (redisplay_internal): Fix previous change.
+       (echo_area_display): Use proper vpos when clearing extra minibuf lines.
+
+1997-07-04  Kenichi HANDA  <handa@etl.go.jp>
+
+       * callproc.c (Fcall_process): If enable-multibyte-characters is
+       nil, do not encode arguments for process, and decode output of
+       process by emacs-mule.
+       (Fcall_process_region): If enable-multibyte-characters is nil, do
+       not encode text to be given to process, and decode output of
+       process by emacs-mule.
+
+       * process.c (Fstart_process): If enable-multibyte-characters is
+       nil, set coding system for decoding output of process to
+       emacs-mule, and set coding system for encoding to nil.
+       (Fopen_network_stream): If enable-multibyte-characters is nil, set
+       coding systems for decoding and encoding to nil.
+       
+       * fileio.c (Finsert_file_contents): If enable-multibyte-characters
+       is nil, decode character code by emacs-mule.
+       (Fwrite_region): Use buffer-file-coding-system for encoding if
+       enable-multibyte-characters is nil.
+
+       * coding.c (Qemacs_mule, inhibit_eol_conversion): New variables.
+       (setup_coding_system): If inhibit_eol_conversion is 0, set
+       coding->eol_type to CODING_EOL_LF.
+       (syms_of_coding): Initialize and staticpro Qemacs_mule.  Change
+       error-message property of coding-system-error.  Declare
+       inhibit-eol-conversion as Lisp variable.
+       (system_eol_type): New variable.
+       (init_coding_once): Initialize it.
+       (ENCODE_SJIS_BIG5_CHARACTER): Bug in encoding a BIG5 character
+       fixed.
+
+       * coding.h (Qemacs_mule): Extern it.
+
+       * xterm.c (x_list_fonts): Initialize the variable LIST to Qnil.
+
+1997-07-06  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (display_menu_bar): Always pass W to display_string.
+
+       * unexalpha.c (update_dynamic_symbols): Add cast when setting reladdr.
+
+       * sysdep.c (init_system_name): Don't be fooled if getdomainname
+       string starts with a period.
+
+1997-07-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (redisplay_internal): At the end, if more frames have
+       become visible, repeat the redisplay.
+       (decode_mode_spec): Don't display subprocess coding systems.
+       Don't display EOL for keyboard and terminal coding systems.
+
+       * xfns.c (x_set_font): Funcall Qface_set_after_frame_default.
+       (Qface_set_after_frame_default): New variable.
+       (syms_of_xfns): Initialize and staticpro it.
+
+       * xterm.c (x_make_frame_visible): Don't move the frame
+       if it was iconified--only if it was invisible.
+
+1997-07-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * gmalloc.c: Rename macro __P to PP.
+
+       * floatfns.c, data.c, doprnt.c: Include float.h before lisp.h.
+
+       * dired.c (Ffile_attributes): Use cast to avoid warnings.
+
+       * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Treat nil like a buffer.
+
+       * lread.c (Vpreloaded_file_list): New variable.
+       (syms_of_lread): Set up Lisp variable.
+       (Fload): Add to Vpreloaded_file_list, if dumping.
+
+1997-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * editfns.c (Fformat): Add second argument in call to Ftruncate.
+
+       * alloc.c, buffer.c, casefiddle.c, casetab.c, category.c,
+       category.h, ccl.c, coding.c, editfns.c, fileio.c, fns.c, indent.c,
+       intervals.c, intervals.h, keymap.c, lisp.h, minibuf.c, print.c,
+       syntax.c, syntax.h, sysdep.c, textprop.c, xfns.c: Fix numerous
+       bugs with inappropriate mixing of Lisp_Object with int.
+       * config.in (RE_TRANSLATE): Define to extract integers from
+       array of Lisp_Objects.
+
+1997-07-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * buffer.c (overlay_strings): Finish up previous change.
+
+       * Makefile.in (lisp, shortlisp): Some files moved to subdirs.
+
+1997-07-03  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/sunos4shr.h (LD_SWITCH_SYSTEM_TEMACS): Add #undef.
+
+       * syssignal.h [sigmask] (SIGEMPTYMASK): Define to use sigmask.
+
+       * eval.c (Fsignal, find_handler_clause): If ERROR_SYMBOL
+       is nil, assume it's in the car of DATA.
+       * alloc.c (memory_full): Pass Qnil to Fsignal for ERROR_SYMBOL.
+
+       * s/sunos4-0.h (LD_SWITCH_SYSTEM_TEMACS): Defined.  Move -e here.
+       (LD_SWITCH_SYSTEM): Don't use -e option here.
+
+       * Makefile.in (ALL_LDFLAGS): Use LD_SWITCH_SYSTEM_TEMACS.
+
+1997-07-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (send_process): Make buf and temp_buf  `unsigned char *'.
+
+       * buffer.c (overlay_strings): Use unsigned char for things
+       that relate to overlay_str_buf.
+
+       * syssignal.h (sigpause): Don't define if already defined.
+
+       * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable.
+       
+1997-07-02  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * Makefile.in (lisp, shortlisp): Add widget.elc.
+
+1997-07-02  Kenichi Handa  <handa@etl.go.jp>
+
+       * xselect.c (selection_data_to_lisp_data): Call free instead of
+       xfree.
+
+       * coding.h (struct coding_system): New members
+       character_unification_table_for_decode and
+       character_unification_table_for_encode.
+
+       * coding.c (Vstandard_character_unification_table_for_decode):
+       Name changed from Vstandard_character_unification_table_for_read.
+       (Vstandard_character_unification_table_for_encode): Name changed
+       from Vstandard_character_unification_table_for_write.
+       (Qcharacter_unification_table_for_decode): New variable.
+       (Qcharacter_unification_table_for_encode): New variable.
+       (decode_coding_iso2022): Adjusted for the above name change.
+       (encode_coding_iso2022): Likewise.
+       (ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char
+       fixed.
+       (DECODE_SJIS_BIG5_CHARACTER): New macro.
+       (decode_coding_sjis_big5): Handle character unificatoin table.
+       Use macro DECODE_SJIS_BIG5_CHARACTER.
+       (encode_coding_sjis_big5): Handle character unificatoin table.
+       Use macro ENCODE_SJIS_BIG5_CHARACTER.
+       (setup_coding_system): Handle members
+       character_unification_table_for_decode and
+       character_unification_table_for_encode of the variable coding.
+       (Ffind_operation_coding_system): Renamed from Ffind_coding_system.
+       (syms_of_coding): Initialize and staticpro
+       Qcharacter_unification_table_for_decode and
+       Qcharacter_unification_table_for_decode.  Declare
+       Ffind_operation_coding_system as Lisp functions.  Declare
+       Vstandard_character_unification_table_for_decode and
+       Vstandard_character_unification_table_for_encode as Lisp
+       variables.
+
+       * charset.c (Fchar_width): Check if the current buffer has display
+       table.
+
+       * fileio.c (Finsert_file_contents): Doc-string fixed.  Call
+       Ffind_operation_coding_system.
+       (Fwrite_region):  Call Ffind_operation_coding_system.
+
+       * callproc.c: Call Ffind_operation_coding_system.
+
+       * process.c (Fstart_process): Call Ffind_operation_coding_system.
+       (Fopen_network_stream): Likewise.
+
+       * fontset.h: Move "#endif /* _FONTSET_H */" at the tail.
+
+1997-07-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * sysdep.c (init_system_name): Don't accept "(none)" as domain.
+
+       * xterm.c (x_make_frame_visible): Check has_been_visible
+       field before the UNBLOCK_INPUT.
+
+1997-07-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (syms_of_coding): Change initial values of
+       eol_mnemonic_... variables.
+
+       * xdisp.c (decode_mode_spec_coding): Clean up handling of
+       eol conversions.
+
+       * .gdbinit (xcons): Print car and cdr in hex.
+       (nextcons): New command.
+
+       * xfns.c (x_set_scroll_bar_width): By default, use enough
+       columns to give 14 or more pixels.
+
+1997-06-30  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * emacs.c (decode_env_path): Ensure path elements use proper
+       directory separator.
+
+       * keyboard.c (make_lispy_event):
+       Check that ISO_FUNCTION_KEY_OFFSET is defined.
+
+       * process.c (READ_CHILD_OUTPUT): Deleted.
+       (read_process_output): Use read instead of READ_CHILD_OUTPUT.
+
+       * makefile.nt (OBJ2): Include new source files.
+       
+       * s/ms-w32.h: Duplicate undefs from config.in to check completeness.
+       (STDC_HEADERS, HAVE_TZNAME, HAVE_MKTIME): Define to have a value.
+       (HAVE_GETPAGESIZE, HAVE_SETLOCALE, HAVE_SHUTDOWN, HAVE_TZSET,
+       HAVE_LIMITS_H, HAVE_STRERROR): Define.
+       [HAVE_NTGUI] (HAVE_MENUS): Define.
+       (SYSTEM_PURESIZE_EXTRA): Increase value.
+
+       * unexw32.c, w32heap.c: Add pragma to force zero initialized 
+       data into .data segment.
+
+       * w32console.c, w32term.c: Include charset.h.
+
+       * w32fns.c (syms_of_w32fns): Delete defsubrs of Sfocus_frame and
+       Sunfocus_frame.
+
+       * w32heap.c (getpagesize): Define.
+
+1997-06-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * editfns.c (Fformat_time_string): Move doc string outside DEFUN.
+
+       * buffer.c (overlay_str_buf): Declare as unsigned char *.
+
+       * fns.c (Fy_or_n_p, Fyes_or_no_p): Obey use_dialog_box.
+       (use_dialog_box): New variable, controls whether to use dialog boxes.
+       (syms_of_fns): Set up Lisp variable.
+
+1997-06-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * buffer.c (syms_of_buffer): enable-multibyte-characters is a user var.
+
+       * callproc.c (Fcall_process): Fix previous change.
+
+       * fns.c (concat): Use XCONS rather than Fcar, Fcdr--for known cons.
+       (Fassq, assq_no_quit, Fassoc, Frassq, Frassoc, Fdelq): Likewise.
+       (Fdelete, Fplist_get, mapcar1, Fmember, Fmemq): Likewise.
+
+       * lread.c (init_lread): Add leim subdir, like lisp subdir.
+
+       * syntax.c (scan_sexps_forward): Split up a complex if-test.
+
+       * keyboard.c (read_char): Add a call to swallow_events
+       when deciding whether to redisplay.
+       (swallow_events): Add forward declaration.
+
+       * sysdep.c [HAVE_TERMIOS_H]: Include termios.h.
+
+       * callproc.c (Fcall_process): Avoid storing alloca result
+       directly into array element.
+
+       * process.c (wait_reading_process_input): If wait_for_cell,
+       do check for keyboard input and swallow events, just don't exit.
+       (max): New macro.
+       (wait_reading_process_input): Pass a smaller first arg to select.
+
+       * buffer.c (Fbury_buffer): Undo previous change.
+
+1997-06-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (temp_output_buffer_show):
+       Copy default-directory from current buffer.
+
+       * cm.h (ospeed): Always use `extern' in the declaration.
+
+       * Makefile.in (lisp, shortlisp): Some files are in international/.
+
+       * unexelf.c [__NetBSD__]: Add some conditionals for NetBSD.
+
+       * unexelf1.c: File deleted.
+
+1997-06-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/unixware.h: New file.
+
+1997-06-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents):
+       Pass new arg to prepare_to_modify_buffer.
+
+       * insdel.c (prepare_to_modify_buffer, signal_before_change):
+       New argument PRESERVE_PTR.
+       (del_range_1): Use PRESERVE_PTR to preserve FROM.
+       Save the length of the range separately.
+       (NULL): Define if not defined.
+
+1997-06-23  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * fileio.c (Ffile_directory_p): Doc fix.
+
+1997-06-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * buffer.c (Fbuffer_list): New optional argument FRAME.
+
+       * fns.c (Freverse): Simplify.
+
+1997-06-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/bsdos3.h: New file.
+       
+       * s/bsdos2.h (KERNEL_FILE): New overriding definition.
+
+       * keyboard.c (read_avail_input): Check for failure with EIO.
+
+       * s/gnu-linux.h (LD_SWITCH_SYSTEM) [__mips__]: Alternate definition.
+
+       * m/mips.h: Test __linux__ along with NEWSOS5.
+       (KERNEL_FILE, UNEXEC): Don't redefine them if __linux__.
+       [__linux__] (TEXT_START, DATA_START, DATA_SEG_BITS):
+       Alternate definitions.
+       
+       * emacs.c (Fdump_emacs): Bind command-line-processed to nil here.
+
+       * xdisp.c (init_xdisp): Pay attention to FRAME_MENU_BAR_LINES.
+
+       * emacs.c (Fdump_emacs): Error if not run in batch mode.
+
+       * s/hpux10.h (LIBS_TERMCAP): Use -ltermcap instead of -lc.
+
+       * unexelf.c [__sony_news && _SYSTYPE_SYSV]: Include sym.h
+       and sys/elf_mips.h.
+       (unexec): Add __sony_news && _SYSTYPE_SYSV conditionals.
+       Add a _nec_ews_svr4 conditional.
+
+       * s/newsos6.h: New file.
+
+       * m/news-risc6.h: New file.
+
+       * frame.c (Fdelete_frame): Clear echo_area_glyphs if it was
+       in this frame.
+
+       * process.c (wait_reading_process_input): Don't check for
+       keyboard input if wait_for_cell.
+
+       * minibuf.c (read_minibuf): New arg allow_props.
+       If it is 0, discard text properties from the result.  Callers changed.
+       (minibuffer_allow_text_properties): New variable.
+       (Fread_from_minibuffer): That variable controls allow_props arg.
+       (syms_of_minibuf): Set up Lisp var.
+
+1997-06-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * insdel.c (del_range_1): Make markers for TO and FROM
+       in case prepare_to_modify_buffer changes the text.
+
+1997-06-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.h (font_idx_temp): Extern it.
+       (FS_LOAD_FONT): New macro.
+
+       * fontset.c (font_idx_temp): New temprary variable used in
+       FS_LOAD_FONT.
+
+       * xfaces.c (Fset_face_attribute_internal): Use FS_LOAD_FONT
+       instead of calling fs_load_font directly.
+
+       * xterm.c (dumpglyphs): Use FS_LOAD_FONT.
+       (x_new_fontset): If frame F has already using FONTSET, avoid the
+       duplicated work.  Use FS_LOAD_FONT.
+       (x_list_fonts): Call Fassoc to search Valternate_charset_table.
+       (x_load_font): Get around a buf of XListFonts
+
+1997-06-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * print.c (Ferror_message_string): Optimize (error STRING) case.
+
+1997-06-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (Fprocess_send_eof): Properly conditionalize prev. change.
+
+1997-06-18  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (Fprocess_send_eof): Use shutdown, if it's a socket.
+       Don't close the output descriptor if that is also the input descriptor.
+       
+       * config.in (HAVE_SHUTDOWN): Add #undef.
+
+       * editfns.c (Fchar_before): Validate N after decrementing.
+       Don't use POS as integer.
+
+1997-06-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_coding_iso2022): Initilize mask correctly.
+
+       * fns.c (concat): Pay attention to multibyte characters when
+       TARGET_TYPE is Lisp_String.
+
+1997-06-17  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (wait_reading_process_input): Fix previous change.
+
+1997-06-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Fdo_auto_save): Use stdio to write the save-list file.
+
+       * fileio.c (Finsert_file_contents): Don't give up on the fast
+       replace method if the coding remains undecided.
+
+1997-06-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (wait_reading_process_input): When exiting because
+       the process WAIT_PROC has terminated, first read all its output. 
+
+1997-06-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * editfns.c (Fchar_after, Fchar_before): Make arg optional.
+
+1997-06-14  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * buffer.h (point): Obsolete macro deleted in favor of PT.
+       * editfns.c (Fprevious_char): Use PT, not point.
+       * cmds.c (internal_self_insert): Use PT, not point.
+
+1997-06-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * bytecode.c (Bread_char): Deleted.
+       (Bsave_current_buffer_1): New byte code.
+       (Fbyte_code): Delete handling Bread_char.
+       Handle Bsave_current_buffer_1 like Bsave_current_buffer.
+
+1997-06-11  Paul Eggert  <eggert@twinsun.com>
+
+       * callproc.c (Fcall_process): Use setsid to disconnect child
+       process from controlling terminal.
+
+1997-06-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * unexalpha.c (unexec): Call update_dynamic_symbols unconditionally.
+       (update_dynamic_symbols): Define unconditionally, but do nothing
+       if __linux__or __NetBSD__.
+
+       * s/netbsd.h (HAVE_TEXT_START, START_FILES, UNEXEC):
+       Don't define these if __ELF__.
+       (RUN_TIME_REMAP, N_PAGSIZ, N_BSSADDR, N_TRELOFF): Likewise.
+
+       * m/alpha.h (TEXT_END, COFF, DATA_END): 
+       Define them if __NetBSD__ just as if LINUX.
+       (HAVE_TEXT_START): Define, if __NetBSD__ and __ELF__.
+
+1997-06-10  Erik Naggum  <erik@naggum.no>
+
+       * fileio.c (Fwrite_region): Fix previous doc change.
+
+1997-06-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (wait_reading_process_input): Return if unread events
+       appear.
+
+       * keyboard.c (kbd_buffer_get_event): When wait_reading_process_input
+       returns, check Vunread_command_events.
+
+1997-06-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * sysdep.c (init_sys_modes): Enable VSTART and VSTOP
+       if flow_control.
+
+       * editfns.c (Finsert_char): Check QUIT.
+
+       * fontset.c (list_fontsets, fs_load_font): 
+       fast_c_string_match_ignore_case renamed.
+       
+       * xterm.c (x_list_fonts): fast_c_string_match_ignore_case renamed.
+
+       * search.c (fast_c_string_match_ignore_case):
+       Renamed from fast_string_match_ignore_case.  Set re_match_object.
+
+1997-06-09  Kenichi Handa  <handa@etl.go.jp>
+
+       * buffer.c (init_buffer_once): Inititialize the member
+       buffer_file_coding_system.
+       (syms_of_buffer): Declare Lisp variables
+       default-buffer-file-coding-system and buffer-file-coding-system.
+
+       * buffer.h (struct buffer): New member buffer_file_coding_system.
+
+       * coding.c (Vcoding_system_alist): Deleted.
+       (Qcoding_system_spec): Renamed from Qcoding_system_vector.
+       (Vdefault_process_coding_system, Vfile_coding_system_alist,
+       Vprocess_coding_system_alist, Vnetwork_coding_system_alist): New
+       variables.
+       (Ffind_coding_system): Adjusted for the above change.
+       (syms_of_coding): Declare them as lisp variables.
+       (Fcheck_coding_system): Pass list as DATA argument to Fsignal.
+
+       * coding.h (Vdefault_process_coding_system): Extern it.
+
+       * callproc.c (Fcall_process): Pay attention to
+       Vdefault_process_coding_system.
+       (Fcall_process_region): Likewise.
+
+       * process.c (Fstart_process): Likewise.
+       (Fopen_network_stream): Likewise.
+
+       * xdisp.c (decode_mode_spec): Access the value of
+       buffer-file-coding-system by b->buffer_file_coding_system.
+
+       * fileio.c (Fwrite_region): Cancel the 7th argument CODING_SYSTEM
+       added by the previous change.
+       (auto_save_1): Adjusted for the above change.
+
+       * data.c (Faset): Inherit default value correctly while creating
+       sub char table.
+
+       * xselect.c (selection_data_to_lisp_data): Change coding system
+       name to iso-latin-1.
+       (lisp_data_to_selection_data): Likewise.
+
+       * xterm.c (dumpglyph): Shift baseline for such a font that is
+       shorter but ascent or descent exceed the line height.
+       For a larger font, draw a small hook at right-bottom edge instead
+       of a rectangle.
+
+1997-06-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keymap.c (Fcopy_keymap): After copying a sub-char-table,
+       do store the copy.
+
+1997-06-04  Kenichi Handa  <handa@etl.go.jp>
+
+       * casefiddle.c (casify_object): Fix bug on handling a character
+       argument.
+
+1997-06-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/netbsd.h (NO_SHARED_LIBS): Test __alpha__ && ! __ELF__.
+
+       * keyboard.c (syms_of_keyboard): Doc fix.
+
+       * search.c (Freplace_match): If opoint is 0, that's relative to ZV.
+
+       * intervals.c (find_interval): No longer inline.
+
+1997-06-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lisp.h (VALMASK, GCTYPEMASK, MARKBIT, ARRAY_MARK_FLAG)
+       (PSEUDOVECTOR_FLAG, enum pvec_type, PSEUDOVECTOR_SIZE_MASK): 
+       Define regardless of NO_UNION_TYPE.
+       
+       * xfns.c (Fx_create_frame): Use XINT to access parent.
+
+       * syntax.c (Fsyntax_table_p, check_syntax_table): Use EQ.
+       (Fmodify_syntax_entry): Use XINT to access c.
+       (describe_syntax): Use XINT to access first.
+
+       * search.c (search_buffer): Use XINT around refs to trt.
+
+       * lisp.h (concat3, get_truename_buffer): Declare them.
+
+       * keyboard.c (read_key_sequence): Change some locals to `int'.
+
+       * indent.c (compute_motion): Use XFASTINT on width_table elts.
+
+       * fns.c (map_char_table): Use XSETFASTINT.
+
+       * fileio.c (Fwrite_region, build_annotations):
+       Set start and end using XSETFASTINT.
+
+       * editfns.c (Fcompare_buffer_substrings): trt contains Lisp_Objects.
+       (transpose_markers): Use marker_position, not Fmarker_position.
+
+       * buffer.c (Fmove_overlay): Clean up setting o_beg and o_end.
+
+       * alloc.c (Fmake_byte_code): Set val from p, not from val.
+       (make_event_array): Convert nargs to Lisp_Object.
+
+       * m/powerpcle.h: New file.
+
+       * unexalpha.c [__NetBSD__]: Don't include filehdr.h, aouthdr.h
+       scnhdr.h or syms.h.  Add many other conditionalized definitions.
+
+       * m/alpha.h [__NetBSD__]: Include stdlib.h, not alloca.h.
+       (ORDINARY_LINK): Defined (if __NetBSD__).
+
+       * s/netbsd.h [__alpha__] (NO_SHARED_LIBS): Defined.
+       
+1997-05-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lread.c (init_lread): Sometimes add to load-path
+       the lisp and site-lisp dirs under the source directory.
+
+       * xfaces.c: Include frame.h unconditionally.
+
+       * Makefile.in (stamp-oldxmenu): Always define this
+       one way or another.
+
+       * search.c (Freplace_match): Fix previous change.
+
+       * syntax.c (back_comment): Detect 2-char comment starts properly.
+       New arg COMSTYLE; callers changed.
+       (Fforward_comment): Handle unmatched two-character comment starters.
+
+       * intervals.c (move_if_not_intangible): Fix previous change.
+
+       * Makefile.in (XOBJ, MSDOS_OBJ, SOME_MACHINE_OBJECTS): Delete xfaces.o.
+       (obj): Add xfaces.o.
+       (FACE_SUPPORT, SOME_MACHINE_LISP): Delete faces.elc.
+       (shortlisp, lisp): Add faces.elc
+
+       * emacs.c (main): Call syms_of_xfaces whenever ! HAVE_NTGUI.
+
+       * xfaces.c (Fframe_face_alist, Fset_frame_face_alist):
+       Define unconditionally.
+       (Finternal_next_face_id, next_face_id): Likewise.
+       (syms_of_xfaces): Define unconditionally,
+       but conditionalize some of the contents.
+
+1997-06-01  Roderick Schertler  <roderick@ibcinc.com>
+
+       * sysdep.c (init_baud_rate): Use INIT_BAUD_RATE if it's defined.
+       (sys_signal): Lose DGUX special case.
+
+       * s/dgux.h (signal): Define only if not NO_DGUX_SIGNAL_REDEF.
+       * s/dgux4.h: New file.
+
+1997-05-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (process_expose_from_menu, XTread_socket): 
+       Set has_been_visible field.
+       (x_make_frame_visible): Don't do XMoveWindow unles has_been_visible.
+
+       * xterm.h (struct x_output): New field has_been_visible.
+
+       * lread.c (intern): Don't make a pure string here,
+       since Fintern does that.
+
+       * Makefile.in (lisp, shortlisp): Use cus-start.el, not .elc.
+
+       * data.c (Farrayp): Accept bool-vectors and char-tables.
+
+       * fns.c (Fchar_table_range, Fset_char_table_range):
+       Make one-element vector work for RANGE.
+
+1997-05-30  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * term.c (insert_glyphs): Use &, not &&.
+
+1997-05-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * search.c (Freplace_match): Use move_if_not_intangible
+       to handle intangible text better.
+
+       * intervals.c (move_if_not_intangible): New function.
+
+       * editfns.c (Fcurrent_time_string): Doc fix.
+
+       * eval.c (Fsignal): Use call2 to call Vsignal_hook_function.
+
+1997-05-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * dispnew.c (scrolling): If a line is not enabled,
+       give it an infinite draw_cost.
+
+       * data.c (Faset): Doc fix.
+
+       * alloc.c (Fmake_bool_vector): Doc fix.
+
+       * buffer.c (syms_of_buffer): Doc fix.
+
+1997-05-27  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.h (FONT_ENCODING_NOT_DECIDED): New macro.
+
+       * fontset.c (fs_load_font): Before using a fontset, be sure to
+       load the ASCII font of the fontset.  Size and height of a fontset
+       is set to the same as those of the ASCII font of the fontset.  Use
+       macro FONT_ENCODING_NOT_DECIDED.
+
+       * xterm.c (x_load_font): Use macro FONT_ENCODING_NOT_DECIDED.
+
+       * fns.c (map_char_table): For sub char-table, index should be
+       start from 0 (not from 32) considering a composite character.
+       (Fmap_char_table): Doc-string adjusted.  The variable indices is
+       declared as an array of Lisp_Object.
+
+       * coding.h (struct iso2022_spec): Member requested_designation is
+       changed to array of `unsigned char'.
+       (CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION): New macro.
+
+       * coding.c (encode_invocation_designation): Use macro
+       CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION.
+       (encode_designation_at_bol, setup_coding_system): Likewise.
+       (Fset_terminal_coding_system_internal): Renamed from
+       Fset_terminal_coding_system.  Make it non-interactive.
+       Do not call Fredraw_display.
+       (Fset_keyboard_coding_system_internal): Renamed from
+       Fset_keyboard_coding_system.  Make it non-interactive.
+
+       * charset.c (Ffind_charset_string): The variable CHARSETS is
+       changed to (int *).
+
+       * casetab.c (case_temp1, case_temp2): New variables temporarily
+       used in macros DOWNCASE and UPCASE1.
+       (set_case_table): Setup canonical table correctly.  Use
+       map_char_table instead of compute_trt_inverse.
+       (set_canon, set_identity, shuffle): New functions given to
+       map_char_table.
+       (compute_trt_identity, compute_trt_shuffle, compute_trt_inverse):
+       Deleted.
+
+       * casefiddle.c (casify_object): Handle multibyte characters.
+       (casify_region): Change the way of handling multibyte characters.
+
+       * lisp.h (CHAR_TABLE_REF): Do not check validity of CT.
+       (CHAR_TABLE_SET): Likewise.
+       (DOWNCASE_TABLE): Return case-table instead of the `contents' field.
+       (UPCASE_TABLE): Likewise.
+       (DOWNCASE): Use CHAR_TABLE_REF.
+       (NOCASEP): Use UPCASE1.
+       (UPCASE1): Use CHAR_TABLE_REF.
+
+       * search.c (looking_at_1): Change using DOWNCASE_TABLE.
+       (string_match_1): Likewise.
+
+       * editfns.c (Fchar_equal): Make it handle case of multibyte
+       characters.
+
+1997-05-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (Fsplit_window): Ignore FRAME_NO_SPLIT_P here.
+       (inhibit_frame_unsplittable): Variable deleted.
+       (syms_of_window): Don't set up Lisp variable.
+
+       * xterm.c (XTread_socket) <ConfigureNotify>: Don't call
+       x_wm_set_size_hint if window has no parent yet.
+       Simplify the call to x_real_positions.
+       (x_make_frame_visible): Use win_gravity to decide whether to
+       call XMoveWindow.  Also, don't do it if frame already visible.
+       
+       * xfns.c (x_real_positions): Subtract border width from results.
+
+1997-05-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (syms_of_window): Initialize inhibit_frame_unsplittable.
+
+       * w16select.c (Fwin16_set_clipboard_data): Pass new arg to sit_for.
+
+       * fileio.c (Fdo_auto_save): Pass new arg to sit_for.
+
+       * callint.c (Fcall_interactively): Pass new arg to sit_for.
+
+       * keyboard.c (command_loop_1): Pass 1 as new arg to sit_for.
+       (read_char): Likewise, pass 0 for it.
+
+       * dispnew.c (sit_for): New arg initial_display.
+       (Fsit_for): Pass new arg.
+
+       * indent.c (compute_motion): Return correctly if skip_invisible
+       takes us past TO.
+
+       * xterm.c (XTread_socket) <UnmapNotify>: Don't make an iconify_event
+       when frame was made invisible.
+       (x_make_frame_visible): Put the call to x_set_offset back as it was.
+       Near the end, instead call XMoveWindow, but only if original
+       positions were not negative.
+
+1997-05-26  Simon Marshall  <simon@diazepam.gnu.ai.mit.edu>
+
+       * window.c (syms_of_window): Change frame_override_unsplittable to
+       inhibit_frame_unsplittable.
+       (Fsplit_window): Check inhibit_frame_unsplittable.
+
+1997-05-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (Fdisplay_buffer): Use B not b for interactive argument.
+
+       * xfns.c (x_real_positions): Directly compare the frame's window
+       or parent with the root window.
+
+       * xterm.c (x_make_frame_visible): Call x_set_offset only after
+       mapping the window and accepting input.
+       (x_calc_absolute_position): Do nothing if current position
+       is already for the top-left corner.
+       Handle errors in XTranslateCoordinates.
+       (XTread_socket): Simplify handling of ConfigureNotify events.
+       Always call x_wm_set_size_hint for them.
+       No need to call XTranslateCoordinates here.
+       (x_clear_errors): New function.
+       
+1997-05-20  Erik Naggum  <erik@naggum.no>
+
+       * editfns.c (Fformat_time_string): Doc update.
+       
+1997-05-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * editfns.c (Fformat_time_string): Doc update.
+       Handle emacs_strftime returning -1.
+       If it returns 0, compute actual buffer size needed.
+
+       * Makefile.in (shortlisp): Add custom.elc and cus-start.elc.
+
+       * fns.c (internal_equal): When comparing strings, ignore text props.
+       Friedman offers to fix anything that has trouble due to this.
+
+       * dispnew.c (sit_for): Delete #if 0.
+
+       * keymap.c (access_keymap, store_in_keymap): Don't look in a char-table
+       for a character that has modifier bits.
+
+1997-05-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keymap.c (access_keymap): For a char-table,
+       look only for chars with no modifier bits.
+
+1997-05-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * s/osf1.h (HAVE_TERMIOS): Define it.
+
+       * m/alpha.h (PTY_OPEN): Call sigblock instead of sigblockx.
+
+       * Makefile.in (xdisp.o): Add coding.h in dependency list.
+
+       * fontset.h (struct font_info): Change the declaration of encoding
+       from `char' to `unsigned char'.
+
+       * xterm.c (x_load_font): Set 4 instead of -1 in fontp->encoding[1]
+       for the meaning of `can not be decided'.
+
+       * fontset.c (fs_load_font): Modified to cope with the above
+       change.
+
+       * charset.c (Ffind_charset_region): Change the declaration of
+       charsets from `char' to `int'.
+       (find_charset_in_str): Likewise.
+
+       * xselect.c (lisp_data_to_selection_data): Likewise.
+
+       * coding.h (struct iso2022_spec): Change the declaration of
+       requested_designation from `char' to `int'.
+
+1997-05-18  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * callint.c (Fcall_interactively): Use num_input_events.
+
+       * keyboard.h (num_input_events, num_nonmacro_input_events):
+       Renamed from ..._input_chars.
+
+       * eval.c (num_nonmacro_input_events):
+       Renamed from num_nonmacro_input_chars.
+
+       * keyboard.c (num_nonmacro_input_events):
+       Renamed from num_nonmacro_input_chars.
+       (syms_of_keyboard): Rename Lisp variable.
+
+1997-05-18  Erik Naggum  <erik@naggum.no>
+
+       * lisp.h (Vtty_erase_char): Declared.
+       * keyboard.c (Vtty_erase_char): Variable defined
+       (syms_of_keyboard): Set up Lisp variable.
+       Also set up `num-nonmacro-input-chars' to report actual keystrokes.
+       * sysdep.c (init_sys_modes): Initialize Vtty_erase_char if
+       possible from the stty settings, otherwise to nil.
+
+       * lread.c (Fintern): Give keywords a value when interned.
+
+       * dired.c (Ffile_attributes): Return inode number as a cons
+       only if necessary.
+
+1997-05-18  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keymap.c (copy_keymap_1): Do nothing if ELT isn't a keymap.
+
+1997-05-17  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * frame.c (make_terminal_frame): Don't add `Emacs' to frame name.
+
+1997-05-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * sysselect.h (SELECT_TYPE): Don't define if already defined.
+
+       * cmds.c (nonascii_insert_offset): New variable.
+       (Fself_insert_command, internal_self_insert):
+       Add nonascii_insert_offset to what we insert, when appropriate.
+       (syms_of_cmds): Set up Lisp variable.
+
+       * xdisp.c (display_text_line): Move the code to fill out the line
+       with the newline's face to the end of the newline code.
+       Add changes (commented out) to record ellipsis positions in charstarts.
+
+       * charset.c (strwidth): Fix previous change.
+
+       * ralloc.c (mallopt): Declare, if appropriate.
+       (r_alloc_init) [DOUG_LEA_MALLOC]: Call mallopt,
+       instead of setting __malloc_extra_blocks.
+
+Thu May 15 22:21:18 1997  Ken'ichi Handa  <handa@diazepam.gnu.ai.mit.edu>
+
+       * Makefile.in (charset.o): Add disptab.h in dependency list.
+
+       * charset.c: Include disptab.h.
+
+1997-05-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (dumpglyphs): Draw glyphs one by one if the font for
+       them is narrower than required.
+
+       * fns.c (copy_sub_char_table): Declare the argument ARG as
+       Lisp_Object.
+
+       * fontset.c (fontset_pattern_regexp): Cast to (char *) before
+       assigning to P0.
+
+       * ccl.c (struct ccl_prog_stack): Declear the member ccl_prog as
+       Lisp_Object *.
+
+       * editfns.c: Declare Fuser_full_name as Lisp_Object in advance to
+       avoid compiler error.
+
+       * data.c: Declare set_internal as Lisp_Object in advance to avoid
+       compiler error.
+
+       * alloc.c (BYTES_USED): Put # at the beginning of line.
+       (emacs_blocked_malloc): Likewise.
+
+       * xterm.c (x_connection_closed): Likewise.
+       (x_load_font): Cast to (char *) before assigning to FONTNAME.
+
+       * keymap.c: Declare Fcopy_keymap as Lisp_Object in advance to
+       avoid compiler error.
+
+1997-05-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (VALID_CHAR_P): New macro.
+
+       * fns.c (Fset_char_table_default): New function.
+
+1997-05-15  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (non_ascii_char_to_string): Signal error if the
+       argument C is an invalid character code.
+       (Fconcat_chars): Use alloca instead of malloc.
+
+       * charset.h (CHAR_STRING):  Comment reflect the above change.
+
+       * coding.h: Name change through the code:
+       coding-category-internal => coding-category-emacs-mule,
+       XXX_coding_internal => XXX_coding_emacs_mule,
+       coding_type_internal => coding_type_emacs_mule,
+       coding_type_automatic => coding_type_undecided,
+       CODING_CATEGORY_MASK_INTERNAL => CODING_CATEGORY_MASK_EMACS_MULE,
+       CODING_CATEGORY_IDX_INTERNAL => CODING_CATEGORY_IDX_EMACS_MULE,
+       CODING_EOL_AUTOMATIC => CODING_EOL_UNDECIDED.
+       * coding.c: Likewise.
+       * fileio.c: Likewise.
+       
+       * xfns.c (Fx_create_frame): Delete unnecessary code.
+
+1997-05-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents): Use xmalloc. not malloc.
+       Check correctly for whether no code translation is needed.
+       (Finsert_file_contents): Use xrealloc too.
+
+       * charset.c (strwidth, Fchar_width): Handle display table.
+
+1997-05-15  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * casefiddle.c: Include charset.h.
+       (Qidentity): Define this variable.
+       (syms_of_casefiddle): Initialize and staticpro it.
+       (casify_object, casify_region): Handle multibyte.
+
+1997-05-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * casetab.c (compute_trt_identity): Use make_sub_char_table.
+       (compute_trt_identity, compute_trt_shuffle):
+       Set up bytes[0] with the charset code.
+       Check for a sub-char-table when deciding to recurse.
+       Terminate the loop properly for a sub-char-table.
+
+       * callint.c (Fcall_interactively): Pass extra arg to Fread_string.
+
+       * minibuf.c (Fread_from_minibuffer): Add gcpro.
+
+       * fns.c (Fcopy_sequence): Correctly copy the char-table contents.
+
+       * keymap.c (describe_vector): Identify charset row numbers clearly.
+
+       * casetab.c: Include charset.h.
+       (compute_trt_inverse): Totally rewritten.
+       Args are now Lisp_Object.  Callers changed.
+       (compute_trt_identity, compute_trt_shuffle): New subroutines.
+       (init_casetab_once): Use XSETFASTINT to store into case table;
+       use CHAR_TABLE_SINGLE_BYTE_SLOTS to end the loop.
+       
+1997-05-13  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * syntax.c (describe_syntax_1): Pass new args to describe_vector.
+
+       * category.c (describe_category_1): Pass new args to describe_vector.
+
+1997-05-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keymap.c (get_keyelt): Handle an indirect entry with meta char.
+       (describe_vector): Rewrite char-table handling.
+
+       * data.c (wrong_type_argument): Pass new arg to Fstring_to_number.
+
+1997-05-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xfns.c (Fx_create_frame): Get X resources from the display
+       we are making the frame on.
+       (x_get_arg): New arg DPYINFO.  Callers changed.
+       (display_x_get_resource): New function.
+
+1997-05-11  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * data.c (Fstring_to_number): Handle bases 2...16.
+       (digit_to_number): New subroutine.
+
+1997-05-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fns.c (map_char_table): New arg SUBTABLE.  Callers changed.
+       Pass the whole chartable to C_FUNCTION.
+       Pass index character as a Lisp_Object.
+
+       * keymap.c (Fmake_keymap): Make a char-table.
+       (access_keymap, store_in_keymap): Likewise,
+       (describe_map, Fset_keymap_parent, Faccessible_keymaps): Likewise.
+       (Fwhere_is_internal, Fcopy_keymap): Handle a char-table.
+       (copy_keymap_1, accessible_keymaps_char_table): New subroutines.
+       (where_is_internal_1, where_is_internal_2): New functions.
+       (syms_of_keymap): Set up Qchar_table_extra_slots prop on Qkeymap.
+       
+1997-05-10  Ken'ichi Handa  <handa@etl.go.jp>
+
+       * callproc.c (Fcall_process_region): Supply 7th new arg
+       CODING_SYSTEM as Qnil to Fwrite_region.
+
+       * ccl.c (Fccl_execute_on_string): Add 4th optional arg
+       CONTINUE.
+
+       * charset.c (unify_char): New function.
+       (Fdefine_charset): Doc-string modified.
+       (find_charset_in_str): Add 4th arg TABLE which is a character
+       unification table.
+       (Ffind_charset_region): Add optional arg TABLE which is a
+       character unification table.
+       (Ffind_charset_string): Likewise.
+
+       * charset.h (unify_char): Extern it.
+
+       * coding.c (Valternate_charset_table): The valiable deleted.
+       (Venable_character_unification,
+       Vstandard_character_unification_table_for_read,
+       Vstandard_character_unification_table_for_write,
+       Qcharacter_unification_table): New variables.
+       (syms_of_coding): Initialize and declare them.
+       (DECODE_ISO_CHARACTER): Modified to handle a character unification
+       table instead of Valternate_charset_table.
+       (DECODE_DESIGNATION): Delete handling of Valternate_charset_table.
+       (decode_coding_iso2022): Handle a character unification table.
+       (ENCODE_ISO_CHARACTER): New macro.
+       (encode_designation_at_bol): Handle a character unification table.
+       Do not return -1 even if end-of-line is not in the current run.
+       (encode_coding_iso2022): Handle a character unification table.
+       Call macro ENCODE_ISO_CHARACTER instead of calling
+       ENCODE_ISO_CHARACTER_DIMENSION1 and
+       ENCODE_ISO_CHARACTER_DIMENSION2 directly.  Check the size of
+       carryover before copying it to destination.
+       (setup_coding_system): Initialize the member
+       character_unification_table of the struct coding system to Qnil.
+       (Fset_keyboard_coding_system): Doc string augmented.
+
+       * coding.h (CODING_SPEC_ISO_PLANE_CHARSET): Return -1 if no
+       character set is invoked to PLANE.
+       (struct coding_system): New member character_unification_table.
+
+       * fileio.c (Fwrite_region): Add 7th optional arg
+       CODING_SYSTEM.  Move gap after a newline code if we are encoding
+       in a coding system which requires designation sequences to be put
+       at beginning of line.  Set coding.last_block to 1 before calling
+       a_write for an empty file.
+       (build_annotations): Code tuned up for handling
+       pre_write_conversion of a coding system.
+       (e_write): Delete code for handling carryover of code conversion.
+       It is now handled in encode_coding.
+       (auto_save_1): Supply 7th new arg CODING_SYSTEM as Qnil to
+       Fwrite_region.
+
+       * fontset.c (Vfontset_alias_alist): New variable.
+       (fontset_pattern_regexp): Delete code for handling nickname of a
+       fonset.  It is now handled in Fquery_fontset by consulting
+       Vfontset_alias_alist.
+       (Fquery_fontset): Handle Vfontset_alias_alist.
+       (syms_of_fontset): Terminate each line by `\n\' in doc-string of
+       alternate-fontname-alist.  Declare Lisp valiable
+       fontset-alias-alist.  Doc-string of highlight-wrong-size-font
+       and clip-large-size-font modified.
+
+       * xfns.c (Fx_create_frame): Delete code for handling the X
+       resouce "Fontset".
+
+       * xselect.c (selection_data_to_lisp_data): If TYPE is `STRING'
+       and DATA contains 8-bit codes, decode them as Latin-1 characters.
+       (lisp_data_to_selection_data): Supply 4th arg TABLE as Qnil to
+       find_charset_in_str.
+
+       * xterm.c (dumpglyphs): Even if font (not fontset) is used,
+       display Latin1 characters correctly if the font contains glyphs
+       for them.  Fix bug of displaying cursor on a composite character.
+
+1997-05-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keyboard.c (Fexecute_extended_command):
+       Pass new arg to Fcompleting_read.
+       (command_loop_1): Use an int for last_command_char.
+
+       * lisp.h (read_minibuf): Declaration deleted.
+
+       * callint.c (Fcall_interactively): Pass new arg to
+       Fread_from_minibuffer and Fread_variable.
+
+       * fns.c (Fyes_or_no_p): Pass new arg to Fread_from_minibuffer.
+
+       * minibuf.c (Fread_command): New optional arg DEFAULT-VALUE.
+       Callers changed.
+       (Fread_variable, Fread_string, Fread_from_minibuffer): Likewise.
+       (read_minibuf): Now static.  New arg DEFALT.  Callers changed.
+       Bind minibuffer-default here.
+       (read_minibuf_unwind): Now static.
+       (Fcompleting_read): Past DEF to Fread_from_minibuffer;
+       no need to use it directly here.
+
+       * fileio.c (Fread_file_name): Finish previous change.
+
+       * coding.c (Fread_coding_system, Fread_non_nil_coding_system): 
+       Pass new arg to Fcompleting_read.
+
+       * callint.c (Fcall_interactively): Pass new arg to Fcompleting_read.
+
+       * xmenu.c (Fx_popup_menu): Doc fix.
+
+1997-05-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (TAGS): Fix typo.
+
+       * xdisp.c (mark_window_display_accurate, redisplay_internal):
+       Test highlight_nonselected_windows.
+       (display_text_line): Likewise (in more places).
+       (syms_of_xdisp): Initialize highlight_nonselected_windows to 0.
+
+       * keyboard.c (Qtimer_event): Variable deleted.
+       (Qtimer_event_handler): New variable.
+       (syms_of_keyboard): Don't initialize Qtimer_event.
+       Do initialize Qtimer_event_handler.
+       (read_char): Don't check for timer event.
+       (swallow_events): Don't handle timer events.
+       (timer_check): Likewise.
+       (make_lispy_event): Likewise.
+
+1997-05-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/bsd386.h: Delete the code that was trying to define BSD "right"
+       now that Emacs doesn't use the symbol BSD this way.
+
+1997-05-06  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (MOUSE_SUPPORT): Delete menu-bar.elc.
+       (lisp): Move menu-bar.elc here.
+       Add custom.elc and cus-start.elc.
+
+       * m/intel386.h (LIBS_MACHINE): Add -lelf.
+
+1997-05-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xdisp.c (display_text_line): Clear region_showing to Qnil if the
+       window should not show a region.
+       (redisplay_internal): Do update region_showing when ! all_windows.
+
+       * window.c (Fset_window_configuration): Set last_selected_window
+       in the new selected window's new buffer.
+
+       * xdisp.c (display_text_line): Set w->region_showing to the mark
+       position if there's a mark; to nil, otherwise.
+
+       * w32fns.c (x_set_mouse_color): Fix previous change.
+
+       * xselect.c (x_reply_selection_request): Delete the inner
+       unbind_to call, since x_uncatch_errors does the job.
+
+1997-05-04  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * minibuf.c (Fcompleting_read): New arg DEF.
+       Callers changed.
+       (Qminibuffer_default): New variable.
+       (syms_of_minibuf): Initialize it.
+
+       * fileio.c (Fread_file_name): Pass default to Fcompleting_read.
+
+1997-05-03  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * w32fns.c (x_set_mouse_color): Update calls to x_catch_errors
+       and x_uncatch_errors.
+
+       * xfns.c (x_set_scroll_bar_width): If arg is too small, round it up.
+
+       * window.c (Fdisplay_buffer): If we give up and try other frames,
+       look again for a window in those frames already showing BUFFER.
+
+1997-05-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xselect.c (x_reply_selection_request): Fix previous change.
+
+1997-04-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (XTmouse_position, x_term_init): 
+       Save value from x_catch_errors and pass to x_uncatch_errors.
+
+       * xselect.c (x_own_selection, x_reply_selection_request)
+       (x_get_foreign_selection):
+       Save value from x_catch_errors and pass to x_uncatch_errors.
+
+       * xfns.c (x_real_positions, x_set_mouse_color, Fx_list_fonts):
+       Save value from x_catch_errors and pass to x_uncatch_errors.
+
+       * xterm.c (x_catch_errors): Use specpdl so can be nested.
+       Use a Lisp string to as the buffer for the X message.
+       (x_uncatch_errors, x_had_errors_p, x_check_errors): Related changes.
+       (x_catch_errors_unwind): New function.
+       (x_error_quitter): Call x_error_catcher if appropriate.
+       (x_error_message_string): New variable.
+       (syms_of_xterm): Defvar it.
+       (x_caught_error_message): Variable deleted.
+       (X_ERROR_MESSAGE_SIZE): Renamed from X_CAUGHT_ERROR_MESSAGE_SIZE.
+       (x_error_handler): New function, calls x_error_quitter or ..._checker.
+       (x_initialize): Use x_error_handler as error handler for X.
+
+1997-04-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Fexpand_file_name): Check length > 0 when necessary.
+
+1997-04-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * syntax.c (skip_chars): Fix previous change in syntax/backward case.
+
+       * lread.c (init_lread): Don't add ../lisp to the dump-time load path.
+
+       * buffer.c (Fbury_buffer): If buffer is in selected window, remove it.
+       Otherwise, remove it from other windows.
+
+       * fileio.c (Fsubstitute_in_file_name): Use xnm uniformly, never nm,
+       when handling /~ and // at the end.
+
+       * process.c (read_process_output): Update opoint, old_begv and old_zv
+       based on actual buffer change rather than size of string.
+       old_begv and old_zv are now ints.
+       (status_notify): Likewise for opoint.
+
+1997-04-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (x_destroy_window): Free saved_menu_event, if any.
+
+       * frame.c (Fdelete_frame): Free FRAME_MESSAGE_BUF.
+
+       * xrdb.c (get_user_app): Free the gethomedir value.
+
+       * buffer.c (reset_buffer): Initialize clip_changed field.
+
+1997-04-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * emacs.c (sort_args): Free the malloc'd memory.
+
+       * fileio.c (Fwrite_region): GCPRO `start' near the beginning.
+
+       * xfns.c (x_set_menu_bar_lines): Increment windows_or_buffers_changed.
+
+1997-04-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * syntax.c (skip_chars): Merge mule changes back in.
+
+1997-04-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (frame_override_unsplittable): New variable.
+       (Fsplit_window): Ignore `unsplittable' if frame_override_unsplittable.
+       (syms_of_window): Set up Lisp var.
+
+       * xmenu.c (set_frame_menubar): When widget is new,
+       forget records of old contents.
+
+1997-04-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (x_set_offset): Turn off the code that added the border_width
+       to modified_left and modified_top; it seems incorrect to do that.
+
+1997-04-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keymap.c (Faccessible_keymaps): Convert PREFIX to a vector
+       at the beginning, if it has any definition.
+
+1997-04-19  Erik Naggum  <erik@naggum.no>
+
+       * keymap.c (describe_vector): Test for suppressed commands in
+       all cases.  Call get_keyelt with two arguments.
+
+1997-04-18  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * print.c (print): Symbols like e2 and 2e are not confusing.
+
+1997-04-17  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * fileio.c (Fexpand_file_name): Fix expansion of "/foo/../".
+
+1997-04-15  Ken'ichi Handa  <handa@etl.go.jp>
+
+       * coding.c (setup_coding_system): Setup coding->eol_type as LF
+       for a invalid coding system.
+
+1997-04-14  Ilya Zakharevich  <ilya@math.ohio-state.edu>
+
+       * dired.c (Fdirectory_files): Set re_match_object.
+
+       * intervals.c (update_interval): New function.
+
+       * intervals.h (update_interval): New function declaration.
+
+       * regex.c (PTR_TO_OFFSET): New macro.
+       (POS_AS_IN_BUFFER): New macro.
+       (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table' text
+       property into account when doing SYNTAX (c).
+       (re_compile_fastmap): disable fastmap if any of wordbound
+       notwordbound wordbeg wordend notsyntaxspec syntaxspec are seen.
+       (re_search_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start.
+       (re_match_object): New variable.
+       (re_match_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start.
+       (re_match_2_internal): For any of wordbound notwordbound wordbeg
+       wordend notsyntaxspec syntaxspec call UPDATE_SYNTAX_TABLE before
+       doing SYNTAX (c).
+
+       * regex.h (re_match_object): New variable.
+
+       * search.c (looking_at_1): Set re_match_object.
+       (string_match_1): Set re_match_object.
+       (fast_string_match): Set re_match_object.
+       (Fskip_chars_forward): Move to syntax.c.
+       (Fskip_chars_backward): Move to syntax.c.
+       (Fskip_syntax_forward): Move to syntax.c.
+       (Fskip_syntax_backward): Move to syntax.c.
+       (skip_chars): Move to syntax.c.
+       (search_buffer): Set re_match_object.
+       (syms_of_search): Move initialization of skip* to syntax.c.
+
+       * syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table'
+       text property into account when doing SYNTAX (c).
+       (ST_COMMENT_STYLE, ST_STRING_STYLE): New codes to denote
+       delimiters for new types of strings and comments.
+       (Vparse_sexp_lookup_properties): New variable.
+       (struct lisp_parse_state): Comment updated.
+       (gl_state): New global variable.
+       (update_syntax_table): New function.
+       (char_quoted): Move earlier, update gl_state when needed.
+       (find_defun_start): Update gl_state when needed.
+       (back_comment): New function.
+       (Scomment_fence, Sstring_fence): New delimeter char classes
+       denoted by `!' and `|'.
+       (Fchar_syntax, Fmatching_paren): Update gl_state to whole-buffer state.
+       (scan_words): Update gl_state when needed.
+       (Fskip_chars_forward): Move from search.c.
+       (Fskip_chars_backward): Move from search.c.
+       (Fskip_syntax_forward): Move from search.c.
+       (Fskip_syntax_backward): Move from search.c.
+       (skip_chars): Move from search.c.
+       (Fforward_comment, scan_lists): Update gl_state when needed.
+       Handle Scomment_fence, Sstring_fence.
+       (Fbackward_prefix_chars) update gl_state when needed.
+       (scan_sexps_forward): update gl_state when needed.
+       Handle Scomment_fence, Sstring_fence.
+       If comment_stop==-1, stop at start or end of comment or string.
+       (Fparse-partial-sexp): Doc fix.
+       (syms_of_syntax): Move initialization of skip* from search.c.
+
+       * syntax.h (enum syntaxcode):
+       New members Scomment_fence, Sstring_fence.
+       (SYNTAX_ENTRY): Depending on the value of SYNTAX_ENTRY_VIA_PROPERTY
+       may do a lookup for syntax table in gl_state.
+       (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD,
+       UPDATE_SYNTAX_TABLE, SETUP_SYNTAX_TABLE,
+       SETUP_SYNTAX_TABLE_FOR_OBJECT): New macros.
+       (struct gl_state_s): New struct.
+
+       * textprop.c: Style of comments corrected. 
+       (interval_of): New function.
+
+1997-04-14  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
+
+       * w16select.c: New file, MS-Windows clipboard support from
+       Emacs running as MSDOS application.
+       
+       * s/msdos.h (SYMS_SYSTEM): Add `syms_of_win16select'.
+
+       * Makefile.in (MSDOS_OBJ): Add w16select.o.
+       (dependencies): Add dependencies for w16select.o.
+
+1997-04-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * undo.c (Fprimitive_undo): When inserting, always insert
+       after markers (the ordinary kind of insertion).
+
+       * insdel.c (adjust_markers): Don't be confused by the gap
+       when computing the arg to record_marker_adjustment.
+
+1997-04-11  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * category.c (Fmodify_category_entry): Delete second arg in call
+       to make_sub_char_table.
+
+       * lisp.h (DOWNCASE): Return int, not Lisp_Object.
+       (UPPERCASEP): Use DOWNCASE.
+       (UPCASE_TABLE): New macro.
+       (NOCASEP, UPCASE1): Use UPCASE_TABLE.
+       [!NO_UNION_TYPE] (make_number): Declare.
+
+1997-04-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * minibuf.c (read_minibuf): Get the string from the minibuffer
+       even if the user has selected a different buffer.
+
+       * fileio.c (Finsert_file_contents): Do call signal_after_change
+       when REPLACE is handled by reading directly from the file.
+       Use insert_1 to insert replacement text, to avoid
+       query about whether to modify the buffer.
+       
+1997-04-10  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>
+
+       * Makefile.in (mallocobj): Make non-REL_ALLOC configuration work
+       with glibc's malloc--do use vm-limit.o.
+
+1997-04-10  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * cmds.c (internal_self_insert): Fix return value.
+       * category.c (Fmake_category_set): Use XSETFASTINT.
+       * minibuf.c (scmp): Fix Lisp_Object/integer confusion.
+       (Fdisplay_completion_list): Likewise.
+       * insdel.c (Fcombine_after_change_execute): Likewise.
+       * xselect.c (expect_property_change): Likewise.
+       * xterm.c (construct_menu_click, note_mouse_highlight): Likewise.
+       (fast_find_position): Likewise.
+       * ccl.c (ccl_driver): Likewise.
+       * coding.c (Ffind_coding_system): Likewise.
+       * charset.c (Fconcat_chars, ONE_BYTE_CHAR_WIDTH): Likewise.
+       * xmenu.c (Fx_popup_menu, set_frame_menubar): Likewise.
+       * disptab.h (DISP_TABLE_P): Likewise.
+       * xdisp.c (display_text_line): Likewise.
+       * dispnew.c (Fframe_or_buffer_changed_p): Likewise.
+       * window.c (Fset_window_buffer, Fdisplay_buffer): Likewise.
+       (delete_window): Don't return value from void function.
+
+1997-04-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/freebsd.h (BSD_SYSTEM): Alternate definition for FreeBSD v3.
+
+       * systty.h (GETPGRP_NO_ARG): If Glibc 2.1 or later,
+       don't define this if _BSD_SOURCE is defined.
+
+1997-04-08  Marcus G. Daniels  <marcus@cathcart.sysc.pdx.edu>
+
+       * emacs.c (malloc_get_state, malloc_set_state): New declarations.
+       (main): Restore internal malloc state when loading from dumped image.
+       (Fdump_emacs): Copy internal malloc state for dumping, then free it.
+
+       * alloc.c: For glibc's malloc, include <malloc.h> for mallinfo,
+       mallopt, struct mallinfo, and mallopt constants.
+       (BYTES_USED): New macro.
+       (memory_full, emacs_blocked_free): Replace _bytes_used with BYTES_USED.
+       (emacs_blocked_malloc): Set sbrk padding value for glibc, as is
+       done with gmalloc.
+       (allocate_vectorlike, make_uninit_string):
+       Prevent using mmap for possible large chunks.
+       (init_alloc_once): Set trim and mmap malloc parms, when using glibc.
+
+       * config.in (DOUG_LEA_MALLOC): Add #undef.
+       
+       * Makefile.in (mallocobj): Don't add gmalloc if using glibc.
+       Drop check for `old malloc'; it isn't distributed with Emacs.
+
+1997-04-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * casetab.c (init_casetab_once): Initialize the purpose slot.
+
+1997-04-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keyboard.c (read_key_sequence): New argument FIX_CURRENT_BUFFER.
+       Restore the current buffer from selected window on occasion.
+       All callers changed.
+
+1997-04-07  Kenichi HANDA  <handa@etl.go.jp>
+
+       * Makefile.in (lisp, shortlisp): Include english.elc and
+       tibetan.elc.
+
+       * alloc.c (Fmake_char_table): Adjusted for the new structure of
+       Lisp_Char_Table.
+       (make_sub_char_table): New function.
+
+       * category.c (category-table-p): Check only type and purpose.
+       (copy_category_table, Fmodify_category_entry): Adjusted for the
+       new structure of Lisp_Char_Table.
+
+       * ccl.c: (ccl_driver): Fix bug of the case CCL_WriteArrayReadJump.
+
+       * charset.h (CHARSET_TABLE_ENTRY): Handle ASCII charset correctly.
+       (SPLIT_NON_ASCII_CHAR, SPLIT_CHAR): Return -1 in C2 for DIMENSION1
+       characters.
+
+       * charset.c (non_ascii_char_to_string, update_charset_table,
+       Fsplit_char): Adjusted for the above change.
+
+       * coding.c (detect_coding_iso2022, detect_coding_mask): Ignore
+       invalid ESC sequence for ISO 2022.
+       (Fencode_sjis_char, Fencode_big5_char): Adjusted for the change of
+       SPLIT_CHAR.
+
+       * data.c (Faref, Faset): Adjusted for the new structure of
+       Lisp_Char_Table.
+
+       * disptab.c (disp_char_vector): Extern it.
+       (DISP_CHAR_VECTOR): Handle multibyte characters.
+
+       * fns.c (copy_sub_char_table): New function.
+       (Fcopy_sequence): Call copy_sub_char_table for copying a sub char
+       table.
+       (Fchar_table_range, Fset_char_table_range, map_char_table,
+       Fmap_char_table): Handle multibyte characters correctly.
+
+       * fontset.c (Vhighlight_wrong_size_font, Vclip_large_size_font):
+       New variables.
+       (syms_of_fontset): Declare them as Lisp variables.
+
+       * fontset.h (Vhighlight_wrong_size_font, Vclip_large_size_font):
+       Extern them.
+
+       * keymap.c (describe_vector): Adjusted for the new structure of
+       Lisp_Char_Table.
+
+       * lisp.h (CHAR_TABLE_STANDARD_SLOTS): Now 4 more slots than
+       CHAR_TABLE_ORDINARY_SLOTS for top, defalt, parent, and purpose.
+       (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
+       New macros.
+       (CHAR_TABLE_REF, CHAR_TABLE_SET): Enclose args by parenthesis.
+       (struct Lisp_Char_Table): New member `top'.  The member `defalt'
+       is moved before `contents' so that XCHAT_TABLE (val)->defalt can
+       also be used for a sub char table.
+       (SUB_CHAR_TABLE_P): New macro.
+       (make_sub_char_table): Extern it.
+
+       * lread.c (read1): Adjusted for the new structure of
+       Lisp_Char_Table.
+
+       * print.c (print): Likewise.
+
+       * xdisp.c (disp_char_vector): New function to be used from the
+       macro DISP_CHAR_VECTOR for multibyte characters.
+
+       * xterm.c (dumpglyphs): Clip and highlight glyphs displayed with
+       fonts of wrong size.
+
+Sun Apr  6 10:26:53 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
+
+       * emacs.c (init_cmdargs) [MSDOS]: Make the change that sets
+       `installation-directory' if `info' is found as its subdirectory or
+       sibling, be conditioned on MSDOS (it makes trouble on Unix).
+
+
+1997-04-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * coding.c (Ffind_coding_system): Doc fix.
+
+1997-04-03  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * fns.c (Fcopy_sequence): Delete unused variable.
+       (Fchar_table_extra_slot, Fset_char_table_extra_slot): Doc fix.
+       (map_char_table): When expanding indices, don't increase depth;
+       that's amount used, not amount allocated.
+
+       * category.h [!__GNUC__] (CATEGORY_SET): Fix syntax error.
+
+       * lisp.h (CHAR_TABLE_REF): Fix syntax error.
+       (LOWERCASEP): Use NOCASEP instead of its expansion.
+       (UPCASE): Use UPPERCASEP instead of its expansion.
+
+1997-04-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents): When handling REPLACE,
+       first try comparing block by block; if we discover a need for
+       nontrivial code conversion, give up and try convert-whole-file method.
+
+       * fileio.c (Fcopy_file): Fix error message.
+
+       * fileio.c (Finsert_file_contents): Handle non-regular files.
+
+1997-04-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * search.c (skip_chars): Make `c' an unsigned int.
+
+1997-04-01  Erik Naggum  <erik@naggum.no>
+
+       * eval.c (Fuser_variable_p): If not a symbol, return nil.
+
+1997-03-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Fcopy_file): Use Qfile_date_error if can't set file date.
+       (Qfile_date_error): New variable.
+       (syms_of_fileio): Set it up.
+       (Fcopy_file): Fix previous change.
+       (Finsert_file_contents): Determine the character coding
+       before we see if REPLACE can be handled.
+       Do handle REPLACE even if code conversion is needed. 
+
+1997-03-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * keymap.c (Faccessible_keymaps): When metizing, convert a
+       string to a vector.  But don't metize a character that is
+       part of PREFIX.
+
+       * window.c (Qwindow_configuration_change_hook): New variable.
+       (Vwindow_configuration_change_hook): New variable.
+       (syms_of_window): Initialize; set up Lisp var.
+       (delete_window): New subroutine, from Fdelete_window.
+       Most callers changed.
+       (Fdelete_window): Call Vwindow_configuration_change_functions.
+       (Fset_window_buffer, Fenlarge_window, Fshrink_window):
+       Call the Vwindow_configuration_change_functions.
+       (Fset_window_configuration): Likewise.
+
+       * dispnew.c (change_frame_size_1): Call Fset_window_buffer,
+       so that Vwindow_configuration_change_hook gets run.
+
+1997-03-25  Erik Naggum  <erik@naggum.no>
+
+       * process.c (Fopen_network_stream): Use same socket for in and out.
+
+1997-03-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * frame.c (frames_bury_buffer): New function.
+       * buffer.c (Fbury_buffer): Call frames_bury_buffer.
+
+1997-03-22  Mark W. Eichin  <eichin@kitten.gen.ma.us>
+
+       * keyboard.c (make_lispy_event): Use iso_lispy_function_keys for
+       XK_ISO_* keys found in XFree86. 
+       (ISO_FUNCTION_KEY_OFFSET): New macro.
+       (iso_lispy_function_keys): New table.
+       
+       * xterm.c (XTread_socket): Accept XK_ISO_* keys.
+
+1997-03-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (dumpglyphs): Set a clipping region when we draw glyphs
+       with a font of inappropriate size.
+       (x_list_fonts): Try alternative fonts if we can't find a font of an
+       appropriate size.
+
+       * fontset.c (Valternative_fontname_alist): New variable.
+       (syms_of_fontset): Declare Lisp variable alternative-fontname-alist.
+
+       * fontset.h (Valternative_fontname_alist): Extern it.
+
+       * term.c (insert_glyphs): Fix a bug which turns up when
+       TS_ins_multi_chars is 0.
+
+1997-03-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_list_fonts): Comment about cached font list added.
+
+       * fns.c (map_char_table): Handle multibyte characters.
+
+       * lisp.h (CHAR_TABLE_ORDINARY_SLOTS): Change to 384 (== 256 + 128).
+       (CHAR_TABLE_STANDARD_SLOTS): Adjusted for the above change.
+       (CHAR_TABLE_SINGLE_BYTE_SLOTS): New macro.
+       (CHAR_TABLE_REF, CHAR_TABLE_SET): New macros.
+
+       * data.c (Faref, Faset): Adjusted for the above change.
+
+       * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY): Likewise.
+
+       * category.h (CATEGORY_SET): Likewise.
+
+       * category.c (Fmodify_category_entry): Likewise.
+
+       * keymap.c (describe_vector): Likewise.
+       (push_key_description): A key code less than 512 is printed with 3
+       octal numbers.  Print only entries of valid charsets.
+
+       * disptab.h (GLYPH_FOLLOW_ALIASES): Assure that the resulting G
+       contains valid character code.
+
+       * xdisp.c (copy_part_of_rope): Declare glyph as type GLYPH.  For a
+       invalid character code, use ' ' (space).
+       (display_string, display_text_line): Check validity of character
+       code before calling fix_glyph.
+
+       * term.c (encode_terminal_code): Check validity of character code.
+
+       * charset.h (MAX_CHARSET): Definition changed to the actual
+       maximum valid charset.
+       (MAX_CHAR): New macro.
+
+       * charset.c, coding.h, coding.c, fontset.h, fontset.c, xselect.c:
+       Adjusted for the above change.
+
+       * charset.c (str_cmpchar_id): Return -1 if we have no more room
+       for a new composite character.
+       (Fmake_char_internal): Docstring is moved to lisp/mule.el.
+
+       * fontset.h (struct font_info): Typo in comment of
+       `relative_compose' fixed.
+
+1997-03-14  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * window.c (change_window_height): Handle shrink as well as enlarge.
+
+1997-03-13  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * buffer.c (reset_buffer): Initialize display_count slot.
+
+       * search.c (Freplace_match): Give error if
+       NEWTEXT uses backslash in an invalid way.
+
+1997-03-10  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * lisp.h (FAST_MAKE_GLYPH): Don't cast CHAR arg; character codes
+       are now wider than C chars.
+
+1997-03-09  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * buffer.c (Fkill_buffer): Call frames_discard_buffer.
+       (record_buffer): Move buffer to front of frame_buffer_list.
+       (Fother_buffer): Use frame_buffer_list.
+
+       * frame.h (struct frame): New field buffer_list.
+
+       * frame.c (frame_buffer_list, set_frame_buffer_list): New functions.
+       (store_frame_param): Handle buffer-list parameter.
+       (Qbuffer_list): New variable.
+       (syms_of_frame_1): Initialize it.
+       (make_frame): Initialize buffer_list field.
+       (Fframe_parameters): Handle buffer-list parameter.
+       (frames_discard_buffer): New function.
+       (make_frame): Initialize buffer_list.
+
+       * alloc.c (mark_object): Mark the buffer_list field.
+
+1997-03-05  Ken'ichi Handa  <handa@etl.go.jp>
+
+       * coding.c (decode_eol): Fix bug of converting CRLF to LF.
+
+1997-03-05  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * indent.c: (compute_motion): When POS >= TO, don't call
+       find_before_next_newline as it assumes POS < TO.
+
+1997-03-02  Ken'ichi Handa  <handa@etl.go.jp>
+
+       * category.h (CATEGORY_SET): Cast arg C to
+       `unsigned char' before indexing category table directly.
+
+1997-03-01  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * process.c (wait_reading_process_input): If wait_for_cell,
+       ignore subprocess input and respond only to keyboard.
+       (non_process_wait_mask): New variable.
+       (add_keyboard_wait_descriptor): Update it.
+       (delete_keyboard_wait_descriptor): Update it.
+       (init_process): Initialize it.
+
+1997-03-01  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * gmalloc.c [__GLIBC__ >= 2]: Don't declare __getpagesize.
+
+1997-02-28  Tomohiko MORIOKA  <morioka@jaist.ac.jp>
+
+       * coding.c (create_process, Fopen_network_stream): Typo in indexes
+       of array proc_encode_coding_system fixed.
+
+1997-02-28  Kenichi HANDA  <handa@etl.go.jp>
+
+       * Makefile.in (lisp, shortlisp): Add lao.elc.
+
+       * buffer.c (init_buffer_once): Make member
+       enable_multibyte_characters of struct buffer not always local.
+       (reset_buffer): Do not reset b->enable_multibyte_characters.
+       (syms_of_buffer): Declare default-enable-multibyte-characters.
+
+       * category.h (CATEGORY_SET): For a composite character, return
+       category set of the first component.
+
+       * ccl.c (Fregister_ccl_program): Escape newlines in docstring.
+
+       * coding.h (struct iso2022_spec): Member requested_designation is
+       changed to array of `char' just for saving memory.
+       (CODING_FLAG_ISO_INIT_AT_BOL, CODING_FLAG_ISO_DESIGNATE_AT_BOL):
+       New macros.
+
+       * coding.c (setup_coding_system): Now, flags of ISO2022 coding
+       systems contains charsets instead of charset IDs.  Correct setting
+       coding->symbol and coding->eol_type.  The performance improved.
+       (encode_coding) : Fix typo ("=" -> "==").
+       (detect_coding_iso2022, decode_coding_iso2022): Make the code
+       robust against invalid SI and SO.
+       (ENCODE_RESET_PLANE_AND_REGISTER): Argument `eol' is deleted.
+       Don't call ENCODE_DESIGNATION if nothing designated initially.
+       (encode_designation_at_bol) New function.
+       (encode_coding_iso2022): Handle CODING_FLAG_ISO_INIT_AT_BOL and
+       CODING_FLAG_ISO_DESIGNATE_AT_BOL.
+       (detect_coding_iso2022): Detect coding-category-iso-8-2 more
+       precisely.
+       (Ffind_coding_system, syms_of_coding): Escape newlines in
+       docstring.
+       
+       * charset.h (INC_POS, DEC_POS): Don't increase or decrease too
+       much if there's binary code (invalid character code).
+
+       * data.c (Faref, Faset): Handle a composite char correctly in
+       char-table.
+
+       * disptab.h (DISP_CHAR_VECTOR): Allow bare 8-bit in display-table.
+
+       * charset.c (Fcmpchar_cmp_rule): Escape newlines in docstring.
+
+       * editfns.c (Fuser_full_name): Likewise.
+
+       * fileio.c (Finsert_file_contents, Fwrite_region): Do not perform
+       character code conversion if enable-multibyte-characters is nil.
+
+       * fontset.h (Vuse_default_ascent): Extern.
+
+       * fontset.c (syms_of_fontset): Intern Qfontset.  Declare new lisp
+       variable use-default-ascent.
+       (Vuse_default_ascent): New variable.
+       (Ffont_info): Return also the value of default-ascent of a font.
+       (fs_load_font): Disable updating fontsetp->height by non-ASCII
+       character sets.  This should be enabled when Emacs supports
+       variable height lines.
+       (fs_load_font, Fset_fontset_font): Bug fix to cope
+       with the change of charsets to symbols.
+
+       * keymap.c (describe_vector): Do not describe deeper char-table if
+       enable-multibyte-characters is nil.
+
+       * process.c (proc_decode_coding_system,
+       proc_encode_coding_system): Changed to array of pointers to struct
+       coding_system to reduce the size of dumped Emacs.
+       (create_process, Fopen_network_stream): Allocate them dynamically.
+       (init_process): Initialize these pointers to NULL.
+       (Fstart_process, Fopen_network_stream): Do not perform character
+       code conversion if enable-multibyte-characters is nil.
+
+       * search.c (skip_chars): If enable-multibyte-characters is nil,
+       don't handle multibyte characters.
+
+       * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY): Cast arg C to
+       `unsigned char' before indexing syntax table directly.
+
+       * syntax.c (init_syntax_once): Add trick to avoid compiler warning
+       of "comparison is always 1 ...".
+       (describe_syntax): Handle the case that the argument VALUE is
+       char-table.
+
+       * xdisp.c (display_mode_line): Avoid error while compiling with
+       --with-x=no.
+
+       * xfns.c (syms_of_xfns): Documentation of
+       x-pixel-size-width-font-regexp modified.
+
+       * xselect.c (lisp_data_to_selection_data, selection_data_to_lisp_data):
+       Remove prefix "coding-system-" from coding system symbol names.
+
+       * xterm.h (struct x_display_info): New member
+       Xatom_MULE_DEFAULT_ASCENT.
+
+       * xterm.c (dumpglyphs): Pay attention to characters registered in
+       use-default-ascent.  Fill background in advance if font has
+       non-zero _MULE_BASELINE_OFFSET property.
+       (x_load_font, x_term_init): Handle font property
+       _MULE_DEFAULT_ASCENT.
+
+1997-02-28  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * sysdep.c: `ospeed' should be short if not HAVE_TERMIO_H.
+
+       * xdisp.c (display_text_line): Correct displaying multi-column
+       binary data.
+       (try_window_id): Display blank lines from the next line, when
+       xp.bufpos == ZV.  (This bug is introduced by changes of Mule).
+       Compare height against xp.vpos instead of xp.bufpos.
+
+1997-02-27  Erik Naggum  <erik@naggum.no>
+
+       * lread.c (Fload): Call Vload_source_file_function with 4 args.
+
+1997-02-22 Tsugutomo ENAMI  <enami@ba2.so-net.or.jp>
+
+       * regex.c: Include charset.h and category.h
+
+       [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P,
+       SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH,
+       STRING_CHAR_AND_LENGTH, GET_CHAR_AFTER_2, GET_CHAR_BEFORE_2):
+       New dummy macros.
+
+       (enum re_opcode_t): New member categoryspec and
+       notcategoryspec.
+
+       (STORE_CHARACTER_AND_INCR, EXTRACT_CHARACTER,
+       CHARSET_LOOKUP_RANGE_TABLE_WITH_COUNT,
+       CHARSET_LOOKUP_RANGE_TABLE, CHARSET_BITMAP_SIZE,
+       CHARSET_RANGE_TABLE_EXISTS_P, CHARSET_RANGE_TABLE
+       CHARSET_PAST_RANGE_TABLE): New macros.
+
+       (TRANSLATE): Cast return value to unsigned char, not char.
+
+       (struct range_table_work_area): New structure.
+
+       (EXTEND_RANGE_TABLE_WORK_AREA, SET_RANGE_TABLE_WORK_AREA,
+       FREE_RANGE_TABLE_WORK_AREA, CLEAR_RANGE_TABLE_WORK_USED,
+       RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_ELT): New macros.
+       (FREE_STACK_RETURN): Call FREE_RANGE_TABLE_WORK_AREA.
+
+       (regex_compile): Declare `c' and `c1' as int to store
+       multibyte characters.
+       Declare range_table_work and initialize it.
+       Initialize bufp->multibyte to 0 if not emacs.
+       For case '[' and `default', code re-written to handle
+       multibyte characters.
+       Add code for case 'c' and 'C' to handle category spec.
+
+       (re_compile_fastmap): New local variables k, simple_char_max,
+       and match_any_multibyte_characters.
+       Use macro CHARSET_BITMAP_SIZE.
+       Handle multibyte characters in cases charset, charset_not,
+       wordchar, notwordchar, anychar, syntaxspec, notsyntaxspec,
+       categoryspec, notcategoryspec.
+
+       (STOP_ADDR_VSTRING, POS_ADDR_VSTRING): New macros.
+
+       (re_search_2): Code re-written to handle multibyte characters.
+
+       (AT_WORD_BOUNDARY): Macro disabled.
+
+       (re_match_2_internal): New local variable multibyte.  `d' is
+       incremented while paying attention to multibyte characters if
+       necessary.
+       For case charset, charsetnot, wordbound, notwordbound,
+       wordbeg, wordend, matchsyntax, and matchnotsyntax, code
+       re-written to handle multibyte characters.
+       Add code for case categoryspec and notcategoryspec.
+        
+       * regex.h (struct re_pattern_buffer): New member multibyte.
+
+1997-02-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * window.c (Fset_window_buffer): Increment display_count
+       if it is an integer.
+
+       * buffer.c (init_buffer_once): Set up display_count.
+       (syms_of_buffer): Set up Lisp variable.
+
+       * buffer.h (struct buffer): New field display_count.
+
+1997-02-20  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * dispnew.c (direct_output_forward_char): #if-0-out redundant
+       check against truncated text at end of line.
+       Add giving-up for buffers with reverse direction.
+       (remake_frame_glyphs): Use FRAME_MESSAGE_BUF_SIZE
+       instead of FRAME_WIDTH, as the message may include multi-byte
+       character and the length may be longer than width.
+       (width_run_cache_on_off): Disable width-run-cache when
+       multi-byte characters are enabled.
+       (skip_invisible): Don't put the boundary in the middle of
+       multibyte characters.
+
+       * indent.c (current_column_bol_cache): New variable.  This makes
+       move_to_column faster.
+       (current_column): Set current_column_bol_cache.
+       (current_column_1): Likewise.
+       (Fmove_to_column): Use current_column_bol_cache.
+
+       * xdisp.c (display_text_line): Introduce new local variable
+       rev_dir_bit to display right to left characters (not yet used).
+       * xdisp.c (message): Use FRAME_MESSAGE_BUF_SIZE.
+       (redisplay_internal): Add canceling code for continuation at
+       wide-column.
+       (display_text_line): Don't just decrement left_edge->bufpos,
+       it may be multi-byte character, use DEC_POS instead.
+
+1997-02-20  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       Handle multi-byte and wide-column character in computing columns.
+       Note that we will find the continuation (linebreak) _AFTER_ it
+       occurs.
+
+       * indent.c (current_column): When the buffer may have multi-byte
+       characters, call current_column_1.
+       (compute_motion): Handle multi-byte characters.
+       (current_column_1): Likewise.
+       (Fmove_to_column): Likewise.
+
+1997-02-20  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       Tab offset calculation changes.  We need this change because the
+       line may be less than WIDTH columns because of wide-character
+       continuation.
+
+       * indent.h (struct position): New member tab_offset to accumulate
+       tab offset.
+
+       * xdisp.c (try_window): Change the way of calculation of tab
+       offset.  We now use val.tab_offset to maintain tab offset.
+       Removed local variable tab_offset.
+       (try_window_id): Likewise.
+
+       * indent.c: Include "charset.h".
+       (compute_motion): Remove the variable PREV_VPOS.
+       Introduce new local variables (multibyte, wide_column, prev_pos,
+       contin_hpos, prev_tab_offset) to handle multi-byte characters and
+       wide-column characters.
+
+       (pos_tab_offset): Return COL (Modulo is no longer valid).
+       Add the line to set tab_offset member.
+       Use pos.tab_offset.
+
+1997-02-20  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * window.c (Fpos_visible_in_window_p): Bug fix.  Specify big
+       negative number for the argument TOHPOS of compute_motion.
+       We don't need to calculate to (HPOS==0), but can stop immediately
+       when VPOS pasts HEIGHT.
+       * xdisp.c (redisplay_window): Likewise.
+       (try_window_id): Likewise.
+
+       * indent.c (pos_tab_offset): Specify "- (1 << (BITS_PER_SHORT - 1))"
+       to express big negative number (for consistency with xdisp.c).
+
+1997-02-20  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * indent.c (vmotion): Specify "1 << (BITS_PER_SHORT - 1)" to
+       express "Don't care".
+       * xdisp.c (tri_window_id): Likewise.
+
+       * dispnew.c (direct_output_forward_char): Bug fix.  Add
+       XFASTINT (w->left) for losing cursor check.
+
+1997-02-20  Kenichi HANDA  <handa@etl.go.jp>
+
+       * Makefile.in: The following changes are for new source codes
+       related to Mule.
+       (XOBJ): Include fontset.o.
+       (obj): Include charset.o, coding.o, category.o, and ccl.o.
+       (lisp, shortlisp): Include Mule related elc files.
+       (buffer.o, cmds.o, dispnew.o, doprnt.o): Depend on charset.h.
+       (editfns.o, indent.o, insdel.o, keymap.o): Depend on charset.h.
+       (minibuf.o, xdisp.o, xfaces.o, xselect.o): Depend on charset.h.
+       (data.o, print.o, lread.o): Depend on charset.h.
+       (callproc.o, fileio.o, process.o, term.o): Depend on charset.h and
+       coding.h.
+       (regex.o, search.o, syntax.o): Depend on charset.h and category.h.
+       (fontset.o): Depend on charset.h and fontset.h.
+       (xterm.o): Depend on charset.h, ccl.h, and fontset.h.
+       (category.o, ccl.o, charset.o, coding.o, fontset.o): New targets.
+
+       * alloc.c (Fmake_char_table): Typo in doc-string fixed.  Handle
+       the case that PURPOSE is nil (in a deeper char-table).
+       (Fmake_bool_vector): Make correct size of Lisp_Object for
+       bool-vector.
+
+       * buffer.c: Include charset.h.
+       (Fget_buffer_create): Allocate an extra byte for a buffer, and
+       make it always 0 for anchoring.
+       (reset_buffer): Handle a new member `enable_multibyte_characters'
+       in the struct buffer.
+       (fix_overlay_before): New function.
+       (init_buffer_once): Handle new members in the struct buffer.
+       (syms_of_buffer): Declare new buffer local variables
+       `enable-multibyte-characters' and `direction-reserved'.
+
+       * buffer.h (BEGV_ADDR, PT_ADDR, ZV_ADDR): Use macro POS_ADDR.
+       (Z_ADDR, BUF_GPT_ADDR, BUF_Z_ADDR): New macros.
+       (struct buffer): New members `category_table',
+       `direction_reserved', and `enable-multibyte-characters'.
+       (POS_ADDR): New macro used at all places instead of &FETCH_CHAR.
+       (FETCH_BYTE): New macro used at any places to check the argument
+       against an ASCII character.
+       (FETCH_MULTIBYTE_CHAR): New macro used at any places to get a
+       character code of the argument when it is known to be a multibyte
+       character.
+       (_fetch_multibyte_char_p, _fetch_multibyte_char_len): New
+       variables.
+       (FETCH_CHAR): Use macros FETCH_MULTIBYTE_CHAR and FETCH_BYTE.
+
+       * callint.c (doc-string of `interactive'): Describe new code
+       letters `i', `z', and `Z'.
+       (Fcall_interactively): Handle them.
+
+       * callproc.c: Include charset.h and coding.h.
+       (Fcall_process): Perform character code conversion of a process
+       arguments and the process output.
+       (Fcall_process_region): Encode coding of a text given to a
+       process.
+
+       * cmds.c: Include charset.h.
+       (forward_point, Fforward_point): New functions.
+       (Fforward_char, Fdelete_char): Handle multibyte characters by
+       calling forward_point.
+       (Fdelete_backward_char): Pay attention to multibyte characters
+       in overwrite-mode.
+       (internal_self_insert): Handle self inserting a multibyte
+       character.
+       (syms_of_cmds): Handle the new function Fforward_point.
+
+       * data.c: Include charset.h.
+       (Qprocess): Now extern, not static.
+       (Faref, Faset): Enable indexing a char table by a multibyte
+       character.
+
+       * dispextern.h (struct face): New members `non_ascii_gc' and
+       `fontset'.
+       [HAVE_FACES]: New macros FACE_NON_ASCII_GC and FACE_FONTSET.
+
+       * dispnew.c: Include charset.h.
+       (update_line): Handle wide-column characters.
+
+       * disptab.h (DISP_CHAR_VECTOR): Always return nil for multibyte
+       characters.
+
+       * doprnt.c: Include charset.h.
+       (doprn1): Handle multibyte characters.
+
+       * editfns.c: Include charset.h.
+       (Fchar_to_string, Fstring_to_char): Handle multibyte characters.
+       (Fsref): New function.
+       (Fgoto_char): Force point to be at a character boundary.
+       (Ffollowing_char, Fpreceding_char): Handle multibyte characters.
+       (Fchar_after): Handle multibyte characters.
+       (Fchar_before): New function.
+       (general_insert_function): New function.
+       (Finsert, Finsert_and_inherit, Finsert_before_markers): Use it.
+       (Finsert_char): Doc-string refer to markers of
+       before-insertion-type. Handle multibyte characters.
+       (Fsubst_char_in_region): Handle multibyte characters.
+       (Fchar_equal): Don't consider `case' of multibyte characters.
+       (syms_of_editfns): Handle the new function `char-before'.
+
+       * emacs.c (main): Call several initialization function introduced
+       by Mule.
+
+       * eval.c (init_eval_once): Increase max_lisp_eval_depth to 300.
+
+       * fileio.c: Include charset.h and coding.h.
+       (READ_BUF_SIZE): New macro.
+       (Finsert_file_contents): Refer to a coding system in the docstring.
+       Perform character code conversion of a text read in.
+       (Fwrite_region): Refer to a coding system in the docstring.
+       Setup a coding system for character code conversion.
+       Pass a new arg `pre_write_conversion' (Lisp function) to
+       build_annotations.
+       Pass a new arg `coding' to a_write.
+       (build_annotations): Handle the new arg.
+       (a_write): Handle the new arg `coding' by passing it to e_write.
+       (WRITE_BUF_SIZE): New macro.
+       (e_write): Perform character code conversion of a text to write
+       out according to the new arg `coding'.
+
+       * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray):
+       Fix a bug of miscalculation of `size_in_chars' of a bool vector.
+       (Fset_char_table_range): When range is vector, make the original
+       char table deeper if necessary.
+
+       * frame.c: Include "charset.h"
+       [HAVE_WINDOW_SYSTEM]: Include fontset.h.
+       (make_frame): Allocate member `fontset_data' of the struct frame.
+       (Fdelete_frame): Free the area for the member.
+
+       * frame.h (struct frame): New member `fontset_data'.
+       (FRAME_MESSAGE_BUF_SIZE): New macro.
+
+       * insdel.c: Include charset.h.
+       (gap_left, gap_right): Put an anchor `\0' at the end of GAP.
+       (adjust_markers_for_insert): If any markers are adjusted, check
+       and fix the order of overlays in overlays_before.
+       (make_gap): Allocate an extra byte and set to `\0' for anchoring.
+       (insert1, insert_from_buffer_1): Put an anchor `\0' at the head of
+       GAP.
+
+       * keyboard.c (command_loop_1): Pay attention to a multibyte
+       character while handling forward-char and backward-char.
+       [!HAVE_NTGUI && XK_kana_A] (lispy_kana_keys): New variable.
+       [!HAVE_NTGUI] (lispy_function_keys): New variable.
+       (make_lispy_event) [XK_kana_A]: Handle kana keys.
+
+       * keymap.c: Include charset.h.
+       (push_key_description): If enable-multibyte-characters is t, use
+       octal representation for a code of range 128..255 as binary.
+       (Ftext_char_description): Handle multibyte characters.
+       (describe_vector): Provide prettier description of a char table
+       which contains multibyte characters.
+
+       * lisp.h (CHARACTERBITS, GLYPH_MASK_REV_DIR): New macros.
+       (GLYPH_MASK_PADDING, GLYPH_MASK_FACE, GLYPH_MASK_CHAR): New macros.
+       [HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
+       Use CHARACTERBITS.
+       [!HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
+       New macros.
+       [!HAVE_FACES] (GLYPH_CHAR, GLYPH_FACE): Mask appropriate bits.
+       (Fcoding_system_p, Fcheck_coding_system): Declare external.
+       (Fread_coding_system, Fread_non_nil_coding_system): Likewise.
+
+       * lread.c: Include charset.h.
+       (Vload_source_file_function): New variable.
+       (Fload): Call Vload_source_file_function if defined while loading
+       an Emacs Lisp source file.  */
+       (read_multibyte): New function.
+       (read_escape): Handle multibyte characters.
+       (read1): Correct the value of size_in_chars of a bool vector.
+       Handle the case `?' is followed by a multibyte character.
+       (Vload_source_file_function): New variable.
+
+       * minibuf.c: Include charset.h.
+       (read_minibuf): Pay attention to multibyte characters in the arg
+       INITIAL while handling the arg BACKUP_N.
+       (scmp, Fminibuffer_complete_word): Handle multibyte characters.
+
+       * print.c: Include charset.h.
+       (printchar, strout): Handle multibyte characters.
+       (print): Correct the value of size_in_chars of a bool vector.
+
+       * process.c: Include charset.h and coding.h.
+       (proc_decode_coding_system, proc_encode_coding_system): New
+       variables.
+       (Fstart_process, create_process, Fopen_network_stream): Setup
+       coding systems for character code conversion.
+       (READ_CHILD_OUTPUT): New macro.
+       (read_process_output): Perform character code conversion of a
+       process output.
+       (send_process): Perform character code conversion of a text sent
+       to a process.
+       (Fset_process_coding_system, Fprocess_coding_system): New
+       functions.
+       (syms_of_process): Handle them.
+
+       * process.h (struct Lisp_Process): New members
+       decode_coding_system, decoding_buf, encode_coding_system, and
+       encoding_buf.
+
+       * puresize.h (BASE_PURESIZE): Increase.
+
+       * search.c: Include category.h and charset.h.
+       (compile_pattern_1): Handle new argument `multibyte'.
+       (compile_pattern): Handle the flag `enable-multibyte-characters'.
+       (Vascii_downcase_table): Declare external.
+       (fast_string_match_ignore_case): New function.
+       (skip_chars): Handle multibyte characters.
+       (trivial_regexp_p): Handle regular expression "\\Cc" and "\\CC"
+       for category.
+
+       * syntax.c: Include charset.h and category.h.
+       (Vsyntax_code_object): New variable.
+       (Fmodify_syntax_entry): Handle multibyte characters.  A multibyte
+       character in matching parenthesis is also handled correctly.  Use
+       shared object in the vector Vsyntax_code_object for an ASCII
+       character.
+       (describe_syntax): Handle a multibyte character in matching
+       parenthesis.
+       (describe_syntax_1): Describe also parent syntax tables.
+       (scan_words, Fforward_comment): Handle multibyte characters.
+       (scan_lists, char_quoted, Fbackward_prefix_chars): Likewise.
+       (scan_sexps_forward): Likewise.
+       (init_syntax_once): Initialize Vsyntax_code_object.
+       Initialize Vstandard_syntax_table by share objects in
+       Vsyntax_code_object.
+       (syms_of_syntax): Staticpro Vsyntax_code_object.
+
+       * syntax.h (SET_RAW_SYNTAX_ENTRY): Handle syntax of multibyte
+       characters.
+       (SYNTAX_ENTRY_FOLLOW_PARENT): New macro.
+       (SYNTAX_ENTRY): Handle syntax of multibyte characters.
+       (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH): Don't signal error even
+       if a syntax entry is not cons.
+
+       * term.c: Include charset.h and coding.h.
+       (TS_end_italic_mode, TS_italic_mode, TS_bold_mode): New variables.
+       (TS_end_bold_mode, TS_end_underscore_mode): New variables.
+       (TS_underscore_mode): New variable.
+       (encode_terminal_code): New function.
+       (write_glyphs, insert_glyphs): Perform character code conversion
+       on output to a terminal.
+       (term_init): Initialize TS_bold_mode, TS_end_bold_mode,
+       TS_end_underscore_mode, and TS_underscore_mode.
+
+       * xdisp.c: Include charset.h, coding.h, and process.h.
+       (display_text_line): Handle multibyte characters.
+       (display_mode_line): Pay attention to wide-column characters.
+       (decode_mode_spec_coding): New function.
+       (decode_mode_spec): Handle %-constructs `%z' and `%Z' to print
+       coding system mnemonics.
+       (display_string): Handle multibyte characters.
+
+       * xfaces.c: Include charset.h.
+       (allocate_face, copy_face, face_eq1): Handle member `fontset' of
+       struct face, i.e. initialize, copy, and check it.
+       (intern_face, clear_face_cache): Handle member `non_ascii_gc' of
+       struct face, i.e. initialize and free it.
+       (free_frame_faces): Unload font only when fontset is not used.
+       Free non_ascii_gc.
+       (frame_update_line_height, merge_faces, compute_base_face): Handle
+       fontset.
+       (recompute_base_faces): Free non_ascii_gc.
+       (Fset_face_attribute_internal): Handle fontset.
+
+       * xfns.c: Include charset.h and fontset.h.
+       (Vx_pixel_size_width_font_regexp): New variable.
+       (x_set_font): Handle fontset.
+       (Fx_create_frame): Create fontsets in Vglobal_fontset_alist.
+       (Fx_list_fonts): Handle fontset.
+       (syms_of_xfns): Initialize Vx_pixel_size_width_font_regexp.
+       Setting callback functions for fontset handler.
+
+       * xselect.c: Include charset.h and coding.h.
+       (QCOMPOUND_TEXT): New variable.
+       (symbol_to_x_atom): Handle it.
+       (selection_data_to_lisp_data): Decode a selection data if
+       selection type is TEXT or COMPOUND_TEXT.
+       (lisp_data_to_selection_data): Encode a text to COMPOUND_TEXT if
+       it contains multibyte characters.
+       (syms_of_xselect): Initialize and staticpro QCOMPOUND_TEXT.
+
+       * xterm.c: Include charset.h, ccl.h, and fontset.h.
+       (PER_CHAR_METRIC): New macro.
+       (dumpglyphs): New argument CMPCHARP.  Handle multibyte characters.
+       (XTwrite_glyphs, redraw_previous_char, redraw_following_char):
+       Supply argument CMPCHARP to dumpglyphs.
+       (dumprectangle): Display whole glyph of wide-column characters.
+       Supply argument CMPCHARP to dumpglyphs.
+       (show_mouse_face): Supply argument CMPCHARP to dumpglyphs.
+       (x_draw_box): Pay attention to wide-column characters.
+       (x_draw_single_glyph): Supply argument CMPCHARP to dumpglyphs.
+       (x_new_font): Call fs_load_font for actual font loading work.
+       (x_new_fontset): New function.
+       (x_get_font_info, x_list_fonts, x_load_font, x_query_font): New
+       functions providing API to fontset handler.
+       (x_term_init): Initialize several new members of struct x_display_info.
+
+       * xterm.h (struct font_info): This definition is moved to
+       fontset.h.
+       (struct x_display_info): New members Xatom_PIXEL_SIZE,
+       Xatom_MULE_BASELINE_OFFSET, Xatom_RELATIVE_COMPOSE, and null_pixel.
+       (x_list_fonts, x_get_font_info, x_load_font, x_query_font):
+       Declare external.
+       (struct x_output): New members font_baseline and fontset.
+       (FRAME_FONTSET, FRAME_X_FONT_TABLE): New macros.
+
+       * category.h, category.c, ccl.h, ccl.c, charset.h: New files.
+       * charset.c, coding.h, coding.c, fontset.h, fontset.c: New files.
+
+1997-02-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * print.c (print): Generate a backslash in \2e10.
+       
+1997-02-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (change_window_height): Take size from multiple siblings,
+       nearest ones first, when that can be done without deleting any of them.
+
+1997-02-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * minibuf.c (Fminibuffer_message): New function.
+       (syms_of_minibuf): Set up Lisp function.
+
+       * syntax.c (scan_lists): Signal errors using scan-error.
+       (syms_of_syntax): Set up Qscan_error.
+
+1997-02-06  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lread.c (Feval_buffer): Doc fix.
+
+1997-02-03  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (scroll_preserve_screen_position): New variable.
+       (keys_of_window): Set up Lisp var.
+       (window_scroll): If scroll_preserve_screen_position is 0,
+       behave the old way (advancing point the minimum distance).
+
+1997-02-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * emacs.c (main): Don't extend stack limit too far.
+
+Sun Feb  2 10:36:26 1997  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
+
+       * msdos.c (dos_rawgetc): When international keyboard doesn't have
+       to be supported, recognize Alt-key combinations even if the Alt
+       key is no longer pressed.
+
+1997-01-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xfns.c (Vx_resource_class): New variable.
+       (syms_of_xfns): Set up Lisp variable.
+       (Fx_get_resource, x_window): Use Vx_resource_class.
+       (validate_x_resource_name): Ensure Vx_resource_class is a string.
+
+1997-01-27  Paul Eggert  <eggert@twinsun.com>
+
+       * data.c (isnan): Define even if LISP_FLOAT_TYPE is not defined,
+       since fmod might need it.
+       (fmod): Ensure that the magnitude of the result does not exceed that
+       of the divisor, and that the sign of the result does not disagree with
+       that of the dividend.  This does not yield a
+       particularly accurate result, but at least it will be in the
+       range promised by fmod.
+       
+       * doprnt.c: Include <float.h> if STDC_HEADERS.
+       (DBL_MAX_10_EXP): Define if not defined; default is IEEE double.
+       (doprnt1): Allocate enough buffer space to handle very large floating
+       point numbers, or very large field widths or precisions.
+       Detect overflow in field widths or precisions.
+
+1997-01-26  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * config.in (HAVE_RINT, HAVE_CBRT): Add undefs.
+
+1997-01-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lread.c (openp): Handle remote file names in path.
+       Don't use the path for an absolute name.
+       (Fload): Handle openp finding a remote file name.
+
+1997-01-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * floatfns.c [!HAVE_RINT] (rint): Convert macro to an actual
+       function, so we can take its address.
+
+1997-01-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * indent.c (pos_tab_offset): Take the width of the minibuffer
+       prompt into account.
+       (vmotion): In calls to compute_motion use a value for tab_offset
+       that is corrected by the minibuffer prompt width.
+
+       * xdisp.c (try_window): Remove frobnication of tab_offset in a
+       minibuffer window.
+       (display_text_line): Likewise, for the taboffset parameter.
+
+1997-01-24  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lread.c (Qinhibit_file_name_operation): New variable.
+       (syms_of_lread): Initialize and staticpro.
+       (Fload): Bind inhibit-file-name-operation to nil.
+
+1997-01-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * eval.c (unbind_to, specbind): Use set_internal.
+
+       * data.c (set_internal): New subroutine.  New arg BINDFLAG.
+       Don't make a new buffer-local binding if BINDFLAG is 0.
+       (Fset): Use set_internal.
+
+1997-01-21  Paul Eggert  <eggert@twinsun.com>
+
+       * editfns.c (set_time_zone_rule_tz1, set_time_zone_rule_tz2):
+       Put "+" in value; needed if we are a Solaris 1 executable
+       running under Solaris 2.
+       Define these variables only if LOCALTIME_CACHE is defined.
+
+1997-01-21  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
+               
+       * msdos.c (run_msdos_command): Remove unused variables.
+       (crlf_to_lf): Remove unused variables.
+       (Fmsdos_downcase_filename): Remove unused variable.
+       (IT_set_frame_parameters): Declare prototypes for external functions.
+       (IT_set_frame_parameters): Correct format specifier.
+       (IT_set_terminal_modes): Remove unused variable.
+       (top level): Add header files which declare used functions.
+
+1997-01-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (stamp-oldxmenu): New target.
+       (temacs): Depend on stamp-oldxmenu, not on ${OLDXMENU}.
+
+1997-01-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lisp.h (FAST_MAKE_GLYPH): Rename args to CHAR and FACE.
+       Cast CHAR to unsigned char before using it.
+
+       * xterm.c (dumpglyphs): Declare g as GLYPH.
+
+1997-01-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * term.c (fatal): Print a newline at the end.
+       (term_init): Calls to fatal changed.
+
+       * eval.c (Fsignal): Call fatal if no error handlers and no catch.
+
+       * dispnew.c (init_display): Check for overflow in screen size.
+       Use `fatal'.
+       
+1997-01-19  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32.c (init_environment): Rebuild Vsystem_configuration at startup.
+
+       * w32gui.h: Update include conditionals to use new name.
+
+       * w32gui.h: Renamed from win32.h.
+       * dispextern.h, w32term.h, makefile.nt: Use new name w32gui.h.
+       * makefile.nt: Update header comment.
+       
+       * w32console.c (initialize_w32_display): Renamed from 
+       initialize_win_nt_display.
+       * term.c (term_init): Use new name initialize_w32_display.
+       
+       * w32.c, w32console.c, w32faces.c, w32fns.c, w32heap.c,
+       w32inevt.c, w32menu.c, w32proc.c, w32select.c, w32term.c,
+       w32xfns.c, win32.h, w32inevt.h, w32term.h: Change all uses of win95,
+       winnt, and win32 into Windows 95, Windows NT, and W32, respectively.
+       Expand "win" substring in variables referring to Microsoft Windows 
+       constructs into "windows".
+       Canonicalize header comments to use same terminology.
+
+1997-01-18  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * search.c (skip_chars): Optimize by not calling SET_PT in the loop.
+
+1997-01-16  Erik Naggum  <erik@naggum.no>
+
+       * keymap.c (push_key_description): Print C-j, not LFD.
+
+1997-01-16  Eli Zaretskii  <eliz@wombat.gnu.ai.mit.edu>
+
+       * msdos.c (XMenuActivate): Don't allow non-positive menu
+       coordinates.
+
+1997-01-15  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * keyboard.c (interrupt_signal): Make emergency exit work on MSDOS
+       frames.  Block further SIGINTs while `interrupt_signal' runs.
+
+       * msdos.c (sigprocmask, sig_suspender): New functions, implement
+       signal blocking on MSDOS.
+
+1997-01-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/hpux9.h (HAVE_PSTAT_GETDYNAMIC): New definition.
+
+1997-01-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * w32.c (get_emacs_configuration): Return windows95 instead of win95.
+
+1997-01-13  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * dispnew.c (change_frame_size_1): Reject new sizes if they cause
+       overflow.
+
+1997-01-13  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * emacs.c (init_cmdargs) [MSDOS]: Allow `installation-directory'
+       to be set if either `lib-src' or `info' are found as its
+       subdirectories or siblings.
+
+1997-01-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fns.c (concat): Take modulus of thisindex before shifting.
+       Declare thisindex as unsigned.
+
+1997-01-12  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32menu.c (x-popup-menu): Pass in insist flag to mouse_position_hook.
+
+1997-01-11  Paul Eggert  <eggert@twinsun.com>
+
+       * floatfns.c (rounding_driver): New function for systematic support of
+       2-argument rounding functions, so that `floor' isn't the only one
+       that supports 2 arguments.
+       (Fceiling, Ffloor, Fround, Ftruncate): Use it.
+       (ceiling2, floor2, round2, truncate2, double_identity): New functions.
+       (syms_of_floatfns): Define ceiling, round, and truncate even if
+       LISP_FLOAT_TYPE is not defined.
+
+1997-01-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * lread.c (read1): Round size of bool-vector properly.
+
+       * print.c (print): Round size of bool-vector properly.
+
+       * lread.c (read1): Fix error messages.
+
+1997-01-09  Steve Nygard  <nygard@telusplanet.net>
+
+       * unexnext.c: Include <mach-o/reloc.h>.
+       (fgrowth): Initialize to zero.
+       (vmaddr_growth, dataseg_vmaddr, dataseg_vmend): New variables.
+       [NS_TARGET] (extreloff, nextrel, dysymtab, reloc_info): New variables.
+       (unexec_doit): Adjust file offsets of segments that follow the
+       enlarged data segment.  Adjust vmaddr of the SEG_LINKEDIT segment that
+       follows the data segment.
+       [NS_TARGET] (unexec_doit): Adjust file offsets in the LC_DYSYMTAB load
+       command that follows the data segment.  Zero out relocation entries
+       that fall within the data segment.
+
+1997-01-07  Karl Berry  <karl@cs.umb.edu>
+
+       * filelock.c (LOCK_PID_MAX): Use sizeof (unsigned long) instead
+       of hardwiring 21.
+       (lock_file_1): Use LOCK_PID_MAX when allocating lock_info_str
+       instead of hardwiring 21.
+
+1997-01-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (bright_bg): Save the original state of video blink bit.
+       (maybe_enable_blinking): New function, restores the original state
+       of the blink bit.
+       (IT_reset_terminal_modes): Restore the original state of the blink
+       bit when suspending/exiting.
+       (run_msdos_command): Make sure bright background colors are again
+       enabled after subsidiary program returns.
+
+1997-01-06  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * data.c (Fset_default): For a BUFFER_OBJFWD, store into
+       buffer_defaults even if mask < 0.
+
+1997-01-04  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * keyboard.c (command_loop_1, read_char):
+       Run Qecho_area_clear_hook when clearing echo area.
+       (Qecho_area_clear_hook): New variable.
+       (syms_of_keyboard): Initialize it.
+
+       * buffer.c (Fpop_to_buffer): New arg NORECORD.
+
+1997-01-04  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32proc.c (compare_env, merge_and_sort_env): New functions.
+       (sys_spawnve): Sort environment variables for subprocess.
+       (ppid_env_var_buffer): Variable deleted.
+
+1997-01-02  Karl Berry  <karl@cs.umb.edu>
+
+       * filelock.c (lock_info_type): Declare pid as unsigned long
+       instead of int.
+       (lock_file_1): Use %lu instead of %d in printf.
+
+1997-01-01  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * cmds.c (internal_self_insert): Check the property
+       on the hook, not on the abbrev symbol.
+
+       * dispnew.c (update_frame): Call detect_input_pending
+       for X as well as for termcap frames.
+
+1996-12-31  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * bytecode.c (HANDLE_RELOCATION): New macro.
+       (MAYBE_GC): Call HANDLE_RELOCATION.  Swallow following semicolon.
+       (Fbyte_code): Use HANDLE_RELOCATION.
+
+1996-12-31  Paul Eggert  <eggert@twinsun.com>
+
+       * s/nextstep.h, s/sco4.h (BROKEN_MKTIME): New macro.
+       * Makefile.in (MKTIME_OBJ), config.in (mktime):
+       Use BROKEN_MKTIME to determine whether mktime is broken.
+
+1996-12-30  Paul Eggert  <eggert@twinsun.com>
+       
+       * data.c, floatfns.c: <float.h>: Include if STDC_HEADERS.
+       (IEEE_FLOATING_POINT): New symbol.
+       * data.c (float_arith_driver, Fmod), floatfns.c (Ffloor):
+       Test for division by 0 only if ! IEEE_FLOATING_POINT.
+       * floatfns.c (fmod_float): New function.
+
+       * Makefile.in (MKTIME_OBJ): Use our mktime instead of SCO
+       3.2v4.2's, since SCO's botches time arithmetic as used by display-time.
+
+1996-12-30  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * bytecode.c (Fbyte_code): Add error check for jumping out of range.
+
+       * s/hiuxmpp.h, m/sr2k.h: New files.
+
+1996-12-29  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * Makefile.in (process.o): Depend on blockinput.h.
+
+       * process.c: Include blockinput.h.
+       (create_process): Block input around the fork.
+
+1996-12-27  Karl Berry  <karl@owl.HQ.Ileaf.COM>
+
+       * filelock.c: Total rewrite.
+
+1996-12-26  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * data.c (Ffset): Change argument name and doc string.
+       (Fdefalias): Likewise.
+
+1996-12-26  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * xterm.c (x_iconify_frame): Clear visible when we set iconified.
+
+1996-12-25  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * window.c (window_scroll): Preserve vpos of point
+       if we cannot preserve the actual position of it.
+       Make it static.  New arg WHOLE; callers changed.
+       
+       * keyboard.c (read_char_x_menu_prompt): Unread and record all the
+       input events from here.
+       (record_menu_key): New subroutine.
+
+       * xmenu.c (single_keymap_panes): New arg DEPTH.
+       Cut off recursion at that depth.  Callers changed.
+
+1996-12-23 +02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (dos_set_keyboard): Test whether KEYB.COM is installed
+       for international keyboard support.
+       (dos_get_modifiers): If international keyboard support is NOT
+       required, make both Right and Left Alt key behave like Meta key.
+
+1996-12-22  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * emacs.c (standard_args): Add -find-file and -visit.
+
+       * cmds.c (internal_self_insert): If the abbrev has no expansion,
+       just a hook, inhibit the insertion of the character.
+
+       * abbrev.c (Fexpand_abbrev): Return the abbrev symbol,
+       or nil if no expansion.
+
+1996-12-20  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xdisp.c (try_window): Add error check for POS.
+
+1996-12-19  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * s/nextstep.h (LD_SWITCH_SYSTEM): Use just -X.
+       (LIB_STANDARD): Alternate definition if NS_TARGET.
+
+       * xfns.c (x_set_title): Check data type of NAME.
+
+       * search.c (Fmatch_data): Doc fix.
+
+1996-12-19  Werner Benger  <werner@ast1.uibk.ac.at>
+
+       * keyboard.c (modify_event_symbol):
+       Don't index thru name_table if it is null.
+
+1996-12-19  Erik Naggum  <erik@naggum.no>
+
+       * process.c (read_process_output, exec_sentinel):
+       * w32menu.c (set_frame_menubar):
+       * xdisp.c (prepare_menu_bars, update_menu_bar):
+       * xmenu.c (set_frame_menubar):
+       Call Fmatch_data with new explicit arguments.
+
+1996-12-18  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * search.c (Fmatch_data): New args INTEGERS and REUSE.
+
+       * process.c (send_process) [EMACS_HAS_USECS]:
+       When we wait for the buffer to clear, wait just .02 second.
+
+       * intervals.c (adjust_intervals_for_insertion):
+       Be smarter about when to split an interval
+       for properties that are not sticky on either side.
+
+       * intervals.h (FRONT_NONSTICKY_P): New macro.
+
+       * intervals.c (set_point): Use virtual bounds, not real bounds,
+       in the abort test for POSITION.
+       Skip the intangibility test if POSITION is at either end of buffer.
+
+1996-12-18  Jonathan I. Kamens  <jik@annex-1-slip-jik.cam.ov.com>
+
+       * config.in (HAVE_LIBMAIL, HAVE_MAILLOCK_H, HAVE_TOUCHLOCK):
+       Add #undefs.
+
+1996-12-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Finsert_file_contents): Handle BEG and END non-nil
+       when REPLACE is non-nil.
+
+1996-12-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * intervals.c (merge_properties_sticky): Don't discard explicit nil
+       properties.  Don't put on a front-sticky property if we inherit
+       one from the category that does the job.
+
+       * config.in (HAVE_LIMITS_H): Add #undef.
+
+1996-12-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * intervals.c (set_point): Check for intangible properties
+       on overlays.
+
+       * textprop.c (Fnext_char_property_change): New function.
+       (Fprevious_char_property_change): New function.
+       (syms_of_textprop): defsubr them.
+
+1996-12-14  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * editfns.c (Fuser_full_name): Return nil if the specified user
+       doesn't exist.
+       (init_editfns): Set Vuser_full_name to "unknown" if the user name
+       can't be resolved.
+
+1996-12-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * strftime.c: Replace this with the version from libc.
+
+1996-12-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xfns.c (x_set_scroll_bar_width): Reject a width that's too small.
+
+1006-12-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * buffer.c (syms_of_buffer): Doc fix (transient-mark-mode).
+
+1996-12-10  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * fileio.c (Fwrite_region): Be careful not to destroy contents of
+       existing file when appending.
+
+1996-12-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fileio.c (Fread_file_name_internal): Verify STRING is a string.
+       (Fread_file_name): Don't insert DIR or INITIAL if it isn't a string.
+
+1996-12-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * s/aix4-2.h: New file.
+
+1995-12-08  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * editfns.c (Fuser_full_name): Use build_string instead of make_string.
+
+1996-12-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * callproc.c (Fcall_process_region): Define missing local `count'.
+
+       * xdisp.c (message2_nolog): Handle minibuffer_auto_raise.
+
+       * minibuf.c (syms_of_minibuf): Doc fix.
+
+1996-12-07  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * editfns.c (Fuser_full_name): Accept a string (the login name) as
+       a parameter.  Do ampersand expansion, if required.
+       (init_editfns): Use it.
+
+1996-12-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_cmgoto): Don't update FRAME_CURSOR_X when the cursor
+       is in echo area.
+
+1996-12-05  Erik Naggum <erik@naggum.no>
+
+       * keyboard.c (syms_of_keyboard): Doc fix.
+
+1996-11-28  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * callproc.c (Vtemp_file_name_pattern): New variable.
+       (syms_of_callproc): Set up Lisp variable.
+       (init_callproc): Initialize it.
+       (Fcall_process_region): Use it.
+
+       * bytecode.c (MAYBE_GC): New macro.
+       (Fbyte_code): Use MAYBE_GC in every goto opcode.
+
+1996-11-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * editfns.c (Fline_beginning_position, Fline_end_position): New fns.
+       * cmds.c (Fend_of_line, Fbeginning_of_line):
+       Use Fline_beginning_position, Fline_end_position.
+       * lisp.h  (Fend_of_line, Fbeginning_of_line): Declared.
+
+1996-11-23  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * window.c (window_scroll): Don't set w->start or w->force_start
+       if signaling an error.
+
+       * xmenu.c (Vmenu_updating_frame): New variable.
+       (syms_of_xmenu): Set up Lisp var.
+       (Fx_popup_menu, set_frame_menubar): Initialize it.
+
+1996-11-23  Erik Naggum  <erik@naggum.no>
+
+       * keyboard.c (syms_of_keyboard): Doc fix for num-input-keys.
+
+1996-11-22  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * editfns.c (Fuser_full_name): Accept an optional UID and return
+       the full name of that user instead.
+
+1996-11-20  Andrew Innes  <andrewi@harlequin.co.uk>
+
+       * w32fns.c (w32_wnd_proc): Use dummy message to wake up thread on
+       quit_char.
+
+1996-11-19  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c [__DJGPP__ >= 2] (dos_direct_output): Faster method of
+       writing characters to the screen.
+       (SCREEN_SET_CURSOR): Remove.
+       (IT_display_cursor): New function, to turn the cursor on and off.
+       (IT_cmgoto): New function, sets the cursor to its final position
+       whenever frame update is complete.
+       (internal_terminal_init): Set IT_cmgoto as the hook to be called
+       when frame is up to date.
+       (dos_rawgetc): Call IT_cmgoto instead of the SCREEN_SET_CURSOR
+       macro (which is gone now).
+       (XMenuActivate): Turn off the cursor while the menu is displayed,
+       to prevent it from showing through the menu panes.
+
+1996-11-19  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * w32.c, w32.h: Renamed from nt.c, nt.h.
+       * w32heap.c, w32heap.h: Renamed from ntheap.c, ntheap.h.
+       * w32inevt.c, w32inevt.h: Renamed from ntinevt.c, ntinevt.h.
+       * w32proc.c: Renamed from ntproc.c.
+       * w32console.c: Renamed from w32term.c.
+       * unexw32.c: Renamed from unexnt.c.
+       * s/ms-w32.h: Renamed from s/windowsnt.h.
+       
+       * dispnew.c (init_display) [HAVE_NTGUI]: Use w32 for window-system.
+
+       * Makefile.in, callproc.c, makefile.nt: Use new names for w32 files.
+
+1996-11-18  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * emacs.c, frame.c, frame.h, keyboard.c, nt.c, nt.h,
+       ntheap.c, ntheap.h, ntinevt.c, ntinevt.h, ntproc.c, ntterm.c,
+       termhooks.h, unexnt.c, w32faces.c, w32fns.c, w32menu.c, w32reg.c,
+       w32select.c, w32term.c, w32term.h, w32xfns.c, s/windowsnt.h:
+       Change identifiers of the form win32* to w32*.
+
+       * window.c (special-display-p, same-window-p): Add missing
+       newlines and backslashes in help strings.
+
+1996-11-12  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xdisp.c (redisplay_window): When handling scroll_conservatively,
+       scroll a little farther for the sake of scroll_margin.
+
+1996-11-11  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * abbrev.c (Fexpand_abbrev): If the abbrev's expansion is nil,
+       don't expand it, but do still call the hook.
+       (Fdefine_abbrev): Allow anything for EXPANSION.
+
+       * frame.c (Fmodify_frame_parameters): Use alist in reverse order.
+
+1996-11-10  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * process.c (status_notify): Test p->infd > 0
+       before each call to read_process_output.
+       (read_process_output): Handle match data properly in recursive calls.
+       (exec_sentinel): Likewise.
+
+       * window.c (window_scroll): Handle scroll_margin
+       by putting point at a place that won't force recentering.
+
+       * xdisp.c (scroll_margin): New variable.
+       (init_xdisp): Set up Lisp variable.
+       (redisplay_window): Implement scroll_margin; don't use old start pos
+       if point is inside the margin.
+
+1996-11-09  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * window.h (struct window): New field optional_new_start.
+       * xdisp.c (redisplay_window): Handle optional_new_start.
+       * window.c (Fdelete_other_windows): Set optional_new_start
+       instead of force_start.
+
+       * insdel.c (signal_after_change): If Vcombine_after_change_calls,
+       save up changes in combine_after_change_list.
+       (Fcombine_after_change_execute)
+       (Fcombine_after_change_execute_1): New subroutines.
+       (syms_of_insdel): New function.
+
+       * emacs.c (main): Call syms_of_insdel.
+
+       * fns.c: Include frame.h and window.h.
+       (Fy_or_n_p): Handle minibuffer_auto_raise here.
+
+       * Makefile.in (fns.o): Depend on frame.h and window.h.
+
+1996-11-08  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * macros.c (Fcall_last_kbd_macro): Set this_command from last_command
+       on entry and again on exit.
+
+1996-11-07  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * frame.c (Fmodify_frame_parameters): Doc fix.
+
+       * fileio.c (USG5 or BSD_SYSTEM or LINUX): Include fcntl.h.
+       (Ffile_readable_p): Return immediately if stat fails.
+       Call S_ISFIFO correctly.
+
+1996-11-06  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * editfns.c (Fencode_time): Doc fix.
+
+1996-11-06  John F. Carr  <carrj@polaroid.com>
+
+       * dired.c (Ffile_attributes): Represent inode number as a pair of
+       integers in case inode numbers do not fit in a Lisp integer.
+
+1996-11-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c [__DJGPP_MINOR__ == 0] (_rename): New function, a
+       substitute for library low-level file-renaming function which
+       works around Windows 95 bug.
+
+1996-11-06  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * window.c (window_loop, case GET_BUFFER_WINDOW):
+       Don't find any minibuffer window
+       except the one that is currently in use.
+
+1996-11-05  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * fileio.c (S_ISFIFO): Default definition (if S_IFIFO is defined).
+
+       * editfns.c (Fencode_time): Use xfree, not free.
+
+       * print.c (PRINTFINISH): Use xfree, not free.
+
+1996-11-04  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xfns.c (Fx_create_frame): Look for X-resource for minibuffer.
+
+       * alloc.c (Fgarbage_collect): Use Vhistory_length
+       for truncating Vcommand_history.
+
+       * print.c (PRINTPREPARE): Really do set free_print_buffer.
+
+       * xdisp.c (scroll_conservatively): New variable.
+       (redisplay_window): Obey it.
+       (syms_of_xdisp): Set up Lisp var.
+
+1996-11-02  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * minibuf.c (choose_minibuf_frame): Don't change selected_frame's
+       selected window even if it is a minibuffer window,
+       if it is active.
+
+1996-11-01  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * print.c (PRINTDECLARE): Declare specpdl_count and free_print_buffer.
+       (PRINTPREPARE): If print_buffer is nonzero,
+       save its contents in a string using record_unwind_protect.
+       (PRINTFINISH): Restore old print_buffer contents.
+       Free it only if this PRINTPREPARE malloc'd it.
+       (print): Don't call PRINTFULLP after all.
+       (print_unwind): New function.
+
+       * print.c (printchar, strout): Do QUIT for echo area output.
+       (PRINTFULLP): New macro.
+       (print): Exit if PRINTFULLP.
+       When printing a symbol, don't save a pointer to the name.
+       (PRINTFINISH): Null out print_buffer after freeing it.
+
+1996-10-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (cancel_mouse_face): New function.  Code copied from
+       x_set_window_size, fixing a bug.
+       (x_set_window_size): Use cancel_mouse_face.
+       (XTread_socket): When frame size has changed, call cancel_mouse_face.
+
+       * widget.c (EmacsFrameResize): Use cancel_mouse_face.
+
+1996-10-31  Erik Naggum  <erik@naggum.no>
+
+       Reorganize function definitions so etags finds them.
+       * abbrev.c (Finsert_abbrev_table_description).
+       * editfns.c (Finsert_and_inherit_before_markers).
+       * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success,
+       Frun_hook_with_args_until_failure).
+       * window.c (Fcurrent_window_configuration).
+       * xselect.c (Fx_own_selection_internal, Fx_get_selection_internal,
+       Fx_disown_selection_internal).
+
+1996-10-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * emacs.c (main): Clear out *Messages* before init_callproc.
+
+       * keyboard.c (command_loop_1): Update selected buffer again
+       after read_key_sequence.
+
+1996-10-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * callproc.c (init_callproc): Use dir_warning.
+
+       * lread.c (dir_warning): New function.
+       (init_lread): Use dir_warning.
+
+1996-10-28  Erik Naggum  <erik@naggum.no>
+
+       * alloc.c (Fmake_char_table): Doc fix.
+
+1996-10-25  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * keymap.c (describe_buffer_bindings): Pass 1 for PARTIAL
+       in some calls to describe_map_tree.
+
+1996-10-24  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * process.c (status_notify): Update p->tick again
+       just before running the sentinel, in case it dies.
+
+1996-10-23  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * xdisp.c (decode_mode_spec): In the `L' case,
+       remove a buffer from base_line_pos if window has switched buffers.
+
+1996-10-15  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * minibuf.c (read_minibuf_unwind): Don't restore minibuf_window;
+       instead call choose_minibuf_frame.
+       (choose_minibuf_frame): Don't let any other frame keep its minibuf
+       window selected.
+
+       * xterm.c (XTread_socket, KeyPress case): Clear compose_status
+       if the key has the meta modifier.
+
+1996-10-14  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * eval.c (Vdebug_on_signal): Renamed from Vdebug_force.
+
+1996-10-13  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * m/pmax.h (BROKEN_O_NONBLOCK): Define only if Ultrix.
+       (LIBS_MACHINE, KERNEL_FILE): Don't define if __NetBSD__.
+       (C_SWITCH_X_MACHINE): Define only if Ultrix.
+       [__NetBSD__] (START_FILES, CANNOT_DUMP): New definitions.
+       [__NetBSD__] (RUN_TIME_REMAP, UNEXEC): Undef them.
+
+       * m/mips.h (UNEXEC): Undef before defining.
+
+       * fileio.c (Fexpand_file_name):
+       No longer discard .../ before another / or ~.
+       That is now only in Fsubstitute_in_file_name.
+
+1996-10-12  Simon Marshall  <simon@duality.gnu.ai.mit.edu>
+
+       * data.c (Fdefine_function): Function definition deleted.
+       (syms_of_data): Don't call defsubr for it.
+
+1996-10-12  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.c (XTwrite_glyphs, XTclear_end_of_line, XTclear_frame)
+       (clear_cursor, x_display_bar_cursor, x_display_box_cursor)
+       (x_set_window_size): Use phys_cursor_on field in frame.
+       (x_update_cursor): Negative phys_cursor_x no longer means anything.
+
+       * frame.h (struct frame): New field phys_cursor_on.
+
+1996-10-08  David KÃ¥gedal  <davidk@lysator.liu.se>
+
+       * xmenu.c (Fx_popup_menu): Give the menu a title when the menu is
+       a single keymap.
+
+1996-10-07  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * s/ptx.h (POSIX_SIGNALS): New definition.
+
+       * dispnew.c (init_display): If not yet initialized,
+       we can't really use X, so we must do the real work.
+
+1996-10-06  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xdisp.c (display_text_line): New arg ovstr_done.  (Callers changed).
+       Ignore that many chars from start of overlay strings.
+       Return updated value in ovstring_chars_done field.
+
+       * indent.c (vmotion, compute_motion): Fill in ovstring_chars_done
+       in the return value.
+
+       * indent.h (struct position): New field ovstring_chars_done.
+
+1996-10-06  Erik Naggum  <erik@naggum.no>
+
+       * window.c (Fspecial_display_p, Fsame_window_p): New functions.
+       (Fdisplay_buffer): Use them, instead of doing the work here.
+       (syms_of_window): Defsubr them.
+
+1996-10-05  Marcus G. Daniels  <marcus@coulee.tdb.com>
+
+       * xfns.c (x_set_internal_border_width):  Only change
+       an edit_widget's internal_border_width for the toolkit case.
+
+1996-10-04  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * lread.c (openp): Omit /: from start of file name.
+
+1996-10-03  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * buffer.c (init_buffer): Add /: to dir names that could be magic.
+       * emacs.c (decode_env_path): Add /: to dir names that could be magic.
+       (init_cmdargs): Add /: to argv[0] if it could be magic.
+
+1996-10-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xfns.c (syms_of_xfns): For x-sensitive-text-pointer-shape, use
+       DEFVAR_LISP.
+
+1996-10-01  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * frame.c (store_frame_param): Allow setting a frame's minibuffer
+       to the value that it already has.
+
+1996-10-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * buffer.c (syms_of_buffer): Doc fix.
+
+1996-09-28  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.c (show_mouse_face): Undo 1996-08-30 change.
+
+       * s/irix5-0.h (ospeed): New definition.
+       * s/irix6-0.h (ospeed): New #undef to counteract that definition.
+
+1996-09-27  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.c (XTflash): Don't flash in the internal borders.
+       or between a scroll bar and the edge.
+
+       * eval.c (Vdebug_force): New variable.
+       (syms_of_eval): Set up Lisp var.
+       (find_handler_clause): If Vdebug_force, call debugger
+       even if there are handlers.
+
+1996-09-26  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
+
+       * xfns.c (x_set_scroll_bar_width): Move cursor to the 
+       left margin, past a scroll bar, if any.
+
+1996-09-26  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * lread.c (isfloat_string): Accept E like e.
+
+       * callint.c (Fcall_interactively): Bind cursor-in-echo-area to t
+       for `k' and `K'.
+
+       * s/hpux10.h (KERNEL_FILE): Redefine it here.
+
+1996-09-25  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * textprop.c (Fset_text_properties, Fadd_text_properties)
+       (Fremove_text_properties): Call modify_region and signal_after_change
+       only for buffers, not for strings.
+
+       * xterm.c (XTflash): Flash just top and bottom screen line.
+
+       * window.c (syms_of_window): Doc fixes.
+
+1996-09-25  Marcus Daniels  <marcus@sysc.pdx.edu>
+
+       * s/irix5-0.h (sigsetmask, _longjmp, _setjmp): #undef them.
+       (_BSD_SIGNALS): Definition deleted.
+
+1996-09-25  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dosfns.c (init_dosfns): When setting `__opendir_flags' value,
+       override the bits recorded when dumping.
+
+1996-09-24  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * w32term.c (w32_read_socket): Delete WAITP arg.
+
+       * keyboard.c (read_avail_input): Don't pass WAITP to read_socket_hook.
+
+       * xterm.c (XTread_socket): Delete WAITP arg.
+
+       * config.in (HAVE_GETCWD): Add #undef.
+
+       * fileio.c (Vuser_login_name): Declared extern.
+       (minibuf_level): extern decl moved to top level.
+       (Fwrite_region): Query before writing to a file that is locked,
+       even if it is locked by the same user.
+
+       * textprop.c (set_properties, add_properties, remove_properties):
+       Don't call modify_region or signal_after_change here.
+       (Fset_text_properties, Fadd_text_properties, Fremove_text_properties):
+       Call them here when appropriate.
+
+       * Makefile.in (LIBES): Add LOADLIBES and LDLIBS.
+
+1996-09-24  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (run_msdos_command): When testing whether a shell
+       belongs to the MSDOS family, convert its name to lower-case.
+
+1996-09-24  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * eval.c (Vsignal_hook_function): New variable.
+       (syms_of_eval): Set up Lisp variable.
+       (Fsignal): Call that function.
+
+       * xfns.c (x_set_internal_border_width, Fx_create_frame):
+       Call widget_store_internal_border.
+       (Fx_create_frame): Don't use a superclass when
+       checking for an internalBorder resource.
+
+       * widget.c (widget_store_internal_border): New function.
+       (EmacsFrameSetValues): Undo previous change.
+
+1996-09-23  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xfns.c (x_window): With Motif, double extra_borders.
+       Use a preprocessor conditional to test for Motif.
+
+       * frame.h (struct frame): New field window_width.
+       (FRAME_WINDOW_WIDTH): Refer to window_width field.
+       (SET_FRAME_WIDTH): Set window_width field as well as width field.
+
+1996-09-22  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * eval.c (syms_of_eval): Initialize Vrun_hooks here.
+       Don't make it a Lisp variable.
+
+       * frame.c (Fdelete_frame): Set update_mode_lines.
+
+       * emacs.c (main): Add copyright etc. to --version output.
+
+1996-09-21  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * bytecode.c (Bsave_current_buffer): New macro.
+       (Fbyte_code): Handle Bsave_current_buffer.
+
+       * editfns.c (Fsave_current_buffer): New function.
+       (syms_of_editfns): defsubr it.
+
+       * search.c (REGEXP_CACHE_SIZE): Increase to 20.
+       (compile_pattern): Check for size match before calling Fstring_equal.
+
+1996-09-21  Paul Eggert  <eggert@twinsun.com>
+
+       * editfns.c: For time zone difference calculations, use the same
+       code as the GNU C Library; this fixes a bug with large negative years.
+       (tm_diff): Renamed from difftm.  Yield int, not long.
+       (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN.
+
+1996-09-21  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xdisp.c (echo_area_display): Clear the left-side scroll bar columns.
+
+1996-09-20  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.c (x_scroll_bar_create, x_scroll_bar_move): 
+       (x_scroll_bar_expose): Use VERTICAL_SCROLL_BAR_WIDTH_TRIM.
+
+       * xterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Renamed from
+       LEFT_VERTICAL_SCROLL_BAR_WIDTH_TRIM.
+       (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): Use VERTICAL_SCROLL_BAR_WIDTH_TRIM.
+
+       * widget.c (EmacsFrameSetValues): Copy internal_border_width
+       from the Emacs frame if caller isn't changing it.
+
+       * xfns.c (Fx_create_frame): Default Qinternal_border_width to 1.
+
+       * xterm.c (XTchange_line_highlight, dumpglyphs, XTclear_end_of_line)
+       (do_line_dance, pixel_to_glyph_coords): Use FRAME_WINDOW_WIDTH.
+
+       * xfns.c (x_set_scroll_bar_width): Default the width to 3 cols.
+       Call change_frame_size.
+
+       * xterm.c (x_scroll_bar_move, x_scroll_bar_create):
+       Add a border around the actual window.
+
+       * dispnew.c (make_frame_glyphs, update_line, update_frame)
+       (scroll_frame_lines, char_ins_del_cost): Use FRAME_WINDOW_WIDTH.
+
+       * minibuf.c (read_minibuf): Use FRAME_LEFT_SCROLL_BAR_WIDTH
+       to set the cursor position at the end.
+
+       * xterm.c (x_scroll_bar_expose): Don't trim the width here.
+
+       * xdisp.c (display_mode_line): Use faces for inverse video mode line
+       whenever that possible.
+
+       * xfns.c (Fx_create_frame): Default Qvertical_scroll_bars to `left'.
+
+Fri Sep 20 02:37:37 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
+
+       * xterm.c (XTclear_end_of_line): Shift end-of-line when there is a
+       left-side scroll bar by FRAME_LEFT_SCROLL_BAR_WIDTH.
+       (do_line_dance): Take into account the width of a left-side scroll bar.
+       (dumprectangle): Trim at FRAME_WINDOW_WIDTH instead of FRAME_WIDTH.
+       (fast_find_position): Use new macro WINDOW_LEFT_MARGIN.
+       (show_mouse_face): Likewise.
+       (x_scroll_bar_set_handle): VERTICAL_SCROLL_BAR_INSIDE_WIDTH now
+       requires the frame as an argument.
+       (x_scroll_bar_expose): Narrow the box slightly for a left-side
+       scroll bar.
+
+       * xfns.c:  Add the symbol `right'; this symbol is used to indicate
+       that a right-side scroll bar is wanted.
+       (x_set_vertical_scroll_bars): Check for left<->right<->none 
+       scroll bar changes, and modify the vertical scroll bar type
+       as appropriate.
+       (x_figure_window_size): Use new SET_FRAME_WIDTH macro.
+       (Fx_create_frame): Likewise.
+       (Fx_horizontal_line): Use new macro WINDOW_LEFT_MARGIN.
+
+       * xdisp.c (echo_area_display): Shift display_string past a
+       left-side scroll bar.
+       (redisplay_window): Likewise.
+       (redisplay_internal): Shift cursor past a left-side scroll bar.
+       (redisplay_window): Likewise.
+       (try_window_id): Likewise.
+       (display_text_line): Likewise.
+       (redisplay_internal): Shift charstarts past a left-side scroll bar.
+       (display_text_line): Likewise.
+       (redisplay_internal): Use new macro WINDOW_FULL_WIDTH_P.
+       (redisplay_window): Likewise.
+       (display_text_line): Likewise.
+       (display_text_line): Shift output past left-side scroll bar.
+       (display_text_line): Use new WINDOW_RIGHTMOST_P macro.
+       (display_text_line): Don't pad right columns unless using
+       a right-side scroll bar.  Don't draw vertical bars unless there
+       isn't any kind of scroll bar.
+       (display_string): Likewise.
+       (display_mode_line): Use new macros WINDOW_LEFT_MARGIN,
+       WINDOW_RIGHT_MARGIN, and WINDOW_FULL_WIDTH_P.
+       (display_string): Use new macro WINDOW_RIGHTMOST_P.
+
+       * window.c (Fwindow_edges): Use new WINDOW_RIGHT_EDGE macro.
+       (coordinates_in_window): Use WINDOW_LEFT_MARGIN, WINDOW_RIGHT_MARGIN,
+       and WINDOW_RIGHT_EDGE.  Adjust for left-side scroll bar margin.
+       (window_loop, Fdisplay_buffer): Use new WINDOW_FULL_WIDTH_P macro.
+       (window_internal_width): Window width now always includes the
+       scroll bar, if any.  Use WINDOW_RIGHTMOST_P and WINDOW_FULL_WIDTH_P.
+
+       * w32term.c (fast_find_position, show_macro_face): Use new
+       WINDOW_LEFT_MARGIN macro.
+
+       * w32fns.c (Qright): New variable.
+       (syms_of_win32fns): Initialize and staticpro Qright.
+       (x_set_vertical_scroll_bars): Check for left<->right<->none 
+       scroll bar changes, and modify the vertical scroll bar type
+       as appropriate.
+       (x_figure_window_size): Use new SET_FRAME_WIDTH macro.
+       (Fx_create_frame): Likewise.
+
+       * term.c (term_init): Use new vertical scroll bar enumerated type.
+       (term_init): Use new macro SET_FRAME_WIDTH.
+
+       * sunfns.c (Fsun_menu_internal): Use new WINDOW_LEFT_MARGIN macro.
+
+       * ntterm.c (initialize_win_nt_display): Use SET_FRAME_WIDTH.
+
+       * keyboard.c (make_lispy_event): When converting from pixel to
+       glyph coordinates, offset by WINDOW_LEFT_MARGIN instead of XINT
+       (XWINDOW (window)->left; this is necessary when there are
+       left-side scrollbars.
+
+       * frame.c (make_frame): Switch from boolean
+       `has_vertical_scrollbars' integer to an enumerated type.
+       Use new macro SET_FRAME_WIDTH.
+
+       * dispnew.c (preserve_other_columns, preserve_my_columns): Use new
+       macros WINDOW_LEFT_MARGIN and WINDOW_RIGHT_EDGE.
+       (adjust_window_charstarts, verify_charstarts, cancel_my_columns):
+       Use new macro WINDOW_LEFT_MARGIN instead of w->left.
+       (direct_output_for_insert, direct_output_forward_char): Likewise.
+       (buffer_posn_from_coords): Likewise.
+       (verify_charstarts): Use new macro WINDOW_FULL_WIDTH_P.
+       (update_frame): For determining when to wrap the cursor, use the
+       new macro FRAME_WINDOW_WIDTH instead of FRAME_WIDTH; they aren't
+       necessarily the same any more.
+       (change_frame_size_1): Use FRAME_WINDOW_WIDTH to check for changes.
+       Give `set_window_width' the window width value.
+       Use new macro SET_FRAME_WIDTH.
+       
+       * xterm.h (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): Add frame as an
+       argument, and use it to decrease the width in the case of a
+       left-side scroll bar; this prevents the bar and adjacent text
+       from scrunching together.
+       (LEFT_VERTICAL_SCROLL_BAR_WIDTH_TRIM): Add constant.
+
+       * frame.h (vertical_scroll_bar_type): Add enumerated
+       none/left/right type for identifying vertical scroll bars.
+       (struct frame): Use vertical_scroll_bar_type.
+       (FRAME_HAS_VERTICAL_SCROLL_BARS): Use vertical scroll bar type.
+       (FRAME_VERTICAL_SCROLL_BAR_TYPE): New macro.
+       (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT): New macros.
+       (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT): New macros.
+       (FRAME_SCROLL_BAR_WIDTH, FRAME_LEFT_SCROLL_BAR_WIDTH): New macros.
+       (FRAME_WINDOW_WIDTH, FRAME_WINDOW_WIDTH_ARG): New macros.
+       (SET_FRAME_WIDTH): New macro for assigning to both
+       `external_width' and `width'.
+       (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Modify to handle left-side
+       scroll bars too.
+       
+       * window.h (WINDOW_LEFT_MARGIN): New macro.
+       (WINDOW_RIGHT_EDGE, WINDOW_RIGHT_MARGIN): New macros.
+       (WINDOW_FULL_WIDTH_P, WINDOW_RIGHTMOST_P): New macros.
+
+1996-09-20  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.h (VERTICAL_SCROLL_BAR_INSIDE_HEIGHT): New arg F (not used).
+       (VERTICAL_SCROLL_BAR_TOP_RANGE): New arg F (not used).
+       * xterm.c: Pass frame arg in calls to VERTICAL_SCROLL_BAR_INSIDE_HEIGHT
+       and VERTICAL_SCROLL_BAR_TOP_RANGE.
+       
+       * sysdep.c (init_system_name): Retry gethostbyname only 5 times
+       and don't sleep after the last time.
+
+1996-09-19  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dired.c (file_name_completion): Remove code which sets and
+       restores the `stat' control flags (they might not be restored if
+       C-g is pressed during completion).
+       (file_name_completion_stat): Set and restore flags that make
+       `stat' faster here instead of in `file_name_completion'.
+
+1996-09-18  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * buffer.c (overlay_strings): Declare pstr using unsigned char.
+
+       * xdisp.c (display_text_line): Declare ovstr as unsigned char *.
+
+       * minibuf.c (Fcompleting_read): Doc fix.
+
+1996-09-17  Erik Naggum  <erik@naggum.no>
+
+       * lisp.h: Declare make_symbol.
+
+       * lread.c (init_obarray): staticpro Qvariable_documentation.
+
+       * keymap.c (syms_of_keymap): staticpro global_map.
+
+       * keyboard.c (syms_of_keyboard): Initialize and staticpro
+       internal_last_event_frame and read_key_sequence_cmd.
+
+       * fileio.c (syms_of_fileio): staticpro Qset_visited_file_modtime.
+
+       * dired.c (syms_of_dired): staticpro Qdirectory_files,
+       Qfile_name_completion, Qfile_name_all_completions, and Qfile_attributes.
+
+       * casetab.c (syms_of_casetab): staticpro Vascii_canontable,
+       Vascii_eqv_table, and Vascii_upcase_table.
+
+       * alloc.c (Fmake_symbol): Initialize `obarray' field.
+
+1996-09-16  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * Makefile.in: Replaced symbol BSD with BSD_SYSTEM.
+       * emacs.c, floatfns.c, keyboard.c, mem-limits.h, process.c: Likewise.
+       * sysdep.c, syssignal.h, syswait.h, xterm.c: Likewise.
+       * s/bsd386.h, s/bsd4-1.h, s/bsd4-2.h, s/bsd4-3.h, s/dgux.h: Likewise.
+       * s/freebsd.h, s/msdos.h, s/rtu.h, s/umax.h, s/umips.h: Likewise.
+       * m/intel386.h, m/mips.h, m/mips4.h, m/vax.h: Likewise.
+
+1996-09-16  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * buffer.c (Fget_buffer_create): Initialize BUF_OVERLAY_MODIFF.
+
+       * minibuf.c (read_minibuf_unwind): Clear last_overlay_modified field.
+
+       * msdos.c (IT_set_menu_bar_lines): Clear last_overlay_modified field.
+
+       * w32term.c (note_mouse_highlight): Test last_overlay_modified field.
+
+       * xterm.c (note_mouse_highlight): Test last_overlay_modified field.
+
+       * window.c (Fset_window_start): Clear last_overlay_modified field.
+       (set_window_height, set_window_width, Fset_window_buffer)
+       (change_window_height, window_scroll, Fset_window_configuration): 
+       Clear last_overlay_modified field.
+       (Fpos_visible_in_window_p): Test last_overlay_modified field.
+
+       * Makefile.in (frame.o, textprop.o, abbrev.o): Depend on window.h.
+
+       * process.c (stream_process): Variable deleted.
+       (syms_of_process): staticpro deleted.
+
+1996-09-15  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * sysdep.c: Don't explicitly Include termios.h.
+       (ospeed): Use HAVE_TERMIOS to decide whether to use speed_t.
+
+       * s/hpux9.h (C_SWITCH_X_SYSTEM): Add -I/usr/contrib/X11R5/include.
+       (LD_SWITCH_X_DEFAULT): Add -L/usr/contrib/X11R5/lib.
+
+1996-09-14  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * buffer.h (struct buffer): New field overlay_modiff.
+       (MODIFF, BUF_OVERLAY_MODIFF): New macros.
+       * window.h (struct window): New field last_overlay_modified.
+
+       * xdisp.c (redisplay_internal, mark_window_display_accurate)
+       (redisplay_window): Test and update last_overlay_modified field
+       along with last_modified.
+
+       * dispnew.c (direct_output_for_insert): Set last_overlay_modified
+       field in window.
+
+       * keyboard.c (command_loop_1): Test last_overlay_modified
+       along with last_modified.
+
+       * xdisp.c (overlay_unchanged_modified): New variable.
+       (redisplay_internal): Set overlay_unchanged_modified.
+       * insdel.c (gap_left, gap_right, modify_region): 
+       Compare overlay_unchanged_modified with OVERLAY_MODIFF.
+
+       * buffer.c (modify_overlay): Renamed from redisplay_region
+       moved here from xdisp.c, and made static.  Callers changed.
+       Update OVERLAY_MODIFF instead of MODIFF.
+       * xdisp.c (redisplay_region): Renamed and moved to buffer.c.
+       
+       * s/sco5.h (C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM): 
+       Don't define them if using GCC.
+
+1996-09-13  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * keyboard.c (recursive_edit_1): Handle a string as the
+       throw value.
+
+       * minibuf.c (read_minibuf): If not in minibuffer window,
+       cancel the active minibuffer.
+
+1996-09-12  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * frame.c (Fmake_terminal_frame): Use Vdefault_frame_alist.
+
+       * s/hpux9.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
+       Don't specify dirs for X, only for Motif.
+
+1996-09-11  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * lread.c (Fload): Move ... to ends of messages.
+
+       * puresize.h (BASE_PURESIZE): Increased.
+
+       * s/sco5.h (LIBX11_SYSTEM): Don't use ..._s libraries.
+
+1996-09-10  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * insdel.c (signal_before_change): Fix previous change.
+
+       * lisp.h (struct Lisp_Symbol): New field `obarray'.
+
+       * xterm.c (x_connection_closed): Call XtCloseDisplay.
+
+1996-09-09  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * keyboard.c (Fexecute_extended_command): Delete junk lines.
+       Print the key bindings after the command, temporarily;
+       then bring back the previous message.
+       
+       * buffer.c (syms_of_buffer): Doc fixes.
+
+       * filelock.c (lock_superlock): Delete superlock file if it stayed
+       locked for 20 seconds.
+
+1996-09-08  Erik Naggum  <erik@naggum.no>
+
+       * lread.c: Add #n=object, #n#, and #:symbol constructs to reader.
+       (readevalloop, read, Fread_from_string): Empty list of read objects
+       before read0 call.
+       (read1): New variable `uninterned_symbol', which controls how to
+       make symbols.  Support #:, #n=object and #n#.
+       (make_symbol): New function, used in read1 to make uninterned symbols
+       (Fintern): Set `obarray' field of interned symbols.
+       (init_obarray): Explicit set `obarray' field of symbol `nil'.
+       (syms_of_lread): staticpro read_objects, the list of read objects.
+
+       * print.c: Add #n=object, #n#, and #:symbol constructs to printer.
+       (PRINTDECLARE): New macro to declare required variables.
+       (PRINTPREPARE, PRINTFINISH): Set printed_genyms to nil.
+       (Fwrite_char, write_string, write_string_1, Fterpri, Fprin1,
+       Fprin1_to_string, Fprinc, Fprint): Use new macro PRINTDECLARE.
+       (print): Print uninterned symbols readable.
+       (syms_of_print): Defvar `print-gensym', staticpro printed_gensyms.
+
+1996-09-05  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * editfns.c (Finsert_buffer_substring): Check for deleted buffer.
+       (Fcompare_buffer_substrings): Likewise.
+
+1996-09-04  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * lisp.h: Add many declarations.
+       
+       * lisp.h (BITS_PER_EMACS_INT): New macro.
+       (XMARKBIT): Test BITS_PER_EMACS_INT to conditionalize fast definition.
+       * m/alpha.h (BITS_PER_EMACS_INT): New definition.
+
+       * s/sol2.h (LIBS_SYSTEM): Use -lkstat instead of -lelf -lkvm
+
+       * process.c (create_process): Test HAVE_SETPGID for using setpgid.
+
+       * config.in (HAVE_SETPGID): Add #undef.
+
+       * keymap.c (syms_of_keymap): staticpro current_global_map;
+
+       * intervals.c (get_local_map): Call indirect-function.
+
+       * m/alpha.h (UNEXEC): Use unexelf.c.
+
+       * unexelf.c: unexelf1.c merged into this file.
+
+       * terminfo.c: Include config.h.
+       [HAVE_TERMIOS_H]: Include termios.h.
+       (ospeed) [HAVE_TERMIOS_H]: Use ospeed_t.
+
+       * process.c (create_process_1, sigchld_handler) [POSIX_SIGNALS]:
+       Don't reestablish handler.
+
+       * keyboard.c (input_available_signal) [POSIX_SIGNALS]:
+       Don't reestablish handler.
+       (interrupt_signal) [POSIX_SIGNALS]: Likewise.
+
+       * data.c (arith_error) [POSIX_SIGNALS]: Don't reestablish handler.
+
+       * config.in (HAVE_TERMIOS_H): Add #undef.
+
+       * cm.h, sysdep.c [HAVE_TERMIOS_H]: Include termios.h.
+       (ospeed) [HAVE_TERMIOS_H]: Use ospeed_t.
+
+       * eval.c (Fmacroexpand): Don't declare `form' as register.
+
+       * frame.c (Fredirect_frame_focus): Don't call Ffocus_frame.
+
+       * keyboard.c (Fexecute_extended_command): Fix previous change.
+
+       * intervals.c (copy_intervals_to_string): Take arg as buffer.
+
+       * keyboard.c (Fcommand_execute): gcpro cmd and prefixarg
+       while calling do_autoload.
+
+       * eval.c (Fmacroexpand): gcpro form while calling do_autoload.
+       (do_autoload): gcpro fun, funname, fundef.
+
+1996-09-03  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * keyboard.c (Fexecute_extended_command): gcpro prefixarg.
+
+       * xfns.c, w32fns.c (x_set_frame_parameters):
+       Make height and width ints.
+
+       * fns.c (map_char_table): Declare depth as int.
+
+       * xterm.c (note_mouse_highlight):
+       Pass POS argument to fast_find_position as int.
+
+       * textprop.c (set_properties, add_properties, remove_properties): 
+       Call modify_region with ints.
+
+       * insdel.c (prepare_to_modify_buffer): Take integer arguments.
+       (signal_before_change): Take integer arguments.
+
+       * alloc.c (Fmake_byte_code): Call make_pure_vector using nargs.
+
+       * alloc.c (Fpurecopy): Cast arg to make_pure_vector.
+       (Fmake_byte_code): Use XFASTINT when calling make_pure_vector.
+
+       * doprnt.c (doprnt1): If lispstrings, accept a string
+       as a `struct Lisp_String *'.
+
+       * editfns.c (Fformat): Pass a string using XSTRING.
+
+       * xdisp.c (message): Cast size arg to doprnt.
+
+       * term.c (term_init): Avoid type-mismatch calling get_frame_size.
+       (OUTPUT_IF, OUTPUT): Cast frame height to int.
+
+       * search.c (search_buffer): Use EMACS_UINT.
+
+1996-09-03  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
+
+       * emacs.c (sort_args): Don't rearrange any args that follow "--".
+
+1996-09-03  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xfns.c, w32fns.c (Ffocus_frame, Funfocus_frame): Functions deleted.
+
+       * xfns.c (x_get_and_record_arg): New function.
+       (x_icon): Use that, for Qicon_top and Qicon_left.
+       (x_report_frame_params): Report the Qparent_id parameter.
+       
+1996-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * config.in (mktime): Define to emacs_mktime if we are using our own
+       mktime, since Nextstep doesn't let Emacs redefine the builtin mktime.
+       * Makefile.in (MKTIME_OBJ):  Use our mktime instead of NEXTSTEP's,
+       since NEXTSTEP's wrongly ignores TZ.
+       (mktime): #undef, to avoid messing up the file name mktime.c.
+       * editfns.c (Fencode_time):  Remove NEXTSTEP workaround;
+       we now use our mktime instead.
+
+1996-09-03  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * process.c (create_process): Undo previous change.
+
+1996-09-02  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * editfns.c (Fencode_time) [_NEXT_SOURCE]: Use ZONE, not ABSZONE.
+
+       * Make region highlighting show in just one window.
+       * xdisp.c (redisplay_internal): Test last_selected_window slot.
+       (mark_window_display_accurate, display_text_line): Likewise.
+       * window.c (unshow_buffer): Clear last_selected_window slot, maybe.
+       (Fset_window_buffer): Set last_selected_window slot.
+       (Fselect_window): Set last_selected_window slot.
+       (delete_all_subwindows): Maybe call unshow_buffer.
+       * buffer.c (reset_buffer): Initialize last_selected_window slot.
+       * buffer.h (strict buffer): New slot last_selected_window.
+
+1996-09-01  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * process.c (Fprocess_contact): New function.
+       (NETCONN_P): Use GC_CONSP.
+       (list_processes_1): Use new childp format.
+       (Fopen_network_stream): Store a cons cell in childp.
+
+       * keyboard.c (record_asynch_buffer_change, gobble_input):
+       Use sigblock instead of sigblockx.
+
+       * syssignal.h (sigunblockx): Definitions deleted.
+       (sigpausex, sigblockx, sigholdx): Definitions deleted.
+
+       * process.c (create_process): Test defined (TIOCSCTTY)
+       and defined (HAVE_SETSID) instead of DONT_REOPEN_PTY.
+
+       * fileio.c (Faccess_file): New function.
+       (Qaccess_file): New variable.
+       (syms_of_fileio): defsubr function; init and staticpro Qaccess_file.
+
+1996-09-01  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * config.in (MULTI_FRAME): Obsolete macro deleted.
+       * Makefile.in: Removed support for !MULTI_FRAME.
+       * dispextern.h, frame.h, keyboard.h, lisp.h, puresize.h: Likewise.
+       * alloc.c, buffer.c, data.c, dispnew.c, frame.c: Likewise.
+       * keyboard.c, minibuf.c, print.c, sysdep.c, w32faces.c: Likewise.
+       * window.c, xdisp.c, xfaces.c: Likewise.
+
+       * abbrev.c, bytecode.c: Change all references from point to PT.
+       * callint.c, casefiddle.c, cmds.c, dispnew.c, editfns.c: Likewise.
+       * fileio.c, indent.c, lread.c, print.c, process.c: Likewise.
+       * search.c, syntax.c, undo.c, window.c: Likewise.
+
+1996-09-01  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * Makefile.in (TAGS): Use $(srcdir) in deps.
+
+1996-08-31  Boris Goldowsky  <boris@gnu.ai.mit.edu>
+
+       * fileio.c (build_annotations): Remember original buffer that the
+       region came from; pass this to `format-annotate-function'.
+
+1996-08-31  Geoff Voelker  <voelker@cs.washington.edu>
+
+       * Makefile.in (MSDOS_SUPPORT, WINNT_SUPPORT, SOME_MACHINE_LISP): 
+       Include dos-nt.elc.
+
+1996-08-31  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * keyboard.c (requeued_events_pending_p): New function.
+
+       * config.in (HAVE_SETRLIMIT): Add #undef.
+
+       * emacs.c [HAVE_SETRLIMIT]: Include time.h and resource.h.
+       (main) [HAVE_SETRLIMIT]: Call setrlimit to extend the stack limit.
+       New local `rlim'.
+
+       * lread.c (Fload): Add "source is newer" info to the "loading" and
+       "done" messages.
+
+1996-08-31  Paul Eggert  <eggert@twinsun.com>
+
+       * config.in (HAVE_SYS_SYSTEMINFO_H, HAVE_GETDOMAINNAME, HAVE_SYSINFO):
+       New macros.
+       * sysdep.c (<sys/systeminfo.h>):
+       Include if HAVE_SYS_SYSTEMINFO_H is defined.
+       (init_system_name): Use sysinfo or getdomainname to append domain name
+       if host name is not already fully qualified.
+
+1996-08-31  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xfns.c (Fx_list_fonts): New optional arg MAXIMUM.
+
+1996-08-31  Erik Naggum  <erik@naggum.no>
+
+       * alloc.c (Fgarbage_collect): Report used and free intervals.
+
+1996-08-31  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.h (struct x_display_info): Add element Xatom_FONT.
+       * xterm.c (x_term_init): Initialize Xatom_FONT member.
+       (x_new_font): Use Xatom_FONT member.
+
+1996-08-31  Kevin Layer  <layer@Franz.COM>
+
+       * ntproc.c (Vwin32_start_process_show_window): New variable.
+       (create_child): Conditionally force subprocess to hide window.
+       (syms_of_ntproc): DEFVAR it.
+
+1996-08-31  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * s/nextstep.h (LD_SWITCH_SYSTEM): Add alternate definition if
+       not __NeXT.
+
+1996-08-30  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xfaces.c (Fset_face_attribute_internal): Set mouse_face_defer flag.
+       * xterm.c (XTupdate_end): Always clear mouse_face_defer flag.
+
+       * xterm.c (do_line_dance, dumprectangle): Use x_update_cursor.
+       (show_mouse_face, clear_cursor): Likewise.
+       (x_display_cursor): New args X and Y.
+       (XTupdate_end, XTcursor_to, XTwrite_glyphs): Pass new args.
+       (XTupdate_begin): Initialize curs_x, curs_y here.
+
+       * xfns.c (x_set_cursor_color): Use x_update_cursor.
+
+1996-08-29  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.c (XTread_socket): Fix previous change.
+
+       * keyboard.c (cmd_error): Clear executing_macro.
+
+1996-08-29  David Byers  <byers@lysator.liu.se>
+
+       * minibuf.c (Fminibuffer_complete_word): Check for
+       unexpected data type returned by Ftry_completion.
+
+1996-08-29  Erik Naggum  <erik@psilocin.gnu.ai.mit.edu>
+
+       * macros.c (init_macros): Initialize executing_macro, too.
+
+1996-08-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xterm.c (XTread_socket): Call XFilterEvent on all events,
+       if HAVE_X_I18N and FRAME_XIC nonzero.
+
+       * keyboard.c (cmd_error): Add number of kbd macro iterations
+       to the error message.
+
+       * macros.h (executing_macro_iterations, executing_macro): Declared.
+       
+       * macros.c (executing_macro_iterations, executing_macro): New vars.
+       (Fexecute_kbd_macro): Set them.
+
+1996-08-28  Morten Welinder  <terra@diku.dk>
+
+       * minibuf.c (Vhistory_length, Qhistory_length): New variables.
+       (syms_of_minibuf): Register and initialise these.
+       (read_minibuf): Truncate history list if needed.
+
+1996-08-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * fns.c (Fsubstring): Handle vectors as well as strings.
+
+       * callint.c (Fcall_interactively): For `N' and `n',
+       if we don't get a number, try again.
+
+1996-08-28  Lars Magne Ingebrigtsen  <larsi@dain.ifi.uio.no>
+
+       * alloc.c (syms_of_alloc): Set up Lisp variables ...-consed,
+       such as Vcons-cells-consed.
+
+1996-08-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * emacs.c (main): Add bug report info in --help message.
+
+1996-08-26  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * term.c (Vring_bell_function): New variable.
+       (syms_of_term): Set up Lisp variable.
+       (ring_bell): Use Vring_bell_function.
+
+1996-08-25  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * xterm.c (fast_find_position): Fix previous change.
+
+       * keyboard.c (command_loop_1): Cancel echoing etc.
+       before running post-command-hook and such.
+
+       * xterm.c (fast_find_position): Minor fix in handling maybe_next_line.
+
+       * config.in (HAVE_LIBKRB, HAVE_LIBDES): Add #undefs.
+
+1996-08-24  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+       * Renamings to avoid conflicting names on MSDOS.
+       * s/riscix12.h: Renamed from s/riscix12.h.
+       * s/sunos413.h: Renamed from s/sunos4-1-3.h.
+       * s/dgux5-4-3.h: Renamed from s/dgux5-4r3.h.
+       * s/sunos4-1-2.h: File deleted.
+       
+       * xmenu.c (set_frame_menubar): Don't add ibw to menubar_size.
+
+       * xfns.c (x_window): Don't add ibw to menubar_size.
+
+1996-08-24  Paul Eggert  <eggert@twinsun.com>
+
+       * editfns.c (Fencode_time, Fset_time_zone_rule):
+       Use UTC if the zone is t.
+
+1996-08-24  Erik Naggum  <erik@naggum.no>
+
+       * print.c (print-quoted): New variable.
+       (print): Print certain expressions more compactly when set.
+       Also use XCAR and XCDR directly -- we know we have conses.
+
+1996-08-23  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
+
+       * xterm.c (x_term_init): If the default Xt font does not exist on
+       the X server, add a resource so that dialog boxes use a common font.
+
+1996-08-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * window.c (Fsplit_window): Treat width just like height;
+       no special handling for scroll bars.
+
+1996-08-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * Makefile.in (paths.h, config.h): Targets deleted.
+       (../config.status): Add two new rules to check need for reconfigure.
+
+       * keyboard.c (command_loop_1): Check column_number_displayed
+       in the selected window, not Vcolumn_number_mode.
+       (Vcolumn_number_mode): Variable deleted.
+       (syms_of_keyboard): Delete Lisp variable column-number-mode.
+
+1996-08-22  Erik Naggum  <erik@psilocin.gnu.ai.mit.edu>
+
+       * dispnew.c (change_frame_size_1): Clean up conditional.
+
+1996-08-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xmenu.c (xdialog_show): Don't allow 9 buttons.
+
+1996-08-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * process.c (send_process): GCPRO object.
+
+       * unexalpha.c: Conditionalize previous changes on not __linux__.
+
+       * xfns.c (x_set_scroll_bar_width): Call x_set_window_size
+       when arg is nil.
+
+1996-08-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * unexalpha.c: Include reloc.h and elf_abi.h.
+       (rel_dyn_section, dynstr_section, dynsym_section): New variables.
+       (old_data_scnhdr): New variable.
+       (CHECK_SCNHDR): Compare just 8 chars of section name.
+       (unexec): Check for rel_dyn_section, dynsym_section, dynstr_section.
+       Do call update_dynamic_symbols.
+       (update_dynamic_symbols): Finish it up and take away #if 0.
+
+1996-08-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * unexalpha.c (unexec): Copy the .got section.
+
+1996-08-16  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+       * cmds.c (Fdelete_backward_char): Fix off-by-one error.
+       Treat deleted newline specially.
+
+1996-08-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * bytecode.c (Fbyte_code): For relative gotos, force signed arithmetic.
+
+1996-08-14  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
+
+       * xfns.c (Fx_open_connection): Don't set Vx_resource_name.
+
+See ChangeLog.6 for earlier changes.