Eric Arnold wrote: > 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.
This can only happen when your 'tabline' option does something that would normally require the tab pages line to be redrawn. I can probably prevent the problem by resetting the flag for redrawing the tabline after evaluating 'tabline'. -- hundred-and-one symptoms of being an internet addict: 92. It takes you two hours to check all 14 of your mailboxes. /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://www.ICCF.nl ///
