Problem: Crash when complete() is called after complete_add() in
'completefunc'. (Lifepillar)
Solution: Bail out if compl_pattern is NULL. (closes#1668)
Also avoid using freed memory.
Problem: When the window scrolls horizontally when the popup menu is
displayed part of it may not be cleared. (Neovim issue #6184)
Solution: Remove the menu when the windows scrolled. (closes#1524)
Problem: When using CTRL-X CTRL-U inside a comment, the use of the comment
leader may not work. (Klement)
Solution: Save and restore did_ai. (Christian Brabandt, closes#1494)
Problem: When using complete() and typing a character undo is saved after
the character was inserted. (Shougo)
Solution: Save for undo before inserting the character.
Problem: Insert mode completion does not respect "start" in 'backspace'.
Solution: Check whether backspace can go before where insert started.
(Hirohito Higashi)
Problem: Under some circumstances, one needs to type Ctrl-N or Ctrl-P twice
to have a menu entry selected. (Lifepillar)
Solution: call ins_compl_free(). (Christian Brabandt, closes#1411)
Problem: Pasting in Insert mode does not work when bracketed paste is used
and 'esckeys' is off.
Solution: When 'esckeys' is off disable bracketed paste in Insert mode.
Problem: When using bracketed paste line breaks are not respected.
Solution: Turn CR characters into a line break if the text is being
inserted. (closes#1404)
Problem: Internally used commands for CTRL-Z and mouse click end up in
history. (Matthew Malcomson)
Solution: Use do_cmdline_cmd() instead of stuffing them in the readahead
buffer. (James McCoy, closes#1395)
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)
Problem: Cannot make Vim fail on an internal error.
Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an
internal error without mentioning where.
Problem: When using Insert mode completion with 'completeopt' containing
"noinsert" with CTRL-N the change is not saved for undo. (Tommy
Allen)
Solution: Call stop_arrow() before inserting for any key.
Problem: When using Insert mode completion with 'completeopt' containing
"noinsert" change is not saved for undo. (Tommy Allen)
Solution: Call stop_arrow() before inserting for pressing Enter.
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.
Problem: Order of matches for 'omnifunc' is messed up. (Danny Su)
Solution: Do not set compl_curr_match when called from complete_check().
(closes#1168)
Problem: Using CTRL-X CTRL-V to complete a command line from Insert mode
does not work after entering an expression on the command line.
Solution: Don't use "ccline" when not actually using a command line. (test
by Hirohito Higashi)
Problem: Not enough testing for popup menu. CTRL-E does not always work
properly.
Solution: Add more tests. When using CTRL-E check if the popup menu is
visible. (Christian Brabandt)
Problem: When 'insertmode' is reset while doing completion the popup menu
remains even though Vim is in Normal mode.
Solution: Ignore stop_insert_mode when the popup menu is visible. Don't set
stop_insert_mode when 'insertmode' was already off. (Christian
Brabandt)
Problem: Triggering CursorHoldI when in CTRL-X mode causes problems.
Solution: Do not trigger CursorHoldI in CTRL-X mode. Add "!" flag to
feedkeys() (test with that didn't work though).
Problem: When using complete() it may set 'modified' even though nothing
was inserted.
Solution: Use Down/Up instead of Next/Previous match. (Shougo, closes#745)
Problem: The Sniff interface is no longer useful, the tool has not been
available for may years.
Solution: Delete the Sniff interface and related code.