Merge pull request #3903 from justinmk/vim-7.4.605

vim-patch:7.4.605
This commit is contained in:
Justin M. Keyes
2016-01-01 14:38:17 -05:00
6 changed files with 85 additions and 53 deletions

View File

@@ -703,17 +703,16 @@ char_u *get_expr_line_src(void)
/// @param writing allow only writable registers
bool valid_yank_reg(int regname, bool writing)
{
if ( (regname > 0 && ASCII_ISALNUM(regname))
|| (!writing && vim_strchr((char_u *)
"/.%#:="
, regname) != NULL)
|| regname == '"'
|| regname == '-'
|| regname == '_'
|| regname == '*'
|| regname == '+'
)
if ((regname > 0 && ASCII_ISALNUM(regname))
|| (!writing && vim_strchr((char_u *) "/.%:=" , regname) != NULL)
|| regname == '#'
|| regname == '"'
|| regname == '-'
|| regname == '_'
|| regname == '*'
|| regname == '+') {
return true;
}
return false;
}
@@ -4658,6 +4657,27 @@ void write_reg_contents_ex(int name,
return;
}
if (name == '#') {
buf_T *buf;
if (ascii_isdigit(*str)) {
int num = atoi((char *)str);
buf = buflist_findnr(num);
if (buf == NULL) {
EMSGN(_(e_nobufnr), (long)num);
}
} else {
buf = buflist_findnr(buflist_findpat(str, str + STRLEN(str),
true, false, false));
}
if (buf == NULL) {
return;
}
curwin->w_alt_fnum = buf->b_fnum;
return;
}
if (name == '=') {
size_t offset = 0;
size_t totlen = (size_t) len;