aboutsummaryrefslogtreecommitdiffstats
path: root/src/syntax.c
diff options
context:
space:
mode:
authorStefan Monnier2015-09-23 12:33:48 -0400
committerStefan Monnier2015-09-23 12:33:48 -0400
commit4c0fed13e5ca1826bab52cd9c3fc31ad0e5c765c (patch)
treea465657df1aad692acb3d663317201f126b52da8 /src/syntax.c
parentaab67529d229cd0d09ae3b9d7f8bb2f44e1d6276 (diff)
downloademacs-4c0fed13e5ca1826bab52cd9c3fc31ad0e5c765c.tar.gz
emacs-4c0fed13e5ca1826bab52cd9c3fc31ad0e5c765c.zip
* src/syntax.c: Handle spurious e_property_truncated flag
* src/syntax.c (parse_sexp_propertize): Handle spurious e_property_truncated flag. (update_syntax_table_forward): Remove invalid assertion.
Diffstat (limited to 'src/syntax.c')
-rw-r--r--src/syntax.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/syntax.c b/src/syntax.c
index 3bd301f0e38..6b1865f667f 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -499,6 +499,13 @@ parse_sexp_propertize (ptrdiff_t charpos)
499 gl_state.e_property = syntax_propertize__done; 499 gl_state.e_property = syntax_propertize__done;
500 gl_state.e_property_truncated = true; 500 gl_state.e_property_truncated = true;
501 } 501 }
502 else if (gl_state.e_property_truncated)
503 { /* When moving backward, e_property might be set without resetting
504 e_property_truncated, so the e_property_truncated flag may
505 occasionally be left raised spuriously. This should be rare. */
506 gl_state.e_property_truncated = false;
507 update_syntax_table_forward (charpos, false, Qnil);
508 }
502} 509}
503 510
504void 511void
@@ -509,7 +516,6 @@ update_syntax_table_forward (ptrdiff_t charpos, bool init,
509 { 516 {
510 eassert (NILP (object)); 517 eassert (NILP (object));
511 eassert (charpos >= gl_state.e_property); 518 eassert (charpos >= gl_state.e_property);
512 eassert (charpos >= syntax_propertize__done);
513 parse_sexp_propertize (charpos); 519 parse_sexp_propertize (charpos);
514 } 520 }
515 else 521 else