Mercurial > emacs
changeset 37532:f14973be41f5
(update_syntax_table): Check that oldi has the same
properties as old_prop before deciding not to invalidate.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 01 May 2001 13:49:44 +0000 |
parents | e71362bfa695 |
children | 1dfa1b721ead |
files | src/syntax.c |
diffstat | 1 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/syntax.c Tue May 01 13:33:59 2001 +0000 +++ b/src/syntax.c Tue May 01 13:49:44 2001 +0000 @@ -162,7 +162,7 @@ } 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 @@ 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 @@ 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;