changeset 283:a2ff714de3db

updated for version 7.0075
author vimboss
date Sun, 22 May 2005 22:09:40 +0000
parents 33d9c918b8ab
children e697bd3c3876
files runtime/doc/pattern.txt src/globals.h src/ops.c src/testdir/test55.in
diffstat 4 files changed, 34 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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 @@ An ordinary atom can be:
 	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
--- a/src/globals.h
+++ b/src/globals.h
@@ -1431,6 +1431,10 @@ EXTERN char_u e_intern2[]	INIT(=N_("E685
 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
--- a/src/ops.c
+++ b/src/ops.c
@@ -783,6 +783,17 @@ get_expr_line()
     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 @@ get_reg_type(regname, reglen)
  * 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 @@ get_reg_contents(regname, allowexpr)
     if (regname == '=')
     {
 	if (allowexpr)
+	{
+	    if (expr_src)
+		return get_expr_line_src();
 	    return get_expr_line();
+	}
 	return NULL;
     }
 
--- a/src/testdir/test55.in
+++ b/src/testdir/test55.in
@@ -266,6 +266,15 @@ STARTTEST
 :$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
 :"