diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index ba35a04..b99b0d7 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.0aa.  Last change: 2005 Mar 29
+*pattern.txt*   For Vim version 7.0aa.  Last change: 2005 May 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -835,8 +835,8 @@
 	are halfway a Tab or other character that occupies more than one
 	screen character.  {not in Vi}
 	WARNING: When inserting or deleting text Vim does not automatically
-	update the matches.  This means Syntax highlighting quickly becomes
-	wrong.
+	update highlighted matches.  This means Syntax highlighting quickly
+	becomes wrong.
 	Example, to highlight the all characters after virtual column 72: >
 		/\%>72v.*
 <	When 'hlsearch' is set and you move the cursor around and make changes
diff --git a/src/globals.h b/src/globals.h
index bbb0f1a..446717d 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1431,6 +1431,10 @@
 EXTERN char_u e_maxmempat[]	INIT(=N_("E363: pattern uses more memory than 'maxmempattern'"));
 EXTERN char_u e_emptybuf[]	INIT(=N_("E749: empty buffer"));
 
+#ifdef FEAT_EX_EXTRA
+EXTERN char_u e_invalpat[]	INIT(=N_("E682: Invalid search pattern or delimiter"));
+#endif
+
 #ifdef MACOS_X_UNIX
 EXTERN short disallow_gui	INIT(= FALSE);
 #endif
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;
     }
 
diff --git a/src/testdir/test55.in b/src/testdir/test55.in
index 46a857b..e25d6ca 100644
--- a/src/testdir/test55.in
+++ b/src/testdir/test55.in
@@ -266,6 +266,15 @@
 :$put =string(reverse(sort(l)))
 :$put =string(sort(reverse(sort(l))))
 :"
+:" splitting a string to a List
+:$put =string(split('  aa  bb '))
+:$put =string(split('  aa  bb  ', '\W\+', 0))
+:$put =string(split('  aa  bb  ', '\W\+', 1))
+:$put =string(split('  aa  bb  ', '\W', 1))
+:$put =string(split(':aa::bb:', ':', 0))
+:$put =string(split(':aa::bb:', ':', 1))
+:$put =string(split('aa,,bb, cc,', ',\s*', 1))
+:"
 :endfun
 :call Test(1, 2, [3, 4], {5: 6})  " This may take a while
 :"
