assert() is compiled out for release builds, but we don't want to
continue running in these impossible situations.
This also resolves the "implicit fallthrough" warnings for the asserts
in switch cases.
Problem: No error for quickfix commands with negative range.
Solution: Add ADDR_UNSIGNED and use it for quickfix commands. Make
assert_fails() show the command if the error doesn't match.
25190db225
N/A patches for version.c:
vim-patch:8.2.0113: "make cmdidxs" fails
Problem: "make cmdidxs" fails.
Solution: Allow address for ":cquit". Add --not-a-term to avoid a delay.
9b24dfcb9f
Problem: Code for viminfo support is spread out.
Solution: Move to code to viminfo.c. (Yegappan Lakshmanan, closesvim/vim#4686)
defa067c54
N/A patches for version.c:
vim-patch:8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Problem: A lot of code is shared between vim.exe and gvim.exe.
Solution: Optionally put the shared code in vim.dll. (Ken Takata,
closesvim/vim#4287)
afde13b62b
vim-patch:8.2.2247: VMS: various smaller problems
Problem: VMS: various smaller problems.
Solution: Fix VMS building and other problems. (Zoltan Arpadffy)
467676d468
Problem: Many type casts are used for vim_strnsave().
Solution: Make the length argument size_t instead of int. (Ken Takata,
closesvim/vim#5633) Remove some type casts.
df44a27b53
N/A patches for version.c:
vim-patch:8.2.0315: build failure on HP-UX system
Problem: Build failure on HP-UX system.
Solution: Use LONG_LONG_MIN instead of LLONG_MIN. Add type casts for switch
statement. (John Marriott)
c593bec412
vim-patch:8.2.1052: build failure with older compilers
Problem: Build failure with older compilers.
Solution: Move declaration to start of block.
7acde51832
vim-patch:8.2.2229: build failure without the +eval feature
Problem: build failure without the +eval feature.
Solution: Add #ifdef.
39cb2dab18
vim-patch:8.2.2232: compiler error for falling through into next case
Problem: Compiler error for falling through into next case.
Solution: Move FALLTHROUGH below the #endif
9618a25b9c
Problem: :exe command line completion only works for first argument.
Solution: Skip over text if more is following. (closesvim/vim#7546)
4941b5effd
Port "IS_WHITE_OR_NUL" macro from patch v8.2.0562
as "ascii_iswhite_or_nul()" inline function.
N/A patches for version.c:
vim-patch:8.2.0782: cannot build with Lua on MS-Windows
Problem: Cannot build with Lua on MS-Windows.
Solution: Add DLL symbol for luaL_Loadstring. (Ken Takata)
df1643a6a7
vim-patch:8.2.0856: CTRL-S stops output
Problem: CTRL-S stops output.
Solution: Invert the IXON flag. (closesvim/vim#6166)
928eec649b
vim-patch:8.2.1212: cannot build with Lua 5.4
Problem: Cannot build with Lua 5.4.
Solution: Use luaL_typeerror instead defining it. (closesvim/vim#6454)
5551b131da
vim-patch:8.2.2211: MS-Windows: can't load Python dll if not in the path
Problem: MS-Windows: can't load Python dll if not in the path.
Solution: Use the InstallPath registry entry. (Kelvin Lee, closesvim/vim#7540)
b2f9e0e2c5
Problem: :unlet $VAR does not work properly.
Solution: Make ":lockvar $VAR" fail. Check the "skip" flag.
7e0868efcf
Include patch 8.2.0601 changes so that ex_unletlock() can execute a callback if there are no errors.
working on get_foldtext and wanted to get rid of the curwin backup/restore.
Turns out it's not possible else f_foldtext is run on the same window.
Kept the cleanup anyway.
Problem: Coverity warns for using an uninitialized variable.
Solution: Initialize to NULL.
896ad2c33e
N/A patches for version.c:
vim-patch:8.1.1749: Coverity warns for using negative index
Problem: Coverity warns for using negative index.
Solution: Move using index inside "if".
736cd2cfbe
vim-patch:8.2.0579: Coverity warns for unused value
Problem: Coverity warns for unused value.
Solution: Change order and use "else if".
4d5d0dfe94
vim-patch:8.2.2025: Amiga: Not all colors are used on OS4
Problem: Amiga: Not all colors are used on OS4.
Solution: Adjust the #ifdef to include __amigaos4__. (Ola Söder,
closesvim/vim#7328)
2d718267f4
No unmerged Vim patch, applicable to Neovim, depend on WinBar feature.
It was merged only for merging Vim patches.
It is currently useless in Neovim.
Remove it to avoid rendering issues.
Close https://github.com/neovim/neovim/issues/12689
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: Dictionary with string keys is longer than needed.
Solution: Use *{key: val} for literaly keys.
d5abb4c877
Vim's popup,textprop features are N/A.
Neovim has not polyfilled their APIs.
Skip docs and tests for these features.
Problem: Computing function length name in many places.
Solution: compute name length in call_func().
6ed8819822
In call_func(), reassign "len" param to (int)STRLEN(funcname)
instead of using vim_strsave() which runs strlen().
"len" param is checked for v:lua functions.
call_func() states that strlen() is used if "len" is set to -1.
Problem: Still not enough memory allocated when converting string with
special character.
Solution: Reserve space for expanding K_SPECIAL. (closesvim/vim#6130)
1919371b2b
Problem: Not enough memory allocated when converting string with special
character.
Solution: Reserve space for modifier code. (closesvim/vim#6130)
f7271e8316
Cherry-pick Test_eval(), Test_nr2char() from patch 8.2.0448.
- Windows environment variables are semicolon-separated, but some logic
was assuming colon (:). This broke initialization and parsing of
XDG_CONFIG_DIRS, XDG_DATA_DIRS, 'runtimepath', stdpath(), etc.
- test/defaults_spec: enable tests on Windows
ref #12793
vim-patch:8.2.1054: not so easy to pass a lua function to Vim
vim-patch:8.2.1084: Lua: registering function has useless code
I think I have also opened up the possibility for people to use these
callbacks elsewhere, since I've added a new struct that we should be
able to use.
Also, this should allow us to determine what the state of a list is in
Lua or a dictionary in Lua, since we now can track the luaref as we go.
Problem: When evaluating 'statusline' the current window is unknown.
(Daniel Hahler)
Solution: Set "g:actual_curwin" for %{} items. Set "g:statusline_winid"
when evaluationg %!. (closesvim/vim#4406, closesvim/vim#3299)
1c6fd1e100
Problem: Setting a boolean option to v:false does not work.
Solution: Do not use the string representation of the value. (Christian
Brabandt, closesvim/vim#5974)
65d032c779
Problem: Cannot delete a match from another window. (Paul Jolly)
Solution: Add window ID argument to matchdelete(), clearmatches(),
getmatches() and setmatches(). (Andy Massimino, closesvim/vim#4178)
aff749145e
Problem: Using closure may consume a lot of memory.
Solution: unreference items that are no longer needed. Add a test. (Ozaki
Kiichi, closesvim/vim#3961)
209b8e3e3b