updated for version 7.0075
diff --git a/src/ops.c b/src/ops.c
index 94dc39c..3b45b2d 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -783,6 +783,17 @@
vim_free(expr_copy);
return rv;
}
+
+/*
+ * Get the '=' register expression itself, without evaluating it.
+ */
+ char_u *
+get_expr_line_src()
+{
+ if (expr_line == NULL)
+ return NULL;
+ return vim_strsave(expr_line);
+}
#endif /* FEAT_EVAL */
/*
@@ -5588,9 +5599,10 @@
* Returns NULL for error.
*/
char_u *
-get_reg_contents(regname, allowexpr)
+get_reg_contents(regname, allowexpr, expr_src)
int regname;
- int allowexpr; /* allow "=" register. */
+ int allowexpr; /* allow "=" register */
+ int expr_src; /* get expression for "=" register */
{
long i;
char_u *retval;
@@ -5601,7 +5613,11 @@
if (regname == '=')
{
if (allowexpr)
+ {
+ if (expr_src)
+ return get_expr_line_src();
return get_expr_line();
+ }
return NULL;
}