summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-02-13 17:48:38 +0200
committerEli Zaretskii <eliz@gnu.org>2016-02-13 17:48:38 +0200
commit47896c844614259de3663f55c7b9a8a46be9b0bb (patch)
tree163e28e3b03e07586d4dbf1dd6c0a2af44fbbcee
parent53ca1e1acff83d5d1a55aa8c04071ceebf21b307 (diff)
downloademacs-47896c844614259de3663f55c7b9a8a46be9b0bb.tar.gz
; Improve commentary in insdel.c
* src/insdel.c (gap_left, gap_right, make_gap_larger) (make_gap_smaller): Improve commentary.
-rw-r--r--src/insdel.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/insdel.c b/src/insdel.c
index f0a4dcd784e..05f37d6f647 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -126,7 +126,10 @@ gap_left (ptrdiff_t charpos, ptrdiff_t bytepos, bool newgap)
if (i == 0)
break;
/* If a quit is requested, stop copying now.
- Change BYTEPOS to be where we have actually moved the gap to. */
+ Change BYTEPOS to be where we have actually moved the gap to.
+ Note that this cannot happen when we are called to make the
+ gap larger or smaller, since make_gap_larger and
+ make_gap_smaller prevent QUIT by setting inhibit-quit. */
if (QUITP)
{
bytepos = new_s1;
@@ -179,7 +182,10 @@ gap_right (ptrdiff_t charpos, ptrdiff_t bytepos)
if (i == 0)
break;
/* If a quit is requested, stop copying now.
- Change BYTEPOS to be where we have actually moved the gap to. */
+ Change BYTEPOS to be where we have actually moved the gap to.
+ Note that this cannot happen when we are called to make the
+ gap larger or smaller, since make_gap_larger and
+ make_gap_smaller prevent QUIT by setting inhibit-quit. */
if (QUITP)
{
bytepos = new_s1;
@@ -386,7 +392,9 @@ make_gap_larger (ptrdiff_t nbytes_added)
enlarge_buffer_text (current_buffer, nbytes_added);
- /* Prevent quitting in move_gap. */
+ /* Prevent quitting in gap_left. We cannot allow a QUIT there,
+ because that would leave the buffer text in an inconsistent
+ state, with 2 gap holes instead of just one. */
tem = Vinhibit_quit;
Vinhibit_quit = Qt;
@@ -432,7 +440,9 @@ make_gap_smaller (ptrdiff_t nbytes_removed)
if (GAP_SIZE - nbytes_removed < GAP_BYTES_MIN)
nbytes_removed = GAP_SIZE - GAP_BYTES_MIN;
- /* Prevent quitting in move_gap. */
+ /* Prevent quitting in gap_right. We cannot allow a QUIT there,
+ because that would leave the buffer text in an inconsistent
+ state, with 2 gap holes instead of just one. */
tem = Vinhibit_quit;
Vinhibit_quit = Qt;