updated for version 7.0087
diff --git a/src/ops.c b/src/ops.c
index 3b45b2d..4502313 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -5717,6 +5717,11 @@
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 @@
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 @@
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)