From 7ec20a4082f2e62e0ae90d464e0d62aa4ffdacf4 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 29 Sep 2023 06:52:02 +0800 Subject: vim-patch:9.0.1950: Vim9: error codes spread out (#25405) Problem: Vim9: error codes spread out Solution: group them together and reserve 100 more for future use Reserve 100 error codes for future enhancements to the Vim9 class support closes: vim/vim#13207 https://github.com/vim/vim/commit/413f83990f15d5d59d27ab741670f527a7a3feb8 Co-authored-by: Yegappan Lakshmanan --- src/nvim/eval.lua | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'src/nvim/eval.lua') diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index 858f7c8afd..23ad3d3787 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -7520,55 +7520,55 @@ M.funcs = { echo printf("%1$*2$.*3$f", 1.4142135, 6, 2) < 1.41 - *E1400* + *E1500* You cannot mix positional and non-positional arguments: >vim - echo printf("%s%1$s", "One", "Two") -< E1400: Cannot mix positional and non-positional - arguments: %s%1$s + echo printf("%s%1$s", "One", "Two") + < E1500: Cannot mix positional and non-positional + arguments: %s%1$s - *E1401* + *E1501* You cannot skip a positional argument in a format string: >vim echo printf("%3$s%1$s", "One", "Two", "Three") - < E1401: format argument 2 unused in $-style + < E1501: format argument 2 unused in $-style format: %3$s%1$s - *E1402* + *E1502* You can re-use a [field-width] (or [precision]) argument: >vim echo printf("%1$d at width %2$d is: %01$*2$d", 1, 2) < 1 at width 2 is: 01 However, you can't use it as a different type: >vim echo printf("%1$d at width %2$ld is: %01$*2$d", 1, 2) - < E1402: Positional argument 2 used as field + < E1502: Positional argument 2 used as field width reused as different type: long int/int - *E1403* + *E1503* When a positional argument is used, but not the correct number or arguments is given, an error is raised: >vim echo printf("%1$d at width %2$d is: %01$*2$.*3$d", 1, 2) - < E1403: Positional argument 3 out of bounds: + < E1503: Positional argument 3 out of bounds: %1$d at width %2$d is: %01$*2$.*3$d Only the first error is reported: >vim echo printf("%01$*2$.*3$d %4$d", 1, 2) - < E1403: Positional argument 3 out of bounds: + < E1503: Positional argument 3 out of bounds: %01$*2$.*3$d %4$d - *E1404* + *E1504* A positional argument can be used more than once: >vim echo printf("%1$s %2$s %1$s", "One", "Two") < One Two One However, you can't use a different type the second time: >vim echo printf("%1$s %2$s %1$d", "One", "Two") - < E1404: Positional argument 1 type used + < E1504: Positional argument 1 type used inconsistently: int/string - *E1405* + *E1505* Various other errors that lead to a format string being wrongly formatted lead to: >vim echo printf("%1$d at width %2$d is: %01$*2$.3$d", 1, 2) - < E1405: Invalid format specifier: + < E1505: Invalid format specifier: %1$d at width %2$d is: %01$*2$.3$d ]=], name = 'printf', -- cgit