diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 48a1611..4f371f9 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.0aa.  Last change: 2004 Sep 16
+*change.txt*    For Vim version 7.0aa.  Last change: 2004 Oct 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -13,6 +13,10 @@
 2. Delete and insert		|delete-insert|
 3. Simple changes		|simple-change|		*changing*
 4. Complex changes		|complex-change|
+   4.1 Filter commands		   |filter|
+   4.2 Substitute		   |:substitute|
+   4.3 Search and replace	   |search-replace|
+   4.4 Changing tabs		   |change-tabs|
 5. Copying and moving text	|copy-move|
 6. Formatting text		|formatting|
 
@@ -449,7 +453,19 @@
 ==============================================================================
 4. Complex changes					*complex-change*
 
-							*!* *filter*
+4.1 Filter commands 					*filter*
+
+A filter is a program that accepts text at standard input, changes it in some
+way, and sends it to standard output.  You can use the commands below to send
+some text through a filter, so that it is replace by the filter output.
+Examples of filters are "sort", which sorts lines alphabetically, and
+"indent", which formats C program files (you need a version of indent that
+works like a filter; not all versions do).  The 'shell' option specifies the
+shell Vim uses to execute the filter command (See also the 'shelltype'
+option).  You can repeat filter commands with ".".  Vim does not recognize a
+comment (starting with '"') after the ":!" command.
+
+							*!*
 !{motion}{filter}	Filter {motion} text lines through the external
 			program {filter}.
 
@@ -492,17 +508,9 @@
 {Visual}=		Filter the highlighted lines like with ={motion}.
 			{not in Vi}
 
-A filter is a program that accepts text at standard input, changes it in some
-way, and sends it to standard output.  You can use the commands above to send
-some text through a filter.  Examples of filters are "sort", which sorts lines
-alphabetically, and "indent", which formats C program files (you need a
-version of indent that works like a filter; not all versions do).  The 'shell'
-option specifies the shell Vim uses to execute the filter command (See also
-the 'shelltype' option).  You can repeat filter commands with ".".  Vim does
-not recognize a comment (starting with '"') after the ":!" command.
 
-
-						*:s* *:su* *:substitute*
+4.2 Substitute						*:substitute*
+							*:s* *:su*
 :[range]s[ubstitute]/{pattern}/{string}/[&][c][e][g][p][r][i][I] [count]
 			For each line in [range] replace a match of {pattern}
 			with {string}.
@@ -741,7 +749,9 @@
 This replaces an end-of-line with a new line containing the value of $HOME.
 
 
-						*:pro* *:promptfind*
+4.3 Search and replace					*search-replace*
+
+							*:pro* *:promptfind*
 :promptf[ind] [string]
 			Put up a Search dialog.  When [string] is given, it is
 			used as the initial search string.
@@ -753,6 +763,8 @@
 			given, it is used as the initial search string.
 			{only for Win32, Motif and GTK GUI}
 
+
+4.4 Changing tabs					*change-tabs*
 							*:ret* *:retab*
 :[range]ret[ab][!] [new_tabstop]
 			Replace all sequences of white-space containing a
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index cd3e304..5b3e74f 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 Oct 10
+*eval.txt*      For Vim version 7.0aa.  Last change: 2004 Oct 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -831,6 +831,8 @@
 cursor( {lnum}, {col})		Number  position cursor at {lnum}, {col}
 delete( {fname})		Number	delete file {fname}
 did_filetype()			Number	TRUE if FileType autocommand event used
+diff_filler( {lnum})		Number  diff filler lines about {lnum}
+diff_hlID( {lnum}, {col})	Number  diff highlighting at {lnum}/{col}
 escape( {string}, {chars})	String	escape {chars} in {string} with '\'
 eventhandler( )			Number  TRUE if inside an event handler
 executable( {expr})		Number	1 if executable {expr} exists
@@ -932,7 +934,7 @@
 submatch( {nr})			String  specific match in ":substitute"
 substitute( {expr}, {pat}, {sub}, {flags})
 				String	all {pat} in {expr} replaced with {sub}
-synID( {line}, {col}, {trans})	Number	syntax ID at {line} and {col}
+synID( {lnum}, {col}, {trans})	Number	syntax ID at {lnum} and {col}
 synIDattr( {synID}, {what} [, {mode}])
 				String	attribute {what} of syntax ID {synID}
 synIDtrans( {synID})		Number	translated syntax ID of {synID}
@@ -1270,6 +1272,26 @@
 		editing another buffer to set 'filetype' and load a syntax
 		file.
 
+diff_filler({lnum})					*diff_filler()*
+		Returns the number of filler lines above line {lnum}.
+		These are the lines that were inserted at this point in
+		another diff'ed window.  These filler lines are shown in the
+		display but don't exist in the buffer.
+		{lnum} is used like with |getline()|.  Thus "." is the current
+		line, "'m" mark m, etc.
+		Returns 0 if the current window is not in diff mode.
+
+diff_hlID({lnum}, {col})				*diff_hlID()*
+		Returns the highlight ID for diff mode at line {lnum} column
+		{col} (byte index).  When the current line does not have a
+		diff change zero is returned.
+		{lnum} is used like with |getline()|.  Thus "." is the current
+		line, "'m" mark m, etc.
+		{col} is 1 for the leftmost column, {lnum} is 1 for the first
+		line.
+		The highlight ID can be used with |synIDattr()| to obtain
+		syntax information about the highlighting.
+
 escape({string}, {chars})				*escape()*
 		Escape the characters in {chars} that occur in {string} with a
 		backslash.  Example: >
@@ -2630,12 +2652,12 @@
 			:echo substitute("testing", ".*", "\\U\\0", "")
 <		results in "TESTING".
 
-synID({line}, {col}, {trans})				*synID()*
+synID({lnum}, {col}, {trans})				*synID()*
 		The result is a Number, which is the syntax ID at the position
-		{line} and {col} in the current window.
+		{lnum} and {col} in the current window.
 		The syntax ID can be used with |synIDattr()| and
 		|synIDtrans()| to obtain syntax information about text.
-		{col} is 1 for the leftmost column, {line} is 1 for the first
+		{col} is 1 for the leftmost column, {lnum} is 1 for the first
 		line.
 		When {trans} is non-zero, transparent items are reduced to the
 		item that they reveal.  This is useful when wanting to know
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index a7d6d2b..0e147b5 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 Oct 10
+*syntax.txt*	For Vim version 7.0aa.  Last change: 2004 Oct 12
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -420,6 +420,16 @@
 variable: >
    :unlet html_use_encoding
 <
+Closed folds are kept as they are displayed.  If you don't want closed folds
+in the HTML use the |zR| command before converting.
+
+For diff mode a sequence of more than 3 filler lines is displayed as three
+lines with the middle line mentioning the total number of inserted lines.  If
+you prefer to see all the inserted lines use: >
+    :let html_whole_filler = 1
+And to go back to displaying up to three lines again: >
+    :unlet html_whole_filler
+
 					    *convert-to-XML* *convert-to-XHTML*
 An alternative is to have the script generate XHTML (XML compliant HTML).  To
 do this set the "use_xhtml" variable: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index d54f794..b6c30f3 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4161,6 +4161,7 @@
 ch-syntax	syntax.txt	/*ch-syntax*
 ch.vim	syntax.txt	/*ch.vim*
 change-list-jumps	motion.txt	/*change-list-jumps*
+change-tabs	change.txt	/*change-tabs*
 change.txt	change.txt	/*change.txt*
 changed-5.1	version5.txt	/*changed-5.1*
 changed-5.2	version5.txt	/*changed-5.2*
@@ -4417,6 +4418,8 @@
 diff-options	diff.txt	/*diff-options*
 diff-patchexpr	diff.txt	/*diff-patchexpr*
 diff.txt	diff.txt	/*diff.txt*
+diff_filler()	eval.txt	/*diff_filler()*
+diff_hlID()	eval.txt	/*diff_hlID()*
 digraph-arg	change.txt	/*digraph-arg*
 digraph-encoding	digraph.txt	/*digraph-encoding*
 digraph-table	digraph.txt	/*digraph-table*
@@ -4691,6 +4694,7 @@
 foldlevel-variable	eval.txt	/*foldlevel-variable*
 foldstart-variable	eval.txt	/*foldstart-variable*
 foldtext()	eval.txt	/*foldtext()*
+foldtextresult()	eval.txt	/*foldtextresult()*
 font-sizes	gui_x11.txt	/*font-sizes*
 fontset	mbyte.txt	/*fontset*
 foreground()	eval.txt	/*foreground()*
@@ -5935,6 +5939,7 @@
 search-offset	pattern.txt	/*search-offset*
 search-pattern	pattern.txt	/*search-pattern*
 search-range	pattern.txt	/*search-range*
+search-replace	change.txt	/*search-replace*
 searchpair()	eval.txt	/*searchpair()*
 section	motion.txt	/*section*
 sed-syntax	syntax.txt	/*sed-syntax*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index a536f7c..b236214 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 Oct 10
+*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Oct 12
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,9 +30,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Folding support for 2html. (Carl Osterwisch, Oct 4)
-Now diff output!
-
 Aborting at the ATTENTION prompt causes trouble:
     buffer remains active, nwindows isn't closed (fixed in buffer.c)
     alternate buffer gets "read error" flag.
@@ -196,6 +193,10 @@
 	Also: when the environment variable exists, use it.  If it doesn't
 	exist, set it.  Requires good names: $VIM_USER_VIMRC  $VIM_USER_DIR
 
+xterm title: After setting a title, obtaining the title still may result in
+the old one.  Sometimes happens with the test scripts.  Setting the title is
+done with an ESC sequence, obtaining the old title with an X library call.
+Invoking XFlush() before getting the title doesn't help.
 
 -   In the kvim/KDE source files fix the formatting.
 -   KDE version is called "kvim".  Make it "gvim", like the others?
@@ -360,6 +361,8 @@
 
 Add gui_mch_browsedir() for Motif, KDE and Mac OS/X.
 
+Translated manual pages: Install German one in /usr/local/man/de/man1/vim.1
+
 
 Vi incompatibility:
 9   In Ex mode, "u" undoes all changes, not just the last one. (John Cowan)
@@ -1281,9 +1284,6 @@
     commands skip over a closed fold.
 8   "H" and "L" count buffer lines instead of window lines. (Servatius Brandt)
 8   Add a way to add fold-plugins.  Johannes Zellner has one for VB.
-7   When using 2html.vim, also reproduce folds as you can see them.  When
-    someone doesn't want the folds he can disable them before converting.
-    First attempt by Carl Osterwisch, 2004 May 10.
 7   When using manual folding, the undo command should also restore folds.
 -   Allow completely hiding a closed fold.  Require showing a character in
     'foldcolumn' to avoid the missing line goes unnoticed.
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index d947b93..3b0a06c 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 Oct 11
+*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Oct 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -54,6 +54,7 @@
 The "2html.vim" script now converts closed folds to HTML.  This means the HTML
 looks like its displayed, with the same folds open and closed.  Use "zR" if no
 folds should appear in the HTML. (partly by Carl Osterwisch)
+Diff mode now is also converted as it is displayed.
 
 ==============================================================================
 NEW FEATURES						*new-7*
@@ -187,6 +188,11 @@
 PHP compiler plugin. (Doug Kearns)
 
 
+New Keymaps: ~
+
+Sinhala (Sri Lanka) (Harshula Jayasuriya)
+
+
 New message translations: ~
 
 The Ukranian messages are now also available in cp1251.
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim
index 25da291..ea1e6e7 100644
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2004 Oct 10
+" Last Change: 2004 Oct 12
 "	       (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
 "	       (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
 
@@ -251,20 +251,67 @@
   unlet s:c
 endif
 
+" For diff filler lines
+if has('diff')
+  if s:numblines
+    let s:fillerline = strpart('        ', 0, strlen(line("$"))) . ' '
+  else
+    let s:fillerline = ''
+  endif
+  let s:fillchar = &fillchars[matchend(&fillchars, 'diff:')]
+  if s:fillchar == ''
+    let s:fillchar = '-'
+  endif
+  while strlen(s:fillerline) < &columns
+      let s:fillerline = s:fillerline . s:fillchar
+  endwhile
+endif
 
 while s:lnum <= s:end
 
+  " If there are filler lines for diff mode, show these above the line.
+  let s:filler = diff_filler(s:lnum)
+  if s:filler > 0
+    let s:n = s:filler
+    while s:n > 0
+      if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
+	let s:new = strpart(s:fillerline, 0, 3) . " " . s:filler . " inserted lines "
+	let s:new = s:new . strpart(s:fillerline, strlen(s:new))
+	let s:n = 2
+      else
+	let s:new = s:fillerline
+      endif
+      let s:id_name = "DiffDelete"
+      let s:id = hlID(s:id_name)
+      let s:new = '<span class="' . s:id_name . '">' . s:new . '</span>'
+      " Add the class to class list if it's not there yet
+      if stridx(s:idlist, "," . s:id . ",") == -1
+	let s:idlist = s:idlist . s:id . ","
+      endif
+
+      exe s:newwin . "wincmd w"
+      exe "normal! a" . strtrans(s:new) . "\n\e"
+      exe s:orgwin . "wincmd w"
+      let s:n = s:n - 1
+    endwhile
+    unlet s:n
+  endif
+  unlet s:filler
+
+  " Start the line with the line number.
+  if s:numblines
+    let s:new = strpart('        ', 0, strlen(line("$")) - strlen(s:lnum)) . s:lnum . ' '
+  else
+    let s:new = ""
+  endif
+
   " Get the current line
   let s:line = getline(s:lnum)
-  let s:new = ""
 
   if has('folding') && foldclosed(s:lnum) > -1
     "
     " This is the beginning of a folded block
     "
-    if s:numblines
-      let s:new = strpart('        ', 0, strlen(line("$")) - strlen(s:lnum)) . s:lnum . ' '
-    endif
     let s:line = foldtextresult(s:lnum)
 
     let s:new = s:new . s:line
@@ -293,18 +340,34 @@
     let s:len = strlen(s:line)
 
     if s:numblines
-      let s:new = '<span class="lnr">' . strpart('        ', 0, strlen(line("$")) - strlen(s:lnum)) . s:lnum . '</span>  '
+      let s:new = '<span class="lnr">' . s:new . '</span>  '
     endif
 
+    " Get the diff attribute, if any.
+    let s:diffattr = diff_hlID(s:lnum, 1)
+
     " Loop over each character in the line
     let s:col = 1
     while s:col <= s:len
       let s:startcol = s:col " The start column for processing text
-      let s:id = synID(s:lnum, s:col, 1)
-      let s:col = s:col + 1
-      " Speed loop (it's small - that's the trick)
-      " Go along till we find a change in synID
-      while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
+      if s:diffattr
+	let s:id = diff_hlID(s:lnum, s:col)
+	let s:col = s:col + 1
+	" Speed loop (it's small - that's the trick)
+	" Go along till we find a change in hlID
+	while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
+	while s:len < &columns
+	  " Add spaces at the end to mark the changed line.
+	  let s:line = s:line . ' '
+	  let s:len = s:len + 1
+	endwhile
+      else
+	let s:id = synID(s:lnum, s:col, 1)
+	let s:col = s:col + 1
+	" Speed loop (it's small - that's the trick)
+	" Go along till we find a change in synID
+	while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
+      endif
 
       " Output the text with the same synID, with class set to {s:id_name}
       let s:id = synIDtrans(s:id)
@@ -457,3 +520,4 @@
   delfunc s:HtmlOpening
   delfunc s:HtmlClosing
 endif
+silent! unlet s:htmlfoldtext s:fillerline s:diffattr
