Problem: Recursive use of getcmdline() still not protected.
Solution: Instead of saving the command buffer when making a call which may
cause recursiveness, save the buffer when actually being called
recursively.
438d176e35
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Clear ccline earlier in save_cmdline() if ccline is in use so that
ccline.prev_ccline can be assigned.
Problem: Sort fails if the sort compare function returns 999.
Solution: Adjust value to -1 / 0 / 1. (Yasuhiro Matsumoto, closesvim/vim#8884)
c04f62346b
Consolidate commit author details
- Prefer user/email with either most commits or most recent commit
- Generally less preference for @users.noreply.github.com emails
- Avoided consolidating common names
Problem: Redrawing too often when 'relativenumber' is set.
Solution: Only redraw when the cursor line changed. (Lewis Russell,
closesvim/vim#10040)
1624639ec8
Problem: Some boolean options use "long" instead of "int".
Solution: Adjust the type. (James McCoy, closesvim/vim#10033)
8be423b7ac
N/A patches for version.c:
vim-patch:8.2.4641: may mark the wrong window for redrawing
Problem: May mark the wrong window for redrawing.
Solution: Use redraw_win_later(). (closesvim/vim#10032)
471b3aed3e
Problem: 'cursorline' not always updated with 'cursorlineopt' is
"screenline".
Solution: Call check_redraw_cursorline() more often. (closesvim/vim#10013)
bf269ed0b0
Code was reverted in patch 8.2.4638, so this just ports the test.
Problem: Superfluous check if a redraw is needed for 'cursorline'.
Solution: Remove check_redraw_cursorline(). (closesvim/vim#10030, closesvim/vim#10029)
3e559cd884
redraw_after_callback() is N/A.
Omits changes that just revert code from patch 8.2.4630.
helpers.source() was a hack to work around the lack of anonymous
:source. Its "create tempfile" behavior is not a required part of most
tests that use it.
Some tests still need the old "create tempfile" behavior either because
they test SID behavior, or because of missing nvim_exec features: #16071
Since https://github.com/neovim/neovim/pull/17790 being merged means we can assume the value of `STATUS_HEIGHT` to always be 1, this commit removes code that's unnecessary if `STATUS_HEIGHT` is 1.
Problem: Crash when switching window in BufWipeout autocommand.
Solution: Put any buffer in the window to avoid it being NULL.
(closesvim/vim#10024)
347538fad0
win_init_empty() cannot be made static because it is used in autocmd.c
1. Add new pattern `runtime/doc/**`. This is a common case were the
contributor modifies only the help file but the doc gen would discard
their changes.
2. Add to the output what the changes after running doc gen would be.
[skip ci]
Problem: May end up with no current buffer.
Solution: When deleting the current buffer to not pick a quickfix buffer as
the new current buffer.
e3537aec2f
The test cannot be ported as-is because Nvim doesn't support "-Z"
command line argument. Just use only "--clean" instead.
Problem: Using freed memory with :lopen and :bwipe.
Solution: Do not use a wiped out buffer.
9b4a80a665
Cherry-pick some indent changes from patch 8.2.1432.
Problem: Visual area not fully updated when removing sign in Visual mode
while scrolling.
Solution: Adjust check for topline. (closesvim/vim#10017)
abb6fbd14d
Problem: Autocmd not executed when editing a directory ending in a path
separator inside try block.
Solution: Return NOTDONE instead of FAIL. (closesvim/vim#8885)
40fa12aea3
Uses of `getline` in `filetype.lua` currently assume it always returns a
string. However, if the buffer is unloaded when filetype detection runs,
`getline` returns `nil`. Fixing this prevents errors when filetype
detection is run on unloaded buffers.
vim.tbl_get takes a table with subsequent string arguments (variadic) that
index into the table. If the value pointed to by the set of keys exists,
the function returns the value. If the set of keys does not exist, the
function returns nil.