Mercurial > vim
diff src/ops.c @ 336:2d8c2622e1fa
updated for version 7.0087
author | vimboss |
---|---|
date | Fri, 17 Jun 2005 22:00:15 +0000 |
parents | a2ff714de3db |
children | 0f2b5d1b8117 |
line wrap: on
line diff
--- a/src/ops.c +++ b/src/ops.c @@ -5717,6 +5717,11 @@ write_reg_contents_ex(name, str, maxlen, struct yankreg *old_y_previous, *old_y_current; long len; + if (maxlen >= 0) + len = maxlen; + else + len = (long)STRLEN(str); + /* Special case: '/' search pattern */ if (name == '/') { @@ -5724,6 +5729,26 @@ write_reg_contents_ex(name, str, maxlen, return; } +#ifdef FEAT_EVAL + if (name == '=') + { + char_u *p, *s; + + p = vim_strnsave(str, (int)len); + if (p == NULL) + return; + if (must_append) + { + s = concat_str(get_expr_line_src(), p); + vim_free(p); + p = s; + + } + set_expr_line(p); + return; + } +#endif + if (!valid_yank_reg(name, TRUE)) /* check for valid reg name */ { emsg_invreg(name); @@ -5740,10 +5765,6 @@ write_reg_contents_ex(name, str, maxlen, get_yank_register(name, TRUE); if (!y_append && !must_append) free_yank_all(); - if (maxlen >= 0) - len = maxlen; - else - len = (long)STRLEN(str); #ifndef FEAT_VISUAL /* Just in case - make sure we don't use MBLOCK */ if (yank_type == MBLOCK)