Monday, August 11, 2014

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

On Mo, 11 Aug 2014, Bram Moolenaar wrote:

> Christian Brabandt wrote:
> > On Sa, 09 Aug 2014, Bram Moolenaar wrote:
> > > David Barnett wrote:
> > >
> > > > Looks like it's patch 7.4.362:
> > > >
> > > > Problem: When matchaddpos() uses a length smaller than the number of
> > > > bytes
> > > > in the (last) character the highlight continues until the end of
> > > > the line.
> > > > Solution: Change condition from equal to larger-or-equal.
> > > > Files: src/screen.c
> > > >
> > > >
> > > > It's a very small change but apparently problematic. Can it be reverted or
> > > > rethought?
> > >
> > > I'm glad you could pinpoint it. I assumed that when the condition
> > > evaluates to true the match information would be updated. But perhaps
> > > that doesn't happen in this case and it searches for a match every time.
> > >
> > > Needs some debugging to figure out what happens. What matches does this
> > > plugin add when it's slow?
> >
> > Perhaps it is better to revert that patch and make sure, highlighting
> > gets only applied, if there is a match at the actual position?
> >
> > diff --git a/src/screen.c b/src/screen.c
[...]
>
> I haven't tried it, but it looks like this only avoids highlighting
> positions after the endcol when "v" and shl->endcol aren't exactly the
> same (which can happen for multi-byte characters), but it doesn't update
> the state, thus a next match might be missed.

Yes, that is what patch 7.3.362 tried to fix, isn't it?

Mit freundlichen Grüßen
Christian
--
Kleiner Lötkolben für Prozessorreparatur gesucht.

--
--
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: