mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user