From: Bram Moolenaar Date: Fri, 9 Dec 2016 18:36:56 +0000 (+0100) Subject: patch 8.0.0127 X-Git-Tag: v8.0.0127 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73fd4988866c3adc15b5d093efdf5e8cf70d093d;p=vim 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 index 0d9e9d4a4..51a12b330 100644 --- 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 index f1e2c98c4..96c8d7e30 100644 --- a/src/testdir/test_popup.vim +++ b/src/testdir/test_popup.vim @@ -464,4 +464,22 @@ func Test_completefunc_with_scratch_buffer() 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 index 3cd19f177..39538a0c8 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 127, /**/ 126, /**/