Problem: Crash with a sequence of fold commands.
Solution: Bail out when there are no folds at all. Add a test (Dominique
Pellé) (closesvim/vim#7515)
6a78f32844
N/A patches for version.c:
vim-patch:8.2.2174: Mac version doesn't specify the CPU architecture
Problem: Mac version doesn't specify the CPU architecture.
Solution: Add "arm64" or "x86_64". (Yee Cheng Chin, closesvim/vim#7519)
8c9d98a8af
vim-patch:8.2.2175: github actions: clang-11 handling suboptimal
Problem: Github actions: clang-11 handling suboptimal.
Solution: Separate step of installing clang-11. Get ubuntu release name
dynamically. (Ozaki Kiichi, closesvim/vim#7514)
9aff970204
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: Crash when recreating nested fold.
Solution: Check for empty growarray. (closesvim/vim#7278)
5e1f22ff61
N/A patches for version.c:
vim-patch:8.2.1974: Vim9: test for has('gui_running') fails with VIMDLL
Problem: Vim9: test for has('gui_running') fails with VIMDLL.
Solution: Adjust the #ifdef. (Ken Takata, closesvim/vim#7276)
29b281ba8d
UBSAN with clang 10.0 is checking for adding offsets to a `NULL` pointer
which is not allowed. This is not yet checked in the version of clang
used in CI (7.0.0). I will work on cases of this so that tests passes
locally for me.
This could be tested in CI by either upgrading the clang of the
ASAN/UBSAN to 10.0, or add yet another CI target which builds with
clang 10.0.
Problem: Using NULL pointers in some code. (James McCoy)
Solution: Avoid adding to a NULL pointer. Use byte as unsigned.
9c2b06637b
The changes to eval.c (skip_expr_concatenate) and vim9compile.c aren't
included since they're specific to vim9script support.
Pass the window in which to create/delete folds instead of using the
global "curwin" (current window).
Preliminary work for a fold API.
TODO: I kept changed_lines prototype unchanged. This should be updated
when a fold API sees the light.
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
Problem: In diff mode global operations can be very slow.
Solution: Do not call diff_redraw() many times, call it once when redrawing.
And also don't update folds multiple times.
4f57eefe1e
Problem: Ml_get error when deleting fold marker.
Solution: Check that the line number is not below the last line. Adjust the
fold when deleting the empty line. (Christian Brabandt,
closesvim/vim#4834)
9a4a8c4d59