mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
updated for version 7.0-207
This commit is contained in:
@@ -4440,6 +4440,35 @@ vim_strsave_escape_csi(p)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove escaping from CSI and K_SPECIAL characters. Reverse of
|
||||||
|
* vim_strsave_escape_csi(). Works in-place.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
vim_unescape_csi(p)
|
||||||
|
char_u *p;
|
||||||
|
{
|
||||||
|
char_u *s = p, *d = p;
|
||||||
|
|
||||||
|
while (*s != NUL)
|
||||||
|
{
|
||||||
|
if (s[0] == K_SPECIAL && s[1] == KS_SPECIAL && s[2] == KE_FILLER)
|
||||||
|
{
|
||||||
|
*d++ = K_SPECIAL;
|
||||||
|
s += 3;
|
||||||
|
}
|
||||||
|
else if ((s[0] == K_SPECIAL || s[0] == CSI)
|
||||||
|
&& s[1] == KS_EXTRA && s[2] == (int)KE_CSI)
|
||||||
|
{
|
||||||
|
*d++ = CSI;
|
||||||
|
s += 3;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
*d++ = *s++;
|
||||||
|
}
|
||||||
|
*d = NUL;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Write map commands for the current mappings to an .exrc file.
|
* Write map commands for the current mappings to an .exrc file.
|
||||||
* Return FAIL on error, OK otherwise.
|
* Return FAIL on error, OK otherwise.
|
||||||
|
@@ -1042,6 +1042,9 @@ do_record(c)
|
|||||||
retval = FAIL;
|
retval = FAIL;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/* Remove escaping for CSI and K_SPECIAL in multi-byte chars. */
|
||||||
|
vim_unescape_csi(p);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We don't want to change the default register here, so save and
|
* We don't want to change the default register here, so save and
|
||||||
* restore the current register name.
|
* restore the current register name.
|
||||||
|
@@ -56,6 +56,7 @@ extern char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u
|
|||||||
extern int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file));
|
extern int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file));
|
||||||
extern int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol));
|
extern int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol));
|
||||||
extern char_u *vim_strsave_escape_csi __ARGS((char_u *p));
|
extern char_u *vim_strsave_escape_csi __ARGS((char_u *p));
|
||||||
|
extern void vim_unescape_csi __ARGS((char_u *p));
|
||||||
extern int makemap __ARGS((FILE *fd, buf_T *buf));
|
extern int makemap __ARGS((FILE *fd, buf_T *buf));
|
||||||
extern int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
|
extern int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
|
||||||
extern void check_map_keycodes __ARGS((void));
|
extern void check_map_keycodes __ARGS((void));
|
||||||
|
@@ -666,6 +666,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 */
|
||||||
|
/**/
|
||||||
|
207,
|
||||||
/**/
|
/**/
|
||||||
206,
|
206,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user