0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

updated for version 7.1-185

This commit is contained in:
Bram Moolenaar
2008-01-02 16:49:36 +00:00
parent ad8958b188
commit 2c994e8516
4 changed files with 34 additions and 8 deletions

View File

@@ -6939,6 +6939,25 @@ replace_push(c)
++replace_stack_nr;
}
#if defined(FEAT_MBYTE) || defined(PROTO)
/*
* Push a character onto the replace stack. Handles a multi-byte character in
* reverse byte order, so that the first byte is popped off first.
* Return the number of bytes done (includes composing characters).
*/
int
replace_push_mb(p)
char_u *p;
{
int l = (*mb_ptr2len)(p);
int j;
for (j = l - 1; j >= 0; --j)
replace_push(p[j]);
return l;
}
#endif
#if 0
/*
* call replace_push(c) with replace_offset set to the first NUL.

View File

@@ -591,7 +591,14 @@ open_line(dir, flags, old_indent)
replace_push(NUL);
p = saved_line + curwin->w_cursor.col;
while (*p != NUL)
{
#ifdef FEAT_MBYTE
if (has_mbyte)
p += replace_push_mb(p);
else
#endif
replace_push(*p++);
}
saved_line[curwin->w_cursor.col] = NUL;
}
#endif
@@ -1914,7 +1921,6 @@ ins_char_bytes(buf, charlen)
int charlen;
{
int c = buf[0];
int l, j;
#endif
int newlen; /* nr of bytes inserted */
int oldlen; /* nr of bytes deleted (0 when not replacing) */
@@ -2016,13 +2022,11 @@ ins_char_bytes(buf, charlen)
for (i = 0; i < oldlen; ++i)
{
#ifdef FEAT_MBYTE
l = (*mb_ptr2len)(oldp + col + i) - 1;
for (j = l; j >= 0; --j)
replace_push(oldp[col + i + j]);
i += l;
#else
replace_push(oldp[col + i]);
if (has_mbyte)
i += replace_push_mb(oldp + col + i) - 1;
else
#endif
replace_push(oldp[col + i]);
}
}

View File

@@ -32,6 +32,7 @@ int stuff_inserted __ARGS((int c, long count, int no_esc));
char_u *get_last_insert __ARGS((void));
char_u *get_last_insert_save __ARGS((void));
void replace_push __ARGS((int c));
int replace_push_mb __ARGS((char_u *p));
void fixthisline __ARGS((int (*get_the_indent)(void)));
void fix_indent __ARGS((void));
int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));

View File

@@ -666,6 +666,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
185,
/**/
184,
/**/