| Commit message (Collapse) | Author | Age |
... | |
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
signcol improvements
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Fixes #14195
|
| | | | | | | | |
|
| | |_|_|/ / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
50250542 failed to consider that the maximum passed to buf_signcols
is window scoped whereas the signcols value is buffer scoped. This can
lead to a bug where the signcolumn becomes incorrect if:
- global signcolumn is set to auto:N
- signcolumn in a window is changed locally to auto:M where M > N
- the buffer has a line with M or greater signs.
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
ci: remove failing windows CI tests
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
nvim_buf_set_text does not handle negative row numbers correctly: for
example,
nvim_buf_set_text(0, -2, 0, -1, 20, {"Hello", "world"})
should replace the 2nd to last line in the buffer with "Hello" and the
first 20 characters of the last line with "world". Instead, it reports
"start_row out of bounds". This happens because when negative line
numbers are used, they are incremented by one additional number to make
the non-negative line numbers end-exclusive. However, the line numbers
for nvim_buf_set_text should be end-inclusive.
In #15181 we handled this for nvim_buf_get_text by adding a new
parameter to `normalize_index`. We can solve the problem with
nvim_buf_set_text by simply availing ourselves of this new argument.
This is a breaking change, but makes the semantics of negative line
numbers much clearer and more obvious (as well as matching
nvim_buf_get_text).
BREAKING CHANGE: Existing usages of nvim_buf_set_text that use negative
line numbers will be off-by-one.
|
| |_|_|/ / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
nvim_buf_get_text is the mirror of nvim_buf_set_text. It differs from
nvim_buf_get_lines in that it allows retrieving only portions of lines.
While this can typically be done easily enough by API clients,
implementing this function provides symmetry between the get/set
text/lines APIs, and also provides a nice convenience that saves API
clients the work of having to slice the result of nvim_buf_get_lines
themselves.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
... for when `ns=0`.
Also update the documentation of nvim_set_hl to clarify the set
behaviour.
Fixes #17478
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
vim-patch:8.1.{1846,1955},8.2.0156
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Problem: Various typos in source files and tests.
Solution: Fix the typos. (Emir Sari, closes vim/vim#5532)
https://github.com/vim/vim/commit/4b96df5a017a04141c4e901b1fc5704a3ca48099
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Problem: Tests contain typos.
Solution: Correct the typos. (Dominique Pelle)
https://github.com/vim/vim/commit/1bc353b6f1b063e189e0cef26f8dc586dcf9161f
Other changes are either N/A or already applied.
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: Inconsistently using GetVimCommand() and v:progpath. (Daniel
Hahler)
Solution: Use GetVimCommand(). (closes vim/vim#4806)
https://github.com/vim/vim/commit/93344c2d707d9953f351c944e6a237c9916f69a3
Cherry-pick a change to test_profile.vim from patch 8.1.1544.
Cherry-pick a change to test_vimscript.vim from patch 8.1.1826.
Some of the args are no-op in Nvim, and `-i NONE` and `--headless` are
already added by `GetVimCommand()`. I'll try to match the order of args
in upstream, substituting `--not-a-term` with `--headless`.
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: getchar() may return modifiers if no character is available.
Solution: Do not process modifiers when there is no character. (closes vim/vim#9806)
https://github.com/vim/vim/commit/ad6c45f62558e03d3e3a927b3fe4dbaf30a36bef
|
|\ \ \ \ \
| | | | | |
| | | | | | |
vim-patch:8.2.{4403,4418,4419,4422}
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: Autochdir test fails on MS-Windows.
Solution: Expecta nother error on MS-Windows.
https://github.com/vim/vim/commit/adbb383e0f2bb59286ea8133f02c448fd334958f
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: Illegal memory access when using exactly 20 highlights.
Solution: Add one more item in the array. (Brandon Richardson,
closes vim/vim#9800)
https://github.com/vim/vim/commit/a493b6506b67887a1cc2d1c00a896598c3b2d445
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: Crash when using special multi-byte character.
Solution: Don't use isalpha() for an arbitrary character.
https://github.com/vim/vim/commit/5921aeb5741fc6e84c870d68c7c35b93ad0c9f87
Rename vim_isalpha to mb_isalpha.
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: ml_get error with nested folds and deleting lines.
Solution: Correct the last line number before calling hasFoldingWin().
https://github.com/vim/vim/commit/943773783384a5ff63f57769d37ddabf8156fe1e
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: ".gts" and ".gjs" files are not recognized.
Solution: Recognize Glimmer flavored typescript and javascript.
(closes vim/vim#9799)
https://github.com/vim/vim/commit/cdf717283ca70b18f20b8a2cefe7957083280c6f
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Solidity files are not recognized.
Solution: Add the *.sol pattern. (Dundar Goc, closes vim/vim#9792)
https://github.com/vim/vim/commit/97b231541d4e82fbc85e51121448d95bd43c50ad
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
.. instead of luaL_loadfile
allows files to be cached
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Test for put with large count fails.
Solution: Adjust the counts in the test.
https://github.com/vim/vim/commit/8bc07e800c2af36686aadd4178cc2671f5c454d4
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Overflow check uses wrong number.
Solution: Divide by ten.
https://github.com/vim/vim/commit/9b0e82f35ed4e98414333e71b71ca56219683d16
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Integer overflow with large line number.
Solution: Check for overflow. (closes vim/vim#9202)
https://github.com/vim/vim/commit/03725c5795ae5b8c14da4a39cd0ce723c6dd4304
Put E1247 in globals.h as E1240 is also there.
Do not make getdigits() abort.
|
|\ \ \ \
| | | | |
| | | | | |
vim-patch:8.2.{3492,3493,3570,3573,3574,3575,3577,3601}: put overflow checking shenanigans
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Check for overflow in put count does not work well.
Solution: Improve the overflow check. (Ozaki Kiichi, closes vim/vim#9102)
https://github.com/vim/vim/commit/fa53722367c3793fda95dac665af74b8651065e9
Add some casts as Nvim uses size_t variables in some places.
We could technically adjust the logic to check for overflow outside of size_t's
range, but it's much easier to just port the patch exactly (also means we can
use the same tests).
v:sizeoflong is N/A, so convert the 64-bit tests to Lua and use the FFI to check
long's size.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Required for the tests introduced in v8.2.3601 to pass ASAN when running
test_alot.vim.
Co-authored-by: erw7 <erw7.github@gmail.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Overflow check fails with 32 ints.
Solution: Only test with 64 bit ints.
https://github.com/vim/vim/commit/0f0044125c2a5dcde2c4605efc39d2e237eed024
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Overflow check still fails when sizeof(int) == sizeof(long).
Solution: Use a float to check the result.
https://github.com/vim/vim/commit/e551ccfb9311eea5252d1c3106ff7a53c762d994
This approach is... interesting...
Tests fail.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Divide by zero.
Solution: Don't check for overflow if multiplicand is zero.
https://github.com/vim/vim/commit/8a1962d1355096af55e84b1ea2f0baf5f1c5a5bc
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Cannot decide whether to skip test that fails with 64 bit ints.
(closes vim/vim#9072)
Solution: Add v:sizeofint, v:sizeoflong and v:sizeofpointer. Improve the
check for multiply overflow.
https://github.com/vim/vim/commit/69b3072d984480935ec412b32b97fea974d2b689
Omit v:sizeof{int,long,pointer} as they're only really used for tests.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Test_very_large_count fails on 32bit systems.
Solution: Bail out when using 32 bit numbers. (closes vim/vim#9072)
https://github.com/vim/vim/commit/ec6e63079dde24a1d74b4103775e74d00f9215ec
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Large count test fails on MS-Windows.
Solution: Skip the test on MS-Windows.
https://github.com/vim/vim/commit/cddd5ac911707034ca27f10037c4b1b523188c47
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Crash when pasting too many times.
Solution: Limit the size to what fits in an int. (closes vim/vim#8962)
https://github.com/vim/vim/commit/eeed1c7ae090c17f4df51cf97b2a9e4d8b4f4dc7
Note that this overflow check pretty bad.
It also doesn't work well on Windows (where sizeof(int) == sizeof(long)).
This is all temporary; everything here is rewritten in future patches anyway.
e_resulting_text_too_long was already cherry-picked.
totlen is size_t in Nvim, but is int in Vim. This means we'll need some casts.
We could technically adjust the logic in do_put to use the entire range of
size_t in stuff like totlen, but there's not much gain, and it's much easier to
just port the patch like Vim as was done before (also allows us to use the same
tests).
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Bicep files are not recognized.
Solution: Match *.bicep files. (Dundar Goc, closes vim/vim#9791)
https://github.com/vim/vim/commit/8e5ba693ad9377fbf4b047093624248b81eac854
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: when accessing `nvim_set_hl` from Lua, empty tables are converted
to empty lists, not dictionaries, resulting in an error for
:lua vim.api.nvim_set_hl(0, "Comment", { cterm = {} })
Workaround: add an empty array as a special case when checking
`dict->cterm.type` and just set `cterm_mask_provided`.
(Proper solution: handle this in `gen_api_dispatch.lua`.)
|
|\ \ \ \
| |_|_|/
|/| | | |
fix(highlight): global ns improvements
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- and reduce heap allocations
Fixes #17420
|
|\ \ \ \
| | | | |
| | | | | |
vim-patch:8.2.4345
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: <amatch> is expanded like a file name for DirChangedPre.
Solution: Do not expand <amatch>. (closes vim/vim#9742) Also for the User event.
https://github.com/vim/vim/commit/f6246f51e3d85a982a899b4a8fd9045a5e23016f
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
vim-patch:8.2.{4392,4394,4400}
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: MS-Windows: cannot use the mouse in the console with VIMDLL.
Solution: use add_char2buf() instead of fix_input_buffer(). (closes vim/vim#9784,
closes vim/vim#9769)
https://github.com/vim/vim/commit/646bb7247ad6051aca223a2b04b008f682cdb57f
N/A patches for version.c:
vim-patch:8.2.4392: MS-Windows with VIMDLL: Escaping CSI is wrong
Problem: MS-Windows with VIMDLL: Escaping CSI is wrong.
Solution: Put back #ifdef. (Ken Takata, closes vim/vim#9769)
https://github.com/vim/vim/commit/64d95cfc56406858a05032c6a134f1e08fe2ca78
vim-patch:8.2.4394: UTF8 select mode test fails on MS-Windows
Problem: UTF8 select mode test fails on MS-Windows.
Solution: Revert the #ifdef change.
https://github.com/vim/vim/commit/9fdde7992ab4c21517f447ca3d651b9ff4a770e8
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
feat(events): add DirChangedPre
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In Nvim, like DirChanged, this also triggers when switching windows.
This marks Vim patch 8.2.4335 as ported.
vim-patch:8.2.4335: no autocommand event triggered before changing directory
Problem: No autocommand event triggered before changing directory. (Ronnie
Magatti)
Solution: Add DirChangedPre. (closes vim/vim#9721)
https://github.com/vim/vim/commit/28e8f73ae2d90009fd62cd60f97c2643ba44de68
|
|\ \ \ \ \
| | | | | |
| | | | | | |
fix(api): re-route nvim_get_runtime_file errors
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
This allows nvim_get_runtime_file to be properly used via pcall
|
| | | | | |
|