Hi Bram and all,

2016-12-8(Thu) 7:08:32 UTC+9 Bram Moolenaar:
> > If I write the following in `/tmp/vimrc.vim`:
> 
> > ```
> 
> > 
> 
> > setlocal tw=78
> 
> > setlocal cc=78
> 
> > 
> 
> > "                                                        zzz
> 
> > " zzzyyyyyyyyyyyyyyyyyyy
> 
> > 
> 
> > ```
> 
> > 
> 
> > Then I launch Vim from the shell like this:
> 
> > 
> 
> >     vim -Nu /tmp/vimrc.vim /tmp/vimrc.vim
> 
> > 
> 
> > Finally, in insert mode I position the cursor after `zzz`, hit `<C-x><C-n>` 
> > to open the completion menu, hit and `<C-e>` to exit, here's the result:
> 
> > 
> 
> > ```
> 
> > setlocal tw=78
> 
> > setlocal cc=78
> 
> > 
> 
> > "
> 
> > zzzyyyyyyyyyyyyyyyyyyyzzz
> 
> > " zzzyyyyyyyyyyyyyyyyyyy
> 
> > ```
> 
> > 
> 
> > I expected the buffer to not change since I exited the menu. Besides
> 
> > `zzz` is inserted twice.
> 
> 
> 
> Looks like a bug.

I update a patch.
Added a test.
I checked that it's okay with patch, and fail without patch👍
Check it please.

--
Best regards,
Hirohito Higashi (a.k.a. h_east)

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/edit.c b/src/edit.c
index 0d9e9d4..51a12b3 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 f1e2c98..96c8d7e 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
 
+" <C-E> - 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\<C-X>\<C-N>\<C-E>\<Esc>", "tx")
+  call assert_equal(li, getline(1, '$'))
+
+  let &tw=tw_save
+  q!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab

Raspunde prin e-mail lui