Thread: [cream] cream and multiple document tabs
Cream is a free, easy-to-use configuration of the Vim text editor
Brought to you by:
digitect
From: Sascha H. <s....@pe...> - 2012-07-31 07:44:43
|
Hi All, I'm a everyday user of cream and enjoy it very much. There's one thing that really nags me though: When I have many tabs open, then each time I close a tab cream internally seems to iterate over all opened tabs. This can take a very long time, with many documents opened it often takes up to 10s just to close a tab. Is there any way to get rid of this? I tried looking myself, but didn't find the place where this iteration happens. Thanks for your help, Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | |
From: Steve H. <dig...@da...> - 2012-08-01 14:37:15
|
On Tue, Jul 31, 2012 at 3:44 AM, Sascha Hauer wrote: > > I'm a everyday user of cream and enjoy it very much. There's one > thing that really nags me though: When I have many tabs open, then > each time I close a tab cream internally seems to iterate over all > opened tabs. This can take a very long time, with many documents > opened it often takes up to 10s just to close a tab. > > Is there any way to get rid of this? I tried looking myself, but > didn't find the place where this iteration happens. The code starts at Cream_close() in cream-lib.vim and references a number of window and tab setup functions both here and in cream-win-tab-buf.vim. The whole thing could use a good re-factoring because much of this worked around bugs in Vim that may now be solved. -- Steve Hall [ digitect dancingpaper com ] :: Cream for Vim (http://cream.sourceforge.net) |
From: Sascha H. <s....@pe...> - 2012-08-02 08:43:28
|
Hi Steve, On Wed, Aug 01, 2012 at 10:23:32AM -0400, Steve Hall wrote: > On Tue, Jul 31, 2012 at 3:44 AM, Sascha Hauer wrote: > > > > I'm a everyday user of cream and enjoy it very much. There's one > > thing that really nags me though: When I have many tabs open, then > > each time I close a tab cream internally seems to iterate over all > > opened tabs. This can take a very long time, with many documents > > opened it often takes up to 10s just to close a tab. > > > > Is there any way to get rid of this? I tried looking myself, but > > didn't find the place where this iteration happens. > > The code starts at Cream_close() in cream-lib.vim and references a > number of window and tab setup functions both here and in > cream-win-tab-buf.vim. > > The whole thing could use a good re-factoring because much of this > worked around bugs in Vim that may now be solved. Thanks for your help. I finally tracked down the guilty function. I removed the call to Cream_tabpages_refresh() from Cream_window_setup(), et voila, opening/closing documents is much smoother now. So far I haven't seen any negative impacts of doing so, but I don't know what the regressions could be. One thing I noticed is that when opening multiple documents with the --remote-tab-silent option is that the tabs appear as 'untitled' until they are first selected. That happens with or without my change though. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | |