Problem: Fuzzy matching doesn't give access to the scores.
Solution: Return the scores with a third list. (Yegappan Lakshmanan,
closesvim/vim#7596)
9d19e4f4ba
Remove seemingly useless NULL checks.
assert that removing the li one wasn't dumb.
Problem: Fuzzy matching does not recognize path separators.
Solution: Add a bonus for slash and backslash. (Yegappan Lakshmanan,
closesvim/vim#7225)
dcdd42a8cc
Problem: Fuzzy matching does not support multiple words.
Solution: Add support for matching white space separated words. (Yegappan
Lakshmanan, closesvim/vim#7163)
8ded5b647a
Problem: Matchfuzzy() does not prefer sequential matches.
Solution: Give sequential matches a higher bonus. (Christian Brabandt,
closesvim/vim#7140)
e9f9f16387
Problem: Fuzzy matching only works on strings.
Solution: Support passing a dict. Add matchfuzzypos() to also get the match
positions. (Yegappan Lakshmanan, closesvim/vim#6947)
4f73b8e9cc
Also remove some N/A and seemingly useless NULL checks -- Nvim allocs can't
return NULL. I'm not sure why the retmatchpos stuff in match_fuzzy checks for
NULL too, given that Vim checks for NULL alloc in do_fuzzymatch; assert that the
li stuff is not NULL as that's the one check I'm ever-so-slightly unsure about.
Adjust tests. Note that the text_cb tests actually throw E6000 in Nvim, but we
also can't assert that error due to v8.2.1183 not being ported yet.
Problem: Cannot do fuzzy string matching.
Solution: Add matchfuzzy(). (Yegappan Lakshmanan, closesvim/vim#6932)
635414dd2f
Adjust Test_matchfuzzy's 2nd assert to expect the last error thrown, as
v8.2.1183 hasn't been ported yet (to be honest, the error message is kinda weird
if the 2nd argument is not convertible to string). We can still port this fully
as porting v8.2.1183 would require removing this change to pass CI.
Problem: MS-Windows: fnamemodify('', ':p') does not work.
Solution: Do not consider an empty string a full path. (Yegappan Lakshmanan,
closesvim/vim#9428, closesvim/vim#9427)
5a664fe57f
Problem: No ASAN support for MSVC.
Solution: Add ASAN support and fix a coupld of uncovered problems. (Yegappan
Lakshmanan, closesvim/vim#9357)
6df0f2759d
Problem: Expanding to local dir after homedir keeps "~/".
Solution: Adjust modify_fname(). (Christian Brabandt, closesvim/vim#6205,
closesvim/vim#5979)
0e390f40e9
Problem: Fnamemodify() does not apply ":~" when followed by ":.".
Solution: Don't let a failing ":." cause the ":~" to be skipped. (Yasuhiro
Matsumoto, closesvim/vim#5577)
d816cd94d8
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: copy() and deepcopy() fail with special variables. (Nikolai
Pavlov)
Solution: Make it work. Add a test. Closesvim/vim#614.
155500077c
Code is N/A. This only ports the tests.
Comment out tests involving v:none as Nvim has removed it.
Problem: empty() doesn't work for the new special variables.
Solution: Make empty() work. (Damien)
767d8c1a1a
Code is N/A. This only ports the tests.
Comment out tests involving v:none as Nvim has removed it.
Problem: No tests for "is" and "isnot" with the new variables.
Solution: Add tests.
0436922965
Comment out tests involving v:none as Nvim has removed it.
Problem: No tests for comparing special variables. Error in jsondecode()
not reported. test_json does not work Japanse system.
Solution: Set scriptencoding. (Ken Takata) Add a few more tests. Add error.
6039c7f053
Code is N/A. This only ports the tests.
Comment out tests involving v:none as Nvim has removed it.
Problem: Expressions "0 + v:true" and "'' . v:true" cause an error.
Solution: Return something sensible when using a special variable as a
number or as a string. (suggested by Damien)
17a13437c9
Code is N/A. This only ports the tests.
Comment out tests involving v:none as Nvim has removed it.
Problem: pathshorten() only supports using one character.
Solution: Add an argument to control the length. (closesvim/vim#7006)
6a33ef0deb
Cherry-pick a line in test from patch 8.2.0634.
Use Nvim's config paths in docs.
shorten_dir() returning a pointer looks a bit confusing here, as it is
actually the same pointer passed to it, and it doesn't really reduce
much code, so change it back to void.
Assigning rettv->vval.v_string = NULL is not needed if a pointer is
within 64 bits. While this is usually the case, I'm not sure if it can
be taken for granted.
Neovim currently places its own loader for searching runtime files at
the front of `package.loaders`. This prevents any preloaders in
`package.preload` from being used. This change fixes that by moving the
default package preloader to run before Neovim's loader. For example,
LuaJIT provides preloaders for the built-in modules `ffi` and `bit`, so
this optimisation will improve the loading of those.
Problem: curpos() does not accept a string argument as before.
solution: Make a string argument work again. (Yegappan Lakshmanan,
closesvim/vim#76909ebcf231bd
Problem: Not easy to get mark en cursor posotion by character count.
Solution: Add functions that use character index. (Yegappan Lakshmanan,
closesvim/vim#7648)
6f02b00bb0
Problem: A popup created with "cursorline" will ignore "firstline".
Solution: When both "cursorline" and "firstline" are present put the cursor
on "firstline". (closesvim/vim#7000) Add the "winid" argument to
getcurpos().
99ca9c4868
Skip popup window related code.
Cherry-pick all of Test_getcurpos_setpos() from patch 8.2.0610.