mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 9.0.1950: Vim9: error codes spread out
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: #13207 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
committed by
Christian Brabandt
parent
f057aca1cc
commit
413f83990f
@@ -6830,55 +6830,55 @@ printf({fmt}, {expr1} ...) *printf()*
|
|||||||
echo printf("%1$*2$.*3$f", 1.4142135, 6, 2)
|
echo printf("%1$*2$.*3$f", 1.4142135, 6, 2)
|
||||||
< 1.41
|
< 1.41
|
||||||
|
|
||||||
*E1400*
|
*E1500*
|
||||||
You cannot mix positional and non-positional arguments: >
|
You cannot mix positional and non-positional arguments: >
|
||||||
echo printf("%s%1$s", "One", "Two")
|
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
|
arguments: %s%1$s
|
||||||
|
|
||||||
*E1401*
|
*E1501*
|
||||||
You cannot skip a positional argument in a format string: >
|
You cannot skip a positional argument in a format string: >
|
||||||
echo printf("%3$s%1$s", "One", "Two", "Three")
|
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
|
format: %3$s%1$s
|
||||||
|
|
||||||
*E1402*
|
*E1502*
|
||||||
You can re-use a [field-width] (or [precision]) argument: >
|
You can re-use a [field-width] (or [precision]) argument: >
|
||||||
echo printf("%1$d at width %2$d is: %01$*2$d", 1, 2)
|
echo printf("%1$d at width %2$d is: %01$*2$d", 1, 2)
|
||||||
< 1 at width 2 is: 01
|
< 1 at width 2 is: 01
|
||||||
|
|
||||||
However, you can't use it as a different type: >
|
However, you can't use it as a different type: >
|
||||||
echo printf("%1$d at width %2$ld is: %01$*2$d", 1, 2)
|
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
|
width reused as different type: long int/int
|
||||||
|
|
||||||
*E1403*
|
*E1503*
|
||||||
When a positional argument is used, but not the correct number
|
When a positional argument is used, but not the correct number
|
||||||
or arguments is given, an error is raised: >
|
or arguments is given, an error is raised: >
|
||||||
echo printf("%1$d at width %2$d is: %01$*2$.*3$d", 1, 2)
|
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
|
%1$d at width %2$d is: %01$*2$.*3$d
|
||||||
|
|
||||||
Only the first error is reported: >
|
Only the first error is reported: >
|
||||||
echo printf("%01$*2$.*3$d %4$d", 1, 2)
|
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
|
%01$*2$.*3$d %4$d
|
||||||
|
|
||||||
*E1404*
|
*E1504*
|
||||||
A positional argument can be used more than once: >
|
A positional argument can be used more than once: >
|
||||||
echo printf("%1$s %2$s %1$s", "One", "Two")
|
echo printf("%1$s %2$s %1$s", "One", "Two")
|
||||||
< One Two One
|
< One Two One
|
||||||
|
|
||||||
However, you can't use a different type the second time: >
|
However, you can't use a different type the second time: >
|
||||||
echo printf("%1$s %2$s %1$d", "One", "Two")
|
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
|
inconsistently: int/string
|
||||||
|
|
||||||
*E1405*
|
*E1505*
|
||||||
Various other errors that lead to a format string being
|
Various other errors that lead to a format string being
|
||||||
wrongly formatted lead to: >
|
wrongly formatted lead to: >
|
||||||
echo printf("%1$d at width %2$d is: %01$*2$.3$d", 1, 2)
|
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
|
%1$d at width %2$d is: %01$*2$.3$d
|
||||||
|
|
||||||
prompt_getprompt({buf}) *prompt_getprompt()*
|
prompt_getprompt({buf}) *prompt_getprompt()*
|
||||||
|
@@ -4485,12 +4485,6 @@ E1389 vim9class.txt /*E1389*
|
|||||||
E139 message.txt /*E139*
|
E139 message.txt /*E139*
|
||||||
E1390 vim9class.txt /*E1390*
|
E1390 vim9class.txt /*E1390*
|
||||||
E140 message.txt /*E140*
|
E140 message.txt /*E140*
|
||||||
E1400 builtin.txt /*E1400*
|
|
||||||
E1401 builtin.txt /*E1401*
|
|
||||||
E1402 builtin.txt /*E1402*
|
|
||||||
E1403 builtin.txt /*E1403*
|
|
||||||
E1404 builtin.txt /*E1404*
|
|
||||||
E1405 builtin.txt /*E1405*
|
|
||||||
E141 message.txt /*E141*
|
E141 message.txt /*E141*
|
||||||
E142 message.txt /*E142*
|
E142 message.txt /*E142*
|
||||||
E143 autocmd.txt /*E143*
|
E143 autocmd.txt /*E143*
|
||||||
@@ -4502,6 +4496,12 @@ E148 repeat.txt /*E148*
|
|||||||
E149 helphelp.txt /*E149*
|
E149 helphelp.txt /*E149*
|
||||||
E15 eval.txt /*E15*
|
E15 eval.txt /*E15*
|
||||||
E150 helphelp.txt /*E150*
|
E150 helphelp.txt /*E150*
|
||||||
|
E1500 builtin.txt /*E1500*
|
||||||
|
E1501 builtin.txt /*E1501*
|
||||||
|
E1502 builtin.txt /*E1502*
|
||||||
|
E1503 builtin.txt /*E1503*
|
||||||
|
E1504 builtin.txt /*E1504*
|
||||||
|
E1505 builtin.txt /*E1505*
|
||||||
E151 helphelp.txt /*E151*
|
E151 helphelp.txt /*E151*
|
||||||
E152 helphelp.txt /*E152*
|
E152 helphelp.txt /*E152*
|
||||||
E153 helphelp.txt /*E153*
|
E153 helphelp.txt /*E153*
|
||||||
@@ -6496,6 +6496,7 @@ conceal syntax.txt /*conceal*
|
|||||||
confirm() builtin.txt /*confirm()*
|
confirm() builtin.txt /*confirm()*
|
||||||
connection-refused message.txt /*connection-refused*
|
connection-refused message.txt /*connection-refused*
|
||||||
console-menus gui.txt /*console-menus*
|
console-menus gui.txt /*console-menus*
|
||||||
|
constructor vim9class.txt /*constructor*
|
||||||
context.vim ft_context.txt /*context.vim*
|
context.vim ft_context.txt /*context.vim*
|
||||||
control intro.txt /*control*
|
control intro.txt /*control*
|
||||||
conversion-server mbyte.txt /*conversion-server*
|
conversion-server mbyte.txt /*conversion-server*
|
||||||
@@ -6669,6 +6670,7 @@ debugger.txt debugger.txt /*debugger.txt*
|
|||||||
dec-mouse options.txt /*dec-mouse*
|
dec-mouse options.txt /*dec-mouse*
|
||||||
decada_members ft_ada.txt /*decada_members*
|
decada_members ft_ada.txt /*decada_members*
|
||||||
deepcopy() builtin.txt /*deepcopy()*
|
deepcopy() builtin.txt /*deepcopy()*
|
||||||
|
default-constructor vim9class.txt /*default-constructor*
|
||||||
defaults.vim starting.txt /*defaults.vim*
|
defaults.vim starting.txt /*defaults.vim*
|
||||||
defaults.vim-explained usr_05.txt /*defaults.vim-explained*
|
defaults.vim-explained usr_05.txt /*defaults.vim-explained*
|
||||||
define-function userfunc.txt /*define-function*
|
define-function userfunc.txt /*define-function*
|
||||||
@@ -8920,6 +8922,7 @@ netrw.vim pi_netrw.txt /*netrw.vim*
|
|||||||
netrw_filehandler pi_netrw.txt /*netrw_filehandler*
|
netrw_filehandler pi_netrw.txt /*netrw_filehandler*
|
||||||
netterm-mouse options.txt /*netterm-mouse*
|
netterm-mouse options.txt /*netterm-mouse*
|
||||||
network pi_netrw.txt /*network*
|
network pi_netrw.txt /*network*
|
||||||
|
new() vim9class.txt /*new()*
|
||||||
new-5 version5.txt /*new-5*
|
new-5 version5.txt /*new-5*
|
||||||
new-6 version6.txt /*new-6*
|
new-6 version6.txt /*new-6*
|
||||||
new-7 version7.txt /*new-7*
|
new-7 version7.txt /*new-7*
|
||||||
@@ -9311,6 +9314,8 @@ printf-s builtin.txt /*printf-s*
|
|||||||
printf-x builtin.txt /*printf-x*
|
printf-x builtin.txt /*printf-x*
|
||||||
printing print.txt /*printing*
|
printing print.txt /*printing*
|
||||||
printing-formfeed print.txt /*printing-formfeed*
|
printing-formfeed print.txt /*printing-formfeed*
|
||||||
|
private-method vim9class.txt /*private-method*
|
||||||
|
private-variable vim9class.txt /*private-variable*
|
||||||
profile repeat.txt /*profile*
|
profile repeat.txt /*profile*
|
||||||
profiling repeat.txt /*profiling*
|
profiling repeat.txt /*profiling*
|
||||||
profiling-variable eval.txt /*profiling-variable*
|
profiling-variable eval.txt /*profiling-variable*
|
||||||
|
@@ -150,7 +150,7 @@ If you try to set an object variable that doesn't exist you get an error: >
|
|||||||
A object variable cannot be accessed using the class name.
|
A object variable cannot be accessed using the class name.
|
||||||
|
|
||||||
Private variables ~
|
Private variables ~
|
||||||
*E1332* *E1333*
|
*private-variable* *E1332* *E1333*
|
||||||
On the other hand, if you do not want the object variables to be read directly,
|
On the other hand, if you do not want the object variables to be read directly,
|
||||||
you can make them private. This is done by prefixing an underscore to the
|
you can make them private. This is done by prefixing an underscore to the
|
||||||
name: >
|
name: >
|
||||||
@@ -182,7 +182,7 @@ number to the total number of lines: >
|
|||||||
enddef
|
enddef
|
||||||
<
|
<
|
||||||
Private methods ~
|
Private methods ~
|
||||||
*E1366*
|
*private-method* *E1366*
|
||||||
If you want object methods to be accessible only from other methods of the
|
If you want object methods to be accessible only from other methods of the
|
||||||
same class and not used from outside the class, then you can make them
|
same class and not used from outside the class, then you can make them
|
||||||
private. This is done by prefixing the method name with an underscore: >
|
private. This is done by prefixing the method name with an underscore: >
|
||||||
@@ -203,7 +203,7 @@ the above class): >
|
|||||||
a._Foo()
|
a._Foo()
|
||||||
<
|
<
|
||||||
Simplifying the new() method ~
|
Simplifying the new() method ~
|
||||||
|
*new()* *constructor*
|
||||||
Many constructors take values for the object variables. Thus you very often
|
Many constructors take values for the object variables. Thus you very often
|
||||||
see this pattern: >
|
see this pattern: >
|
||||||
|
|
||||||
@@ -651,7 +651,7 @@ even when the variable name is invalid. *E1360* *E1362* *E1363*
|
|||||||
|
|
||||||
|
|
||||||
Default constructor ~
|
Default constructor ~
|
||||||
|
*default-constructor*
|
||||||
In case you define a class without a new() method, one will be automatically
|
In case you define a class without a new() method, one will be automatically
|
||||||
defined. This default constructor will have arguments for all the object
|
defined. This default constructor will have arguments for all the object
|
||||||
variables, in the order they were specified. Thus if your class looks like: >
|
variables, in the order they were specified. Thus if your class looks like: >
|
||||||
|
18
src/errors.h
18
src/errors.h
@@ -3532,18 +3532,20 @@ EXTERN char e_missing_name_after_implements[]
|
|||||||
EXTERN char e_cannot_use_an_object_variable_except_with_the_new_method_str[]
|
EXTERN char e_cannot_use_an_object_variable_except_with_the_new_method_str[]
|
||||||
INIT(= N_("E1390: Cannot use an object variable \"this.%s\" except with the \"new\" method"));
|
INIT(= N_("E1390: Cannot use an object variable \"this.%s\" except with the \"new\" method"));
|
||||||
#endif
|
#endif
|
||||||
|
// E1391 - E1499 unused (reserved for Vim9 class support)
|
||||||
EXTERN char e_cannot_mix_positional_and_non_positional_str[]
|
EXTERN char e_cannot_mix_positional_and_non_positional_str[]
|
||||||
INIT(= N_("E1400: Cannot mix positional and non-positional arguments: %s"));
|
INIT(= N_("E1500: Cannot mix positional and non-positional arguments: %s"));
|
||||||
EXTERN char e_fmt_arg_nr_unused_str[]
|
EXTERN char e_fmt_arg_nr_unused_str[]
|
||||||
INIT(= N_("E1401: format argument %d unused in $-style format: %s"));
|
INIT(= N_("E1501: format argument %d unused in $-style format: %s"));
|
||||||
EXTERN char e_positional_num_field_spec_reused_str_str[]
|
EXTERN char e_positional_num_field_spec_reused_str_str[]
|
||||||
INIT(= N_("E1402: Positional argument %d used as field width reused as different type: %s/%s"));
|
INIT(= N_("E1502: Positional argument %d used as field width reused as different type: %s/%s"));
|
||||||
EXTERN char e_positional_nr_out_of_bounds_str[]
|
EXTERN char e_positional_nr_out_of_bounds_str[]
|
||||||
INIT(= N_("E1403: Positional argument %d out of bounds: %s"));
|
INIT(= N_("E1503: Positional argument %d out of bounds: %s"));
|
||||||
EXTERN char e_positional_arg_num_type_inconsistent_str_str[]
|
EXTERN char e_positional_arg_num_type_inconsistent_str_str[]
|
||||||
INIT(= N_("E1404: Positional argument %d type used inconsistently: %s/%s"));
|
INIT(= N_("E1504: Positional argument %d type used inconsistently: %s/%s"));
|
||||||
EXTERN char e_invalid_format_specifier_str[]
|
EXTERN char e_invalid_format_specifier_str[]
|
||||||
INIT(= N_("E1405: Invalid format specifier: %s"));
|
INIT(= N_("E1505: Invalid format specifier: %s"));
|
||||||
EXTERN char e_aptypes_is_null_nr_str[]
|
EXTERN char e_aptypes_is_null_nr_str[]
|
||||||
INIT(= "E1408: Internal error: ap_types or ap_types[idx] is NULL: %d: %s");
|
INIT(= "E1520: Internal error: ap_types or ap_types[idx] is NULL: %d: %s");
|
||||||
// E1391 - E1399 unused
|
|
||||||
|
// E1506 - E1519 unused
|
||||||
|
@@ -107,65 +107,65 @@ func Test_printf_pos_misc()
|
|||||||
|
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$d%2$d', 1, 3, 4)"], "E767:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$d%2$d', 1, 3, 4)"], "E767:")
|
||||||
|
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%2$d%d', 1, 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%2$d%d', 1, 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%d%2$d', 1, 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%d%2$d', 1, 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%2$*1$d%d', 1, 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%2$*1$d%d', 1, 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%d%2$*1$d', 1, 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%d%2$*1$d', 1, 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%2$.*1$d%d', 1, 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%2$.*1$d%d', 1, 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%d%2$.*1$d', 1, 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%d%2$.*1$d', 1, 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$%')"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$%')"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$')"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$')"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$_')"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$_')"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3$.*d', 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3$.*d', 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*.*2$d', 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*.*2$d', 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*.*d', 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*.*d', 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%*.*1$d', 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%*.*1$d', 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%*1$.*d', 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%*1$.*d', 3)"], "E1500:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%*1$.*1$d', 3)"], "E1400:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%*1$.*1$d', 3)"], "E1500:")
|
||||||
|
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%2$d', 3, 3)"], "E1401:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%2$d', 3, 3)"], "E1501:")
|
||||||
|
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%2$*1$d %1$ld', 3, 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%2$*1$d %1$ld', 3, 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$p %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$p %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$f %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$f %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lud %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lud %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$llud %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$llud %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lld %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lld %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$c %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$c %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %1$*1$d', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %1$*1$d', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %2$*1$d', 3, 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %2$*1$d', 3, 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*1$ld', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*1$ld', 3)"], "E1502:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*1$.*1$ld', 3)"], "E1402:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*1$.*1$ld', 3)"], "E1502:")
|
||||||
|
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$d%2$d', 3)"], "E1403:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$d%2$d', 3)"], "E1503:")
|
||||||
|
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$d %1$s', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$d %1$s', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %1$s', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %1$s', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ud %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ud %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$f', 3.0)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$f', 3.0)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*1$d %1$ld', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*1$d %1$ld', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$p %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$p %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$f %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$f %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lud %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lud %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$llud %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$llud %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lld %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$lld %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$s %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$c %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$c %1$d', 3)"], "E1504:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %1$d', 3)"], "E1404:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$ld %1$d', 3)"], "E1504:")
|
||||||
|
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$.2$d', 3)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$.2$d', 3)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%01$d', 3)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%01$d', 3)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%01$0d', 3)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%01$0d', 3)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*2d', 3)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*2d', 3)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3.*2$d', 3)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3.*2$d', 3)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3$.2$d', 3)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3$.2$d', 3)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3$.*2d', 3)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$*3$.*2d', 3)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$1$.5d', 5)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$1$.5d', 5)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$5.1$d', 5)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$5.1$d', 5)"], "E1505:")
|
||||||
call v9.CheckLegacyAndVim9Failure(["call printf('%1$1$.1$d', 5)"], "E1405:")
|
call v9.CheckLegacyAndVim9Failure(["call printf('%1$1$.1$d', 5)"], "E1505:")
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_printf_pos_float()
|
func Test_printf_pos_float()
|
||||||
@@ -296,9 +296,9 @@ func Test_printf_pos_errors()
|
|||||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$d", [])'], 'E745:')
|
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$d", [])'], 'E745:')
|
||||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$d", 1, 2)'], 'E767:')
|
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$d", 1, 2)'], 'E767:')
|
||||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%*d", 1)'], 'E766:')
|
call v9.CheckLegacyAndVim9Failure(['echo printf("%*d", 1)'], 'E766:')
|
||||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$s")'], 'E1403:')
|
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$s")'], 'E1503:')
|
||||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$d", 1.2)'], 'E805:')
|
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$d", 1.2)'], 'E805:')
|
||||||
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$f")'], 'E1403:')
|
call v9.CheckLegacyAndVim9Failure(['echo printf("%1$f")'], 'E1503:')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_printf_pos_64bit()
|
func Test_printf_pos_64bit()
|
||||||
|
@@ -699,6 +699,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1950,
|
||||||
/**/
|
/**/
|
||||||
1949,
|
1949,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user