Problem: Confusing error message when range is not allowed.
Solution: With ADDR_NONE give e_norange. Change e_invaddr to e_invrange for
consistency.
0acae7acc4
Problem: Flags for Ex commands may clash with other symbols.
Solution: Prepend with EX_.
8071cb2c64
N/A patches for version.c:
vim-patch:8.1.1672: "make cmdidxs" doesn't work
Problem: "make cmdidxs" doesn't work.
Solution: Update macro names. (Naruhiko Nishino, closesvim/vim#4660)
d94ac0caca
Error message for src/nvim/ex_cmds.lua
which omits the "EX_" prefix for the flags.
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: Ex command info contains confusing information.
Solution: When using the NOTADR flag use ADDR_OTHER for the address type.
Cleanup code using NOTADR. Check for errors in
create_cmdidxs.vim. Adjust Makefile to see the errors.
b731689e85
Use Lua's "assert()" to make an invalid command definition
a compilation error.
Misc changes:
Remove 'RESTRICT' flag.
Neovim does not support "restricted" mode
since commit 7777532ceb.
TODO:
Do not generate files before Lua assertions
so that CMake always runs the generator script
if the previous build has an invalid command definition.
Problem: The generated sessions file does not restore tabs properly if :lcd
was used in one of them.
Solution: Create the tab pages before setting the directory. (Yee Cheng
Chin, closesvim/vim#3152)
26d4b896a7
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: Mode is not cleared when leaving Insert mode with mapped Esc.
Solution: Clear the mode when redraw_cmdline is set. (closesvim/vim#4269)
4c25bd785a
Patch 8.1.1241 is too hard to port in 1 commit.
https://github.com/neovim/neovim/pull/13079 is too hard to review
and seems to be blocked.
Use 'int' type for some addr variables to suppress 'switch/case' warnings.
In 8f288698e4, these commands were
incorrectly added to the switch that determines whether a command needs
to parse for "|" on their own when ea.skip is set.
This means that "if 0 | pyxfile foo.py | endif" would execute foo.py
when it should do nothing. Removing them from the switch skips to the
end of `do_one_cmd()`, avoiding running any script.
Problem: Reading past the end of the command line.
Solution: Check for NUL. (closesvim/vim#7204)
caf73dcfad
Cherry-pick undo_cmdmod() from patch 8.2.1137.
N/A patches for version.c:
vim-patch:8.1.2050: popup window test fails in some configurations
Problem: Popup window test fails in some configurations. (James McCoy)
Solution: Clear the command line.
7e0f462db5
vim-patch:8.2.0913: code for resetting v:register is duplicated
Problem: Code for resetting v:register is duplicated.
Solution: Add reset_reg_var().
439c036ed0
reset_reg_var() is not ported.
Use set_reg_var(get_default_register_name()) instead.
vim-patch:8.2.1913: GTK GUI: rounding for the cell height is too strict
Problem: GTK GUI: rounding for the cell height is too strict.
Solution: Round up above 15/16 of a pixel. (closesvim/vim#7203)
70cf45810c
vim-patch:8.2.1922: Win32: scrolling problems when part of window is off-screen
Problem: Win32: scrolling doesn't work properly when part of window is
off-screen.
Solution: Fall back to GDI scrolling if part of the window is off-screen.
Handle multi-monitor setup better. (Ken Takata, closesvim/vim#7219)
185577e47e
Problem: Cannot use address type "other" with with user command.
Solution: Add "other" to the list. (Daniel Hahler, closesvim/vim#3655) Also
reject "%" for commands with "other". Add some more tests.
51a7454cd2
Problem: 'verbose' value 16 causes duplicate output.
Solution: Combine levels 15 and 16 into one message. (Christian Brabandt,
closesvim/vim#6153)
823654bc06
Problem: Cannot see each command even when 'verbose' is set.
Solution: List each command when 'verbose' is at least 16.
4facea310c
Cherry-pick Test_tselect() from patch 8.1.2141.
It requires screendump so it won't run.
I cannot port it to a lua screen test.
Problem: Get E14 while typing command :tab with 'incsearch' set.
Solution: Do not give an error when looking for the command. (Yasuhiro
Higashi)
548e598573
Problem: ":argdel" does not work like ":.argdel" as documented. (Alexey
Demin)
Solution: Make ":argdel" work like ":.argdel". (closesvim/vim#6727)
Also fix giving the error "0 more files to edit".
7b22117c4e
enum value can be inferred from previous member.
Vim was doing this manually via relative #define.
It's not needed but it is confusing for me to update an array index
after the array value and to configure the array index
such that it is dependent on other array indices.
One missing #define and everything below breaks.
Problem: Cannot redefine user command without ! in same script
Solution: Allow redefining user command without ! in same script, like with
functions.
55d4691308
Problem: Semicolon search does not work in first line.
Solution: Allow the cursor to be in line zero. (Christian Brabandt,
closesvim/vim#5996)
0e71704b77
Pass the window in which to create/delete folds instead of using the
global "curwin" (current window).
Preliminary work for a fold API.
TODO: I kept changed_lines prototype unchanged. This should be updated
when a fold API sees the light.