Commit adde4858 authored by Karl Heuer's avatar Karl Heuer
Browse files

(insert_1): Adjust overlay center after inserting.

(insert_from_string_1, insert_from_buffer_1): Likewise.
(del_range_1): Adjust overlay center after deleting.
parent 423cdb46
......@@ -370,6 +370,7 @@ insert_1 (string, length, inherit, prepare)
GPT += length;
ZV += length;
Z += length;
adjust_overlays_for_insert (PT, length);
adjust_point (length);
#ifdef USE_TEXT_PROPERTIES
......@@ -436,6 +437,7 @@ insert_from_string_1 (string, pos, length, inherit)
GPT += length;
ZV += length;
Z += length;
adjust_overlays_for_insert (PT, length);
/* Only defined if Emacs is compiled with USE_TEXT_PROPERTIES */
graft_intervals_into_buffer (XSTRING (string)->intervals, PT, length,
......@@ -510,6 +512,7 @@ insert_from_buffer_1 (buf, pos, length, inherit)
GPT += length;
ZV += length;
Z += length;
adjust_overlays_for_insert (PT, length);
adjust_point (length);
/* Only defined if Emacs is compiled with USE_TEXT_PROPERTIES */
......@@ -636,6 +639,10 @@ del_range_1 (from, to, prepare)
to point at the end of the text before the gap. */
adjust_markers (to + GAP_SIZE, to + GAP_SIZE, - numdel - GAP_SIZE);
/* Adjust the overlay center as needed. This must be done after
adjusting the markers that bound the overlays. */
adjust_overlays_for_delete (from, numdel);
GAP_SIZE += numdel;
ZV -= numdel;
Z -= numdel;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment