Commit Graph

7946 Commits

Author SHA1 Message Date
Luuk van Baal
be11f80d01 vim-patch:9.0.0640: cannot scroll by screen line if a line wraps
Problem:    Cannot scroll by screen line if a line wraps.
Solution:   Add the 'smoothscroll' option.  Only works for CTRL-E and CTRL-Y
            so far.

f6196f4244

vim-patch:9.0.0641: missing part of the new option code

Problem:    Missing part of the new option code.
Solution:   Add missing WV_SMS.

bbbda8fd81

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-05-02 13:11:26 +02:00
zeertzjq
7c1921e9d6 fix(mouse): fix popup_setpos position check with ext_multigrid (#23436) 2023-05-02 15:25:41 +08:00
zeertzjq
088cdf69e3 fix(normal): make "g$" work properly with resized grid 2023-05-02 12:04:49 +08:00
zeertzjq
37b73cf14b fix(drawline): make cursorlineopt=screenline work with resized grid 2023-05-02 12:04:49 +08:00
zeertzjq
03e8b5fc91 fix(float): make bufpos work properly with resized parent grid 2023-05-02 12:04:48 +08:00
Christian Clason
37dd818722 vim-patch:9.0.1503: Luau files are not recognized (#23412)
Problem:    Luau files are not recognized.
Solution:   Add a patter for Luau files. (Amaan Qureshi, closes vim/vim#12317)

2dcfe9ae1d

Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-05-01 10:55:51 +02:00
zeertzjq
0f1b511f23 fix(tui): redraw on SIGWINCH even if size didn't change 2023-05-01 13:17:03 +08:00
zeertzjq
a803bff89c fix(spell): extmark with spell=false should disable spell (#23400) 2023-05-01 12:30:55 +08:00
zeertzjq
066db5e7cd vim-patch:9.0.1500: The falsy operator is not tested properly (#23407)
Problem:    The falsy operator is not tested properly.
Solution:   Add a few more test cases. (closes vim/vim#12319)

58a44751ce
2023-04-30 23:24:16 +08:00
Lewis Russell
19a793545f fix(treesitter): redraw added/removed injections properly (#23287)
When injections are added or removed make sure to:
- invoke 'changedtree' callbacks for when new trees are added.
- invoke 'changedtree' callbacks for when trees are invalidated
- redraw regions when languagetree children are removed
2023-04-30 17:11:38 +02:00
Gregory Anders
2d54f5e903 Merge pull request #23382 from gpanders/iter-benchmark
Add vim.iter benchmark to benchmark test suite
2023-04-29 20:33:27 -06:00
zeertzjq
ab7dcefbeb vim-patch:9.0.1499: using uninitialized memory with fuzzy matching (#23399)
Problem:    Using uninitialized memory with fuzzy matching.
Solution:   Initialize the arrays used to store match positions.

caf642c25d

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-30 08:27:38 +08:00
zeertzjq
7b6d041bae fix(heredoc): allow missing end marker for scripts
Also do not crash when getting heredoc fails.
2023-04-29 09:39:55 +08:00
zeertzjq
2eb1f62e29 vim-patch:8.2.0672: heredoc in scripts does not accept lower case marker
Problem:    Heredoc in scripts does not accept lower case marker.
Solution:   Allow lower case only in non-Vim scripts. (Ken Takata,
            closes vim/vim#6019)

6ab0953fef
2023-04-29 09:20:52 +08:00
zeertzjq
4bcf8c15b3 vim-patch:8.2.0578: heredoc for interfaces does not support "trim"
Problem:    Heredoc for interfaces does not support "trim".
Solution:   Update the script heredoc support to be same as the :let command.
            (Yegappan Lakshmanan, closes vim/vim#5916)

6c2b7b8055
2023-04-29 09:20:52 +08:00
zeertzjq
291fd767e3 vim-patch:8.2.0551: not all code for options is tested
Problem:    Not all code for options is tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes vim/vim#5913)

1363a30cef
2023-04-29 09:07:10 +08:00
Gregory Anders
5a0250c9a7 test: add benchmark for vim.iter 2023-04-28 15:38:50 -06:00
zeertzjq
dfb2808d1a vim-patch:9.0.1372: test for 'toolbariconsize' may fail
Problem:    Test for 'toolbariconsize' may fail.
Solution:   Only test 'toolbariconsize' when it is supported. (James McCoy,
            closes vim/vim#12095)

db1887ce40

Co-authored-by: James McCoy <jamessan@jamessan.com>
2023-04-28 23:48:44 +08:00
Lewis Russell
d04770a543 vim-patch:9.0.1369: still some "else if" constructs for setting options
Problem:    Still some "else if" constructs for setting options.
Solution:   Add a few more functions for handling options. (Yegappan
            Lakshmanan, closes vim/vim#12090)

c6ff21e876
2023-04-28 23:04:12 +08:00
Lewis Russell
5cda9c267a vim-patch:9.0.1359: too many "else if" statements in handling options
Problem:    Too many "else if" statements in handling options.
Solution:   Add more functions for handling option changes. (Yegappan
            Lakshmanan, closes vim/vim#12060)

5da901bb68
2023-04-28 23:04:12 +08:00
Lewis Russell
46022a6b38 vim-patch:9.0.1345: too many "else if" statements for handling options
Problem:    Too many "else if" statements for handling options.
Solution:   Add more functions to handle options. (Yegappan Lakshmanan,
            closes vim/vim#12051)

8ad862a1f9
2023-04-28 23:04:12 +08:00
zeertzjq
f60551f387 vim-patch:9.0.1084: code handling low level MS-Windows events cannot be tested
Problem:    Code handling low level MS-Windows events cannot be tested.
Solution:   Add test_mswin_event() and tests using it. (Christopher Plewright,
            closes vim/vim#11622)

20b795e0eb
2023-04-28 17:55:46 +08:00
zeertzjq
c0e76fcc44 vim-patch:partial:8.2.1235: Not all mouse codes covered by tests
Problem:    Not all mouse codes covered by tests.
Solution:   Add more tests for the mouse. (Yegappan Lakshmanan, closes vim/vim#6472)

2764d06ab7

Cherry-pick typo fixes from patch 8.2.0020.
2023-04-28 17:55:44 +08:00
zeertzjq
0c5b03d83a vim-patch:8.2.1108: mouse left-right scroll is not supported in terminal window
Problem:    Mouse left-right scroll is not supported in terminal window.
Solution:   Implement mouse codes 6 and 7. (Trygve Aaberge, closes vim/vim#6363)

d58d4f90ae
2023-04-28 17:55:41 +08:00
zeertzjq
45c9b10afc vim-patch:9.0.0825: cannot drag an entry in the tabpage line
Problem:    Cannot drag an entry in the tabpage line.
Solution:   Clear dragwin instead of got_click. (closes vim/vim#11483,
            closes vim/vim#11482)

8e0ccb6bc2
2023-04-28 16:43:38 +08:00
zeertzjq
552632c959 vim-patch:8.1.2306: double and triple clicks are not tested
Problem:    Double and triple clicks are not tested.
Solution:   Test mouse clicks to select text. (closes vim/vim#5226)

f36a2c7e60

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:43:38 +08:00
zeertzjq
b947beb058 vim-patch:8.1.2148: no test for right click extending Visual area
Problem:    No test for right click extending Visual area.
Solution:   Add a test. (Dominique Pelle, closes vim/vim#5018)

6aa7523b96

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:43:38 +08:00
zeertzjq
dda5cddbef vim-patch:8.1.2106: no tests for dragging the mouse beyond the window
Problem:    No tests for dragging the mouse beyond the window.
Solution:   Add a test. (Dominique Pelle, closes vim/vim#5004)

b4367b7fb6

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:43:38 +08:00
zeertzjq
d857448466 vim-patch:8.1.1248: no test for dec mouse
Problem:    No test for dec mouse.
Solution:   Add some tests for dec mouse.  Add "no_query_mouse".

92fd599e0d

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:43:38 +08:00
zeertzjq
bc8549f818 vim-patch:8.1.1247: urxvt mouse codes are not tested
Problem:    Urxvt mouse codes are not tested.
Solution:   Also set 'ttymouse' to "urxvt" in the termcodes test.

d0621d85a6

Use code from latest tests instead.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:43:38 +08:00
zeertzjq
458633071a vim-patch:8.1.1244: no tests for CTRL-mouse-click
Problem:    No tests for CTRL-mouse-click.
Solution:   Add a few tests. (Dominique Pelle, closes vim/vim#4323)

1ee36d6ff5

Use usr_toc.txt instead of help.txt.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:43:27 +08:00
zeertzjq
2a84e20ff5 vim-patch:8.1.1223: middle mouse click test fails without a clipboard
Problem:    Middle mouse click test fails without a clipboard.
Solution:   Check if the clipboard can be used. (Dominique Pelle, Christian
            Brabandt)  Also use WorkingClipboard() instead of checking for the
            "clipboard" feature.

564344ace9

Use CheckFeature clipboard_working from latest test instead.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
f6f96c972a vim-patch:8.1.1216: mouse middle click is not tested
Problem:    Mouse middle click is not tested.
Solution:   Add a test. (Dominique Pelle, closes vim/vim#4310)

c1b8160b44

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
6f56d5317e vim-patch:8.1.1181: tests for mouse clicks are a bit flaky
Problem:    Tests for mouse clicks are a bit flaky when run in an interactive
            terminal.
Solution:   Use "xterm2" instead of "xterm" for 'ttymouse' to avoid spurious
            drag events.

2b00b9b0f3

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
2be868ab5e vim-patch:8.1.1179: no test for mouse clicks in the fold column
Problem:    No test for mouse clicks in the fold column.
Solution:   Add a test. (Dominique Pelle, closes vim/vim#4261)

696d637728

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
355ccaeb04 vim-patch:8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Problem:    When mouse click tests fails value of 'ttytype' is unknown.
Solution:   Add a message to the assert.

4945219b99

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
3895def46c vim-patch:8.1.1176: test for dragging a tab is flaky
Problem:    Test for dragging a tab is flaky.
Solution:   Add a brief sleep.

7f27976589

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
a8d9f0a2d5 vim-patch:8.1.1175: no test for dragging a tab and double click for new tab
Problem:    No test for dragging a tab with the mouse and for creating a new
            tab by double clicking in the tabline.
Solution:   Add two tests. (Dominique Pelle, closes vim/vim#4258)

e3e3828f93

Set 'mousetime' to 0 instead.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
5f710789f9 vim-patch:8.1.1167: no test for closing tab by click in tabline
Problem:    No test for closing tab by click in tabline.
Solution:   Add a test.  Also fix that dragging window separator could fail in
            a large terminal. (Dominique Pelle, closes vim/vim#4253)

39f76c6ac0

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
b26e242dd3 vim-patch:8.1.1165: no test for mouse clicks in the terminal tabpage line
Problem:    No test for mouse clicks in the terminal tabpage line.
Solution:   Add a test. (Dominique Pelle, closes vim/vim#4247).  Also init
            TabPageIdxs[], in case it's used before a redraw.

ca57ab54d7

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
718a8862ab vim-patch:8.1.1160: termcodes test would fail in a very big terminal
Problem:    Termcodes test would fail in a very big terminal.
Solution:   Bail out when the row is larger than what will work. (Dominique
            Pelle, closes vim/vim#4246)

c8b3ddab51

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:26 +08:00
zeertzjq
a44c8a3783 vim-patch:partial:8.1.1155: termcodes tests can be improved
Problem:    Termcodes tests can be improved.
Solution:   Add helper functions to simplify tests.  Dragging statusline for
            xterm and sgr. (Dominique Pelle, closes vim/vim#4237)

3fbd2d7c31

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 16:42:23 +08:00
zeertzjq
521e039f27 vim-patch:partial:8.2.0425: code for modeless selection not sufficiently tested (#23362)
Problem:    Code for modeless selection not sufficiently tested.
Solution:   Add tests.  Move mouse code functionality to a common script file.
            (Yegappan Lakshmanan, closes vim/vim#5821)

Add some mouse.vim functions that can be made to work in Nvim.

515545e11f
2023-04-28 12:44:11 +08:00
zeertzjq
95839a2358 vim-patch:9.0.1494: crash when recovering from corrupted swap file (#23358)
Problem:    Crash when recovering from corrupted swap file.
Solution:   Bail out when the line index looks wrong. (closes vim/vim#12276)

bf1b713202

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 06:27:51 +08:00
zeertzjq
aca226d728 vim-patch:9.0.1493: popup menu position wrong in window with toolbar
Problem:    Popup menu position wrong in window with toolbar.
Solution:   Take the window toolbar into account when positioning the popup
            menu. (closes vim/vim#12308)

4e1ca0d9a6

Fixed in the previous commit. Test only.
2023-04-28 05:56:47 +08:00
zeertzjq
fbaa278773 fix(pum): make :popup position correctly with float border 2023-04-28 05:49:47 +08:00
ii14
774a32e5fe fix(events): null dereference in autocmd functions 2023-04-27 22:22:54 +02:00
ii14
1cb6040554 perf(events): store autocommands in flat vectors (#23256)
Instead of nested linked lists, store autocommands in a flat, contiguous
kvec_t, with one kvec_t per event type. Previously patterns were stored
in each node of the outer linked list, so they can be matched only once
on repeating patterns. They are now reference counted and referenced in
each autocommand, and matching is skipped if the pattern repeats. Speeds
up creation and deletion, execution is not affected.

Co-authored-by: ii14 <ii14@users.noreply.github.com>
2023-04-27 19:25:08 +02:00
Lewis Russell
eb4676c67f fix: disallow removing extmarks in on_lines callbacks (#23219)
fix(extmarks): disallow removing extmarks in on_lines callbacks

decor_redraw_start (which runs before decor_providers_invoke_lines) gets
references for the extmarks on a specific line. If these extmarks are
deleted in on_lines callbacks then this results in a heap-use-after-free
error.

Fixes #22801
2023-04-27 17:30:22 +01:00
zeertzjq
9f29176033 vim-patch:9.0.1492: using uninitialized memory when argument is missing (#23351)
Problem:    Using uninitialized memory when argument is missing.
Solution:   Check there are sufficient arguments before the base.
            (closes vim/vim#12302)

b7f2270bab

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-28 00:01:22 +08:00