Debian Patches

Status for neovim/0.10.4-8

Patch Description Author Forwarded Bugs Origin Last update
testunitstrings_spec-provide-context-for.patch test(unit/strings_spec): provide context for vim_snprintf tests
Since these assertions all use a common function to perform the test
assertions, it's difficult to figure out which test failed:

ERROR test/unit/testutil.lua @ 785: vim_snprintf() positional arguments
test/unit/testutil.lua:757: test/unit/testutil.lua:741: (string) '
test/unit/strings_spec.lua:143: Expected objects to be the same.
Passed in:
(number) 6400
Expected:
(number) 6'
exit code: 256

Adding context to the assertion makes it clearer what the problem is:

ERROR test/unit/testutil.lua @ 785: vim_snprintf() positional arguments
test/unit/testutil.lua:757: test/unit/testutil.lua:741: (string) '
test/unit/strings_spec.lua:149: snprintf(buf, 0, "%1$0.*2$b", cdata<unsigned int>: 0xf78d0f38, cdata<int>: 0xf78dc4e0) = 001100
Expected objects to be the same.
Passed in:
(number) 6400
Expected:
(number) 6'
exit code: 256

(cherry picked from commit a7be4b7bf857de9680ee3d1723a9f616e8a20776)
(cherry picked from commit 452ed57b7166e44cdf149886647d4e4d1e9ad096)
James McCoy <jamessan@jamessan.com> no 2025-01-28
testunitstrings_spec-use-correct-type-fo.patch test(unit/strings_spec): use correct type for binary values
When 9.0.1856 was ported, the numbers being formatted as binary were cast
to "unsigned int" rather than uvarnumber_T, as is done upstream.

(cherry picked from commit 1426f3f3ce91816351412f8cdf5849b76fd5a4a0)
(cherry picked from commit d6da862ce04987189bd1201fb1d09f6c54b0fc4b)
James McCoy <jamessan@jamessan.com> no 2025-01-28
fixvim_snprintf-special-case-handling-of.patch fix(vim_snprintf): special-case handling of binary format
A binary format spec always expects a corresponding unsigned long long
value. However, that explicit handling didn't get included when porting
the code from Vim, so binary format spec was falling through to the
"unsigned" and "length_modifier = NUL" portion of the code:

} else {
// unsigned
switch (length_modifier) {
case NUL:
uarg = (tvs
? (unsigned)tv_nr(tvs, &arg_idx)
: (skip_to_arg(ap_types, ap_start, &ap, &arg_idx,
&arg_cur, fmt),
va_arg(ap, unsigned)));
break;

This incorrectly read an "unsigned" value from an "unsigned long long"
variable, which would produce incorrect results on certain platforms.

(cherry picked from commit 453f2c52d29143af71436c7c7add52edc9af3bf3)
(cherry picked from commit 28a8d59cc714aec5c1ceda3db88eb6097f4cf8f0)
James McCoy <jamessan@jamessan.com> no 2025-02-25
0004-Skip-flaky-tests-in-test_stat.vim.patch Skip flaky tests in test_stat.vim
Test_checktime and Test_autoread_file_deleted are particularly flaky on s390x, so skip them to avoid the noise.
James McCoy <jamessan@debian.org> not-needed 2025-03-10

All known versions for source package 'neovim'

Links