(x_make_frame_visible): Wait for frame becoming visible
[bpt/emacs.git] / src / ChangeLog
index 60dd3bc..14be443 100644 (file)
@@ -1,3 +1,944 @@
+1999-12-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_make_frame_visible): Wait for frame becoming visible
+       differently.
+
+1999-12-30  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_write_glyphs): Track last changes to struct glyph.
+
+1999-12-29  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dispnew.c (mode_line_string): Support MS-DOS frames.
+
+1999-12-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * eval.c (syms_of_eval): Initialize debugger_may_continue.
+
+1999-12-29  Kenichi Handa  <handa@etl.go.jp>
+
+       * process.c (read_process_output): Fix the args CHARPOS and LENINS
+       to signal_after_change.
+
+1999-12-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (dos_set_window_size) [__DJGPP__ > 1]: If the frame
+       dimensions changed, invalidate the mouse highlight info.
+       (disable_mouse_highlight, help_echo, previous_help_echo): New
+       variables.
+       (IT_set_mouse_pointer, show_mouse_face, clear_mouse_face)
+       (fast_find_position, IT_note_mode_line_highlight)
+       (IT_note_mouse_highlight): New functions.
+       (IT_update_begin): If the redisplay affects the window where the
+       mouse highlight is, clear the highlight.  If the frame where the
+       highlight was displayed was killed, invalidate the highlight
+       info.
+       (IT_update_end): Reset the highlight flag.  Reset the mouse
+       highlight-defer flag.
+       (IT_frame_up_to_date): New function, if mouse highlight was
+       deferred due to GC, do it now.
+       (internal_terminal_init): Initialize mouse-highlight related
+       members of the_only_x_display.  Assign IT_frame_up_to_date to
+       frame_up_to_date_hook.
+       (dos_rawgetc): If the mouse moved, update mouse highlight.  If
+       help_echo changed value, generate a HELP_EVENT event.
+       (syms_of_msdos): Staticpro help_echo and previous_help_echo.
+
+       * msdos.h (struct display_info): New.
+       (struct x_output): Add the display_info member.
+       (FRAME_X_DISPLAY_INFO): New macro.
+
+1999-12-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (try_window_id): Compute BEG_UNCHANGED and END_UNCHANGED
+       if MODIFF > 1.
+       (dump_glyph_row): Adapt to changes in struct glyph.
+
+       * buffer.c (modify_overlay): Always compute unchanged info.
+
+1999-12-27  Kenichi Handa  <handa@etl.go.jp>
+
+       * dispextern.h (FACE_FROM_ID): Cast the arg ID to `unsigned'.
+
+1999-12-27  Kenichi Handa  <handa@etl.go.jp>
+
+       The following changes are to use more bits for face IDs.
+
+       * lisp.h (GLYPH): Defined as `int', not `unsigned int'.  Now the
+       lowest 8 bits are single byte character code, the bits above are
+       face ID.
+       (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the change
+       above.
+       (FAST_MAKE_GLYPH, FSST_GLYPH_FACE): Likewise.
+       (GLYPH_MASK_REV_DIR, GLYPH_MASK_PADDING): Macros deleted.
+
+       * charset.h (CHAR_BYTES): Use ((1 << CHARACTERBITS) - 1) instead
+       of GLYPH_MASK_CHAR.
+
+       * charset.c (char_bytes): Use ((1 << CHARACTERBITS) - 1) instead
+       of GLYPH_MASK_CHAR.
+
+       * dispextern.h (struct glyph): Make face_id and padding_p the top
+       level members.  Change members in union `u'.
+       (GLYPH_EQUAL_P): Check also members face_id and padding_p.
+       (GLYPH_CHAR_AND_FACE_EQUAL_P): New macro.
+       (SET_CHAR_GLYPH): Adjusted for the change of struct glyph.
+       (CHAR_GLYPH_PADDING_P): Likewise.
+       (GLYPH_FROM_CHAR_GLYPH): Likewise.  Always return -1 for multibyte
+       characters.
+
+       * dispnew.c (line_hash_code, direct_output_for_insert): Adjusted
+       for the change of struct glyph.
+       (line_draw_cost): Adjusted for the change of
+       GLYPH_FROM_CHAR_GLYPH.
+       (count_match): Use macro GLYPH_CHAR_AND_FACE_EQUAL_P.
+
+       * term.c (encode_terminal_code): Adjusted for the change of struct
+       glyph and GLYPH_FROM_CHAR_GLYPH.
+       (write_glyphs, insert_glyphs, append_glyph): Adjusted for the
+       change of struct glyph.
+
+       * xdisp.c: All codes adjusted for the change of struct glyph.
+
+       * xterm.c: All codes adjusted for the change of struct glyph.
+
+1999-12-27  Kenichi Handa  <handa@etl.go.jp>
+
+       * composite.h (struct composition): Change the order of declaring
+       members to reduce the byte size of the structure.
+
+1999-12-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * search.c (looking_at_1): Reset immediate_quit before modifying
+       global data.
+
+1999-12-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * process.c (read_process_output): Fix the arg FROM to
+       update_compositions.
+
+1999-12-22  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * search.c (Freplace_match): For nonliteral replacement in buffer,
+       construct all the new text first, then insert all at once.
+
+1999-12-22  Dave Love  <fx@gnu.org>
+
+       * xfns.c (Fx_show_tip): Gcpro `timeout' too.
+
+1999-12-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (Fx_create_frame): Move x_default_parameter calls that
+       lead to size changes to after the X window has been created.
+
+       * xfaces.c (realize_x_face): Don't use uninitialized local
+       variable in xassert.
+
+1999-12-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * xfaces.c (face_color_supported_p): Check by tty_defined_color
+       only when the frame is not for a window system.
+
+1999-12-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.c (Fset_buffer_multibyte): Arrange for a thorough
+       redisplay after changing the multibyteness of a buffer.
+
+       * xterm.c (XTread_socket): At the beginning of the loop, pass the
+       frame's X window to XFilterEvent instead of None because that's
+       the X window for which the IC was created.  This makes dead
+       accents work when the pointer is not in Emacs' frame.
+       (XTread_socket) <KeyPress>: Don't call XFilterEvent here.
+
+1999-12-20  Dave Love  <fx@gnu.org>
+
+       * xfns.c (Fx_show_tip): Add missing UNGCPRO.
+
+1999-12-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * eval.c (debugger_may_continue): New variable.
+       (syms_of_eval): Add a DEFVAR_BOOL for it.
+       (call_debugger): Bind it.
+
+1999-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_set_face): Don't swap face colors when highlight or
+       fp->tty_reverse_p is set, unless the computed colors are identical
+       to frame colors.  Print both original and computed colors to
+       termscript file.
+       (IT_write_glyphs): Track the changes in handling of composite
+       characters.
+       (IT_set_frame_parameters): Don't set frame colors from
+       unspecified-fg and unspecified-bg pseudo-colors.
+
+1999-12-17  Dave Love  <fx@gnu.org>
+
+       * data.c (Fkeywordp): New function.
+       (syms_of_data): Install it.
+
+1999-12-16  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xfaces.c (tty_defined_color): Fix last change.
+
+1999-12-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (redisplay_window) <optional new window start>: Check
+       that window start is in [BEGV..ZV].
+
+1999-12-15  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dispextern.h (FACE_TTY_DEFAULT_FG_COLOR)
+       (FACE_TTY_DEFAULT_BG_COLOR):  New macros.
+
+       * xfaces.c (Qunspecified_fg, Qunspecified_bg): New variables.
+       (syms_of_xfaces): Initialize and staticpro them.
+       (tty_defined_color): If the color name is unspecified-fg or
+       unspecified-bg, return FACE_TTY_DEFAULT_FG_COLOR and
+       FACE_TTY_DEFAULT_BG_COLOR, respectively, as the pixel value.
+       (tty_color_name): If the color pixel value is either
+       FACE_TTY_DEFAULT_FG_COLOR or FACE_TTY_DEFAULT_BG_COLOR, return
+       Qunspecified_fg or Qunspecified_bg, respectively.
+       (Finternal_set_lisp_face_attribute): Allow values Qunspecified_fg
+       and Qunspecified_bg for foreground and background colors.
+       (realize_default_face): If the foreground and background colors
+       are not specified, default to Qunspecified_fg and Qunspecified_bg.
+       (realize_tty_face): By default, set the face colors to
+       FACE_TTY_DEFAULT_FG_COLOR and FACE_TTY_DEFAULT_BG_COLOR.
+       [MSDOS]: Handle FACE_TTY_DEFAULT_FG_COLOR and
+       FACE_TTY_DEFAULT_BG_COLOR when face colors are not defined.
+       Reverse the colors if the default colors were reversed.
+
+       * dispnew.c (init_display): Initialize the frame pixels of the
+       initial frame to FACE_TTY_DEFAULT_FG_COLOR and
+       FACE_TTY_DEFAULT_BG_COLOR.
+
+       * term.c (turn_on_face): If the default fore- and background
+       colors are reversed, enter inverse video mode.  Don't send color
+       escape sequences for unspecified foreground and background colors.
+       (turn_off_face): Handle unspecified-fg and unspecified-bg colors.
+
+       * dosfns.c (unspecified_colors): New variable.
+       (msdos_stdcolor_idx): Handle unspecified-fg and unspecified-bg
+       color names, return FACE_TTY_DEFAULT_FG_COLOR and
+       FACE_TTY_DEFAULT_BG_COLOR, respectively.
+       (msdos_stdcolor_name): Handle FACE_TTY_DEFAULT_FG_COLOR and
+       FACE_TTY_DEFAULT_BG_COLOR, return Qunspecified_fg and
+       Qunspecified_bg, respectively.
+
+       * msdos.c (IT_set_face): Support FACE_TTY_DEFAULT_FG_COLOR and
+       FACE_TTY_DEFAULT_BG_COLOR as pixel values.
+
+1999-12-15  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Fix the secoding arg to
+       update_compositions.
+
+1999-12-15  Kenichi Handa  <handa@etl.go.jp>
+
+       The following changes are for the new composition mechanism.  We
+       have deleted `composition' charset and composite characters,
+       instead introduced a special text property `composition'.
+
+       * Makefile.in (INTERVAL_SRC): Include composite.h.
+       (INTERVAL_OBJ): Include composite.o.
+       (SOME_MACHINE_OBJECTS): Include composite.o.
+       (casefiddle.o) (dispnew.o) (indent.o) (process.o) (search.o)
+       (syntax.o) (window.o) (xdisp.o) (xfaces.o) (xterm.o) (print.o):
+       Depend on composite.h.
+       (doc.o): Depend on charset.h.
+       (keyboard.o) (textprop.o) (intervals.o): Depend on INTERVAL_SRC.
+       (composite.o): New target.
+       
+       * alloc.c (Fmake_string): Adjusted for the change of CHAR_STRING.
+
+       * callproc.c (Fcall_process): Call code_convert_string to encode
+       arguments.  Use CODING_REQUIRE_DECODING to check if the process
+       output should be decoded.
+
+       * casefiddle.c: Include composite.h.
+       (casify_object): Use MAX_MULTIBYTE_LENGTH to allocate memory for a
+       multibyte character.  Adjusted for the change of CHAR_STRING.
+       (casify_region): Likewise.  Call update_compositions.
+
+       * category.h (CATEGORY_SET): Delete codes for a composite
+       character.
+
+       * category.c (word_boundary_p): Delete codes for a composite
+       character.
+       (Fmake_category_table): New function.
+       (syms_of_category): Defsubr it.
+
+       * ccl.c (CCL_WRITE_CHAR): Adjusted for the change of CHAR_STRING.
+       (ccl_driver): Delete codes for a composite character.
+
+       * charset.h: In this entry, just `Modified' means that codes for a
+       composite character is deleted.
+       (LEADING_CODE_COMPOSITION) (CHARSET_COMPOSITION)
+       (charset_composition) (MIN_CHAR_COMPOSITION)
+       (MAX_CHAR_COMPOSITION) (GENERIC_COMPOSITION_CHAR)
+       (COMPOSITE_CHAR_P) (MAKE_COMPOSITE_CHAR) (COMPOSITE_CHAR_ID)
+       (PARSE_COMPOSITE_SEQ) (PARSE_CHARACTER_SEQ): Deleted.
+       (MAX_CHAR) (CHARSET_VALID_P) (CHARSET_DEFINED_P) (CHARSET_AT)
+       (FIRST_CHARSET_AT) (SAME_CHARSET_P) (MAKE_NON_ASCII_CHAR)
+       (PARSE_MULTIBYTE_SEQ) (SPLIT_NON_ASCII_CHAR) (CHAR_PRINTABLE_P):
+       Modified.
+       (SPLIT_STRING): Call split_string, not split_non_ascii_string.
+       (CHAR_STRING): Delete WORKBUF argument.  Call char_string, not
+       non_ascii_char_to_string.
+       (STRING_CHAR): Call string_to_char, not string_to_non_ascii_char.
+       (STRING_CHAR_AND_LENGTH): Likewise.
+       (FETCH_CHAR_ADVANCE): New macro.
+       (MAX_COMPONENT_COUNT) (struct cmpchar_info): Deleted.
+       (MAX_MULTIBYTE_LENGTH): New macro.
+       (MAX_LENGTH_OF_MULTI_BYTE_FORM): Deleted.
+       (find_charset_in_str): Argument adjusted.
+       (CHAR_LEN): Modified.
+       
+       * charset.c: In this entry, just `Modified' means that codes for a
+       composite character is deleted.
+       (Qcomposition) (leading_code_composition)
+       (charset_composition) (min_composite_char) (cmpchar_table)
+       (cmpchar_table_size) (n_cmpchars): Deleted.
+       (SPLIT_COMPOSITE_SEQ): Deleted.
+       (SPLIT_MULTIBYTE_SEQ): Modified.
+       (char_to_string): Renamed from non_ascii_char_to_string.
+       Modified.
+       (string_to_char): Renamed from string_to_non_ascii_char.
+       (split_string): Renamed from split_non_ascii_string.
+       (char_printable_p) (Fsplit_char)
+       (Ffind_charset_region) (Ffind_charset_string) (char_valid_p)
+       (char_bytes) (Fchar_width) (strwidth): Modified.
+       (find_charset_in_str): Argument CMPCHARP deleted.  Modified.
+       (Fstring): Adjusted for the change of CHAR_STRING.  Modified.
+       (hash_string) (CMPCHAR_HASH_TABLE_SIZE) (cmpchar_hash_table)
+       (CMPCHAR_HASH_SIZE) (CMPCHAR_HASH_USED) (CMPCHAR_HASH_CMPCHAR_ID)
+       (str_cmpchar_id) (cmpchar_component) (Fcmpcharp)
+       (Fcmpchar_component) (Fcmpchar_cmp_rule) (Fcmpchar_cmp_rule_p)
+       (Fcmpchar_cmp_count): Deleted.
+       (Fcompose_string): Implemented by Emacs Lisp in composite.el.
+       (init_charset_once): Modified.
+       (syms_of_charset): Modified.
+
+       * cmds.c (internal_self_insert): Adjusted for the change of
+       CHAR_STRING.
+
+       * coding.h (emacs_code_class_type): Delete the member
+       EMACS_leading_code_composition.
+       (COMPOSING_NO) (COMPOSING_WITH_RULE_HEAD) (COMPOSING_NO_RULE_HEAD)
+       (COMPOSING_WITH_RULE_TAIL) (COMPOSING_NO_RULE_TAIL)
+       (COMPOSING_WITH_RULE_RULE) (COMPOSING_HEAD_P)
+       (COMPOSING_WITH_RULE_P): Macros deleted.
+       (COMPOSITION_DATA_SIZE) (COMPOSITION_DATA_MAX_BUNCH_LENGTH): New
+       macros.
+       (struct composition_data): New structure.
+       (CODING_FINISH_INSUFFICIENT_CMP): New macro.
+       (struct coding_system): New members composition_rule_follows,
+       cmp_data, cmp_data_start, cmp_data_index.
+       (coding_save_composition) (coding_free_composition_data)
+       (coding_adjust_composition_offset): Extern them.
+
+       * coding.c: Include composite.h.
+       (DECODE_CHARACTER_ASCII): Don't handle composition here.
+       (DECODE_CHARACTER_DIMENSION1): Likewise.  Don't check the validity
+       of multibyte code here.
+       (DECODE_CHARACTER_DIMENSION2): Likewise.
+       (detect_coding_emacs_mule): Change the case label from
+       EMACS_leading_code_composition to 0x80.
+       (detect_coding_iso2022): Handle new composition sequence.
+       (DECODE_ISO_CHARACTER): Likewise.
+       (check_composing_code): Deleted.
+       (coding_allocate_composition_data): New function.
+       (CODING_ADD_COMPOSITION_START) (CODING_ADD_COMPOSITION_END)
+       (CODING_ADD_COMPOSITION_COMPONENT) (DECODE_COMPOSITION_START)
+       (DECODE_COMPOSITION_END) (DECODE_COMPOSITION_RULE): New macros.
+       (decode_coding_iso2022): Handle new composition sequence.
+       (ENCODE_ISO_CHARACTER): Don't check composition here.
+       (ENCODE_COMPOSITION_RULE) (ENCODE_COMPOSITION_START): New macros.
+       (ENCODE_COMPOSITION_NO_RULE_START)
+       (ENCODE_COMPOSITION_WITH_RULE_START): Deleted.
+       (ENCODE_COMPOSITION_END): Handle new composition sequence.
+       (ENCODE_COMPOSITION_FAKE_START): New macro.
+       (encode_coding_iso2022): Handle new composition sequence.
+       (ENCODE_SJIS_BIG5_CHARACTER): Delete superfluous `;' at the tail.
+       (encode_coding_sjis_big5): Ignore composition.
+       (setup_coding_system): Initialize new members of struct
+       coding_system.  Enable composition only when the coding system has
+       `composition' property t.
+       (coding_free_composition_data) (coding_adjust_composition_offset)
+       (coding_save_composition) (coding_restore_composition): New
+       functions.
+       (code_convert_region): Call coding_save_composition for encoding
+       and coding_allocate_composition_data for decoding.  Don't skip
+       ASCII characters if we handle composition on encoding.  Call
+       signal_after_change with Check_BORDER.
+       (code_convert_string): Call coding_save_composition for encoding
+       and coding_allocate_composition_data for decoding.  Don't skip
+       ASCII characters if we handle composition on encoding.
+       (code_convert_string1): Set Vlast_coding_system_used after calling
+       code_convert_string.
+       (code_convert_string_norecord): Disable composition.
+       (Fset_terminal_coding_system_internal): Likewise.
+       (Fset_safe_terminal_coding_system_internal): Likewise.
+       (Fset_keyboard_coding_system_internal): Likewise.
+       (init_coding_once): Set emacs_code_class[0x80] to
+       EMACS_invalid_code.
+
+       * composite.h: New file.
+
+       * composite.c: New file.
+
+       * data.c (Faref): Delete codes for a composite character..
+       (Faset): Likewise.  Adjusted for the change of CHAR_STRING.
+
+       * dispextern.h (enum glyph_type): New member COMPOSITE_GLYPH.
+       (struct glyph): Add new sub-structure cmp to the union `u'.
+       (enum display_element_type): New member IT_COMPOSITION.
+       (enum prop_idx): New member COMPOSITION_PROP_IDX.
+       (struct it): New members cmp_id, cmp_len.
+
+       * dispnew.c (direct_output_forward_char): Check point moving into
+       or out of a composition.  If so, give up direct method.
+
+       * doprnt.c (doprnt1): Adjusted for the change of CHAR_STRING.
+
+       * editfns.c (Fchar_to_string): Adjusted for the change of
+       CHAR_STRING.
+       (general_insert_function): Likewise.
+       (Finsert_char): Likewise.
+       (Fsubst_char_in_region): Likewise.  Call update_compositions.
+       (Ftranslate_region): Call update_compositions.
+       (Ftranspose_regions): Call update_compositions.
+
+       * emacs.c (main): Call syms_of_composite.
+
+       * fileio.c (Fsubstitute_in_file_name): Adjusted for the change of
+       CHAR_STRING.
+       (Finsert_file_contents): Set Vlast_coding_system_used before
+       calling signal_after_change.  Call update_compositions if some
+       texts are inserted..
+       (Fwrite_region): Adjusted for the change of a_write and e_write.
+       (a_write): Argument changed.  Work based on character position,
+       not byte position.
+       (e_write): Argument changed.  Handle new way of composition.
+
+       * fns.c (Flength): The length of char-table is MAX_CHAR.
+       (concat): Adjusted for the change of CHAR_STRING.
+       (Ffillarray): Adjusted for the change of CHAR_STRING.
+       (Fset_char_table_default): Delete codes for a composite character.
+       (hash_put): Return hash index.
+
+       * fontset.h (struct font_info): New member vertical_centering.
+       (Vvertical_centering_font_regexp): Extern it.
+
+       * fontset.c (Vvertical_centering_font_regexp): New variable.
+       (syms_of_fontset): Declare it as a Lisp variable and initialize.
+       Set Vignore_relative_composition to nil.
+       (fs_load_font): Initialize `vertical_centering' of struct
+       font_info.
+
+       * indent.c (check_composition): New function.
+       (MULTIBYTE_BYTES_WIDTH): Call STRING_CHAR_AND_LENGTH with
+       MAX_MULTIBYTE_LENGTH, not MAX_LENGTH_OF_MULTI_BYTE_FORM.
+       (current_column_1): Handle new way of composition.
+       (Fmove_to_column): Likewise.
+       (compute_motion): Likewise.
+
+       * insdel.c (copy_text): Adjusted for the change of CHAR_STRING.
+       (insert_char): Likewise.
+       (insert): Call update_compositions.
+       (insert_and_inherit): Likewise.
+       (insert_before_markers): Likewise.
+       (insert_before_markers_and_inherit): Likewise.
+       (insert_from_string): Likewise.
+       (insert_from_string_before_markers): Likewise.
+       (insert_from_buffer): Likewise.
+       (replace_range): Likewise.
+       (count_combining_composition): Deleted.
+       (count_combining_before): Delete codes for a composite character.
+       (count_combining_after): Likewise.
+       (del_range_1): Call update_compositions.
+       (del_range_byte): Likewise.
+       (del_range_both): Likewise.
+       (Fcombine_after_change_execute): Likewise.
+
+       * intervals.h: Include composite.h.
+       (get_property_and_range): Extern it.
+       (Vtext_property_default_nonsticky): Extern it.
+       
+       * intervals.c (adjust_intervals_for_insertion): To check stickines
+       of properties, pay attention to text-property-default-nonsticky.
+       (merge_properties_sticky): Likewise.
+       (get_property_and_range): New function.
+
+       * keyboard.c (Vdisable_point_adjustment): New variable.
+       (Vglobal_disable_point_adjustment): New variable.
+       (syms_of_keyboard): Declare them as Lisp variables.
+       (command_loop_1): Check them and call adjust_point_for_property if
+       necessary.
+       (adjust_point_for_property): New function.
+
+       * keymap.c (push_key_description): Adjusted for the change of
+       CHAR_STRING.
+       (Ftext_char_description): Likewise.
+
+       * lisp.h (QCtest, QCweakness, Qequal): Extern them.
+       (hash_put): Adjusted for the change of the definition.
+       (signal_after_change): Likewise.
+       (check_point_in_composition): Extern it.
+
+       * lread.c (readchar): Adjusted for the change of CHAR_STRING.
+       Delete a code that handles an invalid too-long multibyte sequence
+       because we are now sure that we never encounter with such a
+       sequence.
+       (read_multibyte): Use macro MAX_MULTIBYTE_LENGTH, not
+       MAX_LENGTH_OF_MULTI_BYTE_FORM.
+       (init_obarray): Likewise.
+       (read1): Likewise.  Adjusted for the change of CHAR_STRING.
+
+       * print.c (printchar): Adjusted for the change of CHAR_STRING.
+
+       * process.c: Include composite.h.
+       (read_process_output): Call update_compositions.
+
+       * regex.c (regex_compile): Adjusted for the change of CHAR_STRING.
+
+       * search.c (search_buffer): Adjusted for the change of CHAR_STRING.
+
+       * syntax.h (SYNTAX_ENTRY_INT): Delete codes for a composite
+       character.
+
+       * term.c (encode_terminal_code): Delete codes for a composite
+       character.  Adjusted for the change of CHAR_STRING.
+       (produce_glyphs): When called, it->what can be IT_COMPOSITION.
+       Delete codes for a composite character.
+
+       * textprop.c (Vtext_property_default_nonsticky): New variable
+       (syms_of_textprop): Declare it as a Lisp variable.
+
+       * window.c (Frecenter): Clear all caches of compositions.
+
+       * xdisp.c (it_props): Add an entry for composition.
+       (face_before_or_after_it_pos): For composition, check face of a
+       character after the composition.
+       (handle_composition_prop): New function.
+       (get_next_display_element): Adjusted for the change of
+       CHAR_STRING.
+       (set_iterator_to_next): Handle the case that it->method ==
+       next_element_from_composition.
+       (next_element_from_composition): New function.
+       (message_dolog): Adjusted for the change of CHAR_STRING.
+       (set_message_1): Likewise.
+       (check_point_in_composition): New function.
+       (reconsider_clip_changes): If point moved into or out of
+       composition, set b->clip_changed to 1 to force updating of the
+       screen.
+       (disp_char_vector): Delete codes for a composite character.
+       (decode_mode_spec_coding): Adjusted for the change of CHAR_STRING.
+
+       * xfaces.c (choose_face_fontset_font): Delete codes for a
+       composite character.
+       (realize_x_face): Likewise.  Change a place to set local variable
+       `f' to avoid a bug of GCC 2.8.1 on Solaris.
+
+       * xfns.c: Include intervals.h.
+       (syms_of_xfns): Make `display' property nonsticky by default.
+
+       * xselect.c (lisp_data_to_selection_data): Adjusted for the change
+       for find_charset_in_str.
+
+       * xterm.h (struct x_output): Change member font_baseline to
+       baseline_offset.
+
+       * xterm.c (x_append_glyph): Setup members of struct glyph properly
+       for composition.
+       (x_append_composite_glyph): New function.
+       (VCENTER_BASELINE_OFFSET): New macro.
+       (x_produce_glyphs): If it->what == IT_COMPOSITION, setup members
+       of struct it for the composition.  Cache pixel offsets in the
+       struct composition.  Delete codes for a composite character.
+       Handle Vignore_relative_composition in composition code.
+       (struct glyph_string): Delete member cmpcharp, add new member cmp.
+       (x_set_cursor_gc): Check s->cmp, not s->cmpcharp.
+       (x_compute_glyph_string_overhangs): Likewise.
+       (x_get_glyph_overhangs): Delete codes for a composite character.
+       (x_right_overwritten): Check s->cmp, not s->cmpcharp.
+       (x_draw_glyph_string_background): Likewise.  Delete codes for
+       checking s->gidx for a composition.
+       (x_draw_glyph_string_foreground): Delete code for a composite
+       character.
+       (x_draw_composite_glyph_string_foreground): New function.
+       (x_draw_glyph_string_box): Check s->cmp, not s->cmpcharp.
+       (x_draw_glyph_string): Handle the case of COMPOSITE_GLYPH.
+       (struct work): Deleted.
+       (x_fill_composite_glyph_string): Argument changed.  Mostly
+       rewritten for that.
+       (x_fill_glyph_string): Don't check CHARSET_COMPOSITION.
+       (BUILD_CHAR_GLYPH_STRINGS): Don't handle composition here.
+       (BUILD_COMPOSITE_GLYPH_STRING): New macro.
+       (BUILD_GLYPH_STRINGS): For composition, call
+       BUILD_COMPOSITE_GLYPH_STRING.
+       (x_new_font): Initialize f->output_data.x->baseline_offset, not
+       f->output_data.x->font_baseline.
+
+1999-12-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (show_mouse_face): Don't use updated_area, use
+       TEXT_AREA.
+
+1999-12-12  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * minibuf.c (Fall_completions): Doc fix.
+
+1999-12-12  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * macros.c (Fstart_kbd_macro): Handle case where last-kbd-macro
+       has been changed by the Lisp code.
+
+1999-12-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c: Indentation fixes.
+
+1999-12-10  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xterm.c (x_initialize): Only setup xaw3d_* if they've been declared.
+
+1999-12-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * frame.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
+       [!MSDOS && !WINDOWSNT && !macintosh]: Moved here from xterm.h.
+
+       * xterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Moved
+       to frame.h.
+
+1999-12-09  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keyboard.c (Qratio): New symbol.
+       (scroll_bar_parts): Add `Qratio' to it.
+       (syms_of_keyboard): Init `Qratio'.
+       * termhooks.h (scroll_bar_part): Add `scroll_bar_move_ratio'.
+       * xterm.c (#includes): Allow compilation with only Xaw.
+       (xaw3d_arrow_scroll, xaw3d_pick_top): New variables.
+       (xt_action_hook): Replace XAW3D by XAW.
+       (xaw3d_jump_callback): Renamed to xaw_jump_callback.
+       (xaw_jump_callback): Renamed from xaw3d_jump_callback.
+       Determine epsilon dynamically and don't try to be too clever.
+       (xaw3d_scroll_callback): Renamed to xaw_scroll_callback.
+       (xaw_scroll_callback): Renamed from xaw3d_scroll_callback.
+       Handle both Xaw3d with arrow-scrollbars and with Xaw-style
+       scrollbar (using `ratio').
+       (x_create_toolkit_scroll_bar): Try to detect which style of Xaw3d
+       scrollbar we have so as to set it up more optimally and to fix
+       xaw3d_arrow_scroll and xaw3d_pick_top.
+       (x_set_toolkit_scroll_bar_thumb): Try to maintain 2 spare pixels at the
+       bottom of the Xaw3d scrollbar, to work around its tendency to refuse
+       shrinking the thumb.  Also make sure that `XawScrollbarSetThumb'
+       is not ignored, using a major gross hack.
+       (x_initialize): Init default values for xaw3d_arrow_scroll and
+       xaw3d_pick_top.
+
+1999-12-09  Dave Love  <fx@gnu.org>
+
+       * frame.h: (PIX_TYPE) [! HAVE_X_WINDOWS]: Define PIX_TYPE.
+
+1999-12-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * eval.c: Remove conditional compilation on `standalone'.
+       (call_debugger): When entering the debugger while redisplaying,
+       reset redisplaying_p, and go back to the top-level if the debugger
+       returns.
+
+1999-12-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (x_set_menu_resources_from_menu_face): Make sure
+       basic faces are realized before trying to use face `menu'.
+
+       * window.c (delete_window): Block input for the time window
+       matrices are being changed.
+
+1999-12-07  Dave Love  <fx@gnu.org>
+
+       * lread.c (Fintern_soft): Fix newlines in doc string.
+
+1999-12-07  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * unexelf.c: Include <syms.h>, not <sym.h> on IRIX.  Removed
+       duplicate definition of ElfW.
+       (find_section): Copied from unexsgi.c.
+       (unexec): Use find_section.  Adjust whitespace.  Initialize
+       new_data2_offset based on old_data, not sbss (this fixes a bug on
+       IRIX6).  Change #ifdef __mips to __sgi, since it's IRIX-specific.
+       Adjust test for presence of .mdebug section to the new return
+       value of find_section.
+       
+1999-12-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * unexelf.c: Merge changes from 20.5.
+       (unexec): Handle .lit4 and .lit8 unconditionally.
+
+       * m/iris4d.h (UNEXEC) [USG5_4]: Use unexelf.o instead of
+       unexsgi.o again.
+       
+       * m/iris5d.h (UNEXEC): Likewise.
+
+1999-12-06  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * editfns.c (Fdelete_and_extract_region): New function.
+       (syms_of_editfns): Register it.
+       * insdel.c (del_range): Update del_range_1 call.
+       (del_range_1, del_range_2): Add a ret_string argument to
+       request that the deleted text be returned.
+       (del_range_byte, del_range_both): Update del_range_2 call.
+       * lisp.h (del_range_1, del_range_2): Change prototype
+       * casefiddle.c (casify_region): Update del_range_1 call.
+       * coding.c (code_convert_region): Update del_range_2 call.
+       * fileio.c (Finsert_file_contents): Update del_range_2 call.
+
+1999-12-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (set_lface_from_font_name): Fix incomplete merge.
+
+1999-12-04  Hrvoje Niksic  <hniksic@iskon.hr>
+
+       * lread.c (Fintern_soft): Accept a symbol argument.
+       
+1999-12-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 40000.
+
+       * insdel.c (adjust_markers_for_delete): Fix last change.
+
+1999-12-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       Changes for automatic remapping of X colors on terminal frames:
+
+       * xfaces.c (XColor) [!HAVE_X_WINDOWS]: Provide a typedef for non-X
+       frames.
+       (Vface_tty_color_alist): Remove.
+       (tty_defined_color): New function.
+       (defined_color): Rewrite to support any type of frame.
+       (tty_color_name): New function.
+       (face_color_supported_p, Fface_color_gray_p,
+       Fface_color_supported_p): Support non-X frames.
+       (load_color): Enclose the color name in quotes, in the log
+       messages.  Remove DOS-specific version of load_color.
+       (realize_tty_face): Take the supported colors from
+       tty-color-alist.  Support translation of X colors to the closest
+       tty color, for both MSDOS and tty frames.
+       [MSDOS]: Don't invert face colors if they were taken from the
+       frame colors.
+       (Fface_register_tty_color, Fface_clear_tty_colors): Remove.
+
+       * frame.h (struct x_output) [!MSDOS, !WINDOWSNT, !HAVE_X_WINDOWS]:
+       Define a mostly empty surrogate.
+       (tty_display): Declare.
+
+       * frame.c (make_terminal_frame) [!macintosh]: Don't use
+       tty_display.
+       (Fframe_parameters): Don't invert colors of non-FRAME_WINDOW_P
+       frames when the frame's param_alist includes 'reverse.
+       (tty_display): Define.
+       (make_terminal_frame) [!MSDOS]: Assign &tty_display to the
+       output_data.x member.
+       (Fframe_parameters): Return foreground and background color names
+       on tty frames as well, in addition to MSDOS frames.
+
+       * msdos.h (DisplayWidth, DisplayHeight): Changes for Lisp_Object
+       selected_frame.
+       (struct x_output): Remove unused members; document who uses each
+       member.
+       (FRAME_PARAM_FACES, FRAME_N_PARAM_FACES, FRAME_DEFAULT_PARAM_FACE,
+       FRAME_MODE_LINE_PARAM_FACE, FRAME_COMPUTED_FACES,
+       FRAME_N_COMPUTED_FACES, FRAME_SIZE_COMPUTED_FACES,
+       FRAME_DEFAULT_FACE, FRAME_MODE_LINE_FACE, unload_color): Remove
+       unused macro definintions.
+
+       * msdos.c (IT_set_frame_parameters): Don't call
+       recompute_basic_faces, the next redisplay will, anyway.
+       (x_current_display): Remove unused variable.
+       Many functions: changes for Lisp_object selected_frame.
+       (IT_set_face): If the tty_reverse_p flag is set for the face,
+       reverse the foreground and background colors.
+       (Fmsdos_remember_default_colors): New function.
+       (syms_of_msdos): Defsubr it.
+       (IT_set_frame_parameters): Use initial_screen_colors[] when
+       creating a new frame.  If the frame parameters include 'reverse,
+       swap the foreground and background colors.
+       (internal_terminal_init): Initialize initial_screen_colors to -1.
+       (syms_of_msdos): Add DEFVAR_BOOL for x-stretch-cursor, to shut up
+       cus-start.el.
+
+       * Makefile.in (lisp, shortlisp): Add lisp/term/tty-colors.elc.
+
+       * xfns.c (x_defined_color): Rename from defined_color.  All
+       callers changed.
+       (Fxw_color_defined_p): Renamed from Fx_color_defined_p;
+       all callers changed.
+       (Fxw_color_values): Renamed from Fx_color_values; all callers
+       changed.
+       (Fxw_display_color_p): Renamed from Fx_display_color_p; all
+       callers changed.
+       (x_window_to_frame, x_any_window_to_frame,
+       x_non_menubar_window_to_frame, x_menubar_window_to_frame,
+       x_top_window_to_frame): Use !FRAME_X_P instead of
+       f->output_data.nothing.
+       * xterm.h (x_defined_color): Rename from defined_color.
+
+       * w32fns.c (x_window_to_frame): Use FRAME_W32_P instead of
+       f->output_data.nothing.
+       (Fxw_color_defined_p): Renamed from Fx_color_defined_p;
+       all callers changed.
+       (Fxw_color_values): Renamed from Fx_color_values; all callers
+       changed.
+       (Fxw_display_color_p): Renamed from Fx_display_color_p; all
+       callers changed.
+
+       * dispextern.h (tty_color_name): Add prototype.
+
+       * xmenu.c (menubar_id_to_frame): Use FRAME_WINDOW_P instead of
+       f->output_data.nothing.
+       * w32menu.c (menubar_id_to_frame): Likewise.
+       * w32term.h (w32_output): Declare.
+
+       * dosfns.c (Qmsdos_color_translate): Remove.
+       (msdos_stdcolor_name): Now returns a Lisp_Object.
+       * dosfns.h (Qmsdos_color_translate): Remove.
+
+       * s/msdos.h (INTERNAL_TERMINAL): Add entries for color support.
+
+1999-12-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (decide_coding_unwind): Renamed from
+       set_auto_coding_unwind.
+       (Finsert_file_contents): Make single unwind protect to call both
+       Vset_auto_coding_function and Ffind_operation_coding_system.
+
+       * insdel.c (adjust_markers_for_delete): Make it non-static.
+
+1999-12-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (regex_compile): Recognize *?, +? and ?? as non-greedy
+       operators and handle them properly.
+       * regex.h (RE_ALL_GREEDY): New option.
+       (RE_UNMATCHED_RIGHT_PAREN_ORD): Moved to the end where alphabetic
+       sorting would put it.
+       (RE_SYNTAX_AWK, RE_SYNTAX_GREP, RE_SYNTAX_EGREP)
+       (_RE_SYNTAX_POSIX_COMMON): Use the new option to keep old behavior.
+
+1999-12-04  Dave Love  <d.love@dl.ac.uk>
+
+       * m/arm.h: New file.
+
+1999-12-03  Dave Love  <fx@gnu.org>
+
+       * editfns.c (Fmessage_or_box): Use use_dialog_box.
+
+1999-12-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/usg5-4.h (LIBS_SYSTEM): Add -lgen because that's needed
+       for building with Motif.
+
+       * m/iris4d.h (UNEXEC) [USG5_4]: Use unexsgi.o instead of
+       unexelf.o.
+       
+       * m/iris5d.h (UNEXEC): Use unexsgi.o instead of unexelf.o.
+
+1999-12-01  Dave Love  <fx@gnu.org>
+
+       * emacs.c (main): Set LANG=C iff AX3_2 defined.
+
+1999-11-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * systime.h (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
+       (EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT,EMACS_TIME_LE): New
+       macros.
+
+       * config.in (HAVE_SETITIMER, HAVE_UALARM): New.
+
+1999-11-28  eliz  <eliz@dlpx1>
+
+       * emacs.c (synchronize_locale): Avoid compiler warnings about
+       pointer type mismatch.
+
+1999-11-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fwindow_end): Don't call temp_set_pt_both with
+       out of range position.
+
+       * xterm.c (XTread_socket) <ClientMessage, Xatom_Scrollbar>: 
+       Switch off busy-cursor by setting inhibit_busy_cursor to 2.
+
+1999-11-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * charset.c (Fmake_char_internal): Print the charset ID when
+       signalling an error.
+
+       * emacs.c (synchronize_locale): Avoid compiler warnings about
+       pointer type mismatch.
+
+1999-11-26  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * editfns.c (Fdelete_field): Make it noninteractive.  Return nil.
+
+1999-11-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increase to 550000.
+
+       * textprop.c (set_text_properties): New function.  Like
+       Fset_text_properties, but with additional parameter
+       SIGNAL_AFTER_CHANGE_P.  If that is nil, don't signal after
+       changes.
+       (Fset_text_properties): Use it.
+
+       * insdel.c (insert_1_both): Call set_text_properties with last
+       parameter nil so that no after changes will be signaled.
+
+       * lisp.h: Add prototype for set_text_properties.
+
+       * xfaces.c (set_lface_from_font_name): Fix previous change.
+       (recompute_basic_faces): Change assert to abort.
+
+1999-11-25  Dave Love  <fx@gnu.org>
+
+       * fns.c (Fnthcdr, Fnreverse): Inline cdr.
+       (Fmember, Fdelq, Fdelete): Inline car.
+       (Fy_or_n_p): Doc fix.
+
+1999-11-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (set_lface_from_font_name): New parameter may_fail_p.
+       Callers changed.  If specified font name is bogus, and may_fail_p
+       is not set, try to use a reasonable default.
+
+       * dispnew.c (direct_output_for_insert): Set glyph row's
+       displays_text_p flag.  Correct window's window_end_vpos if
+       necessary.
+
+1999-11-25  Paul Eggert  <eggert@twinsun.com>
+
+       * emacs.c (fixup_locale): Don't bother to record initial locale.
+       (synchronize_locale): If the desired locale is nil,
+       treat it as if it were the empty string,
+       so that we set the locale from the environment.
+
+1999-11-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (Finsert_file_contents): Set buffer-file-coding-system
+       of the current buffer via Fset.
+
+1999-11-24  Dave Love  <fx@gnu.org>
+
+       * xfns.c: Don't duplicate Qdisplay definition done elsewhere.
+
+       * xfaces.c: Don't duplicate Qmode_line definition done elsewhere.
+
+       * xfns.c: Don't duplicate Qdisplay definition done elsewhere.
+
+1999-11-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (enum pvec_type): Put PVEC_FLAG in #if 0.
+
+       * emacs.c (PVEC_FLAG): New variable.
+
 1999-11-23  Gerd Moellmann  <gerd@gnu.org>
 
        * unexaix.c (unexec): Use unsigned instead of uintptr_t because
 
        * coding.c (code_convert_region): Update `dst' correctly.
 
-1999-10-28  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
-
-       * regex.c (POP_FAILURE_POINT): Use failure_id.integer
-       as arg to DEBUG_POP and DEBUG_PRINT.
-
 1999-10-28  Gerd Moellmann  <gerd@gnu.org>
 
        * fns.c (Fmemq, Fassq, Frassq, assq_no_quit, Fassoc)
 
 1999-10-08  Stefan Monnier  <monnier@cs.yale.edu>
 
-       * fileio.c (Fmake_temp_name): add a reference to `make-temp-file'
+       * fileio.c (Fmake_temp_name): Add a reference to `make-temp-file'
        in the docstring.
 
 1999-10-08  Gerd Moellmann  <gerd@gnu.org>
@@ -8720,7 +9656,7 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
 
        * xterm.c (XTclear_end_of_line): Respect right_to_left_p.
 
-       * xdisp.c (try_window_id): clear desired matrix if not successul.
+       * xdisp.c (try_window_id): Clear desired matrix if not successul.
 
        * xdisp.c (try_window_id): Call update_window_begin_hook/end_hook.
 
@@ -8814,7 +9750,7 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
 
        * window.h: Comments for window_end_pos/vpos.
 
-       * xdisp.c (skip_to): assert current_buffer is the buffer
+       * xdisp.c (skip_to): Assert current_buffer is the buffer
        of the window in which we are skipping.
 
        * dispnew.c (update_window_line): Optimized clear_end_of_line.
@@ -8890,7 +9826,7 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        * xterm.c (XTmouse_position): Calculate LAST_MOUSE_GLYPH 
        rectangle based on minimum character bounds.
 
-       * keyboard.c (make_lispy_event): mouse clicks; don't do frame
+       * keyboard.c (make_lispy_event): Mouse clicks; don't do frame
        glyph position calculations.
        (make_lispy_movement): Use buffer_posn_from_coords and window
        relative coordinates.
@@ -8919,7 +9855,7 @@ Sun Jan  3 08:41:10 1999  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>
        cursor positioning on partially visible lines.
        (set_window_cursor_after_update): Ditto.
 
-       * dispextern.h (MATRIX_ROW_PARTIALLY_VISIBLE_P): bug fix.
+       * dispextern.h (MATRIX_ROW_PARTIALLY_VISIBLE_P): Bug fix.
 
        * window.h (struct window): start_y removed.
 
@@ -9043,7 +9979,7 @@ Fri Aug 22 18:46:43 1997  Gerd Moellmann  <gerd@acm.org>
 
        * xterm.c (do_line_dance): Only one parameter.
 
-       * xdisp.c (display_line): set continued_p.
+       * xdisp.c (display_line): Set continued_p.
 
        * dispextern.h (struct glyph_row): New flag continued_p.
        Fix truncated_on_left_p and truncated_on_right_p to be bits.
@@ -9086,7 +10022,7 @@ Wed Aug 20 11:23:28 1997  Gerd Moellmann  <gerd@acm.org>
        * dispnew.c (update_window_line): If rows have different height
        or y, write entire line.
 
-       * xdisp.c (compute_line_metrics): reset max_ascent and max_descent
+       * xdisp.c (compute_line_metrics): Reset max_ascent and max_descent
        of info struct.
 
        * xfaces.c (Fset_face_attribute_internal): Don't call 
@@ -9179,7 +10115,7 @@ Sat Aug 16 13:13:32 1997  Gerd Moellmann  <gerd@acm.org>
        (get_leaf_windows): Build vector of leaf windows.
        Corrupted archive restored from v77.
 
-       * xdisp.c (display_string): stop at >= last_visible_x if truncating
+       * xdisp.c (display_string): Stop at >= last_visible_x if truncating
        like display_line does.
 
        * xdisp.c (display_mode_line): Don't hscroll mode line.
@@ -9194,7 +10130,7 @@ Sat Aug 16 13:13:32 1997  Gerd Moellmann  <gerd@acm.org>
        * dispextern.h (struct display_cursor): New member string_length.
 
        * xdisp.c (next_display_element): Return padding spaces.
-       (init_string_cursor): take precision and field_width
+       (init_string_cursor): Take precision and field_width
        (display_string): Use string cursor, skip over invisible text.
 
 Thu Aug 14 10:41:41 1997  Gerd Moellmann  <gerd@acm.org>
@@ -9217,13 +10153,13 @@ Thu Aug 14 10:41:41 1997  Gerd Moellmann  <gerd@acm.org>
        * dispnew.c (direct_output_for_insert): Give up for hscrolled 
        mini window.
 
-       * xdisp.c (display_line): don't scroll mini prompt.
+       * xdisp.c (display_line): Don't scroll mini prompt.
 
        * xdisp.c (echo_area_display): Call update_single_window if 
        possible. 
 
        * dispnew.c (update_window_line):  Call scrolling_window.
-       (scrolling_window): work on enabled desired lines only.
+       (scrolling_window): Work on enabled desired lines only.
        (update_single_window): Update a single window like update_frame
        does for all windows.
        (update_window, update_window_tree): Additional argument 
@@ -9236,23 +10172,23 @@ Thu Aug 14 10:41:41 1997  Gerd Moellmann  <gerd@acm.org>
        (x_display_and_set_cursor): Do nothing if cursor glyph row 
        not enabled.  Draw bar cursor 1 pixel smaller.
 
-       * dispnew.c (adjust_frame_glyphs): don't set frame garbaged
+       * dispnew.c (adjust_frame_glyphs): Don't set frame garbaged
        since update will follow soon.
 
        * xdisp.c (echo_area_display): Unitialized variable.
 
-       * xterm.c (draw_bitmap): previously draw_truncation; draw
+       * xterm.c (draw_bitmap): Previously draw_truncation; draw
        overlay arrow bitmap.
 
-       * xdisp.c (display_line): for truncated lines, consider everything
+       * xdisp.c (display_line): For truncated lines, consider everything
        up to the final \n as part of the line for cursor positioning. 
 
-       * xterm.c (draw_truncation): take FRAME_X_TRUNC_WIDTH into account.
-       (x_after_update_window_line): clear trunc marks.
+       * xterm.c (draw_truncation): Take FRAME_X_TRUNC_WIDTH into account.
+       (x_after_update_window_line): Clear trunc marks.
 
        * xterm.h (FRAME_X_TRUNC_WIDTH).
 
-       * frame.h (FRAME_TRUNC_WIDTH):  width of area at the left margin
+       * frame.h (FRAME_TRUNC_WIDTH):  Width of area at the left margin
        of a window reserved for truncation mark.
 
        * dispextern.h: Take FRAME_TRUNC_WIDTH into account. 
@@ -9274,7 +10210,7 @@ Thu Aug 14 10:41:41 1997  Gerd Moellmann  <gerd@acm.org>
        (x_display_cursor): Use default font width if width not
        known. 
 
-       * xdisp.c (echo_area_display): set row->y.
+       * xdisp.c (echo_area_display): Set row->y.
 
        * dispnew.c (set_window_cursor_after_update): Don't assume
        all rows are enabled.
@@ -10173,7 +11109,7 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
        * alloc.c: Include dispextern.h
        (mark_object): Mark objects referenced from glyphs.
 
-       * frame.c (make_frame): initialize DECODE_MODE_SPEC_BUFFER.
+       * frame.c (make_frame): Initialize DECODE_MODE_SPEC_BUFFER.
 
        * scroll.c (do_direct_scrolling): Remove TEMP_MATRIX.
        (do_scrolling): Ditto.
@@ -10201,9 +11137,9 @@ Wed Jun 25 15:22:58 1997  Gerd Moellmann  <gerd@acm.org>
        (Fdelete_frame): Free glyphs.
        (make_frame): Initialize matrix fields in frame.
 
-       * config.in (PROTO): added.
+       * config.in (PROTO): Added.
 
-       * emacs.c (shut_down_emacs): check glyph memory.
+       * emacs.c (shut_down_emacs): Check glyph memory.
 
        * window.c (Fdelete_window): Free window matrices.
        (Fset_window_configuration): Ditto.