| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
| |
Problem: using win_viewport for implementing smooth scrolling in an external
UI might run into problems when winbar or borders is used, as there is
no indication that the entire grid is not used for scrolled buffer text.
Solution: add `win_viewport_margins` event.
|
| |
|
|
|
| |
They behave strangely when receiving that.
|
|\
| |
| | |
vim-patch:9.1.{0211,0215}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Page-wise scrolling with Ctrl-D/Ctrl-U implements
it's own logic to change the topline and cursor.
More logic than necessary for scrolling with Ctrl-F/Ctrl-B
was removed in patch 9.1.0211.
Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while
staying backward compatible as much as possible.
Restore some of the logic that determined how many lines will
be scrolled (Luuk van Baal)
https://github.com/vim/vim/commit/5a2e3ec9ac72b6e644fea4ebba7e632498296e2f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Page-wise scrolling with Ctrl-F/Ctrl-B implements
it's own logic to change the topline and cursor.
In doing so, skipcol is not handled properly for
'smoothscroll', and virtual lines.
Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying
backward compatible as much as possible.
https://github.com/vim/vim/commit/b9f5b95b7bec2414a5a96010514702d99afea18e
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Typos in code and tests.
Solution: Fix typos (zeertzjq).
closes: vim/vim#14321
https://github.com/vim/vim/commit/c029c131ea7822514d67edb9be2de76d076aa267
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Unnecessary multiplications in backspace code, as
"col / ts * ts" is the same as "col - col % ts".
Solution: Change "col / ts * ts" to "col - col % ts". Adjust the loop
and the comments ins_bs() to be easier to understand. Update
tests to reset 'smarttab' properly.
(zeertzjq)
closes: vim/vim#14308
https://github.com/vim/vim/commit/8ede7a069419e0e01368c65a2d0c79d6332aa6cd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: regexp: verymagic cannot match before/after a mark
Solution: Correctly check for the very magic check (Julio B)
Fix regexp parser for \v%>'m and \v%<'m
Currently \v%'m works fine, but it is unable to match before or after
the position of mark m.
closes: vim/vim#14309
https://github.com/vim/vim/commit/46fa3c7e271eb2abb05a0d9e6dbc9c36c2b2da02
Co-authored-by: Julio B <julio.bacel@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Duplicate condition in win_lbr_chartabsize().
Solution: Remove the duplicate condition, as it's already checked above.
(zeertzjq)
closes: vim/vim#14320
https://github.com/vim/vim/commit/5532d3b3f0c73d4e0fa07122ebbed3bf201870f9
|
|/
|
|
|
|
|
|
|
| |
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.
|