Problem: Switching window uneccarily when getting buffer options.
Solution: Do not switch window when getting buffer options. (closesvim/vim#10767)
cd6ad6439d
Problem: Duplicate code in "get" functions.
Solution: Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar()
and getbufvar(). (closesvim/vim#10335)
47d4e317f8
f_setbufvar() can use tv_get_buf_from_arg() as it sets emsg_off.
Problem: No tests for clicking in the GUI tabline.
Solution: Add test functions to generate the events. Add tests using the
functions. (Yegappan Lakshmanan, closesvim/vim#9638)
b0ad2d92fd
Problem: Subtracting from number option fails when result is zero. (Ingo
Karkat)
Solution: Reset the string value when using the numeric value.
(closesvim/vim#8351)
a42e6e0082
Cherry-pick Test_compound_assignment_operators() changes from patch 8.2.1593
Problem: Vim9: bool option type is number.
Solution: Have get_option_value() return a different value for bool and
number options. (closesvim/vim#7583)
dd1f426bd6
Problem: When splitting a window the changelist position moves.
Solution: Set the changelist index a bit later. (closesvim/vim#10493)
e6f13b473c
Cherry-pick Test_nv_hat_count() change from patch 8.2.1593.
Problem: The changelist index is not remembered per buffer.
Solution: Keep the changelist index per window and buffer. (closesvim/vim#10135,
closesvim/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.
Problem: Vim9: error when setting an option with setbufvar().
Solution: Do not get a number from a string value. (closesvim/vim#6740)
191929b182
Vim9 is N/A, so this just refactors the code without changing behavior.
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>
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.
Problem: The eval.c file is too big.
Solution: Move code related to variables to evalvars.c. (Yegappan
Lakshmanan, closesvim/vim#4868)
0522ba0359
Name the new file eval/vars.c instead.
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. (closesvim/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.
Problem: File for Insert mode is much too big.
Solution: Split off the code for Insert completion. (Yegappan Lakshmanan,
closesvim/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.