| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: leaking finished exception
(after v9.1.0984)
Solution: use finish_exception to clean up caught exceptions
(Yee Cheng Chin)
In Vimscript, v:exception/throwpoint/stacktrace are supposed to reflect
the currently caught exception, and be popped after the exception is
finished (via endtry, finally, or a thrown exception inside catch).
Vim9script does not handle this properly, and leaks them instead. This
is clearly visible when launching GVim with menu enabled. A caught
exception inside the s:BMShow() in menu.vim would show up when querying
`v:stacktrace` even though the exception was already caught and handled.
To fix this, just use the same functionality as Vimscript by calling
`finish_exception` to properly restore the states. Note that this
assumes `current_exception` is always the same as `caught_stack` which
believe should be the case.
Added tests for this. Also fix up test_stacktrace to properly test the
stack restore behavior where we have nested exceptions in catch blocks
and to also test the vim9script functionality properly.
- Also, remove its dependency on explicitly checking a line number in
runtest.vim which is a very fragile way to write tests as any minor
change in runtest.vim (shared among all tests) would require changing
test_stacktrace.vim. We don't actually need such granularity in the
test.
closes: vim/vim#16413
https://github.com/vim/vim/commit/2051af1642843426714efc2572c3e270fe0948be
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
|
| |
|
|
|
|
|
| |
`yxx` in Normal mode over a Lua or Vimscript code block section will execute the code.
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Deprecated API `nvim_get_option()` doesn't validate the option name,
which leads to an assertion failure.
Solution:
Validate option name in `nvim_get_option()`.
Ref: #31894
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: We want to deprecate `nvim_err_write(ln)()` but there is no
obvious replacement (from Lua). Meanwhile we already have
`nvim_echo()` with an `opts` argument.
Solution: Add `err` argument to `nvim_echo()` that directly maps to
`:echoerr`.
|
|\ \
| | |
| | | |
fix(decoration): fix crash when on_lines decor provider modifies marktree
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a "on_lines" callback changes the structure of the marktree, the
iterator (which is used for an entire window viewport) might now
point to invalid memory. Restore the iterator to the beginning of the
line in this case.
fixes #29484
|
|\ \ \
| | | |
| | | | |
fix(terminal): don't crash on unprintable chars
|
|/ / /
| | |
| | |
| | | |
fixes #31897
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: filetype: TI assembly files are not recognized
Solution: inspect '*.sa' and assembly files and detect TI assembly
files, include filetype plugin and syntax script for TI
assembly files (Wu, Zhenyu)
closes: vim/vim#15827
https://github.com/vim/vim/commit/4f73c07abff420bad9fa5befc2c284c00b984993
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
script
References:
https://man.archlinux.org/man/xorg.conf.5#DESCRIPTION
closes: vim/vim#16397
https://github.com/vim/vim/commit/8ab1819df625354f6cc9b36cb46989e7b7c9ebae
Co-authored-by: Jan-Arvid Harrach <jharrach@tutanota.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: too many strlen() calls in drawscreen.c
Solution: refactor drawscreen.c and remove calls to strlen(),
make get_keymap_str() (in screen.c) return string length
instead of TRUE/FALSE (John Marriott).
https://github.com/vim/vim/commit/a21240b97debea2e087aee6ad1488b5f075d1259
Co-authored-by: John Marriott <basilisk@internode.on.net>
|
| | |
| | |
| | |
| | |
| | | |
directly" (#31924)
Reverts #31112
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: too many strlen() calls in insexpand.c
Solution: Refactor insexpand.c and reduce number of calls to STRLEN(),
fix a warning get_next_filename_completion(), add new function
ins_compl_leader_len() (John Marriott)
closes: vim/vim#16095
https://github.com/vim/vim/commit/5e6ea92b2c58cbfc642d7e35bd717f99aa2e1e53
Co-authored-by: John Marriott <basilisk@internode.on.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
matching (#31922)
Always match ex-bang explicitly rather than incidentally as the ! operator.
fixes: vim/vim#16221
closes: vim/vim#16410
https://github.com/vim/vim/commit/1718e7d07e391571ac81c507a746b3bc7a7e2024
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|\ \ \
| | | |
| | | | |
refactor(options): set option value for non-current context directly
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Currently, we use `switch_option_context` to temporarily switch the current option context before setting an option for a different buffer / window. This is not ideal because we already support getting and setting option values for non-current contexts in the underlying implementation.
Solution: Set option value for non-current context by passing the context directly to the lower level functions. Also introduce a new `OptCtx` struct to store option context information, this will scale much better if we add more option scopes and other context information in the future.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Currently we can only specify a buffer to use for an autocmd context through `aucmd_prepbuf()`, which finds a window that uses that buffer in the current tabpage, or creates an autocmd window. This means it's not possible to actually specify a window to use for an autocmd.
Solution: Add an `aucmd_prepbuf_win()` function which also takes a window as a parameter and uses it for the autocmd. If the window is not provided, then it behaves similarly to `aucmd_prepbuf()`
|
| | | |
| | | |
| | | | |
To prevent #30986 and #31198 regression update inspect_tree tests
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: incorrect return type doc causes luals `Annotations specify that at most 0 return value(s) are required, found 1 returned here instead.` diagnosis
Solution: correct return type doc
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: filetype: shaderslang files are not detected
Solution: detect '*.slang' files as shaderslang filetype,
include a filetype and syntax script (mtvare6)
Reference:
https://shader-slang.com/
closes: vim/vim#16387
https://github.com/vim/vim/commit/616219f684744bcfad61a53c13166cda9b141dea
Co-authored-by: mtvare6 <mtvare6@proton.me>
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Linking `TablineSel` to `Normal` makes it more noticeable with
`notermguicolors` but less so with `termguicolors` (compared to using
bold text in both cases).
Solution: use bold text with `termguicolors` and regular with
`notermguicolors`.
|
| | | |
| | | |
| | | |
| | | | |
Problem: health can not shown in a floating window
Solution: add g:health variable
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
**Problem:** The treesitter `foldexpr` calls `get_parser()` for each
line in the buffer when calculating folds. This can be incredibly slow
for buffers where a parser cannot be found (because the result is not
cached), and exponentially more so when the user has many
`runtimepath`s.
**Solution:** Only fetch the parser when it is needed; that is, only
when initializing fold data for a buffer.
Co-authored-by: Jongwook Choi <wookayin@gmail.com>
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
| | |
| | |
| | |
| | | |
The default `TablineSel` highlighting makes it subjectively difficult to
differentiate the selected tab from unselected ones.
|
| | |
| | |
| | |
| | |
| | |
| | | |
We have changed too much to consider it a mere bundled dependency (such
as unicode handling in e3bfcf2fd4a4ebf00b104b082cfe83c8144a842d), and
can consider it our own at this point.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
related: vim/vim#16394
https://github.com/vim/vim/commit/3159b6494ec08fbe780d14e54ad4e89e7b55bb16
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
PS0 is also a special prompt variable. (It is expanded and displayed
after it reads a command but before executing it.)
References:
https://www.gnu.org/software/bash/manual/html_node/Interactive-Shell-Behavior.html
closes: vim/vim#16394
https://github.com/vim/vim/commit/cf1f55548d1c8782c5bd11f82354d98fb30cde42
Co-authored-by: Jon Parise <jon@indelible.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fixes: vim/vim#16377 (`filetype plugin indent on` breaks matchit).
closes: vim/vim#16389
https://github.com/vim/vim/commit/7ceaa8f3ddbaad75fa02f91c0b354661b38253cb
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|\ \ \
| | | |
| | | | |
vim-patch:9.1.{0984,0991}: getstacktrace(), v:stacktrace
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: v:stacktrace has wrong type in Vim9 script.
Solution: Change the type to t_list_dict_any. Fix grammar in docs.
(zeertzjq)
closes: vim/vim#16390
https://github.com/vim/vim/commit/6655bef33047b826e0ccb8c686f3f57e47161b1c
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: exception handling can be improved
Solution: add v:stacktrace and getstacktrace()
closes: vim/vim#16360
https://github.com/vim/vim/commit/663d18d6102f40d14e36096ec590445e61026ed6
Co-authored-by: ichizok <gclient.gaap@gmail.com>
Co-authored-by: Naruhiko Nishino <naru123456789@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Although patch 9.1.0990 fixed a real problem/inconsistency,
it also introduced new behavior that may break BWC and/or be
unexpected. Before 9.1.0990, window commands could make the
topframe smaller (without changing 'cmdheight'; quirk that is
now fixed), but did not allow extending the topframe beyond
the 'cmdheight' set by the user. After 9.1.0990, the user can
reduce the 'cmdheight' below the value they set explicitly,
through window commands, which may lead to confusion.
(aftere v9.1.0990)
Solution: Store the value explicitly set by the user and clamp the
'cmdheight' when resizing the topframe. This also applies to
dragging laststatus, which in contrast to window commands
_did_ allow reducing the 'cmdheight' to values below the one
set by the user. So with this patch there is still new
behavior, but I think in a way that is less surprising.
While at it, also fix a Coverity warning, introduced in
v9.1.0990 (Luuk van Baal)
https://github.com/vim/vim/commit/c97e8695353565d6b20adffa48aad47f6e09967f
|
| | | |
|
| | | |
|
|\ \ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | | |
Problem: open_floating_preview() may be hidden behind current window if
that is floating and has a higher zindex.
Solution: Open floating preview with zindex higher than current window.
|
|\ \ \
| | | |
| | | | |
vim-patch: doc updates
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Revert the documentation for :horizontal from commit
0c3e57b403e0e3a1fefc because :horizontal cannot be shortened to :ho
closes: vim/vim#16362
https://github.com/vim/vim/commit/fd771613b3e59923b1a82a5ed9036c82899d133b
Co-authored-by: h-east <h.east.727@gmail.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
closes: vim/vim#16357
https://github.com/vim/vim/commit/0c3e57b403e0e3a1fefca7bbd5ad4cb950eea616
Co-authored-by: h-east <h.east.727@gmail.com>
Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
|
|\ \ \
| | | |
| | | | |
vim-patch: update Vim syntax
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
after v9.1.0985
related: vim/vim#16356
https://github.com/vim/vim/commit/6139766e825ca34948223cb4c88d3900b1940a17
Co-authored-by: h-east <h.east.727@gmail.com>
N/A patch:
vim-patch:8a27d97: runtime(doc): Capitalise the mnemonic "Zero" for the 'z' flag of search()
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
https://github.com/vim/vim/commit/21c37d7f695077efe6df57806ff35da79adce1d5
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
`nvim -es` (and `nvim -Es`) is the recommended way to non-interactively
run commands/vimscript. But it enables shada by default, which is
usually not wanted.
Solution:
- Disable shada by default for `nvim -es/-Es`. This can be overridden by
`-i foo` if needed.
- Do NOT change the 'loadplugins' default.
- User config + packages _should_ be enabled by default, for both `nvim
-es` and `nvim -l`. Else any Lua packages you have can't be accessed
without `-u path/to/config`, which is clumsy.
- Use-cases:
```
nvim --headless "+Lazy! sync" +qa
would become: nvim -es "+Lazy! sync"
nvim --headless +PlugInstall +qall
would become: nvim -es +PlugInstall
```
- Opt-out (`--clean` or `-u NONE`) is much easier than opt-in (`-u
path/to/config`).
- User config/packages are analogous to pip packages, which are
expected when doing `python -c ...`.
related: 7c94bcd2d77e2e54b8836ab8325460a367b79eae
related: ddd0eb6f5120a09b97867d2561ea61309038ccd2
|