mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
updated for version 7.3.780
Problem: char2nr() and nr2char() always use 'encoding'. Solution: Add argument to use utf-8 characters. (Yasuhiro Matsumoto)
This commit is contained in:
27
src/eval.c
27
src/eval.c
@@ -7854,7 +7854,7 @@ static struct fst
|
||||
{"ceil", 1, 1, f_ceil},
|
||||
#endif
|
||||
{"changenr", 0, 0, f_changenr},
|
||||
{"char2nr", 1, 1, f_char2nr},
|
||||
{"char2nr", 1, 2, f_char2nr},
|
||||
{"cindent", 1, 1, f_cindent},
|
||||
{"clearmatches", 0, 0, f_clearmatches},
|
||||
{"col", 1, 1, f_col},
|
||||
@@ -8003,7 +8003,7 @@ static struct fst
|
||||
{"mzeval", 1, 1, f_mzeval},
|
||||
#endif
|
||||
{"nextnonblank", 1, 1, f_nextnonblank},
|
||||
{"nr2char", 1, 1, f_nr2char},
|
||||
{"nr2char", 1, 2, f_nr2char},
|
||||
{"or", 2, 2, f_or},
|
||||
{"pathshorten", 1, 1, f_pathshorten},
|
||||
#ifdef FEAT_FLOAT
|
||||
@@ -9303,7 +9303,17 @@ f_char2nr(argvars, rettv)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
rettv->vval.v_number = (*mb_ptr2char)(get_tv_string(&argvars[0]));
|
||||
{
|
||||
int utf8 = 0;
|
||||
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
utf8 = get_tv_number_chk(&argvars[1], NULL);
|
||||
|
||||
if (utf8)
|
||||
rettv->vval.v_number = (*utf_ptr2char)(get_tv_string(&argvars[0]));
|
||||
else
|
||||
rettv->vval.v_number = (*mb_ptr2char)(get_tv_string(&argvars[0]));
|
||||
}
|
||||
else
|
||||
#endif
|
||||
rettv->vval.v_number = get_tv_string(&argvars[0])[0];
|
||||
@@ -14360,7 +14370,16 @@ f_nr2char(argvars, rettv)
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
buf[(*mb_char2bytes)((int)get_tv_number(&argvars[0]), buf)] = NUL;
|
||||
{
|
||||
int utf8 = 0;
|
||||
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
utf8 = get_tv_number_chk(&argvars[1], NULL);
|
||||
if (utf8)
|
||||
buf[(*utf_char2bytes)((int)get_tv_number(&argvars[0]), buf)] = NUL;
|
||||
else
|
||||
buf[(*mb_char2bytes)((int)get_tv_number(&argvars[0]), buf)] = NUL;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
|
@@ -725,6 +725,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
780,
|
||||
/**/
|
||||
779,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user