Mercurial > vim
diff src/edit.c @ 10289:af5b6efad23f v8.0.0041
commit https://github.com/vim/vim/commit/869e35270ecffd9024958880cb03f6f0bb01ea93
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 16 15:35:47 2016 +0200
patch 8.0.0041
Problem: When using Insert mode completion but not actually inserting
anything an undo item is still created. (Tommy Allen)
Solution: Do not call stop_arrow() when not inserting anything.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 16 Oct 2016 15:45:04 +0200 |
parents | 154d5a2e7395 |
children | d9bd03a0d70f |
line wrap: on
line diff
--- a/src/edit.c +++ b/src/edit.c @@ -2799,9 +2799,6 @@ set_completion(colnr_T startcol, list_T ins_compl_prep(' '); ins_compl_clear(); - if (stop_arrow() == FAIL) - return; - compl_direction = FORWARD; if (startcol > curwin->w_cursor.col) startcol = curwin->w_cursor.col; @@ -3876,7 +3873,8 @@ ins_compl_prep(int c) /* put the cursor on the last char, for 'tw' formatting */ if (prev_col > 0) dec_cursor(); - if (stop_arrow() == OK) + /* only format when something was inserted */ + if (!arrow_used && !ins_need_undo) insertchar(NUL, 0, -1); if (prev_col > 0 && ml_get_curline()[curwin->w_cursor.col] != NUL)