To: vim_dev@googlegroups.com Subject: Patch 8.2.0649 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0649 Problem: Undo problem when an InsertLeave autocommand resets undo. (Kutsan Kaplan) Solution: Do not create a new undo block when leaving Insert mode. Files: src/edit.c, src/testdir/test_edit.vim *** ../vim-8.2.0648/src/edit.c 2020-04-21 22:01:11.089499502 +0200 --- src/edit.c 2020-04-27 19:54:45.027222708 +0200 *************** *** 5994,6000 **** // If u_savesub() was called then we are not prepared to start // a new line. Call u_save() with no contents to fix that. ! if (tick != CHANGEDTICK(curbuf)) u_save(curwin->w_cursor.lnum, (linenr_T)(curwin->w_cursor.lnum + 1)); return r; --- 5994,6001 ---- // If u_savesub() was called then we are not prepared to start // a new line. Call u_save() with no contents to fix that. ! // Except when leaving Insert mode. ! if (event != EVENT_INSERTLEAVE && tick != CHANGEDTICK(curbuf)) u_save(curwin->w_cursor.lnum, (linenr_T)(curwin->w_cursor.lnum + 1)); return r; *** ../vim-8.2.0648/src/testdir/test_edit.vim 2020-04-21 22:01:11.089499502 +0200 --- src/testdir/test_edit.vim 2020-04-27 19:52:21.603700943 +0200 *************** *** 1444,1450 **** call delete('XAltFile') endfunc ! func Test_leave_insert_autocmd() new au InsertLeave * let g:did_au = 1 let g:did_au = 0 --- 1444,1450 ---- call delete('XAltFile') endfunc ! func Test_edit_InsertLeave() new au InsertLeave * let g:did_au = 1 let g:did_au = 0 *************** *** 1474,1479 **** --- 1474,1494 ---- iunmap x endfunc + func Test_edit_InsertLeave_undo() + new XtestUndo + set undofile + au InsertLeave * wall + exe "normal ofoo\" + call assert_equal(2, line('$')) + normal u + call assert_equal(1, line('$')) + + bwipe! + au! InsertLeave + call delete('XtestUndo') + set undofile& + endfunc + " Test for inserting characters using CTRL-V followed by a number. func Test_edit_special_chars() new *** ../vim-8.2.0648/src/version.c 2020-04-27 19:28:58.536998688 +0200 --- src/version.c 2020-04-27 19:53:59.803373176 +0200 *************** *** 748,749 **** --- 748,751 ---- { /* Add new patch number below this line */ + /**/ + 649, /**/ -- Don't Panic! -- The Hitchhiker's Guide to the Galaxy /// Bram Moolenaar -- Bram@Moolenaar.net -- 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 ///