summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-06-19 04:54:21 +0200
committerBram Moolenaar <Bram@vim.org>2011-06-19 04:54:21 +0200
commitd6761c3cdf9d15c0f64253dcd8049ff9f25aa987 (patch)
tree261dde66c9b86ffb9e20786528b36c565a7ce628 /src
parent978287b8f811d384f32fc9b85063f41e2e08f5e2 (diff)
downloadvim-git-d6761c3cdf9d15c0f64253dcd8049ff9f25aa987.tar.gz
updated for version 7.3.226v7.3.226
Problem: On a 64 bit system "syn sync fromstart" is very slow. (Bjorn Steinbrink) Solution: Store the state when starting to parse from the first line.
Diffstat (limited to 'src')
-rw-r--r--src/syntax.c8
-rw-r--r--src/version.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/src/syntax.c b/src/syntax.c
index a9a2e862f..f3cb71ed6 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -559,7 +559,13 @@ syntax_start(wp, lnum)
if (INVALID_STATE(&current_state))
{
syn_sync(wp, lnum, last_valid);
- first_stored = current_lnum + syn_block->b_syn_sync_minlines;
+ if (current_lnum == 1)
+ /* First line is always valid, no matter "minlines". */
+ first_stored = 1;
+ else
+ /* Need to parse "minlines" lines before state can be considered
+ * valid to store. */
+ first_stored = current_lnum + syn_block->b_syn_sync_minlines;
}
else
first_stored = current_lnum;
diff --git a/src/version.c b/src/version.c
index f169b56a3..746a145ab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 226,
+/**/
225,
/**/
224,