Fantastic, thank you. On Sat, 13 Jul 2019 at 19:15, Bram Moolenaar <[email protected]> wrote: > > > Patch 8.1.1681 > Problem: Insert stray "{" when listener gets buffer line. (Paul Jolly) > Solution: Flush the cached line after invoking listeners. (closes #4455) > Files: src/memline.c, src/testdir/test_listener.vim > > > *** ../vim-8.1.1680/src/memline.c 2019-06-18 22:53:19.018129835 +0200 > --- src/memline.c 2019-07-13 20:11:02.755661155 +0200 > *************** > *** 2836,2843 **** > > #ifdef FEAT_EVAL > // When inserting above recorded changes: flush the changes before > changing > ! // the text. > may_invoke_listeners(buf, lnum + 1, lnum + 1, 1); > #endif > > #ifdef FEAT_TEXT_PROP > --- 2836,2845 ---- > > #ifdef FEAT_EVAL > // When inserting above recorded changes: flush the changes before > changing > ! // the text. Then flush the cached line, it may become invalid. > may_invoke_listeners(buf, lnum + 1, lnum + 1, 1); > + if (curbuf->b_ml.ml_line_lnum != 0) > + ml_flush_line(curbuf); > #endif > > #ifdef FEAT_TEXT_PROP > *** ../vim-8.1.1680/src/testdir/test_listener.vim 2019-06-20 > 03:45:31.175536929 +0200 > --- src/testdir/test_listener.vim 2019-07-13 20:10:35.639776461 +0200 > *************** > *** 242,244 **** > --- 242,270 ---- > delfunc MyListener > bwipe! > endfunc > + > + " This verifies the fix for issue #4455 > + func Test_listener_caches_buffer_line() > + new > + inoremap <silent> <CR> <CR><Esc>O > + > + function EchoChanges(bufnr, start, end, added, changes) > + for l:change in a:changes > + let text = getbufline(a:bufnr, l:change.lnum, > l:change.end-1+l:change.added) > + endfor > + endfunction > + let lid = listener_add("EchoChanges") > + set autoindent > + set cindent > + > + call setline(1, ["{", "\tif true {}", "}"]) > + exe "normal /{}\nl" > + call feedkeys("i\r\e", 'xt') > + call assert_equal(["{", "\tif true {", "", "\t}", "}"], getline(1, 5)) > + > + bwipe! > + delfunc EchoChanges > + call listener_remove(lid) > + iunmap <CR> > + set nocindent > + endfunc > *** ../vim-8.1.1680/src/version.c 2019-07-13 18:17:20.448328434 +0200 > --- src/version.c 2019-07-13 19:48:30.488967986 +0200 > *************** > *** 779,780 **** > --- 779,782 ---- > { /* Add new patch number below this line */ > + /**/ > + 1681, > /**/ > > -- > TALL KNIGHT: We are now no longer the Knights Who Say Ni! > ONE KNIGHT: Ni! > OTHERS: Sh! > ONE KNIGHT: (whispers) Sorry. > "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD > > /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ > /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ > \\\ an exciting new programming language -- http://www.Zimbu.org /// > \\\ help me help AIDS victims -- http://ICCF-Holland.org /// > > -- > -- > 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]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/vim_dev/201907131815.x6DIF0nW003021%40masaka.moolenaar.net. > 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/CACoUkn66FfjHpUyt1ot5J5m69Cq9rO7D-Q4H0rzhvQiLXP-_Dg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
