# HG changeset patch # User Christian Brabandt # Date 1481309104 -3600 # Node ID 2515541573611f82a333bf22d13622c4968b8cca # Parent 99e29924e222e8cfa5541e0959a2c3169eb70f49 commit https://github.com/vim/vim/commit/73fd4988866c3adc15b5d093efdf5e8cf70d093d Author: Bram Moolenaar Date: Fri Dec 9 19:36:56 2016 +0100 patch 8.0.0127 Problem: Cancelling completion still inserts text when formatting is done for 'textwidth'. (lacygoill) Solution: Don't format when CTRL-E was typed. (Hirohito Higashi, closes #1312) diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -3875,7 +3875,7 @@ ins_compl_prep(int c) if (prev_col > 0) dec_cursor(); /* only format when something was inserted */ - if (!arrow_used && !ins_need_undo) + if (!arrow_used && !ins_need_undo && c != Ctrl_E) insertchar(NUL, 0, -1); if (prev_col > 0 && ml_get_curline()[curwin->w_cursor.col] != NUL) diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim --- a/src/testdir/test_popup.vim +++ b/src/testdir/test_popup.vim @@ -464,4 +464,22 @@ func Test_completefunc_with_scratch_buff set completeopt& endfunc +" - select original typed text before the completion started without +" auto-wrap text. +func Test_completion_ctrl_e_without_autowrap() + new + let tw_save=&tw + set tw=78 + let li = [ + \ '" zzz', + \ '" zzzyyyyyyyyyyyyyyyyyyy'] + call setline(1, li) + 0 + call feedkeys("A\\\\", "tx") + call assert_equal(li, getline(1, '$')) + + let &tw=tw_save + q! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 127, +/**/ 126, /**/ 125,