(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.
André Spiegel [Fri, 20 Mar 1998 15:40:24 +0000 (15:40 +0000)]
(vc-next-action-on-file): Properly handle the case when user tries to
check-in, but file on disk has changed.
(vc-do-command): Consider LAST argument only if FILE is non-nil.
(vc-add-triple, vc-record-rename, vc-lookup-file): Find
vc-name-assoc-file based on vc-name of FILE.
(vc-backend-admin, vc-rename-file): Handle the SCCS PROJECTDIR feature.
(vc-do-command): Rewrote doc string.
(reporter-mail): New function.
(reporter-compose-outgoing): Use fboundp, not functionp.
(reporter-bug-hook): Fix error message.
(reporter-beautify-list): Break infloop when reaching the end of the
buffer without crossing an unbalanced paren. Use scan-sexps instead
of forward-sexp for the loop break test.
(reporter-submit-bug-report): Only call
display-buffer if pop-up-windows is non-nil.
(del_range_2): Use adjust_markers_for_record_delete.
(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.
(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.
Kenichi Handa [Mon, 16 Mar 1998 05:51:07 +0000 (05:51 +0000)]
(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.
Kenichi Handa [Mon, 16 Mar 1998 05:51:07 +0000 (05:51 +0000)]
(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.
(view-return-to-alist): Doc fix.
(view-mode-enter): Doc fix.
(view-mode-exit): Handle new alternative `quit-window'
for OLD-BUF-INFO in RETURN-TO-ALIST.
(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.
Customized.
(dirtrack-forward-slash): Renamed from `forward-slash'.
(dirtrack-backward-slash): Renamed from `backward-slash'.
(dirtrack-replace-slash): Renamed from `replace-slash'.
Implement selective undo (by Paul Flinders).
(undo-copy-list, undo-copy-list-1): New functions.
(undo-make-selective-list, undo-delta): New functions.
(undo-elt-in-region, undo-elt-crosses-region): New functions.
(undo-adjusted-markers): New defvar.
(undo-start): New args BEG and END.
(undo): If arg or active region, pass args to undo-start.
(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.
Kenichi Handa [Thu, 12 Mar 1998 00:42:35 +0000 (00:42 +0000)]
(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.
Kenichi Handa [Thu, 12 Mar 1998 00:38:28 +0000 (00:38 +0000)]
(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.
(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.