updated for version 7.0008
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 1020723..69b92d8 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 May 01
+*diff.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -83,7 +83,7 @@
 
 							*:difft* *:diffthis*
 :diffthis	Make the current window part of the diff windows.  This sets
-		the option like for "vimdiff".
+		the options like for "vimdiff".
 
 :diffpatch {patchfile}					*:diffp* *:diffpatch*
 		Use the current buffer, patch it with the diff found in
@@ -109,10 +109,22 @@
 
 Since the option values are remembered with the buffer, you can edit another
 file for a moment and come back to the same file and be in diff mode again.
-If you don't want diff mode, reset the 'diff' option.  And you probably want
-to get rid of the fold column: >
 
-	:set nodiff foldcolumn=0
+							*:diffo* *:diffoff*
+:diffoff	Switch off diff mode for the current window.
+
+:diffoff!	Switch off diff mode for all windows.
+
+The ":diffoff" command resets the relevant options to their default value.
+This may be different from what the values were before diff mode was started,
+the old values are not remembered.
+
+	'diff'		off
+	'scrollbind'	off
+	'scrollopt'	without "hor"
+	'wrap'		on
+	'foldmethod'	"manual"
+	'foldcolumn'	0
 
 ==============================================================================
 2. Viewing diffs						*view-diffs*
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 42d4b7b..2224fac 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 07
+*index.txt*     For Vim version 7.0aa.  Last change: 2004 Jul 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1109,6 +1109,7 @@
 |:delfunction|	:delf[unction]	delete a user function
 |:diffupdate|	:dif[fupdate]	update 'diff' buffers
 |:diffget|	:diffg[et]	remove differences in current buffer
+|:diffoff|	:diffo[ff]	switch off diff mode
 |:diffpatch|	:diffp[atch]	apply a patch and show differences
 |:diffput|	:diffpu[t]	remove differences in other buffer
 |:diffsplit|	:diffs[plit]	show differences with another file
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index a16cd4a..21155fb 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.0aa.  Last change: 2004 Jul 05
+*quickref.txt*  For Vim version 7.0aa.  Last change: 2004 Jul 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -18,10 +18,10 @@
 |Q_sc|	Scrolling			|Q_ce|	Ex: Command-line editing
 |Q_in|	insert: Inserting text		|Q_ra|	Ex: Ranges
 |Q_ai|	insert: Keys			|Q_ex|	Ex: Special characters
-|Q_ss|	insert: Special keys		|Q_ed|	Editing a file
-|Q_di|	insert: Digraphs		|Q_fl|	Using the argument list
-|Q_si|	insert: Special inserts		|Q_wq|	Writing and quitting
-|Q_de|	change: Deleting text		|Q_st|	Starting VIM
+|Q_ss|	insert: Special keys		|Q_st|	Starting VIM
+|Q_di|	insert: Digraphs		|Q_ed|	Editing a file
+|Q_si|	insert: Special inserts		|Q_fl|	Using the argument list
+|Q_de|	change: Deleting text		|Q_wq|	Writing and quitting
 |Q_cm|	change: Copying and moving	|Q_ac|	Automatic commands
 |Q_ch|	change: Changing text		|Q_wi|	Multi-window commands
 |Q_co|	change: Complex			|Q_bu|	Buffer list commands
@@ -1046,6 +1046,55 @@
 		|::e|	    :e		extension
 		|::s|	    :s/{pat}/{repl}/	substitute {pat} with {repl}
 ------------------------------------------------------------------------------
+*Q_st*		Starting VIM
+
+|-vim|	   vim [options]		start editing with an empty buffer
+|-file|	   vim [options] {file} ..	start editing one or more files
+|--|	   vim [options] -		read file from stdin
+|-tag|	   vim [options] -t {tag}	edit the file associated with {tag}
+|-qf|	   vim [options] -q [fname]	start editing in QuickFix mode,
+					   display the first error
+
+	Most useful Vim arguments (for full list see |startup-options|)
+
+|-gui|	-g		    start GUI (also allows other options)
+
+|-+|	+[num]		    put the cursor at line [num] (default: last line)
+|-+c|	+{command}	    execute {command} after loading the file
+|-+/|	+/{pat} {file} ..   put the cursor at the first occurrence of {pat}
+|-v|	-v		    Vi mode, start ex in Normal mode
+|-e|	-e		    Ex mode, start vim in Ex mode
+|-R|	-R		    Read-only mode, implies -n
+|-m|	-m		    modifications not allowed (resets 'write' option)
+|-d|	-d		    diff mode |diff|
+|-b|	-b		    binary mode
+|-l|	-l		    lisp mode
+|-A|	-A		    Arabic mode ('arabic' is set)
+|-F|	-F		    Farsi mode ('fkmap' and 'rightleft' are set)
+|-H|	-H		    Hebrew mode ('hkmap' and 'rightleft' are set)
+|-V|	-V		    Verbose, give informative messages
+|-C|	-C		    Compatible, set the 'compatible' option
+|-N|	-N		    Nocompatible, reset the 'compatible' option
+|-r|	-r		    give list of swap files
+|-r|	-r {file} ..	    recover aborted edit session
+|-n|	-n		    do not create a swap file
+|-o|	-o [num]	    open [num] windows (default: one for each file)
+|-f|	-f		    GUI: foreground process, don't fork
+			    Amiga: do not restart VIM to open a window (for
+				e.g., mail)
+|-s|	-s {scriptin}	    first read commands from the file {scriptin}
+|-w|	-w {scriptout}	    write typed chars to file {scriptout} (append)
+|-W|	-W {scriptout}	    write typed chars to file {scriptout} (overwrite)
+|-T|	-T {terminal}	    set terminal name
+|-d|	-d {device}	    Amiga: open {device} to be used as a console
+|-u|	-u {vimrc}	    read inits from {vimrc} instead of other inits
+|-U|	-U {gvimrc}	    idem, for when starting the GUI
+|-i|	-i {viminfo}	    read info from {viminfo} instead of other files
+|---|	--		    end of options, other arguments are file names
+|--help|    --help	    show list of arguments and exit
+|--version| --version	    show version info and exit
+|--|	-		    Read file from stdin.
+------------------------------------------------------------------------------
 *Q_ed*		Editing a file
 
 	   Without !: Fail if changes has been made to the current buffer.
@@ -1122,54 +1171,6 @@
 				   is set and [!] not given write the buffer.
 |CTRL-Z|     CTRL-Z		Same as ":stop"
 ------------------------------------------------------------------------------
-*Q_st*		Starting VIM
-
-|-vim|	   vim [options]		start editing with an empty buffer
-|-file|	   vim [options] {file} ..	start editing one or more files
-|--|	   vim [options] -		read file from stdin
-|-tag|	   vim [options] -t {tag}	edit the file associated with {tag}
-|-qf|	   vim [options] -q [fname]	start editing in QuickFix mode,
-					   display the first error
-
-	Vim arguments:
-
-|-gui|	-g		    start GUI (also allows other options)
-
-|-+|	+[num]		    put the cursor at line [num] (default: last line)
-|-+c|	+{command}	    execute {command} after loading the file
-|-+/|	+/{pat} {file} ..   put the cursor at the first occurrence of {pat}
-|-v|	-v		    Vi mode, start ex in Normal mode
-|-e|	-e		    Ex mode, start vim in Ex mode
-|-R|	-R		    Read-only mode, implies -n
-|-m|	-m		    modifications not allowed (resets 'write' option)
-|-b|	-b		    binary mode
-|-l|	-l		    lisp mode
-|-A|	-A		    Arabic mode ('arabic' is set)
-|-F|	-F		    Farsi mode ('fkmap' and 'rightleft' are set)
-|-H|	-H		    Hebrew mode ('hkmap' and 'rightleft' are set)
-|-V|	-V		    Verbose, give informative messages
-|-C|	-C		    Compatible, set the 'compatible' option
-|-N|	-N		    Nocompatible, reset the 'compatible' option
-|-r|	-r		    give list of swap files
-|-r|	-r {file} ..	    recover aborted edit session
-|-n|	-n		    do not create a swap file
-|-o|	-o [num]	    open [num] windows (default: one for each file)
-|-f|	-f		    GUI: foreground process, don't fork
-			    Amiga: do not restart VIM to open a window (for
-				e.g., mail)
-|-s|	-s {scriptin}	    first read commands from the file {scriptin}
-|-w|	-w {scriptout}	    write typed chars to file {scriptout} (append)
-|-W|	-W {scriptout}	    write typed chars to file {scriptout} (overwrite)
-|-T|	-T {terminal}	    set terminal name
-|-d|	-d {device}	    Amiga: open {device} to be used as a console
-|-u|	-u {vimrc}	    read inits from {vimrc} instead of other inits
-|-U|	-U {gvimrc}	    idem, for when starting the GUI
-|-i|	-i {viminfo}	    read info from {viminfo} instead of other files
-|---|	--		    end of options, other arguments are file names
-|--help|    --help	    show list of arguments and exit
-|--version| --version	    show version info and exit
-|--|	-		    Read file from stdin.
-------------------------------------------------------------------------------
 *Q_ac*		Automatic Commands
 
 |viminfo-file|	Read registers, marks, history at startup, save when exiting.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8812496..e19f86c 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 09
+*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Jul 12
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,17 +30,13 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-:syn sync ccomment asdf gives a warning without a line number.
-
-@: doesn't work if cmdline has a ^M, requires using ^V. (Tim Chase)
+Make aap build script work again. Also with mzscheme
 
 Mac: Compiling --enable-gui=athena doesn't work.  Try to fix without disabling
 Carbon.  Otherwise adjust configure to disable darwin. (raf)
 
 Mac: "make install" doesn't install.
 
-Make aap build script work again.
-
 
 For version 7.0:
 -   Include many PATCHES:
@@ -79,10 +75,11 @@
 				Lakshmanan, 2003 Jan 21)
 	winnr("$")		Get number of windows.  (patch from Nikolai
 				Weibull 2003 Jan 13) (another patch from
-				Yegappan Lakshmanan, 2003 Aug 31)
+				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).
 	And the ":delmark" command (2004 Feb 9)
@@ -93,7 +90,16 @@
 	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 7
+    Patch for \xnn (Ciaran McCreesh)  2004 Jul 10
+    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
+    7   For Visual mode: Command to do a search for the string in the marked
+	area.  Only when fewer than two lines. Use "g/" and "gb".  Patch from
+	Yegappan Lakshmanan. 2004 Jul 11
+    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)
     --- awaiting updated patch ---
     7   Add patch from Wall for this one ( ~/Mail/oldmail/wall/in.00019 ):
 	'flipcase' variable: upper/lowercase pairs.
@@ -163,23 +169,15 @@
 				Tcl implementation ~/vim/HierAssist/ )
     7   Add patch from Benoit Cerrina to integrate Vim and Perl functions
 	better.  Now also works for Ruby (2001 Nov 10)
-    7   Add 'taglistfiles' option, show file name and type when listing matching
-	tags name with CTRL-D completion.  Patch from Yegappan Lakshmanan.
     7   Motif: use the menu font consistently.  Patch from Martin Dalecki 2002
 	Jan 11.
     -   Motif: add 3D shading for the menu entries?  Patch from Martin Dalecki.
-    7   For Visual mode: Command to do a search for the string in the marked
-	area.  Only when fewer than two lines. Use "g/" and "gb".  Patch from
-	Yegappan Lakshmanan.
     7   When 'rightleft' is set, the search pattern should be displayed right
 	to left as well?  See patch of Dec 26. (Nadim Shaikli)
     8   Lock all used memory so that it doesn't get swapped to disk (uncrypted).
 	Patch by Jason Holt, 2003 May 23.
     7   Support a stronger encryption.  Jason Holt implemented AES (May 6 2003).
     7   Add ! register, for shell commands. (patch from Grenie)
-    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, 2002 feb 15)
     8   In the gzip plugin, also recognize *.gz.orig, *.gz.bak, etc.  Like it's
 	done for filetype detection.  Patch from Walter Briscoe, 2003 Jul 1.
     7   Add a "-@ filelist" argument: read file names from a file. (David
@@ -267,6 +265,10 @@
     "foldcolumn". (Benji Fisher, 2004 Jun 21)
 -   FileChangedShellPost autocommand event: after (not) reloading a changed
     file.  Can be used to update statusline oslt.
+8   When a file is change outside of Vim and unmodified in Vim there is no
+    simple way to automatically reload the file.  Either add an option for
+    this or make it simple to have the FileChangedShell invoke the normal
+    action, telling it what to do.
 -   Displaying size of Visual area: use 24-33 column display.
 -   Mac: Unicode input and display (Eckehard Berns, June 27)
 8   Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
@@ -729,7 +731,7 @@
 8   When an ":edit" is inside a try command and the ATTENTION prompt is used,
     the :catch commands are always executed, also when the file is edited
     normally.  Should reset did_emsg and undo side effects.  Also make sure
-    the ATTENTION message shows up.
+    the ATTENTION message shows up.  Servatius Brandt works on this.
 9   When using ":e ++enc=foo file" and the file is already loaded with
     'fileencoding' set to "bar", then do_ecmd() uses that buffer, even though
     the fileencoding differs.  Reload the buffer in this situation?  Need to
@@ -772,8 +774,6 @@
     ":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
 7   Output for ":scriptnames" and ":breaklist" should shorten the file names:
     use "~/" when possible.
-8   After using diff mode, ":set nodiff" doesn't restore the old foldmethod.
-    (Thomas S. Urban)
 7   mb_off2cells() doesn't work correctly on the tail byte of a double-byte
     character. (Yasuhiro Matsumoto)  It should return 1 when used on a tail
     byte, like for utf-8.  Store second byte of double-byte in ScreenLines2[]
@@ -1173,7 +1173,6 @@
 
 
 Diff mode:
-8   Add a command to stop diff mode: ":set nodiff fdc = 0 noscrollbind"
 8   Use diff mode to show the changes made in a buffer (compared to the file).
     Use an unnamed buffer, like doing:
 	new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 96f28c3..fd9335f 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 05
+*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Jul 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -117,6 +117,9 @@
 
 |:0file|		Removes the name of the buffer. (Charles Campbell)
 
+|:diffoff|		Switch off diff mode in the current window or in all
+			windows.
+
 
 New functions: ~
 
@@ -232,4 +235,10 @@
 Printing with PostScript may keep the printer waiting for more.  Append a
 CTRL-D to the printer output. (Mike Williams)
 
+When converting a string with a hex or octal number the leading '-' was
+ignored.  ":echo '-05' + 0" resulted in 5 instead of -5.
+
+Using "@:" to repeat a command line didn't work when it contains control
+characters.
+
  vim:tw=78:ts=8:ft=help:norl: