aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/strings.c7
-rw-r--r--src/nvim/testdir/test_expr.vim6
-rw-r--r--src/nvim/version.c2
3 files changed, 14 insertions, 1 deletions
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index c5fd8741b8..9b9aa6d2f4 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -910,6 +910,13 @@ int vim_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap,
default: break;
}
+ switch (fmt_spec) {
+ case 'd': case 'u': case 'o': case 'x': case 'X':
+ if (tvs && length_modifier == '\0') {
+ length_modifier = '2';
+ }
+ }
+
// get parameter value, do initial processing
switch (fmt_spec) {
// '%' and 'c' behave similar to 's' regarding flags and field widths
diff --git a/src/nvim/testdir/test_expr.vim b/src/nvim/testdir/test_expr.vim
index 25cbd60114..04979b867f 100644
--- a/src/nvim/testdir/test_expr.vim
+++ b/src/nvim/testdir/test_expr.vim
@@ -121,6 +121,12 @@ func Test_option_value()
set cpo&vim
endfunc
+function Test_printf_64bit()
+ if has('num64')
+ call assert_equal("123456789012345", printf('%d', 123456789012345))
+ endif
+endfunc
+
func Test_setmatches()
hi def link 1 Comment
hi def link 2 PreProc
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 40cea51c58..242b2c4b69 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -415,7 +415,7 @@ static const int included_patches[] = {
// 2032 NA
2031,
// 2030 NA
- // 2029,
+ 2029,
2028,
// 2027 NA
// 2026 NA