updated for version 7.0g04
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 4cc6711..9c67953 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.0g.  Last change: 2006 Apr 30
+*change.txt*    For Vim version 7.0g.  Last change: 2006 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1429,8 +1429,9 @@
 "c"	automatic formatting for comments, but not text (good for C code)
 "tc"	automatic formatting for text and comments
 
-Note that when 'textwidth' is 0, Vim does no formatting anyway (but does
-insert comment leaders according to the 'comments' option).
+Note that when 'textwidth' is 0, Vim does no automatic formatting anyway (but
+does insert comment leaders according to the 'comments' option).  An exception
+is when the 'a' flag is present. |auto-format|
 
 Note that when 'paste' is on, Vim does no formatting at all.
 
@@ -1485,6 +1486,9 @@
 
 - Add the 'c' flag to only auto-format comments.  Useful in source code.
 
+- Set 'textwidth' to the desired width.  If it is zero then 79 is used, or the
+  width of the screen if this is smaller.
+
 And a few warnings:
 
 - When part of the text is not properly separated in paragraphs, making
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 3696c8a..9794089 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0g.  Last change: 2006 May 04
+*eval.txt*      For Vim version 7.0g.  Last change: 2006 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2346,12 +2346,13 @@
 			exists("##ColorScheme")
 <		There must be no space between the symbol (&/$/*/#) and the
 		name.
-		Trailing characters that can't be part of the name are often
-		ignored, but don't depend on it, it may change in the future!
-		Example: >
-			exists("*strftime()")
-<		This currently works, but it should really be: >
-			exists("*strftime")
+		There must be no extra characters after the name, although in
+		a few cases this is ignored.  That may become more strict in
+		the future, thus don't count on it!
+		Working example: >
+			exists(":make")
+<		NOT working example: >
+			exists(":make install")
 
 <		Note that the argument must be a string, not the name of the
 		variable itself.  For example: >
@@ -2678,21 +2679,25 @@
 			:echo "todo myvar = " . getbufvar("todo", "myvar")
 <
 getchar([expr])						*getchar()*
-		Get a single character from the user.  If it is an 8-bit
-		character, the result is a number.  Otherwise a String is
-		returned with the encoded character.  For a special key it's a
-		sequence of bytes starting with 0x80 (decimal: 128).
+		Get a single character from the user or input stream.
 		If [expr] is omitted, wait until a character is available.
 		If [expr] is 0, only get a character when one is available.
+			Return zero otherwise.
 		If [expr] is 1, only check if a character is available, it is
-				not consumed.  If one is available a non-zero
-				number is returned.  For a one-byte character
-				it is the character itself.
-		If a normal character available, it is returned as a Number.
-		Use nr2char() to convert it to a String.
-		The returned value is zero if no character is available.
-		The returned value is a string of characters for special keys
-		and when a modifier (shift, control, alt) was used.
+			not consumed.  Return zero if no character available.
+
+		Without {expr} and when {expr} is 0 a whole character or
+		special key is returned.  If it is an 8-bit character, the
+		result is a number.  Use nr2char() to convert it to a String.
+		Otherwise a String is returned with the encoded character.
+		For a special key it's a sequence of bytes starting with 0x80
+		(decimal: 128).  The returned value is also a String when a
+		modifier (shift, control, alt) was used that is not included
+		in the character.
+
+		When {expr} is 1 only the first byte is returned.  For a
+		one-byte character it is the character itself.
+
 		There is no prompt, you will somehow have to make clear to the
 		user that a character has to be typed.
 		There is no mapping for the character.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 788143a..79ae5b9 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.0g.  Last change: 2006 May 04
+*help.txt*	For Vim version 7.0g.  Last change: 2006 May 05
 
 			VIM - main help file
 									 k
@@ -202,6 +202,12 @@
 |test.txt|	Testing the hélp cömmånd nôw
 |typecorr.txt|	Plugin for correcting typing mistakes
 |helpp.txt|	Dummy line to avoid an error message
+|cecutil.txt|	DrChip's Utilities				Jun 11, 2004
+|example.txt|	Example for a locally added help file
+|matchit.txt|   Extended "%" matching
+|test.txt|	Testing the hélp cömmånd nôw
+|typecorr.txt|	Plugin for correcting typing mistakes
+|helpp.txt|	Dummy line to avoid an error message
 
 ------------------------------------------------------------------------------
 *bars*		Bars example
@@ -210,7 +216,7 @@
 CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
 
 Note that tags are within | characters, but when highlighting is enabled these
-are hidden.  That makes it easier to read the command.
+are hidden.  That makes it easier to read a command.
 
 Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
 will try to find help for it.
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 48d4550..97e964e 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0g.  Last change: 2006 May 03
+*insert.txt*    For Vim version 7.0g.  Last change: 2006 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1020,8 +1020,9 @@
 	info		more information about the item, can be displayed in a
 			preview window
 	kind		single letter indicating the type of completion
-	icase		when non-zero case is to be ignored; when omitted
-			the 'ignorecase' option is used
+	icase		when non-zero case is to be ignored when comparing
+			items to be equal; when omitted zero is used, thus
+			items that only differ in case are added
 	dup		when non-zero this match will be added even when an
 			item with the same word is already present.
 
diff --git a/runtime/ftplugin/ruby.vim b/runtime/ftplugin/ruby.vim
index 40d1c55..66cfcc7 100644
--- a/runtime/ftplugin/ruby.vim
+++ b/runtime/ftplugin/ruby.vim
@@ -1,6 +1,6 @@
 " Vim filetype plugin
 " Language:		Ruby
-" Maintainer:		Gavin Sinclair <gsinclair at soyabean.com.au>
+" Maintainer:		Gavin Sinclair <gsinclair at gmail.com>
 " Info:			$Id$
 " URL:			http://vim-ruby.rubyforge.org
 " Anon CVS:		See above site
@@ -38,7 +38,8 @@
     \	  '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
     \ '\)' .
     \ ':' .
-    \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>'
+    \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>' .
+    \ ',{:},\[:\],(:)'
 
   let b:match_skip =
      \ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim
index cfea7d8..be34409 100644
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -1,6 +1,7 @@
 " Description:	html indenter
 " Author:	Johannes Zellner <johannes@zellner.org>
 " Last Change:	Tue, 27 Apr 2004 10:28:39 CEST
+" 		Restoring 'cpo' and 'ic' added by Bram 2006 May 5
 " Globals:	g:html_indent_tags	   -- indenting tags
 "		g:html_indent_strict       -- inhibit 'O O' elements
 "		g:html_indent_strict_table -- inhibit 'O -' elements
@@ -116,6 +117,7 @@
 
 delfun <SID>HtmlIndentPush
 
+let s:cpo_save = &cpo
 set cpo-=C
 
 " [-- count indent-increasing tags of line a:lnum --]
@@ -183,6 +185,9 @@
 		\ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nWb')
 		\ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nW')
 	" we're in a line with </pre> or inside <pre> ... </pre>
+	if restore_ic == 0
+	  setlocal noic
+	endif
 	return -1
     endif
 
@@ -192,6 +197,9 @@
     \ || 0 < searchpair(js, '', '</script>', 'nW')
 	" we're inside javascript
 	if getline(lnum) !~ js && getline(a:lnum) != '</script>'
+	    if restore_ic == 0
+	      setlocal noic
+	    endif
 	    return cindent(a:lnum)
 	endif
     endif
@@ -202,6 +210,9 @@
 	" starting <pre> to restore the indent.
 	let preline = prevnonblank(search('\c<pre>', 'bW') - 1)
 	if preline > 0
+	    if restore_ic == 0
+	      setlocal noic
+	    endif
 	    return indent(preline)
 	endif
     endif
@@ -216,4 +227,7 @@
     return indent(lnum) + (&sw * ind)
 endfun
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
 " [-- EOF <runtime>/indent/html.vim --]