forked from aniani/vim
patch 8.2.2935: calculating register width is not always needed
Problem: Calculating register width is not always needed. (Christian
Brabandt)
Solution: Only calculate the width when the type is MBLOCK.
This commit is contained in:
@@ -2836,7 +2836,6 @@ str_to_reg(
|
||||
char_u **ss;
|
||||
char_u **pp;
|
||||
long maxlen;
|
||||
int charlen;
|
||||
|
||||
if (y_ptr->y_array == NULL) // NULL means empty register
|
||||
y_ptr->y_size = 0;
|
||||
@@ -2895,23 +2894,28 @@ str_to_reg(
|
||||
{
|
||||
for (ss = (char_u **) str; *ss != NULL; ++ss, ++lnum)
|
||||
{
|
||||
charlen = MB_CHARLEN(*ss);
|
||||
i = (long)STRLEN(*ss);
|
||||
pp[lnum] = vim_strnsave(*ss, i);
|
||||
if (charlen > maxlen)
|
||||
maxlen = charlen;
|
||||
pp[lnum] = vim_strsave(*ss);
|
||||
if (type == MBLOCK)
|
||||
{
|
||||
int charlen = mb_string2cells(*ss, -1);
|
||||
|
||||
if (charlen > maxlen)
|
||||
maxlen = charlen;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (start = 0; start < len + extraline; start += i + 1)
|
||||
{
|
||||
charlen = 0;
|
||||
int charlen = 0;
|
||||
|
||||
for (i = start; i < len; ++i) // find the end of the line
|
||||
{
|
||||
if (str[i] == '\n')
|
||||
break;
|
||||
charlen += mb_ptr2cells_len(str + i, len - i);
|
||||
if (type == MBLOCK)
|
||||
charlen += mb_ptr2cells_len(str + i, len - i);
|
||||
}
|
||||
i -= start; // i is now length of line
|
||||
if (charlen > maxlen)
|
||||
|
||||
@@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2935,
|
||||
/**/
|
||||
2934,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user