When entering terminal mode, cursorlineopt is no longer entirely
disabled. Instead, it's set to `number`. Doing so ensures that users
using `set cursorline` combined with `set cursorlineopt=number` have
consistent highlighting of the line numbers, instead of this being
disabled when entering terminal mode.
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
Before #15889, we used our fork of libuv which supports Windows 7/8.
After #15889, we use upstream libuv, which does not support Windows 7 and lacks
mouse/altbuf support for Windows 8 console.
Problem: Warnings from MinGW compiler. (John Marriott) Json test fails when
building without +float feature.
Solution: Init variables. Fix Json parsing. Skip a few tests that require
the +float feature.
a5d5953d59
Omit vim9 changes.
vim9 internal implementation is N/A,
similar to the `vimscript-*` features.
N/A patches for version.c:
vim-patch:8.1.0737: compiler warning for uninitialized variable
Problem: Compiler warning for uninitialized variable.
Solution: Add initialization. (John Marriott)
e519dfd713
vim-patch:8.1.1385: signed/unsigned compiler warning
Problem: Signed/unsigned compiler warning.
Solution: Use STRLEN() instead of strlen().
71de720c2c
vim-patch:8.2.0165: Coverity warning for using NULL pointer
Problem: Coverity warning for using NULL pointer.
Solution: Add missing "else".
5b18c248d3
vim-patch:8.2.0166: Coverity warning for using uninitialized variable
Problem: Coverity warning for using uninitialized variable.
Solution: Check for failure.
07da94b0f0
vim-patch:8.2.0167: Coverity warning for ignoring return value
Problem: Coverity warning for ignoring return value.
Solution: Check the return value and jump if failed.
58ceca5cae
"src/testdir/test_vim9*.vim" files are N/A
because vim9 code is currently unsupported.
vim-patch:8.2.0168: Coverity warning for assigning NULL to an option
Problem: Coverity warning for assigning NULL to an option.
Solution: Use empty string instead of NULL.
97a2af39cd
vim-patch:8.2.0169: Coverity warning for dead code
Problem: Coverity warning for dead code.
Solution: Check if inside try-finally.
8cbd6dfc0c
vim-patch:8.2.0170: Coverity warning for ignoring return value
Problem: Coverity warning for ignoring return value.
Solution: Check the return value and return if failed.
a6d536829a
vim-patch:8.2.0172: Coverity warning for not restoring character
Problem: Coverity warning for not restoring character.
Solution: Restore the character also in case of failure.
4549ece47c
vim-patch:8.2.0254: compiler warning for checking size_t to be negative
Problem: Compiler warning for checking size_t to be negative.
Solution: Only check for zero. (Zoltan Arpadffy)
ae8d2de3a9
vim-patch:8.2.0326: compiler warning for using uninitialized variable
Problem: Compiler warning for using uninitialized variable. (Yegappan
Lakshmanan)
Solution: Do not jump to failed but return.
d5aec0ced1
vim-patch:8.2.3387: compiler warning for non-static function
Problem: Compiler warning for non-static function.
Solution: Make the function static. (Dominique Pellé, closesvim/vim#8816)
de05ae7158
Adds the following API functions.
- nvim_buf_set_mark(buf, name, line, col)
* Set marks in a buffer.
- nvim_buf_del_mark(buf, name)
* Delete a mark that belongs to buffer.
- nvim_del_mark(name)
* Delete a global mark.
- nvim_get_mark(name)
* Get a global mark.
Tests:
- Adds test to all the new api functions, and adds more for the existing
nvim_buf_get_mark.
* Tests include failure cases.
Documentation:
- Adds documentation for all the new functions, and improves the
existing fucntion docs.
* Add optional second table argument to vim.json.decode which takes
a table 'luanil' which can include the 'object' and/or 'array' keys. These
options use luanil when converting NULL in json objects and arrays
respectively. The default behavior matches the original lua-cjson.
* Remove recursive_convert_NIL function from rpc.lua, use
vim.json.decode with luanil = { object = true } instead. This removes a hotpath
in the json deserialization pipeline by dropping keys with json NULL
values throughout the deserialized table.
Move away from providing completion with ExpandRTDir to ExpandGeneric
providing the function get_healthcheck_name which caches the results for
the current command line prompt.
It does the almost the same thing the Vim function 'get_healthcheck'
implemented in 'runtime/autoload/health.vim' does.
Do not copy a lot of lua strings (dict keys) to just strequal() them
Just compare them directly to a dedicated hash function.
feat(generators): HASHY McHASHFACE
win_set_buf can trigger autocmds if noautocmd=false. If they close the window,
code afterwards will dereference the freed win_T* wp pointer.
This interaction became possible after commit 1def3d1542.
The reason deleting curbuf crashes, and not the buf passed to
`nvim_open_win`, is because the float initially edits curbuf (`win_init`)
until it's later set to edit buf (windows from `:new` and `:split <buf>`
behave similiarly: approx. `:split`, then `:buffer <buf>`).
`do_buffer` closes windows when their edited buffer is deleted (unless
it's the only window; N/A for floats), so the float closes when curbuf
is deleted, so we need to check `win_valid` after `win_set_buf` too.
Closes#15548
N, W, S, E are all inclusive, i.e., always anchor to the exact corner of the
window (including border). This line may also need change in this case (change
0 to -1):
This is most consistent and easiest to reason about, especially with GUIs whose
border do not need to have width/height of 1/1 in cell units.
Fix#15789
Problem:
Since 2f06413dfb#13042, "ESC+c" sequence is treated as "ESC c"
instead of "M-c" (ALT/META+c) when not mapped, aka "fallthrough"
behavior. But "isolated" (non-ALT/META) mappings to ESC and c were not
resolved. This behavior is especially confusing for the TUI.
Solution:
Resolve isolated ESC, c mappings when there is no M-c mapping.
Change ins_char_typebuf() to escape CSI, K_SPECIAL.
fixes#13086fixes#15869
fix(runtime): add compressed {&packpath}/start/*/pack/*[/after] representation to &rtp
by suggestion by at-tpope
Summary:
We can add XDG_DATA_DIR/nvim/site/pack/*/start/* (et al) as an unexpanded wildchar to &rtp which keeps it both short and explicit and still supporting globpath(&rtp, ...).
ref #15101
* refactor: format with uncrustify
* fixup(dundar): fix functions comments
* fixup(dundar): remove space between variable and ++/--
* fixup(dundar): better workaround for macro attributes
This is done to be able to better use uncrustify rules for macros
* fixup(justin): make preprocessors follow neovim style guide