| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
1. The main log routine does not protect itself against recursion.
log_lock() doesn't guard against recursion, it would deadlock...
2. 22b52dd462e5 (#11501) regressed 6f27f5ef91b3 (#10172), because
set_init_1..process_spawn tries to log (see backtrace below), but the
mutex isn't initialized yet. Even if the mutex were valid, we don't
want early logging to fallback to stderr because that can break
embedders when stdio is used for RPC.
frame 1: 0x00000001001d54f4 nvim`open_log_file at log.c:205:7
frame 2: 0x00000001001d5390 nvim`logmsg(log_level=1, context="UI: ", func_name=0x0000000000000000, line_num=-1, eol=true, fmt="win_viewport") at log.c:150:20
frame : 0x000000010039aea2 nvim`ui_call_win_viewport(grid=2, win=1000, topline=0, botline=1, curline=0, curcol=0, line_count=1) at ui_events_call.generated.h:321:3
frame 4: 0x00000001003dfefc nvim`ui_ext_win_viewport(wp=0x0000000101816400) at window.c:939:5
frame 5: 0x00000001003ec5b4 nvim`win_ui_flush at window.c:7303:7
frame 6: 0x00000001003a04c0 nvim`ui_flush at ui.c:508:3
frame 7: 0x00000001002966ba nvim`do_os_system(argv=0x0000600000c0c000, input=0x0000000000000000, len=0, output=0x0000000000000000, nread=0x00007ff7bfefe830, silent=false, forward_output=false) at shell.c:894:3
frame 8: 0x0000000100295f68 nvim`os_call_shell(cmd="unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/var/folders/gk/3tttv_md06987tlwpyp62jrw0000gn/T/nvimwwvwfD/0 ~foo", opts=kShellOptExpand | kShellOptSilent | kShellOptHideMess, extra_args=0x0000000000000000) at shell.c:663:18
frame 9: 0x0000000100295845 nvim`call_shell(cmd="unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/var/folders/gk/3tttv_md06987tlwpyp62jrw0000gn/T/nvimwwvwfD/0 ~foo", opts=kShellOptExpand | kShellOptSilent | kShellOptHideMess, extra_shell_arg=0x0000000000000000) at shell.c:712:14
frame 10: 0x0000000100294c6f nvim`os_expand_wildcards(num_pat=1, pat=0x00007ff7bfefeb20, num_file=0x00007ff7bfefee58, file=0x00007ff7bfefee60, flags=43) at shell.c:328:7
...
frame 23: 0x000000010028ccef nvim`expand_env_esc(srcp=",~foo", dst="~foo", dstlen=4094, esc=false, one=false, prefix=0x0000000000000000) at env.c:673:17
frame 24: 0x000000010026fdd5 nvim`option_expand(opt_idx=29, val=",~foo") at option.c:1950:3
frame 25: 0x000000010026f129 nvim`set_init_1(clean_arg=false) at option.c:558:19
frame 26: 0x00000001001ea25e nvim`early_init(paramp=0x00007ff7bfeff5f0) at main.c:198:3
frame 27: 0x00000001001ea6bf nvim`main(argc=1, argv=0x00007ff7bfeff848) at main.c:255:3
Solution:
1. Check for recursion, show "internal error" message.
- FUTURE: when "remote TUI" is merged, can we remove log_lock()?
2. Skip logging if log_init wasn't called yet.
|
|
|
|
|
| |
This avoids generating khash tables at runtime, and is consistent with
how evalfuncs lookup work.
|
|\
| |
| | |
feat(api): pass structured modifiers to commands
|
| |
| |
| |
| |
| |
| |
| | |
Adds an `smods` key to `nvim_create_user_command` Lua command callbacks,
which has command modifiers but in a structured format. This removes the
need to manually parse command modifiers. It also reduces friction in
using `nvim_cmd` inside a Lua command callback.
|
| | |
|
|/
|
|
|
| |
Problem: Cursor position may be invalid after "0;" range.
Solution: Check the cursor position when it was set by ";" in the range.
https://github.com/vim/vim/commit/4d97a565ae8be0d4debba04ebd2ac3e75a0c8010
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously, there was a bug where setting the local value of 'winbar' to
itself would cause winbar to appear on a floating window, which is
undesirable. This fix makes it so that it's explicitly required for the
window-local value of 'winbar' for a floating window to be set in order
for winbar to be shown on that window.
|
|
|
|
|
| |
Problem: Using freed memory with "]d".
Solution: Copy the pattern before searching.
https://github.com/vim/vim/commit/e2fa213cf571041dbd04ab0329303ffdc980678a
|
|\
| |
| | |
feat(lua): allow some viml functions to run in fast
|
| |
| |
| |
| |
| | |
This change adds the necessary plumbing to annotate functions in funcs.c
as being allowed in run in luv fast events.
|
| | |
|
| |
| |
| | |
related vim-8.2.{4402,4639}
|
| |
| |
| |
| |
| | |
Problem: Hoon and Moonscript files are not recognized.
Solution: Add filetype patterns. (Goc Dundar, closes vim/vim#10478)
https://github.com/vim/vim/commit/bf82df0dd48a26404b92a596498b6892c9572c53
|
|\ \
| | |
| | | |
ci(mingw): only enable -municode for MinGW
|
| | |
| | |
| | |
| | |
| | |
| | | |
When enabling -municode for MSVC the following warning shows up:
"LINK : warning LNK4044: unrecognized option '/municode'; ignored".
This will ensure cleaner logs for the MSVC job.
|
|/ /
| |
| |
| |
| | |
Problem: Access before start of text with a put command.
Solution: Check the length is more than zero.
https://github.com/vim/vim/commit/2a585c85013be22f59f184d49612074fd9b115d7
|
| | |
|
|\ \
| | |
| | | |
feat(api): add `win` and `buf` to `nvim_set_option_value`
|
| |/
| |
| |
| | |
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| | |
Problem: Cannot select one character inside ().
Solution: Do not try to extend the area if it is empty. (closes vim/vim#10472,
closes vim/vim#6616)
https://github.com/vim/vim/commit/53737b5eeeab1f95964f78b055d6094fab559533
|
| | |
|
| |
| |
| |
| |
| | |
Problem: Filetype test table is not properly sorted.
Solution: Sort by filetype. (Doug Kearns)
https://github.com/vim/vim/commit/aa9729b652aa93b547b5c7006f54a143d99ea149
|
| |
| |
| |
| |
| | |
Problem: Fold may not be closeable after appending.
Solution: Set the fd_small flag to MAYBE. (Brandon Simmons, closes vim/vim#10471)
https://github.com/vim/vim/commit/e8c4a64bffbe628a46dc172d04cfc2db6e8dd8b6
|
|\ \
| | |
| | | |
fix(ui): redraw winbar alongside statusline
|
| | |
| | |
| | |
| | |
| | | |
Remove `w_redr_winbar` and use `w_redr_status` to redraw the winbar to
ensure that winbar redraw is triggered alongside the statusline redraw.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
comment (#18717)
Problem: When 'formatoptions' contains "/" wrongly wrapping a long trailing
comment.
Solution: Pass the OPENLINE_FORMAT flag.
https://github.com/vim/vim/commit/7e667788150be617aeac42b0d668618ac33ab9da
|
| |
| |
| |
| | |
The mouseclick item "%@" is now supported by 'statusline' and 'winbar'.
Previously it was only supported by 'tabline'.
|
| |
| |
| |
| |
| |
| |
| | |
Neovim already removed `evim` (or any similar flags). The 'insertmode'
option is a weird remnant, so get rid of it.
The 'insertmode' option is replaced with a script that closely emulates
the option. This script is documented at :help 'insertmode'
|
|\ \
| | |
| | | |
vim-patch:8.2.{4996.5002}: setbufline(), deletebufline() may change Visual selection
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: deletebufline() may change Visual selection.
Solution: Disable Visual mode when using another buffer. (closes vim/vim#10469)
https://github.com/vim/vim/commit/9b2edfd3bf2f14a1faaee9b62930598a2e77a798
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: setbufline() may change Visual selection. (Qiming Zhao)
Solution: Disable Visual mode when using another buffer. (closes vim/vim#10466)
https://github.com/vim/vim/commit/0ad00a7fd3e0389f565876521e395c35144d8009
|
|/ /
| |
| |
| |
| |
| |
| | |
(#18709)
Problem: Checking translations affects the search pattern history.
Solution: Use "keeppatterns". (Doug Kearns)
https://github.com/vim/vim/commit/8a3704723c40779d688ef957dbe5bd8b65c25f95
|
| |
| |
| |
| |
| | |
Uncrustify is the source of truth where possible.
Remove any redundant checks from clint.py.
See also https://github.com/neovim/neovim/pull/18563
|
|\ \
| | |
| | | |
fix(winbar): allow winbar to display a ruler
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
docs(extmark): remove message about passing in id=0
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The docs for `nvim_buf_set_extmark` mention that you can create a new
extmark when passing in `id=0`, however if you do this you'll get an
error since the code checks that id is positive.
```
id is not a positive integer
```
This change re-words the sentence to make it clearer.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
If there are floating windows when `:mksession` runs, the session cannot
be properly restored.
Solution:
Change `:mksession` to skip floating windows. This matches Vim's
treatment of popup windows.
An alternative approach could have `:mksession` save floating windows
that can be _properly_ restored (rather than skip them entirely, which
is what this PR does). While that would seemingly be a more complete
fix, that could present additional issues since floating windows are
ordinarily created by plugins, and they may no longer be properly under
a plugin's control when restored.
closes #18432
|
| |
| |
| |
| |
| |
| |
| |
| | |
fold (#18694)
Problem: With 'foldmethod' "indent" some lines are not included in the
fold. (Oleg Koshovetc)
Solution: Fix it. (Brandon Simmons, closes vim/vim#10399, closes vim/vim#3214)
https://github.com/vim/vim/commit/d98e75e23666c159c7e00bcf5b6ad9a933bb0534
|
| | |
|
| |
| |
| |
| |
| |
| | |
Problem: smart/C/lisp indenting is optional, which makes the code more
complex, while it only reduces the executable size a bit.
Solution: Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP.
https://github.com/vim/vim/commit/8e145b82464a21ee4fdf7948f04e2a1d505f8bfa
|
| |
| |
| |
| |
| | |
Problem: After deletion a small fold may be closable.
Solution: Check for a reverse range. (Brandon Simmons, closes vim/vim#10457)
https://github.com/vim/vim/commit/3fcccf94e8bc142d2c79c3b62087145896df6b36
|
|\ \
| | |
| | | |
vim-patch:8.1.0535,8.2.4991: increment/decrement might get interrupted by updating folds
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: No test for hwat patch 8.1.0535 fixes.
Solution: Add a test. (closes vim/vim#10462)
https://github.com/vim/vim/commit/93c1573dd284dc9cf5ed9265a0143aaf520d2920
|