changeset 25865:a3d096ced6df

#
author Dave Love <fx@gnu.org>
date Mon, 04 Oct 1999 16:40:11 +0000
parents c7fe686cca44
children 01522af1fa7c
files lisp/ChangeLog src/ChangeLog.7
diffstat 2 files changed, 11117 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Oct 04 15:47:14 1999 +0000
+++ b/lisp/ChangeLog	Mon Oct 04 16:40:11 1999 +0000
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ChangeLog.7	Mon Oct 04 16:40:11 1999 +0000
@@ -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.