2015-06-13 17:02 GMT+03:00 AA <theone.ash...@gmail.com>: > When I update the statusline from a python thread forked from main, the > update gets registered by vim but is shown only after take an action, a > movement using keys, or a mouse scroll. > > Python code here if it helps: http://sprunge.us/LCfM (Open in vim followed > by :pyfile %) > > Briefly: Spawn threads, each threads sleeps for a while and then updates the > statusline. Don't do anything and you'll never notice the update. Keep j/k > pressed and all updates show fine. > > So my question is: Is there a way in which I can make the status updates > immediate, without requiring any user action?
Vim is not thread-safe. You *must not* update statusline in another thread, especially doing this using `set statusline` command (there is also a variant where you use `vim.options` and/or {window}.options ({window}: object from vim.windows or vim.current.window)). Most likely after some time this code is running you will get a crash because Vim is using many globals (using .options will touch much less amount of globals compared to vim.command('set statusline=' …)). Another bad idea was using Python code using :pyfile. This command pushes all variables/functions defined in the sourced file into global namespace so with big amount of plugins that use :pyfile you will definitely run into problems. > > Thanks > > -- > -- > You received this message from the "vim_dev" 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_dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to vim_dev+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- -- You received this message from the "vim_dev" 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_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.