diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0b757f3..b854362 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 Aug 30
+*eval.txt*      For Vim version 7.0aa.  Last change: 2004 Sep 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -930,7 +930,7 @@
 synIDattr( {synID}, {what} [, {mode}])
 				String	attribute {what} of syntax ID {synID}
 synIDtrans( {synID})		Number	translated syntax ID of {synID}
-system( {expr})			String	output of shell command {expr}
+system( {expr} [, {input}])	String	output of shell command/filter {expr}
 tempname()			String	name for a temporary file
 tolower( {expr})		String	the String {expr} switched to lowercase
 toupper( {expr})		String	the String {expr} switched to uppercase
@@ -1111,7 +1111,7 @@
 		feature, -1 is returned.
 
 							*col()*
-col({expr})	The result is a Number, which is the column of the file
+col({expr})	The result is a Number, which is the byte index of the column
 		position given with {expr}.  The accepted positions are:
 		    .	    the cursor position
 		    $	    the end of the cursor line (the result is the
@@ -2653,10 +2653,15 @@
 		highlight the character.  Highlight links given with
 		":highlight link" are followed.
 
-							*system()*
-system({expr})	Get the output of the shell command {expr}.  Note: newlines
-		in {expr} may cause the command to fail.  The characters in
-		'shellquote' and 'shellxquote' may also cause trouble.
+system({expr} [, {input}])				*system()* *E677*
+		Get the output of the shell command {expr}.
+		When {input} is given, this string is written to a file and
+		passed as stdin to the command.  The string is written as-is,
+		you need to take care of using the correct line separators
+		yourself.
+		Note: newlines in {expr} may cause the command to fail.  The
+		characters in 'shellquote' and 'shellxquote' may also cause
+		trouble.
 		This is not to be used for interactive commands.
 		The result is a String.  Example: >
 
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 2224fac..62574d4 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.0aa.  Last change: 2004 Jul 11
+*index.txt*     For Vim version 7.0aa.  Last change: 2004 Sep 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1103,6 +1103,7 @@
 |:cunmenu|	:cunme[nu]	remove menu for Command-line mode
 |:cwindow|	:cw[indow]	open or close quickfix window
 |:delete|	:d[elete]	delete lines
+|:delmarks|	:delm[arks]	delete marks
 |:debug|	:deb[ug]	run a command in debugging mode
 |:debuggreedy|	:debugg[reedy]	read debug mode commands from normal input
 |:delcommand|	:delc[ommand]	delete user-defined command
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 4df3543..9d149e0 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 25
+*motion.txt*    For Vim version 7.0aa.  Last change: 2004 Sep 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -732,6 +732,24 @@
 				:marks aB
 <			to list marks 'a' and 'B'.  {not in Vi}
 
+							*:delm* *:delmarks*
+:delm[arks] {marks} 	Delete the specified marks.  Marks that can be deleted
+			include A-Z and 0-9.  You cannot delete the ' mark.
+			They can be specified by giving the list of mark
+			names, or with a range, separated with a dash.  Spaces
+			are ignored.  Examples: >
+			   :delmarks a	      deletes mark a
+			   :delmarks a b 1    deletes marks a, b and 1
+			   :delmarks Aa       deletes marks A and a
+			   :delmarks p-z      deletes marks in the range p to z
+			   :delmarks ^.[]     deletes marks ^ . [ ]
+			   :delmarks \"	      deletes mark "
+<			{not in Vi}
+
+:delm[arks]!		Delete all marks for the current buffer, but not marks
+			A-Z or 0-9.
+			{not in Vi}
+
 A mark is not visible in any way.  It is just a position in the file that is
 remembered.  Do not confuse marks with named registers, they are totally
 unrelated.
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 04eef7f..9f215d7 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 Jul 24
+*pattern.txt*   For Vim version 7.0aa.  Last change: 2004 Sep 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -431,7 +431,7 @@
 	x	x	a character with no special meaning matches itself
 
 |/[]|	[]	\[]	any character specified inside the []
-|/\%[]| \%[]	\%[]	a list of optionally matched atoms
+|/\%[]| \%[]	\%[]	a sequence of optionally matched atoms
 
 |/\c|	\c	\c	ignore case
 |/\C|	\C	\C	match case
@@ -442,6 +442,12 @@
 |/\Z|	\Z	\Z	ignore differences in Unicode "combining characters".
 			Useful when searching voweled Hebrew or Arabic text.
 
+|/\%d|	\%d	\%d	match specified decimal character (eg \%d123
+|/\%x|	\%x	\%x	match specified hex character (eg \%x2a)
+|/\%o|	\%o	\%o	match specified octal character (eg \%o040)
+|/\%u|	\%u	\%u	match specified multibyte character (eg \%u20ac)
+|/\%U|	\%U	\%U	match specified large multibyte character (eg
+			\%U12345678)
 
 Example			matches ~
 \<\I\i*		or
@@ -988,6 +994,11 @@
 		\t	<Tab>
 		\r	<CR>	(NOT end-of-line!)
 		\b	<BS>
+		\d123	decimal number of character
+		\o40	octal number of character up to 0377
+		\x20	hexadecimal number of character up to 0xff
+		\u20AC	hex. number of multibyte character up to 0xffff
+		\U1234	hex. number of multibyte character up to 0xffffffff
 	  NOTE: The other backslash codes mentioned above do not work inside
 	  []!
 	- Matching with a collection can be slow, because each character in
@@ -996,7 +1007,7 @@
 	  much faster than "[0-9]" and matches the same characters.
 
 						*/\%[]* *E69* *E70* *E369*
-\%[]	A list of optionally matched atoms.  This always matches.
+\%[]	A sequence of optionally matched atoms.  This always matches.
 	It matches as much of the list of atoms it contains as possible.  Thus
 	it stops at the first atom that doesn't match.  For example: >
 		/r\%[ead]
@@ -1011,6 +1022,17 @@
 <	Matches the words "r", "re", "ro", "rea", "roa", "read" and "road".
 	{not available when compiled without the +syntax feature}
 
+				*/\%d* */\%x* */\%o* */\%u* */\%U/* *E678*
+
+\%d123	Matches the character specified with a decimal number.  Must be
+	followed by a non-digit.
+\%o40	Matches the character specified with an octal number up to 0377.
+	Numbers below 040 must be followed by a non-octal digit or a non-digit.
+\%x2a	Matches the character specified with up to two hexadecimal characters.
+\%u20AC	Matches the character specified with up to four hexadecimal
+	characters.
+\%U1234abcd	Matches the character specified with up to eight hexadecimal
+	characters.
 
 ==============================================================================
 7. Ignoring case in a pattern					*/ignorecase*
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 068d42b..991c9a4 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt  For Vim version 6.2.  Last change: Jul 30, 2004
+*pi_netrw.txt  For Vim version 6.2.  Last change: Sep 10, 2004
 
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
@@ -17,9 +17,10 @@
 5.  Ex Commands.........................................|netrw-ex|
 6.  Variables and Options...............................|netrw-var|
 7.  Directory Browser...................................|netrw-browse|
-8.  Debugging...........................................|netrw-debug|
-9.  History.............................................|netrw-history|
-10. Credits.............................................|netrw-credits|
+8.  Problems and Fixes..................................|netrw-problems|
+9.  Debugging...........................................|netrw-debug|
+10. History.............................................|netrw-history|
+11. Credits.............................................|netrw-credits|
 
 The functionality mentioned here is done via using |standard-plugin|
 techniques.  This plugin is only available if
@@ -114,17 +115,22 @@
 			  =0 use default ftp		       (uid password)
 			  =1 use alternate ftp method	  (user uid password)
 	g:netrw_ftpmode   ="binary"				    (default)
-			  ="ascii"			     (or your choice)
+			  ="ascii"
 	g:netrw_uid	  (ftp) user-id,      retained on a per-session basis
 	g:netrw_passwd	  (ftp) password,     retained on a per-session basis
-	g:netrw_win95ftp  =0 use unix-style ftp even if win95/win98/winME
-			  =1 use default method to do ftp
+	g:netrw_win95ftp  =1 if using Win95, will remove four trailing blank
+	                     lines that o/s's ftp "provides" on transfers
+			  =0 force normal ftp behavior (no trailing line
+			     removal)
 	g:netrw_cygwin	  =1 assume scp under windows is from cygwin
+	                     Also permits network browsing to use
+			     ls with time and size sorting
 							 (default if windows)
-			  =0 assume scp under windows accepts
-			    windows-style paths		 (default otherwise)
-	g:netrw_use_nt_rcp=0 don't use the rcp of WinNT, Win2000 and WinXP (default)
-			  =1 use the rcp of WinNT,... in binary mode
+			  =0 assume Windows' scp accepts windows-style paths
+			     Network browsing uses dir instead of ls
+			  This option is ignored if you're using unix
+	g:netrw_use_nt_rcp=0 don't use the rcp of WinNT, Win2000 and WinXP
+			  =1 use WinNT's rcp in binary mode         (default)
 
     PATHS							*netrw-path*
 
@@ -167,7 +173,7 @@
 clean up.
 
 One may modify any protocol's implementing external application
-by settinbg a variable (ex. scp uses the variable g:netrw_scp_cmd,
+by setting a variable (ex. scp uses the variable g:netrw_scp_cmd,
 which is defaulted to "scp -q").
 
 Ftp, an old protocol, seems to be blessed by numerous implementations.
@@ -529,6 +535,7 @@
      i..........Long Listing............................|netrw-i|
      <c-l>......Refreshing the Listing..................|netrw-ctrl-l|
      o..........Browsing with a Horizontal Split........|netrw-o|
+     p..........Preview Window..........................|netrw-p|
      q..........Listing Bookmarks.......................|netrw-q|
      r..........Reversing Sorting Order.................|netrw-r|
      R..........Renaming Files or Directories...........|netrw-R|
@@ -542,14 +549,16 @@
         -------	-----------
 	Command	Explanation
         -------	-----------
-	   ?	Causes Netrw to issue help
+<          ?	Causes Netrw to issue help
 	 <cr>	Netrw will enter the directory or read the file
 	 <del>	Netrw will attempt to remove the file/directory
 	   d	Make a directory
 	   D	Netrw will attempt to remove the file(s)/directory(ies)
 	   R	Netrw will attempt to rename the file(s)/directory(ies)
 	   -	Makes Netrw go up one directory
-	   a	Show all of a directory (temporarily ignore g:netrw_list_hide)
+	   a	Toggles between normal display,
+	    	hiding (suppress display of files matching g:netrw_list_hide)
+	    	showing (display only files which match g:netrw_list_hide)
 	   c	Make current browsing directory the current directory
 	 <c-h>	Edit file hiding list
 	   i	Toggles between long and short listing
@@ -561,12 +570,18 @@
 	   v	Enter the file/directory under the cursor in a new browser
 	   	window.  A vertical split is used.
 	   x	Apply a function to a file.
-<
+
 NETRW BROWSER VARIABLES					*netrw-browse-var*
 >
 	---				-----------
 	Var				Explanation
 	---				-----------
+<	g:netrw_alto			change from above splitting to
+					below splitting by setting this
+					variable (see |netrw-o|)
+	g:netrw_altv			change from left splitting to
+					right splitting by setting this
+					variable (see |netrw-v|)
 	g:netrw_ftp_browse_reject	ftp can produce a number of errors
 					and warnings that can show up as
 					"directories" and "files" in the
@@ -576,6 +591,10 @@
 					browsing directory.  The browsing
 					directory is contained in b:netrw_curdir
 	g:netrw_list_cmd		command for listing remote directories
+	g:netrw_ftp_list_cmd		options for passing along to ftp for
+					directory listing.  Defaults:
+					 unix or g:netrw_cygwin set: : "ls -lF"
+					 otherwise                     "dir"
 	g:netrw_list_hide		comma separated list of patterns for
 					hiding files
 	g:netrw_local_mkdir		command for making a local directory
@@ -593,7 +612,7 @@
 					comma-separated pattern sequence
 	g:netrw_timefmt			specify format string to strftime() (%c)
 	g:netrw_winsize			specify initial size of new o/v windows
-<
+
 INTRODUCTION TO DIRECTORY BROWSING
 
 Netrw supports the browsing of directories on the local system and on remote
@@ -711,10 +730,10 @@
 
 HIDING FILES OR DIRECTORIES		*g:netrw-a* *g:netrw_list_hide*
 
-The "a" map toggles the netrw vim file browser (both remote and local) between
-displaying hidden files (show-all) versus hiding files.  For files to be
-hidden, the g:netrw_list_hide variable must hold a comma delimited list of
-patterns (ex. \.obj) to be hidden from normal listing.  (see |netrw-h|)
+Netrw's browsing facility allows one to use the hiding list in one of
+three ways: ignore it, hide files which match, and show only those files
+which match.  The g:netrw_list_hide variable holds a comma delimited list
+of patterns (ex. \.obj) which specify the hiding list. (also see |netrw-h|)
 
 
 EDIT FILE OR DIRECTORY HIDING LIST				*netrw-h*
@@ -729,7 +748,20 @@
 
 Normally one enters a file or directory using the <cr>.  However, the "o" map
 allows one to open a new window to hold the new directory listing or file.  A
-horizontal split is used.  (also see |netrw-v|)
+horizontal split is used.  (for vertical splitting, see |netrw-v|)
+
+Normally, the o key splits the window horizontally with the new window
+and cursor at the top.  To change to splitting the window horizontally
+with the new window and cursor at the bottom, have
+
+	let g:netrw_alto = 1
+
+in your <.vimrc>.
+
+PREVIEW WINDOW
+
+One may use a preview window (currently only for local browsing) by using
+the "p" key when the cursor is atop the desired filename to be previewed.
 
 
 SELECTING SORTING STYLE						*netrw-s*
@@ -764,7 +796,15 @@
 
 Normally one enters a file or directory using the <cr>.  However, the "v"
 map allows one to open a new window to hold the new directory listing or
-file.  A vertical split is used.  (also see |netrw-o|)
+file.  A vertical split is used.  (for horizontal splitting, see |netrw-o|)
+
+Normally, the v key splits the window vertically with the new window
+and cursor at the left.  To change to splitting the window vertically
+with the new window and cursor at the right, have
+
+	let g:netrw_altv = 1
+
+in your <.vimrc>.
 
 
 CUSTOMIZING BROWSING WITH A USER FUNCTION			*netrw-x*
@@ -831,7 +871,66 @@
 
 
 ==============================================================================
-8. Debugging						*netrw-debug*
+8. Problems and Fixes						*netrw-problems*
+
+	(This section is likely to grow as I get feedback)
+	(also see |netrw-debug|)
+
+	P1. I use windows 95, and my ftp dumps four blank lines at the
+	    end of every read.
+
+		See |netrw-fixup|, and put the following into your
+		<.vimrc> file:
+
+			let g:netrw_win95ftp= 1
+		
+		
+
+	P2. I use windows, and my network browsing with ftp doesn't sort by
+	    time or size
+
+		Windows' ftp has a minimal support for ls (ie. it doesn't
+		accept sorting options).  It doesn't support the -F which
+		gives an explanatory character (ABC/ for "ABC is a directory").
+		Netrw uses dir to get its short and long listings.  If you
+		think your ftp does support a full-up ls, put the following
+		into your <.vimrc>:
+
+			let g:netrw_ftp_list_cmd= "ls -lF"
+
+		Alternatively, if you have cygwin on your Windows box, put
+		into your <.vimrc>:
+
+			let g:netrw_cygwin= 1
+
+	P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
+	    used ssh!  That wasn't what I asked for...
+
+		Netrw has two methods for browsing remote directories: ssh
+		and ftp.  Unless you specify ftp specifically, ssh is used.
+		When it comes time to do download a file (not just a directory
+		listing), netrw will use the given protocol to do so.
+
+	P4. I would like long listings to be the default.
+
+		let g:netrw_longlist=1
+
+	P5. My times come up oddly in local browsing
+
+		Does your system's strftime() accept the "%c" to yield dates
+		such as "Sun Apr 27 11:49:23 1997"?  If not, do a "man strftime"
+		and find out what option should be used.  Then put it into
+		your <.vimrc>:
+			let g:netrw_timefmt= "%X"  (where X is the option)
+
+	P6. I don't want my current directory changing just because I'm
+	    browsing somewhere.
+
+	    	let g:netrw_keepdir= 1
+	
+
+==============================================================================
+9. Debugging						*netrw-debug*
 
 The <netrw.vim> script is typically available as:
 
@@ -878,8 +977,37 @@
 		drchipNOSPAM at campbellfamily.biz - NOSPAM
 
 ==============================================================================
-9. History						*netrw-history*
+10. History						*netrw-history*
 
+	v48: * One may use ftp to do remote host file browsing
+	     * (windows and !cygwin) remote browsing with ftp can now use
+	       the "dir" command internally to provide listings
+	     * g:netrw_keepdir now allows one to keep the initial current
+	       directory as the current directory (normally the local
+	       file browser makes the currently viewed directory the
+	       current directory)
+	     * g:netrw_alto and g:netrw_altv now support alternate placement
+	       of windows started with o or v
+	     * Nread ? and Nwrite ?  now uses echomsg (instead of echo) so
+	       :messages can repeat showing the help
+	     * bugfix: avoids problems with partial matches of directory names
+	       to prior buffers with longer names
+	     * one can suppress error messages with g:netrw_quiet
+	     * ctrl-h used instead of <Leader>h for editing hiding list
+	     * one may edit the sorting sequence with the S map
+	     * now allows confirmation of deletion with [y(es) n(o) a(ll) q(uit)]
+	     * the "x" map now handles special file viewing with:
+	       (windows) rundll32 url.dll
+	       (gnome)   gnome-open
+	       (kde)     kfmclient
+	       If none of these are on the executable path, then
+	       NetrwFileHandlers.vim is used.
+	     * directory bookmarking during both local and remote browsing
+	       implemented
+	     * one may view all, use the hiding list to suppress, or use the
+	       hiding list to show-only remote and local file/directory listings
+	     * improved unusual file and directory name handling
+	     * preview window support
 	v47: * now handles local directory browsing.
 	v46: * now handles remote directory browsing
 	     * g:netrw_silent (if 1) will cause all transfers to be silent'd
@@ -912,7 +1040,7 @@
 
 
 ==============================================================================
-10. Credits						*netrw-credits*
+11. Credits						*netrw-credits*
 
 	Vim editor	by Bram Moolenaar (Thanks, Bram!)
 	dav		support by C Campbell
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 28de79a..152728f 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.0aa.  Last change: 2004 Sep 01
+*syntax.txt*	For Vim version 7.0aa.  Last change: 2004 Sep 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4014,6 +4014,11 @@
 	  highlight comment ctermfg=green guifg=green
 	endif
 
+								*E679*
+Do make sure this syncolor.vim script does not use a "syntax on", set the
+'background' option or uses a "colorscheme" command, because it results in an
+endless loop.
+
 Note that when a color scheme is used, there might be some confusion whether
 your defined colors are to be used or the colors from the scheme.  This
 depends on the color scheme file.  See |:colorscheme|.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index e635265..98aa7aa 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1218,11 +1218,16 @@
 /\%>c	pattern.txt	/*\/\\%>c*
 /\%>l	pattern.txt	/*\/\\%>l*
 /\%>v	pattern.txt	/*\/\\%>v*
+/\%U/	pattern.txt	/*\/\\%U\/*
 /\%[]	pattern.txt	/*\/\\%[]*
 /\%^	pattern.txt	/*\/\\%^*
 /\%c	pattern.txt	/*\/\\%c*
+/\%d	pattern.txt	/*\/\\%d*
 /\%l	pattern.txt	/*\/\\%l*
+/\%o	pattern.txt	/*\/\\%o*
+/\%u	pattern.txt	/*\/\\%u*
 /\%v	pattern.txt	/*\/\\%v*
+/\%x	pattern.txt	/*\/\\%x*
 /\&	pattern.txt	/*\/\\&*
 /\(	pattern.txt	/*\/\\(*
 /\(\)	pattern.txt	/*\/\\(\\)*
@@ -1811,6 +1816,8 @@
 :delete	change.txt	/*:delete*
 :delf	eval.txt	/*:delf*
 :delfunction	eval.txt	/*:delfunction*
+:delm	motion.txt	/*:delm*
+:delmarks	motion.txt	/*:delmarks*
 :di	change.txt	/*:di*
 :diffg	diff.txt	/*:diffg*
 :diffget	diff.txt	/*:diffget*
@@ -3533,6 +3540,8 @@
 E674	print.txt	/*E674*
 E675	print.txt	/*E675*
 E676	options.txt	/*E676*
+E677	eval.txt	/*E677*
+E678	pattern.txt	/*E678*
 E68	pattern.txt	/*E68*
 E69	pattern.txt	/*E69*
 E70	pattern.txt	/*E70*
@@ -5476,6 +5485,7 @@
 netrw-options	pi_netrw.txt	/*netrw-options*
 netrw-passwd	pi_netrw.txt	/*netrw-passwd*
 netrw-path	pi_netrw.txt	/*netrw-path*
+netrw-problems	pi_netrw.txt	/*netrw-problems*
 netrw-protocol	pi_netrw.txt	/*netrw-protocol*
 netrw-q	pi_netrw.txt	/*netrw-q*
 netrw-r	pi_netrw.txt	/*netrw-r*
@@ -6554,6 +6564,7 @@
 vim-arguments	starting.txt	/*vim-arguments*
 vim-default-editor	gui_w32.txt	/*vim-default-editor*
 vim-dev	intro.txt	/*vim-dev*
+vim-indent	indent.txt	/*vim-indent*
 vim-kpart	gui_x11.txt	/*vim-kpart*
 vim-mac	intro.txt	/*vim-mac*
 vim-modes	intro.txt	/*vim-modes*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 44ff811..d4d0cda 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 Sep 06
+*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Sep 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,34 +30,40 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Endless loop when "syntax reset" in ~/.vim/after/syntax/syncolor.vim.
+Crash when using ":set background=dark".  Solved!
+Limit init_highlight() to five recursive calls?
+    patch for Vim 6.3 for free_oldval and init_highlight()?
+
+Crash with long line. (Walter Briscoe, Sep 13)
+
+Add fix for appending BOM to 6.3?  Reported by Alex Jakushev.
+
+Win32 console doesn't compile.  Does GetCommandLineW() work for non-GUI?
+(Dave Roberts)  If yes, then move the functions to another file.
+link with kernel32.lib?
+
 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?
+Add enter_cleanup() and leave_cleanup() also in 6.3?
+    buffer.c
+    ex_eval.c
+    proto/ex_eval.pro
+    structs.h
+    vim.h
 
 Win32: When the path to a file has Russian characters, ":cd %:p:h" doesn't
 work. (Valery Kondakoff)
 Solved in os_mswin.c.  Add to 6.3?
 
+Valencia: executable("xxd.exe") returns true while "!xxd" doesn't work.
+
 For version 7.0:
+
 -   Include many PATCHES:
-    8   Add functions:
-	setbufline()		set line in any buffer (patch from Yegappan
-				Lakshmanan, 2003 Jan 21)
-	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).
-	And the ":delmark" command (2004 Feb 9)
-	http://mysite.verizon.net/astronaut/vim/index.html#Patch
-	~/tmp/ptch.delmark.bz2
-	~/tmp/ptch.markclear
-	Implement setmark(markname, lnum [, col [, filename]]) instead?
-	When "lnum" is zero delete the mark.
-	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
@@ -94,9 +100,9 @@
     7   Completion of network shares, patch by Yasuhiro Matsumoto.
 	Update 2004 Sep 6.
 	How does this work?  Missing comments.
-    gettext()		Translate a message.  (Patch from Yasuhiro Matsumoto)
-			Update 2004 Sep 5
-			Missing docs.  Search in 'runtimepath'?
+	gettext()	Translate a message.  (Patch from Yasuhiro Matsumoto)
+			Update 2004 Sep 10
+			More docs.  Search in 'runtimepath'?
 			How to get the messages into the .po files?
     --- did not respond (yet) --
     7   Make "5dd" on last-but-one-line not delete anything (Vi compatible).
@@ -198,6 +204,7 @@
 	http://www.vim.org/scripts/script.php?script_id=747
 	http://sourceforge.net/projects/insenvim
 	http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
+	Ivan Villanueva has something for Java.
 -   PERSISTENT UNDO: store undo in a file.
     Support multiple threads.  Show the list of changes in a window to be able
     to select a version.
@@ -262,7 +269,27 @@
 2004).  Should also work for 'filetype'.
 
 Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
-Smilauer, 2004 Sep 5)
+Smilauer, 2004 Sep 13)
+
+Win32: In 'fileencodings' allow using "acp" for the active codepage.  Useful
+value: "ucs-bom,utf-8,acp,latin1"
+
+For manipulating buffers without opening a new window, support Virtual
+windows.  Example:
+    :virtwin let l = GetBufLine(4, 10)
+    :fun GetBufLine(bufnr, lnum)
+    :  exe "buffer " . a:bufnr
+    :  return getline(lnum)
+    :endfun
+The getline() and setline() functions could work for other buffers, using a
+Virtual window.
+A Virtual window only exists for one command.  There can be several (for
+nested commands).  The window works as if it comes after the last window, size
+is the Vim window size, but it's never displayed.
+
+Win32: In the generated batch files, use $VIMRUNTIME if it's set.  Examples by
+Mathias Michaelis (2004 Sep 6)
+Also place vimtutor.bat in %windir%?
 
 
 Vi incompatibility:
@@ -854,6 +881,7 @@
       dithering to make grey text?
     - Add a flag in 'printoptions' to add an empty page to make the total
       number even.  "addempty"? (Mike Williams)
+    - Respect 'linebreak'.  Perhaps also 'showbreak'?
     - Should interpreted CTRL-L as a page break.
     - Grey line numbers are not always readable.  Add field in 'printoptions'.
       Default to black when no syntax highlighting.
@@ -1457,6 +1485,13 @@
     Packages are loaded automatically when first used, from
     $VIMRUNTIME/packages (or use a search path).
 7   Make globpath() also work with "**" and upwards search. (Brian Medley)
+7   Add the markclear() function to delete a mark in another buffer.  Charles
+    Campbell (2004 Jan 9)
+    http://mysite.verizon.net/astronaut/vim/index.html#Patch
+    Implement setmark(markname, lnum [, col [, filename]]) instead?
+    When "lnum" is zero delete the mark.
+    When "filename" has no wildcards and there is no matching buffer, add
+    the buffer (unlisted).
 7   Pre-parse or compile Vim scripts into a bytecode.
     1. Put the bytecode with the original script, with an ":if
        has('bytecode')" around it, so that it's only used with a Vim that
@@ -2556,8 +2591,8 @@
     This one is also very slow on "/* some comment */": "^\/\*\(.*[^/]\)*$".
 7   Recognize "[a-z]", "[0-9]", etc. and replace them with the faster "\l" and
     "\d".
-7   Add a way to specify characters as hex, octal or <C-M> form.  Could be
-    \%1ax, \%200o and \%<C-M>.  Also \%1234u for multi-byte chars.
+7   Add a way to specify characters in <C-M> or <Key> form.  Could be
+    \%<C-M>.
 8   Flags that apply to the whole pattern.
     This works for all places where a regexp is used.
     Add "\q" to not store this pattern as the last search pattern?
@@ -2612,11 +2647,6 @@
     before saving files: "Save modified buffer "/path/file"? (Yes/Hide/No
     Save-all/hide-All/Quit) ".
 -   ":s/pat/foo/3": find 3rd match of "pat", like sed. (Thomas Koehler)
--   Special characters in patterns:
-    Inside []:
-    \012  octal character
-    \0x1a hex character
-    \0<BS> \0<Esc>: special character
 7   When searching with 'n' give message when getting back where the search
     first started. Remember start of search in '/ mark.
 7   Add option that scrolls screen to put cursor in middle of screen after
diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt
index 39a603a..eaffb19 100644
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt*	For Vim version 7.0aa.  Last change: 2004 May 01
+*usr_01.txt*	For Vim version 7.0aa.  Last change: 2004 Sep 09
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -104,11 +104,13 @@
 first Vim commands.  This is a 30 minute tutorial that teaches the most basic
 Vim functionality hands-on.
 
-On Unix and MS-Windows, if Vim has been properly installed, you can start it
-from the shell:
+On Unix, if Vim has been properly installed, you can start it from the shell:
 >
 	vimtutor
 
+On MS-Windows you can find it in the Program/Vim menu.  Or execute
+vimtutor.bat in the $VIMRUNTIME directory.
+
 This will make a copy of the tutor file, so that you can edit it without
 the risk of damaging the original.
    There are a few translated versions of the tutor.  To find out if yours is
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 42f6628..01705ff 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 Sep 06
+*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Sep 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -122,6 +122,8 @@
 
 |:keepalt|		Do not change the alternate file.
 
+|:delmarks|		Delete marks.
+
 
 New functions: ~
 
@@ -135,6 +137,8 @@
 repeat(expr, count)	|repeat()| 	Repeat "expr" "count" times.
 					(Christophe Poucet)
 tr(expr, from, to)	|tr()|		Translate characters. (Ron Aaron)
+system(cmd, input)	|system()|	Filters {input} through a shell
+					command.
 
 
 New autocommand events: ~
@@ -146,6 +150,20 @@
 |ColorScheme|		after loading a color scheme
 
 
+New items in search patterns: ~
+|/\%d| \%d123		search for character with decimal number
+|/\]|  [\d123]		idem, in a colletion
+|/\%o| \%o103		search for character with octal number
+|/\]|  [\o1o3]		idem, in a colletion
+|/\%x| \%x1a		search for character with 2 pos. hex number
+|/\]|  [\x1a]		idem, in a colletion
+|/\%u| \%u12ab		search for character with 4 pos. hex number
+|/\]|  [\u12ab]		idem, in a colletion
+|/\%U| \%U1234abcd	search for character with 8 pos. hex number
+|/\]|  [\U1234abcd]	idem, in a colletion
+			    (The above partly by Ciaran McCreesh)
+
+
 New Syntax/Indent/FTplugin files: ~
 
 MuPAD source syntax, indent and ftplugin. (Dave Silvia)
@@ -348,4 +366,11 @@
 command line with non-ASCII characters are not used correctly.  Recode the
 file names when 'encoding' is set, using the Unicode command line.
 
+Win32 console: When the default for 'encoding' ends up to be "latin1", the
+default value of 'isprint' was wrong.
+
+When an error message is given while waiting for a character (e.g., when an
+xterm reports the number of colors), the hit-enter prompt overwrote the last
+line.  Don't reset msg_didout in normal_cmd() for K_IGNORE.
+
  vim:tw=78:ts=8:ft=help:norl:
