summaryrefslogtreecommitdiff
path: root/src/ChangeLog.7
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>1999-10-04 16:40:11 +0000
committerDave Love <fx@gnu.org>1999-10-04 16:40:11 +0000
commit793e66bced842bf7752bb15df14a8e4d5900972b (patch)
tree2577985695b5e1b6df4bbff6a1b572d9d0d2d179 /src/ChangeLog.7
parent379a510f6082fda1c6499d875319ca0ecc1ff158 (diff)
downloademacs-793e66bced842bf7752bb15df14a8e4d5900972b.tar.gz
#
Diffstat (limited to 'src/ChangeLog.7')
-rw-r--r--src/ChangeLog.711100
1 files changed, 11100 insertions, 0 deletions
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7
new file mode 100644
index 00000000000..576aebd87e2
--- /dev/null
+++ b/src/ChangeLog.7
@@ -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.