Commit Graph

15815 Commits

Author SHA1 Message Date
zeertzjq
147cce29a6 fix(cmdline): trigger CmdlineEnter and ModeChanged earlier (#19474)
Match Vim's ordering in code.
These tests are unrelated to ext_cmdline. Move them out of that block.
2022-07-26 10:21:30 +08:00
James McCoy
88c6e02c12 Merge pull request #19508 from ii14/fix_older_cmake_makefiles
build: fix git version generation on makefiles with older cmake versions
2022-07-25 21:41:03 -04:00
ii14
ba662efb17 build: fix git version generation on makefiles with older cmake versions
When using a Makefile generator, older CMake versions are not building
custom targets when depending on their byproducts, making version
generation fail. (works on 3.19.4, fails on 3.10.2) As a workaround,
add a dependency on the custom target explicitly.
2022-07-26 02:03:13 +02:00
zeertzjq
fe159d23fd vim-patch:9.0.0071: command overlaps with printed text in scrollback (#19505)
Problem:    Command overlaps with printed text in scrollback.
Solution:   Clear until end-of-line and use correct message chunk.
            (closes vim/vim#10765, closes vim/vim#10764)
ecdc82e74e

N/A patches for version.c:

vim-patch:9.0.0070: using utfc_ptr2char_len() when length is negative

Problem:    Using utfc_ptr2char_len() when length is negative.
Solution:   Check value of length. (closes vim/vim#10760)
4dc513a22c
2022-07-26 07:30:33 +08:00
zeertzjq
7961f79904 Merge pull request #19494 from zeertzjq/vim-8.2.5155
vim-patch:8.2.{5155,5163,5164,5166}: diff fixes
2022-07-25 21:32:30 +08:00
dundargoc
e12035fc0c build(lint): check uncrustify version #19468
This to prevent the user from accidentally using the wrong uncrustify
version.
2022-07-25 06:18:49 -07:00
zeertzjq
e4079f3b5a vim-patch:8.2.5166: test for DiffUpdated fails
Problem:    Test for DiffUpdated fails.
Solution:   Also accept a count of two.
f65cc665fa
2022-07-25 20:48:21 +08:00
zeertzjq
771564b00e vim-patch:8.2.5164: invalid memory access after diff buffer manipulations
Problem:    Invalid memory access after diff buffer manipulations.
Solution:   Use zero offset when change removes all lines in a diff block.
c101abff4c
2022-07-25 20:48:21 +08:00
zeertzjq
8543de3a86 vim-patch:8.2.5163: crash when deleting buffers in diff mode
Problem:    Crash when deleting buffers in diff mode.
Solution:   Recompute diffs later.  Skip window without a valid buffer.
cd38bb4d83
2022-07-25 20:48:21 +08:00
zeertzjq
611b43369e vim-patch:8.2.5155: in diff mode windows may get out of sync
Problem:    In diff mode windows may get out of sync. (Gary Johnson)
Solution:   Avoid that the other window scrolls for 'cursorbind'.
a315ce1f32
2022-07-25 20:30:35 +08:00
zeertzjq
ad57610ac7 vim-patch:9.0.0066: switching window uneccarily when getting buffer options
Problem:    Switching window uneccarily when getting buffer options.
Solution:   Do not switch window when getting buffer options. (closes vim/vim#10767)
cd6ad6439d
2022-07-25 20:01:59 +08:00
zeertzjq
56ed5a0403 vim-patch:8.2.4866: duplicate code in "get" functions
Problem:    Duplicate code in "get" functions.
Solution:   Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar()
            and getbufvar(). (closes vim/vim#10335)
47d4e317f8

f_setbufvar() can use tv_get_buf_from_arg() as it sets emsg_off.
2022-07-25 20:01:59 +08:00
zeertzjq
aba3147cb6 vim-patch:8.2.4228: no tests for clicking in the GUI tabline
Problem:    No tests for clicking in the GUI tabline.
Solution:   Add test functions to generate the events.  Add tests using the
            functions. (Yegappan Lakshmanan, closes vim/vim#9638)
b0ad2d92fd
2022-07-25 18:20:47 +08:00
zeertzjq
d8df9afad6 vim-patch:8.2.2969: subtracting from number option fails when result is zero
Problem:    Subtracting from number option fails when result is zero. (Ingo
            Karkat)
Solution:   Reset the string value when using the numeric value.
            (closes vim/vim#8351)
a42e6e0082

Cherry-pick Test_compound_assignment_operators() changes from patch 8.2.1593
2022-07-25 18:20:47 +08:00
zeertzjq
963ea726da vim-patch:8.2.2285: Vim9: cannot set an option to a false
Problem:    Vim9: cannot set an option to a false.
Solution:   For VAR_BOOL use string "0". (closes vim/vim#7603)
b0d8182fa3
2022-07-25 18:20:47 +08:00
zeertzjq
8921035fc7 vim-patch:8.2.2284: Vim9: cannot set an option to a boolean value
Problem:    Vim9: cannot set an option to a boolean value.
Solution:   Check for VAR_BOOL. (closes vim/vim#7603)
31a201a04a
2022-07-25 18:20:47 +08:00
zeertzjq
2241fd3211 vim-patch:8.2.2254: Vim9: bool option type is number
Problem:    Vim9: bool option type is number.
Solution:   Have get_option_value() return a different value for bool and
            number options. (closes vim/vim#7583)
dd1f426bd6
2022-07-25 18:20:47 +08:00
zeertzjq
3ea45a2caf vim-patch:8.2.1469: Vim9: cannot assign string to string option
Problem:    Vim9: cannot assign string to string option.
Solution:   Change checks for option value. (closes vim/vim#6720)
0aae4809fd
2022-07-25 18:20:45 +08:00
zeertzjq
eb77122823 fix(input): do no reinterpret mouse keys with ALT modifiers
Remove check for MOD_MASK_META as it is for <T- which never appears in TUI.
Make small changes to docs.
2022-07-25 09:47:28 +08:00
notomo
46e3e1c728 fix(api): make nvim_cmd mods.silent work correctly (#19489) 2022-07-25 09:43:39 +08:00
Lewis Russell
d529523027 vim-patch:8.1.1763: evalfunc.c is still too big (#17952) 2022-07-24 15:02:39 +01:00
Raphael
2a56cc5230 feat(l10n): improve zh_CN translations (#19483) 2022-07-24 20:33:07 +08:00
zeertzjq
ea13dce3bf fix(mouse): fix using uninitialized memory with K_MOUSEMOVE (#19480)
Fix a mistake in the porting of Vim patch 8.0.1309.
2022-07-24 09:29:28 +08:00
zeertzjq
6cee15da72 vim-patch:9.0.0061: ml_get error with nested autocommand
Problem:    ml_get error with nested autocommand.
Solution:   Also check line numbers for a nested autocommand. (closes vim/vim#10761)
5fa9f23a63
2022-07-23 17:50:25 +08:00
zeertzjq
264791925a vim-patch:9.0.0059: test file has wrong name
Problem:    Test file has wrong name.
Solution:   Rename the file.  Various small fixes. (closes vim/vim#10674)
bb404f5ad5
2022-07-23 14:22:08 +08:00
zeertzjq
9d556fc81f vim-patch:8.2.5035: when splitting a window the changelist position moves
Problem:    When splitting a window the changelist position moves.
Solution:   Set the changelist index a bit later. (closes vim/vim#10493)
e6f13b473c

Cherry-pick Test_nv_hat_count() change from patch 8.2.1593.
2022-07-23 09:48:24 +08:00
zeertzjq
91c99eed54 vim-patch:8.2.4731: the changelist index is not remembered per buffer
Problem:    The changelist index is not remembered per buffer.
Solution:   Keep the changelist index per window and buffer. (closes vim/vim#10135,
            closes vim/vim#2173)
db0ea7f2b0

Cherry-pick FOR_ALL_BUF_WININFO from patch 8.2.0500.
Cherry-pick test_changelist.vim change from patch 8.2.3795.
2022-07-23 09:48:24 +08:00
zeertzjq
232cdbb880 vim-patch:8.2.1489: Vim9: error when setting an option with setbufvar()
Problem:    Vim9: error when setting an option with setbufvar().
Solution:   Do not get a number from a string value. (closes vim/vim#6740)
191929b182

Vim9 is N/A, so this just refactors the code without changing behavior.
2022-07-22 22:38:05 +08:00
zeertzjq
271739c830 refactor: move f_getbufvar() and f_setbufvar() to eval/vars.c
Vim moved them there in patch 8.1.1943.
2022-07-22 22:38:05 +08:00
kylo252
790f8b0e16 fix(build): non-git ("tarball") build fails #19448
Problem:
Build fails without git or .git/.
ref #19289

Solution:
Fix the version generation logic.

Test cases:
If `git` is missing:
    -- Using NVIM_VERSION_MEDIUM: v0.8.0-dev
If `.git/` is missing:
    -- Git tag extraction failed:
       fatal: not a git repository (or any of the parent directories): .git
    -- Using NVIM_VERSION_MEDIUM: v0.8.0-dev
If `git describe` fails
    -- Git tag extraction failed:
       fatal: ...
    -- Using NVIM_VERSION_MEDIUM: v0.8.0-dev

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2022-07-22 07:10:24 -07:00
zeertzjq
a7b9920930 refactor: move FunPtr to types.h (#19466)
This type itself is not eval-specific. Moving it to types.h can avoid
including eval/funcs.h in many headers, and types.h is already included
by many headers.
2022-07-22 22:05:02 +08:00
Emir SARI
ac690f457e feat(l10n): Turkish translations #19441 2022-07-22 07:04:40 -07:00
zeertzjq
9d4a4f49ef vim-patch:8.1.1933: the eval.c file is too big (#19462)
Problem:    The eval.c file is too big.
Solution:   Move code related to variables to evalvars.c. (Yegappan
            Lakshmanan, closes vim/vim#4868)
0522ba0359

Name the new file eval/vars.c instead.
2022-07-22 21:14:17 +08:00
zeertzjq
8af3d641da fix(grid): don't use utfc_ptr2char_len() when printing until NUL (#19456) 2022-07-22 06:41:51 +08:00
zeertzjq
77b9f1eac5 refactor: fix clang warnings (#19453) 2022-07-21 17:42:59 +08:00
zeertzjq
c15e9d3746 fix(mark): give correct error message when mark is in another buffer (#19454) 2022-07-21 17:42:17 +08:00
zeertzjq
6a7d00469b vim-patch:9.0.0047: using freed memory with recursive substitute (#19457)
Problem:    Using freed memory with recursive substitute.
Solution:   Always make a copy for reg_prev_sub.
32acf1f1a7
2022-07-21 16:00:45 +08:00
zeertzjq
1f1863ed54 vim-patch:8.2.4502 (#19439)
vim-patch:8.2.4502: in the GUI a modifier is not recognized after CTRL-X

Problem:    In the GUI a modifier is not recognized for the key typed after
            CTRL-X, which may result in a mapping to be used. (Daniel
            Steinberg)
Solution:   Recognize a modifier starting with CSI. (closes vim/vim#9889)
d979d64fa2

Code is N/A. This just ports the test change.
Test depends on README.txt in testdir. Add that file.
Reorder test_ins_complete.vim to match upstream.
2022-07-21 06:00:16 +08:00
bfredl
598cbcae4a Merge pull request #19445 from famiu/fix/local_winbar_tabs
fix: local winbar with tabs
2022-07-20 16:57:38 +02:00
Famiu Haque
9879fd5d08 fix: local winbar with tabs
Closes #19396
2022-07-20 20:32:22 +06:00
zeertzjq
1a2560c2dc test(old): set 'display' to an empty string (#19450) 2022-07-20 19:58:08 +08:00
bfredl
c65e73f2d6 refactor(object): get rid of redundant FIXED_TEMP_ARRAY
use the MAXSIZE_TEMP_ARRAY + ADD_C pattern instead, as exemplified
by the changes in this commit.
2022-07-20 10:04:06 +02:00
zeertzjq
420bb2eb8a vim-patch:8.1.1849
9bca58f36d
2022-07-20 06:08:41 +08:00
zeertzjq
f357c9bca5 vim-patch:8.1.1076: file for Insert mode is much too big
Problem:    File for Insert mode is much too big.
Solution:   Split off the code for Insert completion. (Yegappan Lakshmanan,
            closes vim/vim#4044)
7591bb39d5

Cherry-pick ins_compl_len() -> get_compl_len() from patch 8.2.4001.

Revert a71c5e9eb9: ctrl_x_mode is no
longer a global variable, so l_ctrl_x_mode is no longer needed.
2022-07-20 06:08:41 +08:00
August Masquelier
8620dfc5bd fix(tmpdir): invalid tempname() if username has slashes #19323
fix #19240

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2022-07-19 09:03:12 -07:00
zeertzjq
358f9b776b vim-patch:8.2.2632: not all command line arguments are tested
Problem:    Not all command line arguments are tested.
Solution:   Add tests for -D and -serverlist. (Dominique Pellé, closes vim/vim#7992)
c5cf369e95

Cherry-pick two deletions from patch 8.2.1799.
2022-07-19 22:02:49 +08:00
zeertzjq
2e790e9ad1 vim-patch:8.2.0509: various code is not properly tested.
Problem:    various code is not properly tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes vim/vim#5871)
cde0ff39da

Cherry-pick test_clientserver.vim change from patch 8.1.1826.
Cherry-pick a comment from patch 8.2.0301.
Omit test_viminfo.vim.
2022-07-19 22:02:46 +08:00
bfredl
101fd04ee2 Merge pull request #19409 from bfredl/uiunpack
perf(ui): some ui_client fixes/optimizations before externalized TUI
2022-07-19 13:08:11 +02:00
bfredl
f87c824513 fix(rpc): break nvim_error_event feedback loop between two nvim instances
In case nvim A sends nvim_error_event to nvim B, it would
respond with another nvim_error_event due to unknown
request name. Fix this by adding dummy request handler for now.
2022-07-19 12:38:37 +02:00
bfredl
0b63f5afad perf(ui): unpack grid_line (screen contents) directly 2022-07-19 12:38:37 +02:00