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

413f83990f

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
zeertzjq
2023-09-29 06:52:02 +08:00
committed by GitHub
parent 1117d29b20
commit 7ec20a4082
5 changed files with 104 additions and 104 deletions

View File

@@ -6238,55 +6238,55 @@ function vim.fn.prevnonblank(lnum) end
--- 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
--- < 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
---
--- @param fmt any