diff options
| author | Kenichi Handa | 2003-10-16 00:44:43 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2003-10-16 00:44:43 +0000 |
| commit | c669988b6b099aaecd7b8bb2d544cae7a5f8c5ae (patch) | |
| tree | ac6639335ebb5555ea8a2b77052200ba84696bb4 | |
| parent | e8b4360493c549c9a104c132892cbdea4c101a95 (diff) | |
| download | emacs-c669988b6b099aaecd7b8bb2d544cae7a5f8c5ae.tar.gz emacs-c669988b6b099aaecd7b8bb2d544cae7a5f8c5ae.zip | |
(insert_from_gap): Adjust intervals correctly.
| -rw-r--r-- | src/insdel.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/insdel.c b/src/insdel.c index 2d9befb677d..405b3835213 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -1182,13 +1182,16 @@ insert_from_gap (nchars, nbytes) | |||
| 1182 | if (GPT_BYTE < GPT) | 1182 | if (GPT_BYTE < GPT) |
| 1183 | abort (); | 1183 | abort (); |
| 1184 | 1184 | ||
| 1185 | adjust_overlays_for_insert (GPT, nchars); | 1185 | adjust_overlays_for_insert (GPT - nchars, nchars); |
| 1186 | adjust_markers_for_insert (GPT, GPT_BYTE, | 1186 | adjust_markers_for_insert (GPT - nchars, GPT_BYTE - nbytes, |
| 1187 | GPT + nchars, GPT_BYTE + nbytes, | 1187 | GPT, GPT_BYTE, 0); |
| 1188 | 0); | ||
| 1189 | 1188 | ||
| 1190 | if (BUF_INTERVALS (current_buffer) != 0) | 1189 | if (BUF_INTERVALS (current_buffer) != 0) |
| 1191 | offset_intervals (current_buffer, GPT, nchars); | 1190 | { |
| 1191 | offset_intervals (current_buffer, GPT - nchars, nchars); | ||
| 1192 | graft_intervals_into_buffer (NULL_INTERVAL, GPT - nchars, nchars, | ||
| 1193 | current_buffer, 0); | ||
| 1194 | } | ||
| 1192 | 1195 | ||
| 1193 | if (GPT - nchars < PT) | 1196 | if (GPT - nchars < PT) |
| 1194 | adjust_point (nchars, nbytes); | 1197 | adjust_point (nchars, nbytes); |