Commit Graph

15316 Commits

Author SHA1 Message Date
zeertzjq
4fbf41dfb4 vim-patch:8.2.4735: quickfix tests can be a bit hard to read (#20631)
Problem:    Quickfix tests can be a bit hard to read.
Solution:   Use heredoc instead of strings and line continuation. (Yegappan
            Lakshmanan, closes vim/vim#10145)
4a7724a440

Cherry-pick a typo fix from patch 8.2.3637.
2022-10-13 14:31:10 +08:00
zeertzjq
f72ae4514c vim-patch:9.0.0286: using freed memory when location list changed in autocmd
Problem:    Using freed memory when location list changed in autocmd.
Solution:   Return QF_ABORT and handle it. (Yegappan Lakshmanan,
            closes vim/vim#10993)
6d24a51b94
2022-10-13 11:47:59 +08:00
zeertzjq
5740b3e076 vim-patch:9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Problem:    Using freed memory when using 'quickfixtextfunc' recursively.
Solution:   Do not allow for recursion.
d6c67629ed

Cherry-pick Test_qflist_statusmsg() from patch 8.2.4617.
2022-10-13 11:47:59 +08:00
zeertzjq
cd1e0bb87d vim-patch:8.2.4462: not enough testing for quickfix code
Problem:    Not enough testing for quickfix code.
Solution:   Add more tests. Fix uncovered problem. (Yegappan Lakshmanan,
            closes vim/vim#9839)
9c9be05b17

Omit Test_helpgrep_vim9_restore_cpo().
Cherry-pick test_quickfix.vim change from patch 8.2.0644.
2022-10-13 10:20:42 +08:00
zeertzjq
73bdfdd382 vim-patch:8.2.4453: :helpgrep may free an option that was not allocated
Problem:    :helpgrep may free an option that was not allocated. (Yegappan
            Lakshmanan)
Solution:   Check if the value was allocated.
4791fcd825
2022-10-13 10:09:09 +08:00
Lewis Russell
0ef6aaa3a7 refactor: clint (#20600) 2022-10-12 14:53:40 +01:00
Lewis Russell
024f6880b5 fix(clint): disable whitespace/newline #20619
This rule is already mostly covered by uncrustify.
2022-10-12 06:31:32 -07:00
Christian Clason
4f305fba14 vim-patch:9.0.0731: clang-tidy configuration files are not recognized (#20620)
Problem:    clang-tidy configuration files are not recognized.
Solution:   Recognize clang-tidy files as yaml. (closes vim/vim#11350)
af40f9af33
2022-10-12 15:23:42 +02:00
Lewis Russell
eeeb6c80d8 refactor(search.c): clint (#20598) 2022-10-12 10:59:06 +01:00
zeertzjq
3b562535c3 vim-patch:8.2.4523: when gvim is started maximized the 'window' option isn't set
Problem:    When gvim is started maximized the 'window' option isn't set
            properly. (Christian J. Robinson)
Solution:   Check if 'windows' was already set or not. (Ken Takata,
            closes vim/vim#9904)
6ca883dd8a
2022-10-12 07:48:25 +08:00
Lewis Russell
6e11db2301 refactor/mark.c (#20596) 2022-10-11 16:15:44 +01:00
Wei Tang
63ab3337e0 refactor: explicitly convert HANDLE to intptr_t for _open_osfhandle()
Problem:
The first parameter of "_open_osfhandle()" is an intptr_t; however, a HANDLE is passed.
The official documentation of [_open_osfhandle](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/open-osfhandle) suggests to cast the HANDLE to intptr_t.
MSVC/cl is able to perform an implicit type cast.
However, LLVM/clang-cl will generate an compilation error.

Solution:
Explicitly convert HANDLE to intptr_t for _open_osfhandle().
2022-10-11 10:58:11 +08:00
zeertzjq
62a0c9f8c2 vim-patch:partial:9.0.0715: wrong argument for append() gives two error messages
Problem:    Wrong argument for append() gives two error messages.
Solution:   When getting an error for a number argument don't try using it as
            a string. (closes vim/vim#11335)
801cd35e7e

Skip test as it depends on too many previous patches.
2022-10-10 23:54:51 +08:00
zeertzjq
2cc64dca92 fix: change did_emsg back to int 2022-10-10 23:54:51 +08:00
zeertzjq
249cb8345d vim-patch:9.0.0712: wrong column when calling setcursorcharpos() with zero lnum
Problem:    Wrong column when calling setcursorcharpos() with zero lnum.
Solution:   Set the line number before calling buf_charidx_to_byteidx().
            (closes vim/vim#11329)
79f234499b
2022-10-10 23:54:51 +08:00
zeertzjq
5c9f6bdd8c vim-patch:8.2.2671: error for line number in legacy script
Problem:    Error for line number in legacy script.
Solution:   Check for number type.
f6bdd82c7e

N/A patches for version.c:

vim-patch:8.2.2670: Vim9: error for append(0, text)

Problem:    Vim9: error for append(0, text).
Solution:   Check for negative number. (closes vim/vim#8022)
b2ac7d0663
2022-10-10 23:54:51 +08:00
zeertzjq
9c272b75ec vim-patch:8.2.2184: Vim9: no error when using "2" for a line number
Problem:    Vim9: no error when using "2" for a line number.
Solution:   Give an error message if the line number is invalid. (closes vim/vim#7492)
9a963377b4

N/A patches for version.c:

vim-patch:8.2.1465: Vim9: subscript not handled properly

Problem:    Vim9: subscript not handled properly.
Solution:   Adjust error message.  Remove dead code.  Disallow string to
            number conversion in scripts.
56acb0943e
2022-10-10 23:54:51 +08:00
Christian Clason
8781213f00 vim-patch:9.0.0711: SubStation Alpha files are not recognized (#20577)
Problem:    SubStation Alpha files are not recognized.
Solution:   Add patterns for SubStation Alpha files. (closes vim/vim#11332)
084f2620ec
2022-10-10 17:51:31 +02:00
zeertzjq
81058119df vim-patch:9.0.0713: <amatch> of MenuPopup event is expanded like a file name (#20572)
Problem:    <amatch> of MenuPopup event is expanded like a file name.
Solution:   Do not expand <amatch> for MenuPopup. (closes vim/vim#11328)
c601d988b6
2022-10-10 21:26:18 +08:00
zeertzjq
d4e749f1b2 vim-patch:9.0.0700: there is no real need for a "big" build (#20563)
Problem:    There is no real need for a "big" build.
Solution:   Move common features to "normal" build, less often used features
            to the "huge" build. (Martin Tournoij, closes vim/vim#11283)
25f3a146a0
2022-10-10 11:34:53 +08:00
RZia
a5597d1fc0 fix(lua): assert failure with vim.regex() error inside :silent! (#20555)
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2022-10-10 08:04:08 +08:00
zeertzjq
3010469562 vim-patch:9.0.0706: :help in a narrow window always opens at the top (#20559)
Problem:    :help in a narrow window always opens at the top.
Solution:   Respect 'splitbelow'. (closes vim/vim#11319)
28f7e701b7
2022-10-10 07:16:15 +08:00
Justin M. Keyes
09dffb9db7 docs: various #12823
- increase python line-length limit from 88 => 100.
- gen_help_html: fix bug in "tag" case (tbl_count => tbl_contains)

ref #15632
fix #18215
fix #18479
fix #20527
fix #20532

Co-authored-by: Ben Weedon <ben@weedon.email>
2022-10-09 05:21:52 -07:00
zeertzjq
7cdaa74b36 vim-patch:9.0.0702: incomplete testing cursor position with 'linebreak' set
Problem:    Incomplete testing cursor position after change with 'linebreak'
            set.
Solution:   Add a test and move test cases together. (closes vim/vim#11313)
30c0c467d6
2022-10-09 19:09:32 +08:00
zeertzjq
c93fd83df2 vim-patch:9.0.0697: cursor in wrong position with Visual substitute
Problem:    Cursor in wrong position with Visual substitute.
Solution:   When restoring 'linebreak' mark the virtual column as invalid.
            (closes vim/vim#11309, closes vim/vim#11311)
16dab41537

N/A patches for version.c:

vim-patch:9.0.0699: tiny build fails

Problem:    Tiny build fails.
Solution:   Add #ifdef.
bf499c0e6f
2022-10-09 18:58:30 +08:00
dundargoc
c422046e43 build: generate compilation database for older cmake versions
Fall back to the older method of setting CMAKE_EXPORT_COMPILE_COMMANDS
for cmake versions less than 3.20. This isn't recommended as it's not
possible to exclude targets from generating a compilation database,
which may cause some tools like clang-tidy to do unnecessary work. But
having an unoptimized compilation database is still useful enough that
it's worth having.
2022-10-09 11:44:47 +02:00
Lewis Russell
edc8a1f046 Merge pull request #20544 from lewis6991/exitfreedebug
build: remove EXITFREE for debug builds
2022-10-08 18:06:43 +01:00
ObserverOfTime
b05e10ef72 vim-patch:9.0.0692: PoE filter files are not recognized (#20542)
Problem:    PoE filter files are not recognized.
Solution:   Add a pattern to detect PoE filter files. (closes vim/vim#11305)
b7f52f5659
2022-10-08 17:46:31 +02:00
Lewis Russell
1d4840a13a build: remove EXITFREE for debug builds
When EXITFREE is defined, uv handles are not closed on exit in order to
better detect memory leaks. However the cost of this is that by not
closing the handles there can be lag when exiting nvim.

This change removes EXITFREE from debug builds in order to avoid this
exit lag for regular debug builders who are not running ASAN.
2022-10-08 16:06:32 +01:00
zeertzjq
fad1022caf fix(tui): resume main thread if suspending isn't implemented (#20523)
Not doing anything is better than hanging.
2022-10-08 20:17:53 +08:00
zeertzjq
2a12faaec1 fix(api): dynamically allocate line buffer for nvim_out_write (#20537) 2022-10-08 20:10:00 +08:00
zeertzjq
cfdb4cbada fix: find multibyte file name in line (#20519)
And remove unnecessary unsigned casts in fold marker comparison.
2022-10-07 09:43:16 +08:00
zeertzjq
d191070913 fix(ui): setting 'cmdheight' with global statusline (#20515) 2022-10-07 08:52:51 +08:00
zeertzjq
bcef006da6 vim-patch:9.0.0678: using exclamation marks on :function (#20518)
Problem:    Using exclamation marks on :function.
Solution:   Use :func and :endfunc as usual.
97f0eb169b

Add a missing change from patch 8.1.1875.
2022-10-07 07:06:38 +08:00
zeertzjq
09325845b9 vim-patch:9.0.0666: spacing-combining characters handled as composing (#20501)
Problem:    Spacing-combining characters handled as composing, causing text to
            take more space than expected.
Solution:   Handle characters marked with "Mc" not as composing.
            (closes vim/vim#11282
7beaf6a720
2022-10-07 06:44:29 +08:00
zeertzjq
25dea99ce5 vim-patch:9.0.0670: no space for command line when there is a tabline (#20512)
Problem:    No space for command line when there is a tabline.
Solution:   Correct computation of where the command line should be.
            (closes vim/vim#11295)
c9f5f73206
2022-10-06 20:03:59 +08:00
zeertzjq
1cb858b355 vim-patch:9.0.0657: too many #ifdefs (#20506)
Problem:    Too many #ifdefs.
Solution:   Graduate the +cmdwin feature.  Now the tiny and small builds are
            equal, drop the small build.  (Martin Tournoij, closes vim/vim#11268)
7904fa420e

Accidentally forgot to mark as ported:

vim-patch:9.0.0471: no test for what patch 9.0.0469 fixes

Problem:    No test for what patch 9.0.0469 fixes.
Solution:   Add a test. (closes vim/vim#11140)
12167d8b84
2022-10-06 15:47:50 +08:00
luukvbaal
5acf52e19b feat(window/ui): add splitkeep option (#19243)
vim-patch:9.0.0445: when opening/closing window text moves up/down

Problem:    When opening/closing window text moves up/down.
Solution:   Add the 'splitscroll' option.  When off text will keep its
            position as much as possible.
29ab524358

vim-patch:9.0.0455: a few problems with 'splitscroll'

Problem:    A few problems with 'splitscroll'.
Solution:   Fix 'splitscroll' problems. (Luuk van Baal, closes vim/vim#11117)
5ed391708a

vim-patch:9.0.0461: 'scroll' is not always updated

Problem:    'scroll' is not always updated.
Solution:   Call win_init_size() at the right place.
470a14140b

vim-patch:9.0.0465: cursor moves when cmdwin is closed when 'splitscroll' is off

Problem:    Cursor moves when cmdwin is closed when 'splitscroll' is off.
Solution:   Temporarily set 'splitscroll' when jumping back to the original
            window. (closes vim/vim#11128)
e697d48890

vim-patch:9.0.0469: cursor moves if cmdwin is closed when 'splitscroll' is off

Problem:    Cursor moves if cmdwin is closed when 'splitscroll' is off.
Solution:   Skip win_fix_cursor if called when cmdwin is open or closing.
            (Luuk van Baal, closes vim/vim#11134)
3735f11050

vim-patch:9.0.0478: test for 'splitscroll' takes too much time

Problem:    Test for 'splitscroll' takes too much time.
Solution:   Only test some of the combinations. (Luuk van Baal, closes vim/vim#11139)
594f9e09cd

vim-patch:9.0.0486: text scrolled with 'nosplitscroll', autocmd win and help

Problem:    Text scrolled with 'nosplitscroll', autocmd win opened and help
            window closed.
Solution:   Skip win_fix_scroll() in more situations. (Luuk van Baal,
            closes vim/vim#11150)
d5bc762dea

vim-patch:9.0.0505: various problems with 'nosplitscroll'

Problem:    Various problems with 'nosplitscroll'.
Solution:   Fix 'nosplitscroll' problems. (Luuk van Baal, closes vim/vim#11166)
faf1d412f5

vim-patch:9.0.0555: scrolling with 'nosplitscroll' in callback changing curwin

Problem:    Scrolling with 'nosplitscroll' in callback changing curwin.
Solution:   Invalidate w_cline_row in the right place. (Luuk van Baal,
            closes vim/vim#11185)
20e58561ab

vim-patch:9.0.0603: with 'nosplitscroll' folds are not handled correctly

Problem:    With 'nosplitscroll' folds are not handled correctly.
Solution:   Take care of closed folds when moving the cursor. (Luuk van Baal,
            closes vim/vim#11234)
7c1cbb6cd4

vim-patch:9.0.0605: dump file missing

Problem:    Dump file missing.
Solution:   Add the missing dump file. (issue vim/vim#11234)
439a2ba174

vim-patch:9.0.0647: the 'splitscroll' option is not a good name

Problem:    The 'splitscroll' option is not a good name.
Solution:   Rename 'splitscroll' to 'splitkeep' and make it a string option,
            also supporting "topline". (Luuk van Baal, closes vim/vim#11258)
13ece2ae1d

vim-patch:9.0.0667: ml_get error when 'splitkeep' is "screen"

Problem:    ml_get error when 'splitkeep' is "screen". (Marius Gedminas)
Solution:   Check the botline is not too large. (Luuk van Baal,
            closes vim/vim#11293, closes vim/vim#11292)
346823d3e5
2022-10-06 14:57:52 +08:00
zeertzjq
4bfbac05c9 vim-patch:9.0.0422: not enough testing of the :all command (#20503)
Problem:    Not enough testing of the :all command.
Solution:   Add more testing. (Yegappan Lakshmanan, closes vim/vim#11091)
0dc2fd307f
2022-10-06 12:50:34 +08:00
zeertzjq
bc64aa435b vim-patch:9.0.0665: setting 'cmdheight' has no effect if last window was resized (#20500)
Problem:    Setting 'cmdheight' has no effect if last window was resized.
Solution:   Do apply 'cmdheight' when told to.  Use the frame height instead
            of the cmdline_row.  (closes vim/vim#11286)
0816f473ab
2022-10-06 09:03:49 +08:00
bfredl
6ae4a6e071 Merge pull request #20374 from bfredl/notype
screen: refactor old curwin-heavy logic and graduate "msgsep" feature
2022-10-05 21:50:12 +02:00
bfredl
7746f641b8 fix(options): no matter what is said, 'cmdheight' is tab-local (susy baka) 2022-10-05 20:12:59 +02:00
bfredl
6ae144a921 feat(messages)!: graduate the 'msgsep' feature
The old behaviour (e.g. via `set display-=msgsep`) will not be available.
Assuming that messages always are being drawn on msg_grid
(or not drawn at all, and forwarded to `ext_messages` enabled UI)
will allows some simplifcations and enhancements moving forward.
2022-10-05 20:12:59 +02:00
bfredl
cce0840cbf refactor(redraw): various simplifications 2022-10-05 20:12:58 +02:00
bfredl
6679687bb3 refactor(redraw): no type argument in update_screen()
This was used in the past with assumption that curwin/curbuf
is "special" but this has not been true since basically forever
at this point.

Reduce NOT_VALID/CLEAR panic in options.lua . These should not
be set if an effect of the option is causing something
which by itself invokes redraw_later().
2022-10-05 20:11:13 +02:00
zeertzjq
4ebcc6f822 vim-patch:9.0.0388: the do_arg_all() function is too long
Problem:    The do_arg_all() function is too long.
Solution:   Split the function in smaller parts. (Yegappan Lakshmanan,
            closes vim/vim#11062)
8894761daf
2022-10-05 22:40:28 +08:00
zeertzjq
42afb9153a vim-patch:8.2.3886: can define autocmd for every event by using "au!"
Problem:    Can define autocmd for every event by using "au!".
Solution:   Check if a command is present also for "au!".
b6db146762
2022-10-05 22:40:28 +08:00
zeertzjq
824a31cd0d vim-patch:8.2.3885: arglist test fails
Problem:    Arglist test fails.
Solution:   Adjust for locking the arglist for ":all".
679140c56b
2022-10-05 22:40:28 +08:00
zeertzjq
dcdb7dca6a vim-patch:8.2.3884: crash when clearing the argument list while using it
Problem:    Crash when clearing the argument list while using it.
Solution:   Lock the argument list for ":all".
6f98371532
2022-10-05 22:40:28 +08:00
zeertzjq
a66b12378b vim-patch:8.2.2463: using :arglocal in an autocommand may use freed memory
Problem:    Using :arglocal in an autocommand may use freed memory.
            (houyunsong)
Solution:   Check if the arglist is locked.
6bcb877ec1
2022-10-05 22:40:28 +08:00