mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 00:10:48 -08:00
(update_syntax_table): Check that oldi has the same
properties as old_prop before deciding not to invalidate.
This commit is contained in:
parent
469fc0a23f
commit
423e705d9c
1 changed files with 7 additions and 7 deletions
14
src/syntax.c
14
src/syntax.c
|
|
@ -162,7 +162,7 @@ update_syntax_table (charpos, count, init, object)
|
|||
}
|
||||
oldi = i = count > 0 ? gl_state.forward_i : gl_state.backward_i;
|
||||
|
||||
/* We are guarantied to be called with CHARPOS either in i,
|
||||
/* We are guaranteed to be called with CHARPOS either in i,
|
||||
or further off. */
|
||||
if (NULL_INTERVAL_P (i))
|
||||
error ("Error in syntax_table logic for to-the-end intervals");
|
||||
|
|
@ -172,21 +172,21 @@ update_syntax_table (charpos, count, init, object)
|
|||
error ("Error in syntax_table logic for intervals <-");
|
||||
/* Update the interval. */
|
||||
i = update_interval (i, charpos);
|
||||
if (oldi->position != INTERVAL_LAST_POS (i))
|
||||
if (!gl_state.left_ok || oldi->position != INTERVAL_LAST_POS (i))
|
||||
{
|
||||
invalidate = 0;
|
||||
gl_state.right_ok = 1; /* Invalidate the other end. */
|
||||
gl_state.forward_i = i;
|
||||
gl_state.e_property = INTERVAL_LAST_POS (i) - gl_state.offset;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (charpos >= INTERVAL_LAST_POS (i)) /* Move right. */
|
||||
{
|
||||
if (count < 0)
|
||||
error ("Error in syntax_table logic for intervals ->");
|
||||
/* Update the interval. */
|
||||
i = update_interval (i, charpos);
|
||||
if (i->position != INTERVAL_LAST_POS (oldi))
|
||||
if (!gl_state.right_ok || i->position != INTERVAL_LAST_POS (oldi))
|
||||
{
|
||||
invalidate = 0;
|
||||
gl_state.left_ok = 1; /* Invalidate the other end. */
|
||||
|
|
@ -206,9 +206,9 @@ update_syntax_table (charpos, count, init, object)
|
|||
if (invalidate)
|
||||
invalidate = !EQ (tmp_table, gl_state.old_prop); /* Need to invalidate? */
|
||||
|
||||
if (invalidate) /* Did not get to adjacent interval. */
|
||||
{ /* with the same table => */
|
||||
/* invalidate the old range. */
|
||||
if (invalidate) /* Did not get to adjacent interval. */
|
||||
{ /* with the same table => */
|
||||
/* invalidate the old range. */
|
||||
if (count > 0)
|
||||
{
|
||||
gl_state.backward_i = i;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue