diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f842ff6..fa1362a 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -7157,7 +7157,7 @@
 
 							*sandbox-option*
 A few options contain an expression.  When this expression is evaluated it may
-have to be done in the sandbox to avoid a security risc.  But the sandbox is
+have to be done in the sandbox to avoid a security risk.  But the sandbox is
 restrictive, thus this only happens when the option was set from an insecure
 location.  Insecure in this context are:
 - sourcing a .vimrc or .exrc in the current directlry
diff --git a/runtime/doc/makehtml.awk b/runtime/doc/makehtml.awk
index 34a5544..5e40069 100644
--- a/runtime/doc/makehtml.awk
+++ b/runtime/doc/makehtml.awk
@@ -135,7 +135,7 @@
 	print "<H1>Vim documentation: " f[1] "</H1>";
 	print "<A NAME=\"top\"></A>";
 	if ( FILENAME != "help.txt" ) {
-	  print "<A HREF=\"help.html\">main help file</A>\n";
+	  print "<A HREF=\"index.html\">main help file</A>\n";
 	}
 	print "<HR>";
 	print "<PRE>";
@@ -244,7 +244,15 @@
 				find_tag1();
 				}
 				else {
+					if ( f[1] == "index" ) {
+		printf "|<A HREF=\"vimindex.html\">" p[i] "</A>|";
+					} else {
+						if ( f[1] == "help" ) {
+		printf "|<A HREF=\"index.html\">" p[i] "</A>|";
+						} else {
 		printf "|<A HREF=\"" f[1] ".html\">" p[i] "</A>|";
+						}
+					}
 				}
 			}
 		}
@@ -373,13 +381,12 @@
 
 #
 # as main we keep index.txt (by default)
-# other candidate, help.txt
 #
 function topback () {
 	if ( FILENAME != "tags" ) {
 	if ( FILENAME != "help.txt" ) {
 	printf("<A HREF=\"#top\">top</A> - ");
-	printf("<A HREF=\"help.html\">main help file</A>\n");
+	printf("<A HREF=\"index.html\">main help file</A>\n");
 	} else {
 	printf("<A HREF=\"#top\">top</A>\n");
 	}
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index d0c8a48..ae9f517 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1013,7 +1013,7 @@
 
 						     *'balloonexpr'* *'bexpr'*
 'balloonexpr' 'bexpr'	string	(default "")
-			global
+			global or local to buffer |global-local|
 			{not in Vi}
 			{only available when compiled with the |+balloon_eval|
 			feature}
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 1fe96fa..2353d3a 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 07
+*repeat.txt*    For Vim version 7.0aa.  Last change: 2006 Mar 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -563,9 +563,17 @@
 
 :prof[ile] start {fname}			*:prof* *:profile* *E750*
 		Start profiling, write the output in {fname} upon exit.
-		If {fname} already exists it will be overwritten.
+		If {fname} already exists it will be silently overwritten.
 		The variable |v:profiling| is set to one.
 
+:prof[ile] pause
+		Don't profile until the following ":profile continue".  Can be
+		used when doing something that should not be counted (e.g., an
+		external command).  Does not nest.
+
+:prof[ile] continue
+		Continue profiling after ":profile pause".
+
 :prof[ile] func {pattern}
 		Profile function that matches the pattern {pattern}.
 		See |:debug-name| for how {pattern} is used.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 4ea882b..15ee128 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2558,12 +2558,22 @@
 :sleep	various.txt	/*:sleep*
 :sm	change.txt	/*:sm*
 :smagic	change.txt	/*:smagic*
+:smap	map.txt	/*:smap*
+:smap_l	map.txt	/*:smap_l*
+:smapc	map.txt	/*:smapc*
+:smapclear	map.txt	/*:smapclear*
+:sme	gui.txt	/*:sme*
+:smenu	gui.txt	/*:smenu*
 :sn	windows.txt	/*:sn*
 :snext	windows.txt	/*:snext*
 :sni	if_sniff.txt	/*:sni*
 :sniff	if_sniff.txt	/*:sniff*
 :sno	change.txt	/*:sno*
 :snomagic	change.txt	/*:snomagic*
+:snor	map.txt	/*:snor*
+:snoremap	map.txt	/*:snoremap*
+:snoreme	gui.txt	/*:snoreme*
+:snoremenu	gui.txt	/*:snoremenu*
 :so	repeat.txt	/*:so*
 :sor	change.txt	/*:sor*
 :sort	change.txt	/*:sort*
@@ -2607,6 +2617,10 @@
 :substitute	change.txt	/*:substitute*
 :sun	windows.txt	/*:sun*
 :sunhide	windows.txt	/*:sunhide*
+:sunm	map.txt	/*:sunm*
+:sunmap	map.txt	/*:sunmap*
+:sunme	gui.txt	/*:sunme*
+:sunmenu	gui.txt	/*:sunmenu*
 :sus	starting.txt	/*:sus*
 :suspend	starting.txt	/*:suspend*
 :sv	windows.txt	/*:sv*
@@ -2839,6 +2853,21 @@
 :xa	editing.txt	/*:xa*
 :xall	editing.txt	/*:xall*
 :xit	editing.txt	/*:xit*
+:xm	map.txt	/*:xm*
+:xmap	map.txt	/*:xmap*
+:xmap_l	map.txt	/*:xmap_l*
+:xmapc	map.txt	/*:xmapc*
+:xmapclear	map.txt	/*:xmapclear*
+:xme	gui.txt	/*:xme*
+:xmenu	gui.txt	/*:xmenu*
+:xn	map.txt	/*:xn*
+:xnoremap	map.txt	/*:xnoremap*
+:xnoreme	gui.txt	/*:xnoreme*
+:xnoremenu	gui.txt	/*:xnoremenu*
+:xu	map.txt	/*:xu*
+:xunmap	map.txt	/*:xunmap*
+:xunme	gui.txt	/*:xunme*
+:xunmenu	gui.txt	/*:xunmenu*
 :y	change.txt	/*:y*
 :yank	change.txt	/*:yank*
 :z	various.txt	/*:z*
@@ -4931,6 +4960,7 @@
 edit-intro	editing.txt	/*edit-intro*
 edit-no-break	usr_25.txt	/*edit-no-break*
 editing.txt	editing.txt	/*editing.txt*
+efm-%>	quickfix.txt	/*efm-%>*
 efm-entries	quickfix.txt	/*efm-entries*
 efm-ignore	quickfix.txt	/*efm-ignore*
 eiffel.vim	syntax.txt	/*eiffel.vim*
@@ -5972,7 +6002,9 @@
 mapmode-n	map.txt	/*mapmode-n*
 mapmode-nvo	map.txt	/*mapmode-nvo*
 mapmode-o	map.txt	/*mapmode-o*
+mapmode-s	map.txt	/*mapmode-s*
 mapmode-v	map.txt	/*mapmode-v*
+mapmode-x	map.txt	/*mapmode-x*
 mapping	map.txt	/*mapping*
 mark	motion.txt	/*mark*
 mark-motions	motion.txt	/*mark-motions*
@@ -6249,6 +6281,7 @@
 new-location-list	version7.txt	/*new-location-list*
 new-manpage-trans	version7.txt	/*new-manpage-trans*
 new-map-expression	version7.txt	/*new-map-expression*
+new-map-select	version7.txt	/*new-map-select*
 new-more-highlighting	version7.txt	/*new-more-highlighting*
 new-more-unicode	version7.txt	/*new-more-unicode*
 new-multi-byte	version5.txt	/*new-multi-byte*
diff --git a/runtime/plugin/README.txt b/runtime/plugin/README.txt
index 5cc68fd..cb87ed9 100644
--- a/runtime/plugin/README.txt
+++ b/runtime/plugin/README.txt
@@ -8,6 +8,7 @@
 rrhelper.vim	used for --remote-wait editing
 tar.vim		edit (compressed) tar files
 tohtml.vim	convert a file with syntax highlighting to HTML
+vimball.vim	create and unpack .vba files
 
 Note: the explorer.vim plugin is no longer here, the netrw.vim plugin has
 taken over browsing directories (also over ftp).
