Gustavo Niemeyer wrote: > For lack of luck, below is a patch to fix the bug. > > The problem is caused by the fact that the syncing processes the line > til the end, so the second call to sync_finish_line() refuses to > process it again (current_finished == TRUE). > > Sorry for the trouble. > > --- syntax.c 2011-01-26 20:08:25.620861002 -0200 > +++ syntax.c.orig 2011-01-26 20:07:44.710861007 -0200 > @@ -927,8 +927,6 @@ > update_si_end(cur_si, (int)current_col, TRUE); > check_keepend(); > } > - // Must restart the line to process highlighting now. > - syn_start_line(); > current_col = found_m_endpos.col; > current_lnum = found_m_endpos.lnum; > (void)syn_finish_line(FALSE);
That doesn't look like the right solution, since it restarts from the start of the line instead of using the column from the match. You say that current_finished is set. I wonder where it gets set. If it's not set correctly that should be fixed. Otherwise perhaps this flag needs to be reset. -- hundred-and-one symptoms of being an internet addict: 155. You forget to eat because you're too busy surfing the net. /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
