Problem: 'completeopt' "longest" is not used for complete().
Solution: Also use "longest" for complete(). (Bjorn Linse, closesvim/vim#11206)
87af60c915
Problem: Some insert completion code is not tested.
Solution: Add a few tests. Refactor thesaurus completion. (Yegappan
Lakshmanan, closesvim/vim#9460)
e982586f8e
vim-patch:9.0.0254: typo in function name
Problem: Typo in function name.
Solution: Rename the function. (closesvim/vim#10971)
5fb3aabc2b
Problem: Reading past end of completion with a long line and 'infercase'
set.
Solution: Allocate the string if needed.
caea66442d
Cherry-pick the deletion of a blank line from patch 9.0.0027.
N/A patches for version.c:
vim-patch:9.0.0054: compiler warning for size_t to int conversion
Problem: Compiler warning for size_t to int conversion.
Solution: Add type cast. (Mike Williams, closesvim/vim#10741)
c7bd2f08e5
Problem: Insert mode completion functions are too long.
Solution: Split up into multiple functions. (Yegappan Lakshmanan,
closesvim/vim#9431)
5d2e007ccb
Cherry-pick can_cindent_get() -> get_can_cindent() from patch 8.1.2062.
Problem: Insert mode completion function is too long.
Solution: Refactor into multiple functions. (Yegappan Lakshmanan,
closesvim/vim#9423)
edc6f10390
Cherry-pick a typo fix from patch 8.2.3637.
vim-patch:8.2.4502: in the GUI a modifier is not recognized after CTRL-X
Problem: In the GUI a modifier is not recognized for the key typed after
CTRL-X, which may result in a mapping to be used. (Daniel
Steinberg)
Solution: Recognize a modifier starting with CSI. (closesvim/vim#9889)
d979d64fa2
Code is N/A. This just ports the test change.
Test depends on README.txt in testdir. Add that file.
Reorder test_ins_complete.vim to match upstream.
Problem: Can still switch windows for 'completefunc'.
Solution: Also disallow switching windows for other completions.
3eb6bd9c2b
Assert E565 instead of E578.
Need to assert a different string because patch 8.2.1919 hasn't been
ported yet.
Problem: Allowing 'completefunc' to switch windows causes trouble.
Solution: use "textwinlock" instead of "textlock".
28976e2acc
Assert E565 instead of E578.
vim-patch:8.2.0670: cannot change window when evaluating 'completefunc'
Problem: Cannot change window when evaluating 'completefunc'.
Solution: Make a difference between not changing text or buffers and also
not changing window.
6adb9ea0a6
vim-patch:8.2.5029: "textlock" is always zero
Problem: "textlock" is always zero.
Solution: Remove "textlock" and rename "textwinlock" to "textlock".
(closesvim/vim#10489)
cfe456543e
Problem: Some tests are known to cause an error with ASAN.
Solution: Add CheckNotAsan.
97202d9516
Move CheckNotMSWindows to the right place.
Omit test_memory_usage.vim: a Lua test is used for this file.
Problem: Insert mode completion not fully tested.
Solution: Add a few more tests. (Yegappan Lakshmanan, closesvim/vim#6041)
f9ab52e155
Cherry-pick test_ins_complete.vim changes from patches 8.2.{0522,0615}.
Problem: 'completefunc'/'omnifunc' error does not end completion.
Solution: Check if there was an error or exception. (closesvim/vim#10486,
closesvim/vim#4218)
9bcb9ca9c7
Problem: :startinsert right after :stopinsert does not work when popup menu
is still visible.
Solution: Use ins_compl_active() instead of pum_visible(). (closesvim/vim#10352)
cd5dbad184
Problem: Smart indenting does not work after completion.
Solution: Set "can_si". (Christian Brabandt, closesvim/vim#10113, closesvim/vim#558)
ac72c21da6
Problem: Test files still use function!.
Solution: Remove the exclamation mark. Fix overwriting a function.
1e1153600c
Some of the changes were already applied previously.
Problem: Command completion in cmdline window uses global user commands,
not local commands for the window where it was opened from.
Solution: Use local commands. (closesvim/vim#9168)
a119812437
Problem: Insufficient tests for tags; bug in using extra tag field when
using an ex command to position the cursor.
Solution: Fix the bug, add more tests. (Yegappan Lakshmanan, closesvim/vim#5439)
830c1afc9d
Problem: Complete_info().selected may be wrong.
Solution: Update cp_number if it was never set. (issue vim/vim#6945)
f9d51354de
Misc changes:
For variables and function parameters that use "Direction" enum values,
update their type from from "int" to "Direction".
It is hard to review function parameters that must accept
"Direction" enum values only.
Problem: complete_info() selected index has an invalid value. (Ben Jackson)
Solution: Set the index when there is only one match. (closesvim/vim#6945)
Add test for complete_info().
b806aa5bd9
Problem: 'completeslash' also applies to globpath().
Solution: Add the WILD_IGNORE_COMPLETESLASH flag. (test by Yasuhiro
Matsumoto, closesvim/vim#4760)
Problem: Variable completion does not work in command line window.
Solution: Use the "prevwin". (closesvim/vim#7198)
4ff2f2fb6b
N/A patches for version.c:
vim-patch:8.2.1899: crash in out-of-memory situation
Problem: Crash in out-of-memory situation.
Solution: Bail out if shell_name is NULL. (Dominique Pellé, closesvim/vim#7196)
67def64a4e
Problem: Get warning message when 'completefunc' returns nothing.
Solution: Allow for returning v:none to suppress the warning message.
(Yasuhiro Matsumoto, closesvim/vim#3789)
cee9bc2e3d
Problem: unreliable types for complete function arguments
Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi)
vim/vim#2993
Problem: Using feedkeys() does not work to test Insert mode completion.
(Lifepillar)
Solution: Do not check for typed keys when executing :normal or feedkeys().
Fix thesaurus completion not working when 'complete' is empty.
02ae9b4a93
Problem: Still interference between test functions.
Solution: Clear autocommands. Wipe all buffers. Fix tests that depend on a
specific start context.
cf1ba35fc2