updated for version 7.0044
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 3eeb98f..5cb9611 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 20
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -992,6 +992,12 @@
 |function-argument|  a:	  Function argument (only inside a function).
 |vim-variable|       v:	  Global, predefined by Vim.
 
+The scope name by itself can be used as a Dictionary.  For example, to delete
+all script-local variables: >
+	:for k in keys(s:)
+	:    unlet s:[k]
+	:endfor
+<
 						*buffer-variable* *b:var*
 A variable name that is preceded with "b:" is local to the current buffer.
 Thus you can have several "b:foo" variables, one for each buffer.
@@ -1507,7 +1513,8 @@
 sort( {list} [, {func}])	List	sort {list}, using {func} to compare
 split( {expr} [, {pat}])	List	make List from {pat} separated {expr}
 strftime( {format}[, {time}])	String	time in specified format
-stridx( {haystack}, {needle})	Number	first index of {needle} in {haystack}
+stridx( {haystack}, {needle}[, {start}])
+				Number	index of {needle} in {haystack}
 string( {expr})			String	String representation of {expr} value
 strlen( {expr})			Number	length of the String {expr}
 strpart( {src}, {start}[, {len}])
@@ -3507,12 +3514,14 @@
 <		Not available on all systems.  To check use: >
 			:if exists("*strftime")
 
-stridx({haystack}, {needle})				*stridx()*
-		The result is a Number, which gives the index in {haystack} of
-		the first occurrence of the String {needle} in the String
-		{haystack}. The search is done case-sensitive. For advanced
-		searches use |match()|.
-		If the {needle} does not occur in {haystack} it returns -1.
+stridx({haystack}, {needle} [, {start}])		*stridx()*
+		The result is a Number, which gives the byte index in
+		{haystack} of the first occurrence of the String {needle}.
+		If {start} is specified, the String {needle} is searched from
+		the byte index {start} in the String {haystack}.
+		The search is done case-sensitive.
+		For pattern searches use |match()|. 
+		-1 is returned if the {needle} does not occur in {haystack}.
 		See also |strridx()|. Examples: >
 		  :echo stridx("An Example", "Example")	     3
 		  :echo stridx("Starting point", "Start")    0
@@ -3558,10 +3567,10 @@
 <
 strridx({haystack}, {needle})				*strridx()*
 		The result is a Number, which gives the index in {haystack} of
-		the last occurrence of the String {needle} in the String
-		{haystack}. The search is done case-sensitive. For advanced
-		searches use |match()|.
-		If the {needle} does not occur in {haystack} it returns -1.
+		the last occurrence of the String {needle}.
+		The search is done case-sensitive.
+		For pattern searches use |match()|.
+		-1 is returned if the {needle} does not occur in {haystack}.
 		If the {needle} is empty the length of {haystack} is returned.
 		See also |stridx()|. Examples: >
 		  :echo strridx("an angry armadillo", "an")	     3
@@ -4069,30 +4078,14 @@
 			result is a |Funcref| to a numbered function.  The
 			function can only be used with a |Funcref| and will be
 			deleted if there are no more references to it.
-						*function-argument* *a:var*
-			An argument can be defined by giving its name.  In the
-			function this can then be used as "a:name" ("a:" for
-			argument).
-			Up to 20 arguments can be given, separated by commas.
-			Finally, an argument "..." can be specified, which
-			means that more arguments may be following.  In the
-			function they can be used as "a:1", "a:2", etc.  "a:0"
-			is set to the number of extra arguments (which can be
-			0).
-			When not using "...", the number of arguments in a
-			function call must be equal to the number of named
-			arguments.  When using "...", the number of arguments
-			may be larger.
-			It is also possible to define a function without any
-			arguments.  You must still supply the () then.
-			The body of the function follows in the next lines,
-			until the matching |:endfunction|.  It is allowed to
-			define another function inside a function body.
 								*E127* *E122*
 			When a function by this name already exists and [!] is
 			not used an error message is given.  When [!] is used,
 			an existing function is silently replaced.  Unless it
 			is currently being executed, that is an error.
+
+			For the {arguments} see |function-argument|.
+
 						*a:firstline* *a:lastline*
 			When the [range] argument is added, the function is
 			expected to take care of a range itself.  The range is
@@ -4139,7 +4132,26 @@
 			nested ":try"s inside the function.  The function
 			returns at the outermost ":endtry".
 
+						*function-argument* *a:var*
+An argument can be defined by giving its name.  In the function this can then
+be used as "a:name" ("a:" for argument).
+						*a:0* *a:1* *a:000* *E740*
+Up to 20 arguments can be given, separated by commas.  After the named
+arguments an argument "..." can be specified, which means that more arguments
+may optionally be following.  In the function the extra arguments can be used
+as "a:1", "a:2", etc.  "a:0" is set to the number of extra arguments (which
+can be 0).  "a:000" is set to a List that contains these arguments.
 
+When not using "...", the number of arguments in a function call must be equal
+to the number of named arguments.  When using "...", the number of arguments
+may be larger.
+
+It is also possible to define a function without any arguments.  You must
+still supply the () then.  The body of the function follows in the next lines,
+until the matching |:endfunction|.  It is allowed to define another function
+inside a function body.
+
+							*local-variables*
 Inside a function variables can be used.  These are local variables, which
 will disappear when the function returns.  Global variables need to be
 accessed with "g:".
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 16e8890..21c9f57 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.0aa.  Last change: 2004 Dec 18
+*pattern.txt*   For Vim version 7.0aa.  Last change: 2005 Jan 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -217,7 +217,7 @@
 This will not set the pattern to an empty string, because that would match
 everywhere.  The pattern is really cleared, like when starting Vim.
 
-The search usual skips matches that don't move the cursor.  Whether the next
+The search usually skips matches that don't move the cursor.  Whether the next
 match is found at the next character or after the skipped match depends on the
 'c' flag in 'cpoptions'.  See |cpo-c|.
 	   with 'c' flag:   "/..." advances 1 to 3 characters
@@ -225,6 +225,10 @@
 The unpredictability with the 'c' flag is caused by starting the search in the
 first column, skipping matches until one is found past the cursor position.
 
+When searching backwards, searching starts at the start of the line, using the
+'c' flag in 'cpoptions' as described above.  Then the last match before the
+cursor position is used.
+
 In Vi the ":tag" command sets the last search pattern when the tag is searched
 for.  In Vim this is not done, the previous search pattern is still remembered,
 unless the 't' flag is present in 'cpoptions'.  The search pattern is always
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 39fbd44..49b424a 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 20
+*starting.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1193,7 +1193,7 @@
 			When [file] is omitted or is a number from 1 to 9, a
 			name is generated and 'viewdir' prepended.  When last
 			directory name in 'viewdir' does not exist, this
-			directory is created.			*E738*
+			directory is created.			*E739*
 			An existing file is always overwritten then.  Use
 			|:loadview| to load this view again.
 			When [file] is the name of a file ('viewdir' is not