Hi Bram! On Sa, 06 Sep 2014, Bram Moolenaar wrote:
> > I recently stumbled over an ml_get: invalid lnum error in my NrrwRgn > > plugin (when writing changes back). I have not been able to reproduce > > the issue without the plugin. > > > > What it does however is, it switches to a different buffer in the same > > window, moves to a certain position and replaces part or the buffer and > > switches back to the original buffer. The problem is, that when > > restoring the buffer and windows in aucmd_restbuf() the cursor position > > is not validated. > > > > This patch fixes the issue: > > Thanks. Does the plugin somehow change the buffer that was previously > in the window? Otherwise I don't see how the cursor can become invalid. Not sure, which previous buffer you mean. It works like this: 1) single window 1 with buffer a loaded 2) plugin loads buffer b, moves the cursor to a certain position and modifies its content. 3) plugin goes back to buffer a (here at that stage, I get ml_get error, because buffer a does not have as many lines as buffer b. The error actually occurred in the showcmd function, which I assumed, means after the plugin finished and successfully loaded back the original buffer a, but the cursor was still at the previous location and hasn't been reset. I could workaround the issue by adding a winsaveview() winrestview() call around step1/3 but I figured, this should be fixed within Vim. Best, Christian -- -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
