[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 4c0fed1: * src/syntax.c: Handle spurious e_property
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] master 4c0fed1: * src/syntax.c: Handle spurious e_property_truncated flag |
Date: |
Wed, 23 Sep 2015 16:33:58 +0000 |
branch: master
commit 4c0fed13e5ca1826bab52cd9c3fc31ad0e5c765c
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* 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.
---
src/syntax.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/syntax.c b/src/syntax.c
index 3bd301f..6b1865f 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -499,6 +499,13 @@ parse_sexp_propertize (ptrdiff_t charpos)
gl_state.e_property = syntax_propertize__done;
gl_state.e_property_truncated = true;
}
+ else if (gl_state.e_property_truncated)
+ { /* When moving backward, e_property might be set without resetting
+ e_property_truncated, so the e_property_truncated flag may
+ occasionally be left raised spuriously. This should be rare. */
+ gl_state.e_property_truncated = false;
+ update_syntax_table_forward (charpos, false, Qnil);
+ }
}
void
@@ -509,7 +516,6 @@ update_syntax_table_forward (ptrdiff_t charpos, bool init,
{
eassert (NILP (object));
eassert (charpos >= gl_state.e_property);
- eassert (charpos >= syntax_propertize__done);
parse_sexp_propertize (charpos);
}
else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 4c0fed1: * src/syntax.c: Handle spurious e_property_truncated flag,
Stefan Monnier <=