Saturday, August 16, 2014

Re: vim-7.4.389 UI extremely sluggish with custom syntax highlighting plugins

diff --git a/src/screen.c b/src/screen.c
--- a/src/screen.c
+++ b/src/screen.c
@@ -3858,7 +3858,11 @@ win_line(wp, lnum, startrow, endrow, noc
{
shl->attr_cur = shl->attr;
}
- else if (v >= (long)shl->endcol)
+ else if (v == (long)shl->endcol
+#ifdef FEAT_MBYTE
+ || (has_mbyte && v == shl->endcol + mb_l - 1)
+#endif
+ )
{
shl->attr_cur = 0;
next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
On Do, 14 Aug 2014, Bram Moolenaar wrote:

> Christian Brabandt wrote:
>
> > >> But anyway, this raises the question again, why matchaddpos()
> > >> accepts a list of positions (but only 8 items), while all other
> > >> functions usually only accept 1 position.
> > >
> > > It's used for the matchparen plugin. The idea is that it's useful for
> > > other plugins as well.
> >
> > Yes, but for consistency with the other match() functions and the VimL
> > API it might still be a good idea to only accept a single position per
> > matchaddpos() call. It shouldn't be too hard, to adjust the matchparen
> > plugin to call matchaddpos() twice, right?
>
> It would require another way to deal with IDs. Or allow for adding
> another match with the same ID.

Okay, here is another patch. This should fix all known problems, that
have been mentioned so far. BTW, perhaps we could use h_east (sorry
don't remember your name) test and include it as performance test?

Best,
Christian
--
Wer in sich recht ernstlich hinabsteigt, wird sich immer nur als
Hälfte finden; er fasse nachher ein Mädchen oder eine Welt, um sich
zum Ganzen zu konstituieren, das ist einerlei.
-- Goethe, Maximen und Reflektionen, Nr. 708

--
--
You received this message from the "vim_use" 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

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: