diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 08b79bb..4d983bf 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1943,6 +1943,7 @@
 					to chars in {tostr}
 trunc( {expr}			Float	truncate Float {expr}
 type( {name})			Number	type of variable {name}
+undofile( {name})		String	undo file name for {name}
 values( {dict})			List	values in {dict}
 virtcol( {expr})		Number	screen column of cursor or mark
 visualmode( [expr])		String	last visual mode used
@@ -5767,6 +5768,15 @@
 			:if type(myvar) == type({})
 			:if type(myvar) == type(0.0)
 
+undofile({name})					*undofile()*
+		Return the name of the undo file that would be used for a file
+		with name {name} when writing.  This uses the 'undodir'
+		option, finding directories that exist.  It does not check if
+		the undo file exist.
+		Useful in combination with |:wundo| and |:rundo|.
+		When compiled without the +persistent_undo option this always
+		returns an empty string.
+
 values({dict})						*values()*
 		Return a |List| with all the values of {dict}.	The |List| is
 		in arbitrary order.
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 13dfc59..96b5b4d 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -775,7 +775,7 @@
   For Chinese, there's a great XIM server named "xcin", you can input both
   Traditional and Simplified Chinese characters.  And it can accept other
   locale if you make a correct input table.  Xcin can be found at:
-  http://xcin.linux.org.tw/
+  http://cle.linux.org.tw/xcin/
   Others are scim: http://scim.freedesktop.org/ and fcitx:
   http://www.fcitx.org/
 
@@ -963,10 +963,10 @@
     language version of Global IME at same place.
 
     - Global IME detailed information.
-	http://www.microsoft.com/windows/ie/features/ime.asp
+	http://search.microsoft.com/results.aspx?q=global+ime
 
     - Active Input Method Manager (Global IME)
-	http://msdn.microsoft.com/workshop/misc/AIMM/aimm.asp
+	http://msdn.microsoft.com/en-us/library/aa741221(v=VS.85).aspx
 
     Support for Global IME is an experimental feature.
 
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 1026815..6bf8580 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -585,6 +585,7 @@
 Messages like this appear when starting up.  This is not a Vim problem, your
 X11 configuration is wrong.  You can find a hint on how to solve this here:
 http://groups.yahoo.com/group/solarisonintel/message/12179.
+[this URL is no longer valid]
 
 							*W10*  >
   Warning: Changing a readonly file
diff --git a/runtime/doc/os_os2.txt b/runtime/doc/os_os2.txt
index b262d6d..a6c0cf3 100644
--- a/runtime/doc/os_os2.txt
+++ b/runtime/doc/os_os2.txt
@@ -183,7 +183,8 @@
 from within a vio application.  The freeware package clipbrd.zip by Stefan
 Gruendel can be used for this purpose.  You might download the package
 including precompiled binaries and all sources from:
-	http://www.stellarcom.org/vim/index.html
+	http://www.os2site.com/sw/util/clipboard/index.html
+	http://download.uni-hd.de/ftp/pub/os2/pmtools/
 
 Installation of this package is straight forward: just put the two executables
 that come with this package into a directory within your PATH for Vim should
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 49b7dfc..73a3182 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -490,7 +490,7 @@
 
 You can find descriptions of the various fonts in the read me file at
 
-  http://examples.oreilly.com/cjkvinfo/adobe/00README
+  http://examples.oreilly.de/english_examples/cjkvinfo/adobe/00README
 
 Please read your printer documentation on how to install new fonts.
 
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 229fdd6..109276f 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -828,7 +828,8 @@
 DESKTOP					   *desktop.vim* *ft-desktop-syntax*
 
 Primary goal of this syntax file is to highlight .desktop and .directory files
-according to freedesktop.org standard: http://pdx.freedesktop.org/Standards/
+according to freedesktop.org standard:
+http://standards.freedesktop.org/desktop-entry-spec/latest/
 But actually almost none implements this standard fully.  Thus it will
 highlight all Unix ini files.  But you can force strict highlighting according
 to standard by placing this in your vimrc file: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 66cc033..7ecb985 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7867,6 +7867,7 @@
 undo-two-ways	undo.txt	/*undo-two-ways*
 undo.txt	undo.txt	/*undo.txt*
 undo_ftplugin	usr_41.txt	/*undo_ftplugin*
+undofile()	eval.txt	/*undofile()*
 unicode	mbyte.txt	/*unicode*
 unix	os_unix.txt	/*unix*
 unlisted-buffer	windows.txt	/*unlisted-buffer*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f79148f..169d0fb 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -30,10 +30,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Fixes for broken URLs:
-    Benjamin Haskell, 2010 May 25
-    Christian Brabandt, 2010 May 26, two messages
-
 Cursor positioning wrong with 0x200e character. (John Becket, 2010 May 6)
 
 E315 when trying to change a file in FileChangedRO autocommand event.
@@ -1094,7 +1090,6 @@
    Ron's version: http://dev.ronware.org/p/vim/finfo?name=gvim.nsi
 - Persistent undo bugs / fixes:
     - Need to check all values for evil manipulation.
-    - Add undofile(name): get undo file name for buffer "name".
 - patch for unused functions. (Dominique Pelle, 2010 May 29)
 - Also crypt the undo file.
 - Also crypt the swap file, each block separately.  Change mf_write() and
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index a7ae173..4dbe693 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -243,12 +243,26 @@
 You can use these in autocommands to explicitly specify the name of the
 history file.  E.g.: >
 
-	au BufReadPost * rundo %:h/UNDO/%:t
-	au BufWritePost * wundo %:h/UNDO/%:t
+	au BufReadPost * call ReadUndo()
+	au BufWritePost * call WriteUndo()
+	func ReadUndo()
+	  if filereadable(expand('%:h'). '/UNDO/' . expand('%:t'))
+	    rundo %:h/UNDO/%:t
+	  endif
+	endfunc
+	func WriteUndo()
+	  let dirname = expand('%:h') . '/UNDO'
+	  if !isdirectory(dirname)
+	    call mkdir(dirname)
+	  endif
+	  wundo %:h/UNDO/%:t
+	endfunc
 
 You should keep 'undofile' off, otherwise you end up with two undo files for
 every write.
-Note: I did not verify this always works!
+
+You can use the |undofile()| function to find out the file name that Vim would
+use.
 
 Note that while reading/writing files and 'undofile' is set most errors will
 be silent, unless 'verbose' is set.  With :wundo and :rundo you will get more
diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt
index e4cc91a..ae676de 100644
--- a/runtime/doc/workshop.txt
+++ b/runtime/doc/workshop.txt
@@ -89,10 +89,10 @@
 
 The XPM library is provide by Arnaud Le Hors of the French National Institute
 for Research in Computer Science and Control.  It can be downloaded from
-http://koala.ilog.fr/ftp/pub/xpm.  The current release, as of this writing, is
-xpm-3.4k-solaris.tgz, which is a gzip'ed tar file.  If you create the directory
-/usr/local/xpm and untar the file there you can use the uncommented lines in
-the Makefile without changing them.  If you use another xpm directory you will
-need to change the XPM_DIR in src/Makefile.
+http://cgit.freedesktop.org/xorg/lib/libXpm.  The current release, as of this
+writing, is xpm-3.4k-solaris.tgz, which is a gzip'ed tar file.  If you create
+the directory /usr/local/xpm and untar the file there you can use the
+uncommented lines in the Makefile without changing them.  If you use another
+xpm directory you will need to change the XPM_DIR in src/Makefile.
 
  vim:tw=78:ts=8:ft=help:norl:
