aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/edit.c4
-rw-r--r--test/functional/viml/completion_spec.lua16
2 files changed, 18 insertions, 2 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index da09aed3dc..b35504908e 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -2109,7 +2109,7 @@ int ins_compl_add_infercase(char_u *str, int len, int icase, char_u *fname, int
xfree(wca);
- return ins_compl_add(IObuff, len, icase, fname, NULL, true, dir, flags,
+ return ins_compl_add(IObuff, len, icase, fname, NULL, false, dir, flags,
false);
}
return ins_compl_add(str, len, icase, fname, NULL, false, dir, flags, false);
@@ -2146,7 +2146,7 @@ static int ins_compl_add(char_u *const str, int len,
os_breakcheck();
#define FREE_CPTEXT(cptext, cptext_allocated) \
do { \
- if (cptext_allocated) { \
+ if (cptext != NULL && cptext_allocated) { \
for (size_t i = 0; i < CPT_COUNT; i++) { \
xfree(cptext[i]); \
} \
diff --git a/test/functional/viml/completion_spec.lua b/test/functional/viml/completion_spec.lua
index 3c09d71eb7..5a37cb8f43 100644
--- a/test/functional/viml/completion_spec.lua
+++ b/test/functional/viml/completion_spec.lua
@@ -850,6 +850,22 @@ describe('completion', function()
]])
end)
end)
+
+ it("'ignorecase' 'infercase' CTRL-X CTRL-N #6451", function()
+ execute('set ignorecase infercase')
+ execute('edit BACKERS.md')
+ feed('oX<C-X><C-N>')
+ screen:expect([[
+ # Bountysource Backers |
+ Xnull^ |
+ {2:Xnull }{6: } |
+ {1:Xoxomoon }{6: }ryone who backed our [Bountysource fundraise|
+ {1:Xu }{6: }ountysource.com/teams/neovim/fundraiser)! |
+ {1:Xpayn }{2: } |
+ {1:Xinity }{2: }d URL in BACKERS.md. |
+ {3:-- Keyword Local completion (^N^P) }{4:match 1 of 7} |
+ ]])
+ end)
end)
describe('External completion popupmenu', function()