diff options
| author | Björn Linse <bjorn.linse@gmail.com> | 2015-04-12 22:13:45 +0200 | 
|---|---|---|
| committer | Björn Linse <bjorn.linse@gmail.com> | 2015-04-17 16:12:32 +0200 | 
| commit | 26fedb133d817274a9f4bf54f97d3e5adfba67b4 (patch) | |
| tree | 978df71b40d2b5aa56e77463c5e286c129398aa3 /src/nvim/ops.c | |
| parent | edb13791bd6eda43ab3816c7697530b378680e61 (diff) | |
| download | rneovim-26fedb133d817274a9f4bf54f97d3e5adfba67b4.tar.gz rneovim-26fedb133d817274a9f4bf54f97d3e5adfba67b4.tar.bz2 rneovim-26fedb133d817274a9f4bf54f97d3e5adfba67b4.zip | |
clipboard: cleanup `valid_yank_reg` and use it for `:redir`
This fixes missing clipboard support for `:redir`
Helped-By: Michael Reed <m.reed@mykolab.com>
Helped-By: Scott Prager <splinterofchaos@gmail.com>
Diffstat (limited to 'src/nvim/ops.c')
| -rw-r--r-- | src/nvim/ops.c | 34 | 
1 files changed, 16 insertions, 18 deletions
| diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 8446a943a0..595f025d63 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -714,15 +714,13 @@ char_u *get_expr_line_src(void)    return vim_strsave(expr_line);  } -/* - * Check if 'regname' is a valid name of a yank register. - * Note: There is no check for 0 (default register), caller should do this - */ -int  -valid_yank_reg ( -    int regname, -    int writing                /* if TRUE check for writable registers */ -) +/// Returns whether `regname` is a valid name of a yank register. +/// Note: There is no check for 0 (default register), caller should do this. +/// The black hole register '_' is regarded as valid. +/// +/// @param regname name of register +/// @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 *) @@ -734,8 +732,8 @@ valid_yank_reg (               || regname == '*'               || regname == '+'               ) -    return TRUE; -  return FALSE; +    return true; +  return false;  }  typedef enum { @@ -826,7 +824,7 @@ yankreg_T *copy_register(int name)   */  int yank_register_mline(int regname)  { -  if (regname != 0 && !valid_yank_reg(regname, FALSE)) +  if (regname != 0 && !valid_yank_reg(regname, false))      return FALSE;    if (regname == '_')           /* black hole is always empty */      return FALSE; @@ -894,7 +892,7 @@ int do_record(int c)  static int stuff_yank(int regname, char_u *p)  {    /* check for read-only register */ -  if (regname != 0 && !valid_yank_reg(regname, TRUE)) { +  if (regname != 0 && !valid_yank_reg(regname, true)) {      xfree(p);      return FAIL;    } @@ -950,7 +948,7 @@ do_execreg (      regname = execreg_lastc;    }    /* check for valid regname */ -  if (regname == '%' || regname == '#' || !valid_yank_reg(regname, FALSE)) { +  if (regname == '%' || regname == '#' || !valid_yank_reg(regname, false)) {      emsg_invreg(regname);      return FAIL;    } @@ -1116,7 +1114,7 @@ insert_reg (      return FAIL;    /* check for valid regname */ -  if (regname != NUL && !valid_yank_reg(regname, FALSE)) +  if (regname != NUL && !valid_yank_reg(regname, false))      return FAIL;    if (regname == '.')                   /* insert last inserted text */ @@ -2307,7 +2305,7 @@ bool op_yank(oparg_T *oap, bool message)    FUNC_ATTR_NONNULL_ALL  {    // check for read-only register -  if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE)) { +  if (oap->regname != 0 && !valid_yank_reg(oap->regname, true)) {      beep_flush();      return false;    } @@ -4621,7 +4619,7 @@ char_u get_reg_type(int regname, long *reglen)      return MCHAR;    } -  if (regname != NUL && !valid_yank_reg(regname, FALSE)) +  if (regname != NUL && !valid_yank_reg(regname, false))      return MAUTO;    yankreg_T *reg = get_yank_register(regname, YREG_PASTE); @@ -4677,7 +4675,7 @@ void *get_reg_contents(int regname, int flags)      regname = '"';    /* check for valid regname */ -  if (regname != NUL && !valid_yank_reg(regname, FALSE)) +  if (regname != NUL && !valid_yank_reg(regname, false))      return NULL;    char_u *retval; | 
