| Commit message (Collapse) | Author | Age |
... | |
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Error on exit with EXITFREE and 'winfixbuf'.
Solution: Handle DT_FREE before checking for 'winfixbuf'.
(zeertzjq)
closes: vim/vim#14314
https://github.com/vim/vim/commit/620e85265ce04654053c64f8058914ecafe4eb38
|
| | |
|
| |
| |
| | |
Add -x flag to infocmp, so that comments match the content.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Co-authored-by: ite-usagi <77563904+ite-usagi@users.noreply.github.com>
Co-authored-by: v-sim <56476039+v-sim@users.noreply.github.com>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Quico Augustijn <quico.public@gmail.com>
Co-authored-by: nhld <nahnera@gmail.com>
Co-authored-by: francisco souza <108725+fsouza@users.noreply.github.com>
|
| | |
|
| |
| |
| | |
This makes grepping for unsupported options easier.
|
| |\
| | |
| | | |
fix(intro): still show intro message with floating window
|
| | |
| | |
| | |
| | | |
Stop drawing the intro only after a split is opened.
|
| | |
| | |
| | |
| | | |
Ref: https://github.com/neovim/neovim/pull/28018#issuecomment-2021622120
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: winfixbuf does not allow to re-edit current buffer
(Tim Pope, after v9.1.0147)
Solution: Explicitly allow :e even when 'winfixbuf' is set,
since it just re-loads the current buffer
(Colin Kennedy)
fixes: vim/vim#14237
closes: vim/vim#14286
https://github.com/vim/vim/commit/65e580bd5610465bb6b9c1a546b7a8d00c76aa47
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Group functions for key encoding together.
- Move the handle_modereport() branch before the handle_unknown_csi()
branch to match the order of the corresponding functions, but don't
move handle_term_response() yet, as that will be subject to further
changes (e.g. for #26744).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: No autocommand when writing session file
Solution: Add SessionWritePost autocommand
(Colin Kennedy)
fixes: vim/vim#14242
closes: vim/vim#14288
https://github.com/vim/vim/commit/e5f2280381250801a28dcff9823e6f94e7b163fc
Co-authored-by: Colin Kennedy <colinvfx@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Currently, the `immutable` property of options can be applied for options that are hidden and options whose value simply can't be changed. Which is problematic when attempting to convert an option like `'maxcombine'` into an immutable option, because trying to `:set` an immutable option currently gives an error, which is only desired behavior for hidden options, not options that are actually immutable.
Solution: Separate the `immutable` property into two distinct `hidden` and `immutable` properties. Change all options with the `immutable` property to use the `hidden` property instead. Also add `p_mco` as an `immutable` option, as its value cannot be changed, and the underlying variable is not used anywhere.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Also fix some typos in windows.ti while at it.
Close #21699
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
'smarttab' (#28032)
Problem: Backspace inserts spaces with virtual text and 'smarttab'.
Solution: Ignore virtual text and wrapping when backspacing.
(zeertzjq)
related: neovim/neovim#28005
closes: vim/vim#14296
https://github.com/vim/vim/commit/0185c7701434f1fbbf83fecd6384a19c1d2fc44e
Co-authored-by: VanaIgr <vanaigranov@gmail.com>
|
| | |
| | |
| | |
| | | |
Problem: Backspace adds extra spaces for inline virtual text.
Solution: Ignore virtual text and wrapping when backspacing.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
runtime(doc): Update options.txt
closes: vim/vim#14295
https://github.com/vim/vim/commit/ab01adf7c65b4ee350b402ab3ef1e7dfa5e074f1
Co-authored-by: Song-Tianxiang <149415622+Song-Tianxiang@users.noreply.github.com>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot use modifiers before :-Ntabmove.
Solution: Check backwards from the command instead of checking from the
start of the command line. Slightly adjust docs to make them
more consistent (zeertzjq).
closes: vim/vim#14289
https://github.com/vim/vim/commit/076faac5378cf517baa8c331c57488d39efadec0
|
| |
| |
| |
| | |
The first os_copy_xattr() is inside #ifdef UNIX, while the second isn't,
so the first one isn't actually needed.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: E1509 when writing extended attributes to a symlink.
Solution: Copy the file before copying extended attributes.
On Fedora, the attribute being set is "security.selinux". For normal,
non-symlink files this attribute doesn't show up and that's why calling
os_copy_xattr() doesn't break in that case.
|
| |
| |
| |
| | |
Add the label `ci:windows-asan` to enable it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Not enough tests for the slice() function.
Solution: Test with multibyte chars, and in both Legacy and Vim9 script.
Update docs to be clearer about how it treats composing chars.
(zeertzjq)
closes: vim/vim#14275
https://github.com/vim/vim/commit/ad38769030b5fa86aa0e8f1f0b4266690dfad4c9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
chars
Problem: Vim9: string index and slice does not include composing chars.
Solution: Include composing characters. (issue vim/vim#6563)
https://github.com/vim/vim/commit/0289a093a4d65c6280a3be118d1d3696d1aa74da
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Vim9: string and list index work differently.
Solution: Make string index work like list index. (closes vim/vim#7643)
https://github.com/vim/vim/commit/e7525c552060dd04aacdbca6bb5fe6460cf4da60
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |\
| | |
| | | |
refactor(options): remove `set_string_option_direct()`
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: `set_string_option_direct()` contains a separate codepath specifically for setting string options. Not only is that unnecessary code duplication, but it's also limited to only string options.
Solution: Replace `set_string_option_direct()` with `set_option_direct()` which calls `set_option()` under the hood. This reduces code duplication and allows directly setting an option of any type.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: memleak with ex_drop(), NULL dereference
(zeertzjq)
Solution: revert back to ex_rewind(), use curbuf instead of buf
fixes: vim/vim#14246
closes: vim/vim#14251
https://github.com/vim/vim/commit/85a769d466d2009db6a318fd120d9691344664ba
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: :drop tries to :rewind the argumentlist, which results in E37
(after v9.1.0046)
Solution: instead of calling ex_rewind(), call open_buffer() only when
re-using the initial empty buffer
fixes: vim/vim#14219
closes: vim/vim#14220
https://github.com/vim/vim/commit/978178823b7c62a0249411f3d1f584f8a3144c5d
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: gcc complains about uninitialized var
(Tony Mechelynck)
Solution: initialize to NULL
https://github.com/vim/vim/commit/9eb236f455df75af858a37a3d98f190c977deaf4
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: `xctz()` uses a fallback algorithm for MSVC, even though a compiler builtin exists.
Solution: Make `xctz()` use the compiler builtin for MSVC compiler.
|
| |/
| |
| |
| |
| |
| | |
fixes #23781
Co-authored-by: glacambre <code@lacamb.re>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: complete_info() returns wrong order of items
(after v9.0.2018)
Solution: Revert Patch v9.0.2018
(Girish Palya)
bug fix: complete_info() gives wrong results
1) complete_info() reverses list of items during <c-p>
2) 'selected' item index is wrong during <c-p>
3) number of items returnd can be wrong
Solution:
- Decouple 'cp_number' from 'selected' index since they need not be
correlated
- Do not iterate the list backwards
- Add targeted tests
Regression introduced by https://github.com/vim/vim/commit/69fb5afb3bc9da24c2fb0eafb0027ba9c6502fc2
Following are unnecessary commits to patch problems from above:
https://github.com/vim/vim/commit/fef66301665027f1801a18d796f74584666f41ef
https://github.com/vim/vim/commit/daef8c74375141974d61b85199b383017644978c
All the tests from above commits are retained though.
fixes: vim/vim#14204
closes: vim/vim#14241
https://github.com/vim/vim/commit/8950bf7f8b85c1287d4e696965d88091fcc60594
Remove EMPTY_IF_NULL() as it has been unnecessary since #12673.
Co-authored-by: Girish Palya <girishji@gmail.com>
|
| |
| |
| |
| | |
Problem: Calling :redraw from a timer callback clears 'incsearch' highlighting.
Solution: Re-apply 'incsearch' highlighting if the screen was updated.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: assertion failure in nvim_create_buf if buflist_new autocommands open
a swapfile when "scratch" is set.
Solution: block autocommands when setting up the buffer; fire them later
instead.
Note that, unlike buflist_new, I don't check if autocommands aborted script
processing; the buffer is already created and configured at that point, so might
as well return the handle anyway.
Rather than repeat try_{start,end} and {un}block_autocmds for each relevant
operation, just do it at the start and near the end. This means that, if
TermResponse fires from unblock_autocmds for whatever reason, it can see the
buffer in an already configured state if we didn't bail due to an error (plus
it's probably a bit cleaner this way).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: memory leak in nvim_create_buf if buflist_new autocommands load the
new buffer early.
Solution: do not open a memfile in that case.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- Also address some coverity warnings
Fixes #27942
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
`TSNode:_rawquery()` is complicated, has known issues and the Lua and
C code is awkwardly coupled (see logic with `active`).
Solution:
- Add `TSQueryCursor` and `TSQueryMatch` bindings.
- Replace `TSNode:_rawquery()` with `TSQueryCursor:next_capture()` and `TSQueryCursor:next_match()`
- Do more stuff in Lua
- API for `Query:iter_captures()` and `Query:iter_matches()` remains the same.
- `treesitter.c` no longer contains any logic related to predicates.
- Add `match_limit` option to `iter_matches()`. Default is still 256.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Not all standard treesitter groups are documented.
Solution: Document them all (without relying on fallback); add default
link for new `*.builtin` groups to `Special` and `@keyword.type` to
`Structure`. Remove `@markup.environment.*` which only made sense for
LaTeX.
|
| | |
|
| |
| |
| |
| |
| |
| | |
After #25470 the `s` pointer is advanced before calling store_sb_text()
when a newline character is found, and store_sb_text() sets `sb_str` to
`s`, so it's not possible for `s == sb_str + 1` and `*sb_str == '\n'` to
be satisfied at the same time.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
've' and conceal (#27903)
Problem: Wrong cursor position when clicking after end of line with
'rightleft', 'virtualedit' and conceal.
Solution: Set values in ScreenCols[] also with SLF_RIGHTLEFT. Also fix
off-by-one cursor position with 'colorcolumn' (zeertzjq).
closes: vim/vim#14218
https://github.com/vim/vim/commit/deb2204bffa075ed5485415fc2dbd20e75d87ea4
|