| Commit message (Collapse) | Author | Age |
... | |
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | | |
Problem: Can add invalid bytes with :spellgood.
Solution: Check for a valid word string.
https://github.com/vim/vim/commit/7c824682d2028432ee082703ef0ab399867a089b
|
| |/ /
| | |
| | |
| | |
| | | |
Problem: '[ and '] marks may be wrong after undo.
Solution: Adjust the '[ and '] marks if needed. (closes vim/vim#10407, closes vim/vim#1281)
https://github.com/vim/vim/commit/82444cefa3fef87624a078ea86a72af7ef4ef42e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`:tabmove` takes either an argument (`:tabmove -`) or an address (`:-tabmove`).
The code assumed that `:tabmove` is the first command on the cmdline, but that
is not the case when using additional modifiers like `:silent`.
Make the addr parsing more robust by searching the command first, then going
back to check for a potential address `-`.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
See: https://gitlab.freedesktop.org/xdg/xdg-specs/-/commit/4f2884e16db35f2962d9b64312917c81be5cb54b
- Move session persistent data to $XDG_STATE_HOME Change 'directory',
'backupdir', 'undodir', 'viewdir' and 'shadafile' default location to
$XDG_STATE_HOME/nvim.
- Move logs to $XDG_STATE_HOME, too.
- Add stdpath('log') support.
Fixes: #14805
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
At the moment of comparison, the pointer save_curwin can be invalid (as
suggested by the comment) because it has been free'd. Worst, the new
curwin could have been re-allocated to that same pointer, altering the
execution flow unpredictably.
While there are many other potential similar cases to fix in the
codebase, the presented scenario is not hypothetical and does happen in
practice (while spawning new windows from fzf for instance).
There are numerous other instances of curwin comparisons in the
codebase, and they may need further investigation.
closes #16941
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Most code in keymap.h is for keycode definitions, while most code in
keymap.c is for the parsing and conversion of keycodes.
The name "keymap" may also make people think these two files are for
mappings, while in fact keycodes are used even when no mappings are
involved, so "keycodes" should be a better file name than "keymap".
|
| | |
| | |
| | |
| | | |
- Use consistent formatting for args docs.
- Clarify inclusivity/exclusivity in `nvim_buf_[get|set]_text`.
|
| | |
| | |
| | | |
Closes #18526.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
positions (#18525)
Problem: matchfuzzypos() with "matchseq" does not have all positions.
Solution: Also add a position for white space. (closes vim/vim#10404)
https://github.com/vim/vim/commit/9af2bc075169e14fd06ed967d28eac7206d21f36
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Crash when matching buffer with invalid pattern.
Solution: Check for NULL regprog.
https://github.com/vim/vim/commit/a59f2dfd0cf9ee1a584d3de5b7c2d47648e79060
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: NULL pointer access when using invalid pattern.
Solution: Check for failed regexp program.
https://github.com/vim/vim/commit/8e4b76da1d7e987d43ca960dfbc372d1c617466f
|
| |\ \
| | |/
| |/| |
feat(api): add `nvim_cmd`
|
| | |
| | |
| | |
| | | |
Adds the API function `nvim_cmd` which allows executing an Ex-command through a Dictionary which can have the same values as the return value of `nvim_parse_cmd()`. This makes it much easier to do things like passing arguments with a space to commands that otherwise may not allow it, or to make commands interpret certain characters literally when they otherwise would not.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Off-by-one error in in statusline item.
Solution: Subtrace one less. (closes vim/vim#10394, closes vim/vim#5599)
https://github.com/vim/vim/commit/57ff52677bf5ba1651281ffe40505df8feba4a36
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
https://github.com/vim/vim/commit/249591057b4840785c50e41dd850efb8a8faf435
A hunk from the patch depends on patch 8.2.4861, which hasn't been
ported yet, but that should be easy to notice.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#18493)
Problem: Trailing backslash may cause reading past end of line.
Solution: Check for NUL after backslash.
https://github.com/vim/vim/commit/53a70289c2712808e6d4e88927e03cac01b470dd
N/A patches for version.c:
vim-patch:8.2.4926: #ifdef for crypt feature around too many lines
Problem: #ifdef for crypt feature around too many lines.
Solution: Move code outside of #ifdef. (closes vim/vim#10388)
https://github.com/vim/vim/commit/51f0bc31d3cf512508419064faac0e5b7e52c98b
|
| |
| |
| |
| |
| |
| |
| | |
Problem: maparg() may return a string that cannot be reused.
Solution: use msg_outtrans_special() instead of str2special().
(closes vim/vim#10384)
https://github.com/vim/vim/commit/0519ce00394474055bd58c089ea90a19986443eb
|
| |
| |
| |
| |
| |
| | |
Problem: Test checks for terminal feature unnecessarily.
Solution: Remove CheckRunVimInTerminal. (closes vim/vim#10383)
https://github.com/vim/vim/commit/194843028ed486366b89e8f7d3bdd611a11ce7b4
|
| |
| |
| |
| |
| |
| | |
Problem: Conceal character from matchadd() displayed too many times.
Solution: Check the syntax flag. (closes vim/vim#10381, closes vim/vim#7268)
https://github.com/vim/vim/commit/9830db63057db76044eca89cc4cfb2758ae7a543
|
| |
| |
| |
| |
| |
| | |
Problem: Mouse test fails on MS-Windows.
Solution: Set 'mousemodel' to "extend".
https://github.com/vim/vim/commit/b370771bffc8395204f53209b69e35dff95a9237
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Mouse in Insert mode test fails.
Solution: Fix the text and check relevant positions.
https://github.com/vim/vim/commit/8e8dc9b32326c6fbd37671b6072296404b481d4a
Use nvim_input_mouse() to set mouse position, and discard mouse event
using getchar().
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:8.2.4903: cannot get the current cmdline completion type and position
Problem: Cannot get the current cmdline completion type and position.
Solution: Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita,
closes vim/vim#10344)
https://github.com/vim/vim/commit/79d599b8772022af1d657f368c2fc97aa342c0da
vim-patch:8.2.4910: imperfect coding
Problem: Imperfect coding.
Solution: Make code nicer.
https://github.com/vim/vim/commit/9ff7d717aa3176de5c61de340deb93f41c7780fc
|
| |
| |
| |
| |
| | |
Also normalize some types. use "size_t" for unsigned array offsets.
Fix -Wconversion issues missed as screen.c is missing this check.
|
| |
| |
| |
| |
| | |
Problem: No text formatting for // comment after a statement.
Solution: format a comment when the 'c' flag is in 'formatoptions'.
https://github.com/vim/vim/commit/48a8a833033e10fc1eba96f2fc8dd19c2408eddf
|
| |
| |
| |
| |
| |
| |
| |
| | |
(#18463)
Problem: Some users do not want a line comment always inserted.
Solution: Add the '/' flag to 'formatoptions' to not repeat the comment
leader after a statement when using "o".
https://github.com/vim/vim/commit/2bf875f881f7c6f6900bc0eb2a93a552db894109
|
| |\
| | |
| | | |
refactor: replace char_u variables and functions with char
|
| | |
| | |
| | |
| | | |
Work on https://github.com/neovim/neovim/issues/459
|
| |\ \
| | | |
| | | | |
refactor(decor): use decor levels properly
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| |
| | | |
| | | | |
dundargoc/build/clint/remove-function-size-warning
build(clint): remove "function size is too large" warning
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This warning is essentially only triggered for ported vim functions.
It's unlikely that we'll refactor vim functions solely based on their
size since it'd mean we'd greatly deviate from vim, which is a high cost
when it comes to importing the vim patches. Thus, this warning only
serves as an annoyance and should be removed.
|
| |\ \
| | | |
| | | | |
fix(api): make `nvim_parse_cmd` work correctly with both range and count
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It seems range and count can be used together in commands. This PR fixes
the behavior of `nvim_parse_cmd` for those cases by removing the mutual
exclusivity of "range" and "count". It also removes range line number
validation for `nvim_parse_cmd` as it's not its job to validate the
command.
|
| |/ / |
|
| |/
| |
| |
| |
| |
| | |
Problem: Coverity warns for uninitialized variable.
Solution: Set the value to zero.
https://github.com/vim/vim/commit/05c1734c4f70a0d7fb2f06444e26afda018f8795
|
| |\
| | |
| | | |
refactor: enable -Wconversion warning for edit.c
|
| | |
| | |
| | |
| | | |
Work on https://github.com/neovim/neovim/issues/567
|
| |/
| |
| |
| |
| |
| | |
Problem: "P" in Visual mode still changes some registers.
Solution: Make "P" in Visual mode not change any register. (Shougo
Matsushita, closes vim/vim#10349)
https://github.com/vim/vim/commit/509142ab7a9db32114b6d0949722b9133c9c22f2
|
| |\
| | |
| | | |
refactor: upgrade uncrustify configuration to version 0.75
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Uncrustify version 0.75 assumes the macro inside the enum is an enum
element, and thus adds a comma after it. This breaks neovim and makes it
impossible to build it.
|
| |\ \
| | |/
| |/| |
fix(api): make `nvim_parse_cmd` propagate errors
|
| | |
| | |
| | |
| | |
| | | |
Makes `nvim_parse_cmd` propagate any errors that occur while parsing to
give the user a better idea of what's wrong with the command.
|
| |\ \
| | | |
| | | | |
feat(api): add `group_name` to `nvim_get_autocmds`
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
refactor/remove char u
|
| | |/ /
| | | |
| | | |
| | | | |
Work on https://github.com/neovim/neovim/issues/459
|
| |\ \ \
| | |_|/
| |/| | |
fix: display global statusline correctly with ext_messages
|