diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 69b92d8..8a6b8d4 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 11
+*diff.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -344,6 +344,10 @@
 If it's not clear what the problem is set the 'verbose' option to see more
 messages.
 
+The self-installing Vim includes a diff program.  If you don't have it you
+might want to download a diff.exe.  For example from
+http://jlb.twu.net/code/unixkit.php.
+
 
 USING PATCHES					*diff-patchexpr*
 
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0e68dfa..c277dde 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 19
+*eval.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -846,8 +846,10 @@
 getcmdline()			String	return the current command-line
 getcmdpos()			Number	return cursor position in command-line
 getcwd()			String	the current working directory
-getfsize( {fname})		Number	size in bytes of file
+getfperm( {fname})		String	file permissions of file {fname}
+getfsize( {fname})		Number	size in bytes of file {fname}
 getftime( {fname})		Number	last modification time of file
+getftype( {fname})		String	description of type of file {fname}
 getline( {lnum})		String	line {lnum} from current buffer
 getreg( [{regname}])		String  contents of register
 getregtype( [{regname}])	String  type of register
@@ -1580,6 +1582,20 @@
 		If {fname} is a directory, 0 is returned.
 		If the file {fname} can't be found, -1 is returned.
 
+getfperm({fname})					*getfperm()*
+		The result is a String, which is the read, write, and execute
+		permissions of the given file {fname}.
+		If {fname} does not exist or its directory cannot be read, an
+		empty string is returned.
+		The result is of the form "rwxrwxrwx", where each group of
+		"rwx" flags represent, in turn, the permissions of the owner
+		of the file, the group the file belongs to, and other users.
+		If a user does not have a given permission the flag for this
+		is replaced with the string "-".  Example: >
+			:echo getfperm("/etc/passwd")
+<		This will hopefully (from a security point of view) display
+		the string "rw-r--r--" or even "rw-------".
+  
 getftime({fname})					*getftime()*
 		The result is a Number, which is the last modification time of
 		the given file {fname}.  The value is measured as seconds
@@ -1587,6 +1603,26 @@
 		|localtime()| and |strftime()|.
 		If the file {fname} can't be found -1 is returned.
 
+getftype({fname})					*getftype()*
+		The result is a String, which is a description of the kind of
+		file of the given file {fname}.
+		If {fname} does not exist an empty string is returned.
+		Here is a table over different kinds of files and their
+		results:
+			Normal file		"file"
+			Directory		"dir"
+			Symbolic link		"link"
+			Block device		"bdev"
+			Character device	"cdev"
+			Socket			"socket"
+			FIFO			"fifo"
+			All other		"other"
+		Example: >
+			getftype("/home")
+<		Note that a type such as "link" will only be returned on
+		systems that support it.  On some systems only "dir" and
+		"file" are returned.
+
 							*getline()*
 getline({lnum}) The result is a String, which is line {lnum} from the current
 		buffer.  Example: >
@@ -2246,14 +2282,16 @@
 		cursor position.
 		{flags} is a String, which can contain these character flags:
 		'b'	search backward instead of forward
+		'n'	do Not move the cursor
 		'w'	wrap around the end of the file
 		'W'	don't wrap around the end of the file
 		If neither 'w' or 'W' is given, the 'wrapscan' option applies.
 
-		When a match has been found its line number is returned, and
-		the cursor will be positioned at the match.  If there is no
-		match a 0 is returned and the cursor doesn't move.  No error
-		message is given.
+		When a match has been found its line number is returned.
+		The cursor will be positioned at the match, unless the 'n'
+		flag is used).
+		If there is no match a 0 is returned and the cursor doesn't
+		move.  No error message is given.
 
 		Example (goes over all files in the argument list): >
 		    :let n = 1
@@ -2747,9 +2785,15 @@
 		the window.  The first line is one.
 
 							*winnr()*
-winnr()		The result is a Number, which is the number of the current
-		window.  The top window has number 1.  The number can be used
-		with |CTRL-W_w| and ":wincmd w" |:wincmd|.
+winnr([{arg}])	The result is a Number, which is the number of the current
+		window.  The top window has number 1.
+		When the optional argument is "$", the number of the
+		last window is returnd (the window count).
+		When the optional argument is "#", the number of the last
+		accessed window is returned (where |CTRL-W_p| goes to).
+		If there is no previous window 0 is returned.
+		The number can be used with |CTRL-W_w| and ":wincmd w"
+		|:wincmd|.
 
 							*winrestcmd()*
 winrestcmd()	Returns a sequence of |:resize| commands that should restore
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index 44ff66c..7754f20 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 7.0aa.  Last change: 2004 Jan 17
+*if_cscop.txt*  For Vim version 7.0aa.  Last change: 2004 Jul 23
 
 
 		  VIM REFERENCE MANUAL    by Andy Kahn
@@ -335,6 +335,9 @@
 
 	http://iamphet.nm.ru/cscope/index.html
 
+The DJGPP-built version from http://cscope.sourceforge.net is known to not
+work with Vim.
+
 There are a couple of hard-coded limitations:
 
     1. The maximum number of cscope connections allowed is 8.  Do you
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index df75fcf..d26461c 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 7.0aa.  Last change: 2004 Feb 28
+*if_pyth.txt*   For Vim version 7.0aa.  Last change: 2004 Jul 25
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -91,23 +91,23 @@
 	:python import vim
 
 Overview >
-	print "Hello"			# displays a message
-	vim.command(cmd)		# execute an ex command
-	w = vim.windows[n]		# gets window "n"
-	cw = vim.current.window		# gets the current window
-	b = vim.buffers[n]		# gets buffer "n"
-	cb = vim.current.buffer		# gets the current buffer
-	w.height = lines		# sets the window height
-	w.cursor = (row, col)		# sets the window cursor position
-	pos = w.cursor			# gets a tuple (row, col)
-	name = b.name			# gets the buffer file name
-	line = b[n]			# gets a line from the buffer
-	lines = b[n:m]			# gets a list of lines
-	num = len(b)			# gets the number of lines
-	b[n] = str			# sets a line in the buffer
-	b[n:m] = [str1, str2, str3]	# sets a number of lines at once
-	del b[n]			# deletes a line
-	del b[n:m]			# deletes a number of lines
+	:py print "Hello"		# displays a message
+	:py vim.command(cmd)		# execute an ex command
+	:py w = vim.windows[n]		# gets window "n"
+	:py cw = vim.current.window	# gets the current window
+	:py b = vim.buffers[n]		# gets buffer "n"
+	:py cb = vim.current.buffer	# gets the current buffer
+	:py w.height = lines		# sets the window height
+	:py w.cursor = (row, col)	# sets the window cursor position
+	:py pos = w.cursor		# gets a tuple (row, col)
+	:py name = b.name		# gets the buffer file name
+	:py line = b[n]			# gets a line from the buffer
+	:py lines = b[n:m]		# gets a list of lines
+	:py num = len(b)		# gets the number of lines
+	:py b[n] = str			# sets a line in the buffer
+	:py b[n:m] = [str1, str2, str3]	# sets a number of lines at once
+	:py del b[n]			# deletes a line
+	:py del b[n:m]			# deletes a number of lines
 
 
 Methods of the "vim" module
@@ -115,8 +115,8 @@
 vim.command(str)					*python-command*
 	Executes the vim (ex-mode) command str. Returns None.
 	Examples: >
-		vim.command("set tw=72")
-		vim.command("%s/aaa/bbb/g")
+	    :py vim.command("set tw=72")
+	    :py vim.command("%s/aaa/bbb/g")
 <	The following definition executes Normal mode commands: >
 		def normal(str):
 			vim.command("normal "+str)
@@ -126,15 +126,15 @@
 <								*E659*
 	The ":python" command cannot be used recursively with Python 2.2 and
 	older.  This only works with Python 2.3 and later: >
-		:python vim.command("python print 'Hello again Python'")
+	    :py vim.command("python print 'Hello again Python'")
 
 vim.eval(str)						*python-eval*
 	Evaluates the expression str using the vim internal expression
 	evaluator (see |expression|). Returns the expression result as a
 	string.
 	Examples: >
-		text_width = vim.eval("&tw")
-		str = vim.eval("12+12")		# NB result is a string! Use
+	    :py text_width = vim.eval("&tw")
+	    :py str = vim.eval("12+12")		# NB result is a string! Use
 						# string.atoi() to convert to
 						# a number.
 
@@ -158,18 +158,18 @@
 vim.buffers						*python-buffers*
 	A sequence object providing access to the list of vim buffers. The
 	object supports the following operations: >
-		b = vim.buffers[i]	# Indexing (read-only)
-		b in vim.buffers	# Membership test
-		n = len(vim.buffers)	# Number of elements
-		for b in vim.buffers:	# Sequential access
+	    :py b = vim.buffers[i]	# Indexing (read-only)
+	    :py b in vim.buffers	# Membership test
+	    :py n = len(vim.buffers)	# Number of elements
+	    :py for b in vim.buffers:	# Sequential access
 <
 vim.windows						*python-windows*
 	A sequence object providing access to the list of vim windows. The
 	object supports the following operations: >
-		w = vim.windows[i]	# Indexing (read-only)
-		w in vim.windows	# Membership test
-		n = len(vim.windows)	# Number of elements
-		for w in vim.windows:	# Sequential access
+	    :py w = vim.windows[i]	# Indexing (read-only)
+	    :py w in vim.windows	# Membership test
+	    :py n = len(vim.windows)	# Number of elements
+	    :py for w in vim.windows:	# Sequential access
 <
 vim.current						*python-current*
 	An object providing access (via specific attributes) to various
@@ -236,17 +236,21 @@
 			represents the part of the given buffer between line
 			numbers s and e |inclusive|.
 
+Note that when adding a line it must not contain a line break character '\n'.
+A trailing '\n' is allowed and ignored, so that you can do: >
+	:py b.append(f.readlines())
+
 Examples (assume b is the current buffer) >
-	print b.name		# write the buffer file name
-	b[0] = "hello!!!"	# replace the top line
-	b[:] = None		# delete the whole buffer
-	del b[:]		# delete the whole buffer (same as above)
-	b[0:0] = [ "a line" ]	# add a line at the top
-	del b[2]		# delete a line (the third)
-	b.append("bottom")	# add a line at the bottom
-	n = len(b)		# number of lines
-	(row,col) = b.mark('a') # named mark
-	r = b.range(1,5)	# a sub-range of the buffer
+	:py print b.name		# write the buffer file name
+	:py b[0] = "hello!!!"		# replace the top line
+	:py b[:] = None			# delete the whole buffer
+	:py del b[:]			# delete the whole buffer
+	:py b[0:0] = [ "a line" ]	# add a line at the top
+	:py del b[2]			# delete a line (the third)
+	:py b.append("bottom")		# add a line at the bottom
+	:py n = len(b)			# number of lines
+	:py (row,col) = b.mark('a')	# named mark
+	:py r = b.range(1,5)		# a sub-range of the buffer
 
 ==============================================================================
 4. Range objects					*python-range*
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index b5973b0..62044e5 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 7.0aa.  Last change: 2004 Jan 17
+*message.txt*   For Vim version 7.0aa.  Last change: 2004 Jul 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -643,6 +643,7 @@
 A command line started with a backslash or the range of a command contained a
 backslash in a wrong place.  This is often caused by command-line continuation
 being disabled.  Remove the 'C' flag from the 'cpoptions' option to enable it.
+Or use ":set nocp".
 
 							*E471*  >
   Argument required
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index a3e73b3..4df3543 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0aa.  Last change: 2004 Jul 02
+*motion.txt*    For Vim version 7.0aa.  Last change: 2004 Jul 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -83,6 +83,7 @@
    end of the motion is moved to the end of the previous line and the motion
    becomes inclusive.  Example: "}" moves to the first line after a paragraph,
    but "d}" will not include that line.
+						*exclusive-linewise*
 2. If the motion is exclusive, the end of the motion is in column 1 and the
    start of the motion was at or before the first non-blank in the line, the
    motion becomes linewise.  Example: If a paragraph begins with some blanks
@@ -424,20 +425,24 @@
 
 							*]]*
 ]]			[count] sections forward or to the next '{' in the
-			first column.  When used after an operator, then the
-			'}' in the first column.  |linewise|
+			first column.  When used after an operator, then also
+			stops below a '}' in the first column.  |exclusive|
+			Note that |exclusive-linewise| often applies.
 
 							*][*
 ][			[count] sections forward or to the next '}' in the
-			first column.  |linewise|
+			first column.  |exclusive|
+			Note that |exclusive-linewise| often applies.
 
 							*[[*
 [[			[count] sections backward or to the previous '{' in
-			the first column.  |linewise|
+			the first column.  |exclusive|
+			Note that |exclusive-linewise| often applies.
 
 							*[]*
 []			[count] sections backward or to the previous '}' in
-			the first column.  |linewise|
+			the first column.  |exclusive|
+			Note that |exclusive-linewise| often applies.
 
 These commands move over three kinds of text objects.
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index be83ae1..f94b52a 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2004 Jul 15
+*options.txt*	For Vim version 7.0aa.  Last change: 2004 Jul 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3924,7 +3924,7 @@
 	NOTE: To avoid portability problems with using patterns, always keep
 	this option at the default "on".  Only switch it off when working with
 	old Vi scripts.  In any other situation write patterns that work when
-	'magic' is on.
+	'magic' is on.  Include "\M" when you want to |/\M|.
 
 						*'makeef'* *'mef'*
 'makeef' 'mef'		string	(default: "")
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index caa5a00..04eef7f 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 May 09
+*pattern.txt*   For Vim version 7.0aa.  Last change: 2004 Jul 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -382,7 +382,7 @@
 |/\%c|	\%23c	\%23c	in column 23 |/zero-width|
 |/\%v|	\%23v	\%23v	in virtual column 23 |/zero-width|
 
-Character classes {not in Vi}:
+Character classes {not in Vi}:				*/character-classes*
 |/\i|	\i	\i	identifier character (see 'isident' option)
 |/\I|	\I	\I	like "\i", but excluding digits
 |/\k|	\k	\k	keyword character (see 'iskeyword' option)
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 528b8a9..98a40e6 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1337,6 +1337,7 @@
 /atom	pattern.txt	/*\/atom*
 /bar	pattern.txt	/*\/bar*
 /branch	pattern.txt	/*\/branch*
+/character-classes	pattern.txt	/*\/character-classes*
 /collection	pattern.txt	/*\/collection*
 /concat	pattern.txt	/*\/concat*
 /dyn	various.txt	/*\/dyn*
@@ -3570,6 +3571,7 @@
 Eterm	syntax.txt	/*Eterm*
 Ex	intro.txt	/*Ex*
 Ex-mode	intro.txt	/*Ex-mode*
+Exuberant_ctags	tagsrch.txt	/*Exuberant_ctags*
 F	motion.txt	/*F*
 FAQ	intro.txt	/*FAQ*
 Farsi	farsi.txt	/*Farsi*
@@ -4518,6 +4520,7 @@
 exception-handling	eval.txt	/*exception-handling*
 exception-variable	eval.txt	/*exception-variable*
 exclusive	motion.txt	/*exclusive*
+exclusive-linewise	motion.txt	/*exclusive-linewise*
 executable()	eval.txt	/*executable()*
 execute-menus	gui.txt	/*execute-menus*
 exim	starting.txt	/*exim*
@@ -4625,6 +4628,7 @@
 filter	change.txt	/*filter*
 find-manpage	usr_12.txt	/*find-manpage*
 find-replace	usr_10.txt	/*find-replace*
+finddir()	eval.txt	/*finddir()*
 findfile()	eval.txt	/*findfile()*
 fixed-5.1	version5.txt	/*fixed-5.1*
 fixed-5.2	version5.txt	/*fixed-5.2*
@@ -4773,8 +4777,10 @@
 getcmdline()	eval.txt	/*getcmdline()*
 getcmdpos()	eval.txt	/*getcmdpos()*
 getcwd()	eval.txt	/*getcwd()*
+getfperm()	eval.txt	/*getfperm()*
 getfsize()	eval.txt	/*getfsize()*
 getftime()	eval.txt	/*getftime()*
+getftype()	eval.txt	/*getftype()*
 getline()	eval.txt	/*getline()*
 getreg()	eval.txt	/*getreg()*
 getregtype()	eval.txt	/*getregtype()*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index 7787e0e..e148bff 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 7.0aa.  Last change: 2004 Apr 29
+*tagsrch.txt*   For Vim version 7.0aa.  Last change: 2004 Jul 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -468,6 +468,7 @@
 Some programs that generate tags files:
 ctags			As found on most Unix systems.  Only supports C.  Only
 			does the basic work.
+							*Exuberant_ctags*
 exuberant ctags		This a very good one.  It works for C, C++, Java,
 			Fortran, Eiffel and others.  It can generate tags for
 			many items.  See http://ctags.sourceforge.net.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9f3b615..602a0b8 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 19
+*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,27 +30,18 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Add fix for zh_cn to Vim 6.3?  (Liang)
+Aborting at the ATTENTION prompt causes trouble:
+    buffer remains active, nwindows isn't closed (fixed in buffer.c)
+    alternate buffer gets "read error" flag.
+    ":sbuf" and ":ball" leave an empty window behind.
+Change in handle_swap_exists() also in 6.3?
 
 
 For version 7.0:
 -   Include many PATCHES:
     8   Add functions:
-	realname()		Get user name (first, last, full)
-				user_fullname() patch by Nikolai Weibull, Nov
-				3 2002)
-	getfperm()		file permissions, in form "rwxrwxrwx"
-				(patch from Nikolai Weibull 2003 Jan 13)
-	getftype()		"file", "dir", "link", "other"?
-				(patch from Nikolai Weibull 2003 Jan 13)
 	setbufline()		set line in any buffer (patch from Yegappan
 				Lakshmanan, 2003 Jan 21)
-	winnr("$")		Get number of windows.  (patch from Nikolai
-				Weibull 2003 Jan 13) (another patch from
-				Yegappan Lakshmanan, 2004 Jul 11)
-	search()		Add optional offset argument.
-				Add 'n' flag.  (patch from Nikolai Weibull
-				2003 Jan 13)
 	filter()		Patch from Yegappan Lakshmanan, 2004 Jul 11
     8   Make it possible to delete marks.  Charles Campbell has a patch that
 	does this with the markclear() function (2004 Jan 9).
@@ -63,6 +54,7 @@
 	When "filename" has no wildcards and there is no matching buffer, add
 	the buffer (unlisted).
     Patch for \xnn (Ciaran McCreesh)  2004 Jul 10
+	http://dev.gentoo.org/~ciaranm/patches/vim/vim-7.00a-regexp-numbered-characters-r5.patch
     7   Add 'taglistfiles' option, show file name and type when listing matching
 	tags name with CTRL-D completion.  Patch from Yegappan Lakshmanan.
 	2004 Jul 11
@@ -72,6 +64,15 @@
     8   Make 'statusline' local, so that each window can have a different
 	value.  But should it also be local to a buffer? (Yegappan Lakshmanan
 	has a patch, 2004 Jul 11)
+    8   Add buffer-local autocommands?  Reduces overhead for autocommands that
+	trigger often (inserting a character, switching mode).
+	    :au Event <buffer> do-something
+	E.g.:
+	    :au BufEnter <buffer> menu enable ...
+	    :au BufLeave <buffer> menu disable ...
+	Patch from Yakov Lerner, including test (2004 Jan 7).
+	VimResized	    - When the Vim window has been resized (SIGWINCH)
+	  patch from Yakov Lerner, 2003 July 24.
     --- awaiting updated patch ---
     7   Add patch from Wall for this one ( ~/Mail/oldmail/wall/in.00019 ):
 	'flipcase' variable: upper/lowercase pairs.
@@ -84,18 +85,7 @@
     8   Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
 	Aric Blumer has a patch for this.
 	He will update the patch for 6.3.
-    8   Add buffer-local autocommands?  Reduces overhead for autocommands that
-	trigger often (inserting a character, switching mode).
-	    :au Event <buffer> do-something
-	E.g.:
-	    :au BufEnter <buffer> menu enable ...
-	    :au BufLeave <buffer> menu disable ...
-	Patch from Yakov Lerner, including test (2004 Jan 7).
-        He'll send updated patch.
     Autocommands:
-	VimResized	    - When the Vim window has been resized (SIGWINCH)
-	  patch from Yakov Lerner, 2003 July 24.
-	  He'll write documentation and send updated patch.
     7   Completion of network shares, patch by Yasuhiro Matsumoto.
 	Update 2004 Jun 17.
 	How does this work?  Missing comments.
@@ -1458,6 +1448,14 @@
 7   Add argument to winwidth() to subtract the space taken by 'foldcolumn',
     signs and/or 'number'.
 8   Add functions:
+	search()		Add optional offset argument.
+	realname()		Get user name (first, last, full)
+				user_fullname() patch by Nikolai Weibull, Nov
+				3 2002
+				Only add this when also implemented for
+				non-Unix systems, otherwise a shell cmd could
+				be used.
+				get_user_name() gets login name.
 	menuprop({name}, {idx}, {what})
 				Get menu property of menu {name} item {idx}.
 				menuprop("", 1, "name") returns "File".
@@ -3196,6 +3194,7 @@
     column number.  Can use the code of ":helpgrep".
     Also support using "**" in filename, so that a directory tree can be
     searched.
+    Also see the "minigrep.vim" script on www.vim.org.
 -   Change ":fixdel" into option 'fixdel', t_del will be adjusted each time
     t_bs is set? (Webb)
 -   "gc": goto character, move absolute character positions forward, also
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 006245f..38af134 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Jul 19
+*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Jul 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -127,6 +127,9 @@
 finddir(name)		|finddir()|	Find a directory in 'path'.
 findfile(name)		|findfile()|	Find a file in 'path'. (Johannes
 					Zellner)
+getfperm(fname)		|getfperm()|	Get file permission string. (Nikolai
+					Weibull)
+getftype(fname)		|getftype()|	Get type of file. (Nikolai Weibull)
 repeat(expr, count)	|repeat()| 	Repeat "expr" "count" times.
 					(Christophe Poucet)
 tr(expr, from, to)	|tr()|		Translate characters. (Ron Aaron)
@@ -187,6 +190,11 @@
 
 Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher)
 
+winnr() takes an optional "$" and "#" arguments.  (Nikolai Weibull, Yegappan
+Lakshmanan)
+
+Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull)
+
 ==============================================================================
 COMPILE TIME CHANGES					*compile-changes-7*
 
@@ -272,4 +280,13 @@
 The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw".  Now use
 "cn" or "tw" as intended.
 
+When 'bin' is set and 'eol' is not set then line2byte() added the line break
+after the last line while it's not there.
+
+Using foldlevel() in a WinEnter autocommand may not work.  Noticed when
+resizing the GUI shell upon startup.
+
+Python: Using buffer.append(f.readlines()) didn't work.  Allow appending a
+string with a trailing newline.  The newline is ignored.
+
  vim:tw=78:ts=8:ft=help:norl:
