mirror of
https://github.com/vim/vim.git
synced 2025-08-26 20:03:41 -04:00
patch 9.1.1223: wrong translation used for encoding failures
Problem: wrong translation for encoding failures because of using literal "from" and "to" in the resulting error message (RestorerZ) Solution: use separate error messages for errors "from" and "to" encoding errors. fixes: #16898 closes: #16918 Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
8ac0f73eb1
commit
d5afc74403
@ -1311,7 +1311,7 @@ blob2str({blob} [, {options}]) *blob2str()*
|
|||||||
encoding. The value is a |String|. See
|
encoding. The value is a |String|. See
|
||||||
|encoding-names| for the supported values
|
|encoding-names| for the supported values
|
||||||
(plus the special value "none").
|
(plus the special value "none").
|
||||||
*E1515*
|
*E1515* *E1516*
|
||||||
When current 'encoding' is "utf-8", an error is given and an
|
When current 'encoding' is "utf-8", an error is given and an
|
||||||
empty List is returned if an invalid byte sequence is
|
empty List is returned if an invalid byte sequence is
|
||||||
encountered in {blob}. To suppress this validation and get
|
encountered in {blob}. To suppress this validation and get
|
||||||
|
@ -4589,6 +4589,7 @@ E1512 options.txt /*E1512*
|
|||||||
E1513 message.txt /*E1513*
|
E1513 message.txt /*E1513*
|
||||||
E1514 options.txt /*E1514*
|
E1514 options.txt /*E1514*
|
||||||
E1515 builtin.txt /*E1515*
|
E1515 builtin.txt /*E1515*
|
||||||
|
E1516 builtin.txt /*E1516*
|
||||||
E152 helphelp.txt /*E152*
|
E152 helphelp.txt /*E152*
|
||||||
E153 helphelp.txt /*E153*
|
E153 helphelp.txt /*E153*
|
||||||
E154 helphelp.txt /*E154*
|
E154 helphelp.txt /*E154*
|
||||||
|
@ -3660,5 +3660,7 @@ EXTERN char e_winfixbuf_cannot_go_to_buffer[]
|
|||||||
INIT(= N_("E1513: Cannot switch buffer. 'winfixbuf' is enabled"));
|
INIT(= N_("E1513: Cannot switch buffer. 'winfixbuf' is enabled"));
|
||||||
EXTERN char e_invalid_return_type_from_findfunc[]
|
EXTERN char e_invalid_return_type_from_findfunc[]
|
||||||
INIT(= N_("E1514: 'findfunc' did not return a List type"));
|
INIT(= N_("E1514: 'findfunc' did not return a List type"));
|
||||||
EXTERN char e_str_encoding_failed[]
|
EXTERN char e_str_encoding_from_failed[]
|
||||||
INIT(= N_("E1515: Unable to convert %s '%s' encoding"));
|
INIT(= N_("E1515: Unable to convert from '%s' encoding"));
|
||||||
|
EXTERN char e_str_encoding_to_failed[]
|
||||||
|
INIT(= N_("E1516: Unable to convert to '%s' encoding"));
|
||||||
|
@ -1339,7 +1339,7 @@ f_blob2str(typval_T *argvars, typval_T *rettv)
|
|||||||
vim_free(str);
|
vim_free(str);
|
||||||
if (converted_str == NULL)
|
if (converted_str == NULL)
|
||||||
{
|
{
|
||||||
semsg(_(e_str_encoding_failed), "from", from_encoding);
|
semsg(_(e_str_encoding_from_failed), from_encoding);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1348,7 +1348,7 @@ f_blob2str(typval_T *argvars, typval_T *rettv)
|
|||||||
{
|
{
|
||||||
if (!utf_valid_string(converted_str, NULL))
|
if (!utf_valid_string(converted_str, NULL))
|
||||||
{
|
{
|
||||||
semsg(_(e_str_encoding_failed), "from", p_enc);
|
semsg(_(e_str_encoding_from_failed), p_enc);
|
||||||
vim_free(converted_str);
|
vim_free(converted_str);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
@ -1414,7 +1414,7 @@ f_str2blob(typval_T *argvars, typval_T *rettv)
|
|||||||
str = convert_string(str, p_enc, to_encoding);
|
str = convert_string(str, p_enc, to_encoding);
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
{
|
{
|
||||||
semsg(_(e_str_encoding_failed), "to", to_encoding);
|
semsg(_(e_str_encoding_to_failed), to_encoding);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4422,10 +4422,10 @@ func Test_str2blob()
|
|||||||
|
|
||||||
call assert_fails("call str2blob(['abc'], [])", 'E1206: Dictionary required for argument 2')
|
call assert_fails("call str2blob(['abc'], [])", 'E1206: Dictionary required for argument 2')
|
||||||
call assert_fails("call str2blob(['abc'], {'encoding': []})", 'E730: Using a List as a String')
|
call assert_fails("call str2blob(['abc'], {'encoding': []})", 'E730: Using a List as a String')
|
||||||
call assert_fails("call str2blob(['abc'], {'encoding': 'ab12xy'})", 'E1515: Unable to convert to ''ab12xy'' encoding')
|
call assert_fails("call str2blob(['abc'], {'encoding': 'ab12xy'})", 'E1516: Unable to convert to ''ab12xy'' encoding')
|
||||||
call assert_fails("call str2blob(['ŝş'], {'encoding': 'latin1'})", 'E1515: Unable to convert to ''latin1'' encoding')
|
call assert_fails("call str2blob(['ŝş'], {'encoding': 'latin1'})", 'E1516: Unable to convert to ''latin1'' encoding')
|
||||||
call assert_fails("call str2blob(['அஇ'], {'encoding': 'latin1'})", 'E1515: Unable to convert to ''latin1'' encoding')
|
call assert_fails("call str2blob(['அஇ'], {'encoding': 'latin1'})", 'E1516: Unable to convert to ''latin1'' encoding')
|
||||||
call assert_fails("call str2blob(['🁰🁳'], {'encoding': 'latin1'})", 'E1515: Unable to convert to ''latin1'' encoding')
|
call assert_fails("call str2blob(['🁰🁳'], {'encoding': 'latin1'})", 'E1516: Unable to convert to ''latin1'' encoding')
|
||||||
END
|
END
|
||||||
call v9.CheckLegacyAndVim9Success(lines)
|
call v9.CheckLegacyAndVim9Success(lines)
|
||||||
endfunc
|
endfunc
|
||||||
|
@ -704,6 +704,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 */
|
||||||
|
/**/
|
||||||
|
1223,
|
||||||
/**/
|
/**/
|
||||||
1222,
|
1222,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user