I've sorta isolated a performance problem I'm having with my
TabLineSet.vim script.  If I set the string to include a %(func()} 
string (which in this case, addeds a hour/min/sec string), and do
something to update a buffer in a tab with multiple windows, then
*every* keystroke from then on calls the "tabline" function to refresh
the tabline.

Normally, the trigger to re-evaluate the tabline string is only called
on certain things, like switching windows, setting a buffer to
'modified'/'nomodified', etc.  Since my script is doing a lot of stuff
to create the format string, it is counting on being called sparsely,
and when it is called for every keystroke, it's an unacceptable
performance drag.

Certain operations, like hitting "undo" to reset the buffer to
"unmodified", or switching to another window and back, will stop the
per-keystroke tabline re-eval.

So, I'm looking for some hints as to why the re-eval might be getting
called for every keystroke.  The doc.s don't detail the behavior, so
I'm shooting in the dark at the moment.

Reply via email to