Problem: shiftwidth() does not take 'vartabstop' into account.
Solution: Use the cursor position or a position explicitly passed.
Also make >> and << work better with 'vartabstop'. (Christian
Brabandt)
f951416a83
assert() is compiled out for release builds, but we don't want to
continue running in these impossible situations.
This also resolves the "implicit fallthrough" warnings for the asserts
in switch cases.
Problem: Cannot see the selection type in :reg output. (Ayberk Aydın)
Solution: Add c/l/b. (Christian Brabandt, closesvim/vim#5110, closesvim/vim#4546)
3691f1ee72
Patch v8.1.0999 is not ported so ":registers" does not omit register 1.
Problem: Cannot repeat a command that uses the small delete register.
Solution: Store the register name instead of the contents. (Christian
Brabandt, closesvim/vim#7527)
032a2d050b
N/A patches for version.c:
vim-patch:8.2.2192: Codecov on github actions fails
Problem: Codecov on github actions fails.
Solution: Revert to codecov script. (Ozaki Kiichi, closesvim/vim#7529)
e5492609b3
working on get_foldtext and wanted to get rid of the curwin backup/restore.
Turns out it's not possible else f_foldtext is run on the same window.
Kept the cleanup anyway.
Problem: Cursor off by one with block paste while 'virtualedit' is "all".
Solution: Adjust condition. (Hugo Gualandi, closesvim/vim#6430)
ef85a9b2d9
N/A patches for version.c:
vim-patch:8.2.1114: terminal test sometimes times out
Problem: Terminal test sometimes times out.
Solution: Split the test in two parts.
1112c0febb
vim-patch:8.2.1171: possible crash when out of memory
Problem: Possible crash when out of memory.
Solution: Check for NULL pointer. (Dominique Pellé, closesvim/vim#6432)
58bb61cf5e
vim-patch:8.2.1172: error messages when doing "make clean" in doc or tee
Problem: Error messages when doing "make clean" in the runtime/doc or
src/tee directories.
Solution: Use "rm -f".
08fc48492a
vim-patch:8.2.1173: tee doesn't build on some systems
Problem: Tee doesn't build on some systems.
Solution: Include header files. (Dominique Pelle, closesvim/vim#6431)
4004315292
vim-patch:8.2.1177: terminal2 test sometimes hangs in the GUI
Problem: Terminal2 test sometimes hangs in the GUI.
Solution: Move some tests to other files to further locate the problem.
Set the GUI to a fixed screen size.
18aa13d13b
vim-patch:8.2.1179: Test_termwinscroll() sometimes hangs in the GUI
Problem: Test_termwinscroll() sometimes hangs in the GUI.
Solution: Skip the test in the GUI.
f65927fc8d
vim-patch:8.2.1180: build failure in small version
Problem: Build failure in small version.
Solution: Add #ifdef.
1e624c912d
vim-patch:8.2.1181: json code not fully tested
Problem: Json code not fully tested.
Solution: Add more test coverage. (Dominique Pellé, closesvim/vim#6433)
21e5bdd271
Problem: Number increment/decrement does not work with 'virtualedit'.
Solution: Handle coladd changing. (Christian Brabandt, closesvim/vim#6240,
closesvim/vim#923)
6c6be9e88d
Sloppy code inherited from Vim caused user scripts to be able
to observe the cursor line in an invalid intermediary state,
due to Neovim change callbacks being unbuffered unlike Vim listeners.
Manifested in Vimscript executed from the callback possibly erroring
when `:call`:ing any function,
due to the implicit range `curwin->w_cursor.lnum,curwin->w_cursor.lnum`
failing validation.
Fixed by deferring the call to `changed_lines()` until after
`curwin->w_cursor.lnum` gets its correct value.
Problem: Block Visual mode operators not correct when 'linebreak' set.
Solution: Set w_p_lbr to lbr_saved more often. (Ken Takata, closesvim/vim#5524)
03c3bd9fd0
Add new "splice" interface for tracking buffer changes at the byte
level. This will later be reused for byte-resolution buffer updates.
(Implementation has been started, but using undocumented "_on_bytes"
option now as interface hasn't been finalized).
Use this interface to improve many edge cases of extmark adjustment.
Changed tests indicate previously incorrect behavior. Adding tests for
more edge cases will be follow-up work (overlaps on_bytes tests)
Don't consider creation/deletion of marks an undoable event by itself.
This behavior was never documented, and imposes complexity for little gain.
Add nvim__buf_add_decoration temporary API for direct access to the new
implementation. This should be refactored into a proper API for
decorations, probably involving a huge dict.
fixes#11598
This covers all "small" inserts and deletes in insert mode, as well
as a few more cases like small normal mode deletes
vim-patch:8.1.0678: text properties as not adjusted for inserted text
Problem: "C" with 'virtualedit' set does not include multi-byte char.
Solution: Include the whole multi-byte char. (Nobuhiro Takasaki,
closesvim/vim#5152)
77ccc00340