diff --git a/README_os390.txt b/README_os390.txt
index b03eb14..f4e6736 100644
--- a/README_os390.txt
+++ b/README_os390.txt
@@ -1,51 +1,84 @@
-README_os_390.txt for version 7.3a of Vim: Vi IMproved.
+README_zOS.txt for version 7.3 of Vim: Vi IMproved.
 
-Welcome to the OS/390 Unix port of VIM.
+This readme explains how to build Vim on z/OS.  Formerly called OS/390.
+See "README.txt" for general information about Vim.
 
-ATTENTION: THIS IS AN _ALPHA_ VERSION!!!
-I expect you to know how to handle alpha software!
+Most likley there are not many users out there using Vim on z/OS. So chances
+are good, that some bugs are still undiscovered.
 
-This port was done by Ralf Schandl <schandl@de.ibm.com>.
-This port is not maintained or supported by IBM!!
+Getting the source to z/OS:
+==========================
 
+First get the source code in one big tar file and ftp it a binary to z/OS. If
+the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
+uncompress it on your PC, as this tools are (most likely) not available on the
+mainframe.
 
-For the list of changes see runtime/doc/os_390.txt.
+To reduce the size of the tar file you might compress it into a zip file. On
+z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
+        jar xvf <zip file name>
+
+Unpack the tar file on z/OS with 
+        pax -o from=ISO8859-1,to=IBM-1047 -rf vim.tar
+
+Note: The Vim source contains a few bitmaps etc which will be destroyed by
+this command, but these files are not needed on zOS (at least not for the
+console version).
 
 
 Compiling:
-----------
+==========
 
-Note: After the file configure was created via autoconf, it had been
-      handedited, to make the test for ICEConnectionNumber work.
-      DO NOT run autoconf again!
+Vim can be compiled with or without GUI support. For 7.3 only the compilation
+without GUI was tested. Below is a section about compiling with X11 but this
+is from an earlier version of Vim.
 
-Without X11:
+Console only:
+-------------
 
 If you build VIM without X11 support, compiling and building is nearly
-straightforward. The only restriction is, that you can't call make from the
-VIM toplevel directory. Change to the src directory first and call make from
-there. Here is a what to do:
+straightforward. 
+
+Change to the vim directory and do:
 
     # Don't use c89!
-    # Make additional symbols visible.
     # Allow intermixing of compiler options and files.
 
     $ export CC=cc
-    $ export CFLAGS=-D_ALL_SOURCE
     $ export _CC_CCMODE=1
-    $./configure --enable-max-features --without-x --enable-gui=no
+    $./configure --with-features=big --without-x --enable-gui=no
     $ cd src
     $ make
+
+      There may be warnings:
+        - include files not found (libc, sys/param.h, ...)
+        - Redeclaration of ... differs from ...
+        -- just ignore them.
+
     $ make test
 
-      Note: Test 28 will be reported as failed. This is because diff can't
-	    compare files containing '\0' characters. Test 11 will fail if you
-	    don't have gzip.
+      This will produce lots of garbage on your screen (including error
+      messages). Don't worry.
+
+      If the test stops at one point in vim (might happen in test 11), just
+      press :q!
+
+      Expected test failures:
+        11: If you don't have gzip installed
+        24: test of backslash sequences in regexp are ASCII dependent
+        42: Multibyte is not supported on z/OS
+        55: ASCII<->EBCDIC sorting
+        57: ASCII<->EBCDIC sorting
+        58: Spell checking is not supported with EBCDIC
+        71: Blowfish encryption doesn't work
 
     $ make install
 
 
 With X11:
+---------
+
+WARNING: This instruction was not tested with Vim 7.3.
 
 There are two ways for building VIM with X11 support. The first way is simple
 and results in a big executable (~13 Mb), the second needs a few additional
@@ -54,8 +87,6 @@
 
   The easy way:
     $ export CC=cc
-    $ export CFLAGS="-D_ALL_SOURCE -W c,dll"
-    $ export LDFLAGS="-W l,dll"
     $ export _CC_CCMODE=1
     $ ./configure --enable-max-features --enable-gui=motif
     $ cd src
@@ -65,7 +96,7 @@
 
   The smarter way:
     Make VIM as described above. Then create a file named 'link.sed' with the
-    following content:
+    following content (see src/link.390):
 
 	s/-lXext  *//g
 	s/-lXmu  *//g
@@ -84,47 +115,3 @@
     See the Makefile and the file link.sh on how link.sed is used.
 
 
-Hint:
------
-Use the online help! (See weaknesses below.)
-
-Example:
-Enter ':help syntax' and then press <TAB> several times, you will switch
-through all help items containing 'syntax'. Press <ENTER> on the one you are
-interested at. Or press <Ctrl-D> and you will get a list of all items printed
-that contain 'syntax'.
-
-The helpfiles contains cross-references. Links are between '|'. Position the
-cursor on them and press <Ctrl-]> to follow this link. Use <Ctrl-T> to jump
-back.
-
-Known weaknesses:
------------------
-
-- You can't call make from the toplevel directory, you have to do a 'cd src'
-  first.  If you do it, make will call configure again. I don't know why and
-  didn't investigate it, there were more important things to do. If you can
-  make it work drop me a note.
-
-- The documentation was not updated for this alpha release. It contains lot of
-  ASCII dependencies, especially in examples.
-
-- Digraphs are dependent on code page 1047. Digraphs are used to enter
-  characters that normally cannot be entered by an ordinary keyboard.
-  See ":help digraphs".
-
-- Using 'ga' to show the code of the character under the cursor shows the
-  correct dec/hex/oct values, but the other informations might be missing or
-  wrong.
-
-- The sed syntax file doesn't work, it is ASCII dependent.
-
-Bugs:
------
-If you find a bug please inform me (schandl@de.ibm.com), don't disturb Bram
-Moolenaar. It's most likely a bug I introduced during porting or some ASCII
-dependency I didn't notice.
-
-Feedback:
----------
-Feedback welcome! Just drop me a note.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 4d983bf..7d5e6d6 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1286,7 +1286,7 @@
 
 					*v:char* *char-variable*
 v:char		Argument for evaluating 'formatexpr' and used for the typed
-		character when using <expr> in an abbreviation |map-<expr>|.
+		character when using <expr> in an abbreviation |:map-<expr>|.
 
 			*v:charconvert_from* *charconvert_from-variable*
 v:charconvert_from
@@ -5773,6 +5773,8 @@
 		with name {name} when writing.  This uses the 'undodir'
 		option, finding directories that exist.  It does not check if
 		the undo file exist.
+		{name} is always expanded to the full path, since that is what
+		is used internally.
 		Useful in combination with |:wundo| and |:rundo|.
 		When compiled without the +persistent_undo option this always
 		returns an empty string.
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 1787659..eea639f 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -273,6 +273,68 @@
 ==============================================================================
 3. Writing help files					*help-writing*
 
-TODO
+For ease of use, a Vim help file for a plugin should follow the format of the
+standard Vim help files.  If you are writing a new help file it's best to copy
+one of the existing files and use it as a template.
+
+The first line in a help file should have the following format:
+
+*helpfile_name.txt*	For Vim version 7.3	Last change: 2010 June 4
+
+The first field is a link to the help file name. The second field describes
+the applicable Vim version. The last field specifies the last modification
+date of the file. Each field is separated by a tab.
+
+At the bottom of the help file, place a Vim modeline to set the 'textwidth'
+and 'tabstop' options and the 'filetype' to 'help'.  Never set a global option
+in such a modeline, that can have consequences undesired by whoever reads that
+help.
+
+
+TAGS
+
+To define a help tag, place the name between asterisks (*tag-name*).  The
+tag-name should be different from all the Vim help tag names and ideally
+should begin with the name of the Vim plugin. The tag name is usually right
+aligned on a line.
+
+When referring to an existing help tag and to create a hot-link, place the
+name between two bars (|) eg. |help-writing|.
+
+When referring to a Vim option in the help file, place the option name between
+two single quotes. eg. 'statusline'
+
+
+HIGHLIGHTING
+
+To define a column heading, use a tilde character at the end of the line. This
+will highlight the column heading in a different color. E.g.
+
+Column heading~
+
+To separate sections in a help file, place a series of '=' characters in a
+line starting from the first column. The section separator line is highlighted
+differently.
+
+To quote a block of ex-commands verbatim, place a greater than (>) character
+at the end of the line before the block and a less than (<) character as the
+first non-blank on a line following the block. Any line starting in column 1
+also implicitly stops the block of ex-commands before it.  E.g. >
+    function Example_Func()
+	echo "Example"
+    endfunction
+<
+
+The following are highlighted differently in a Vim help file:
+  - a special key name expressed either in <> notation as in <PageDown>, or
+    as a Ctrl character as in CTRL-X
+  - anything between {braces}, e.g. {lhs} and {rhs}
+
+The word "Note", "Notes" and similar automagically receive distinctive
+highlighting.  So do these:
+	*Todo	something to do
+	*Error	something wrong
+
+You can find the details in $VIMRUNTIME/syntax/help.vim
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index ca384cf..599552f 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -233,7 +233,7 @@
 ==============================================================================
 5. mzeval() Vim function				    *mzscheme-mzeval*
 
-To facilitate bi-directional interface, you can use |mzeval| function to
+To facilitate bi-directional interface, you can use |mzeval()| function to
 evaluate MzScheme expressions and pass their values to VimL.
 
 ==============================================================================
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 498df7f..63efd1c 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -7265,10 +7265,11 @@
 		set ul=0
 <	But you can also get Vi compatibility by including the 'u' flag in
 	'cpoptions', and still be able to use CTRL-R to repeat undo.
+	Also see |undo-two-ways|.
 	Set to a negative number for no undo at all: >
 		set ul=-1
 <	This helps when you run out of memory for a single change.
-	Also see |undo-two-ways|.
+	Also see |clear-undo|.
 
 						*'updatecount'* *'uc'*
 'updatecount' 'uc'	number	(default: 200)
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index 5a9d368..c39f3ba 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -7,7 +7,7 @@
 This file contains the particulars for the z/OS UNIX version of Vim.
 
 1. ASCII/EBCDIC dependent scripts	|zOS-has-ebcdic|
-2. Putty and Colors                     |zOS-Putty|
+2. Putty and Colors                     |zOS-PuTTY|
 3. Motif Problems			|zOS-Motif|
 4. Bugs					|zOS-Bugs|
 5. Limitations     			|zOS-limitations|
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index b57585b..e3032df 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -589,7 +589,7 @@
 PASSWORD						*netrw-passwd*
 
 The script attempts to get passwords for ftp invisibly using |inputsecret()|,
-a built-in Vim function.  See |netrw-uidpass| for how to change the password
+a built-in Vim function.  See |NetUserPass()| for how to change the password
 after one has set it.
 
 Unfortunately there doesn't appear to be a way for netrw to feed a password to
@@ -803,7 +803,7 @@
                                               get filename tempfile >
   ---------------------------------------------------------------------
 <
-The |g:netrw_ftpmode| and |g:netrw_extracmd| are optional.
+The |g:netrw_ftpmode| and g:netrw_extracmd are optional.
 
 Netrw then executes the lines above by use of a filter:
 >
diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt
index 4928d11..8eaa838 100644
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -197,7 +197,7 @@
 	     Apr 18, 2008 * RmVimball command is now protected by saving and
 	                    restoring settings -- in particular, acd was
 			    causing problems as reported by Zhang Shuhan
-	24 : Nov 15, 2007 * |g:vimball_path_escape| used by s:Path() to
+	24 : Nov 15, 2007 * g:vimball_path_escape used by s:Path() to
 	                    prevent certain characters from causing trouble
 	22 : Mar 21, 2007 * uses setlocal instead of set during BufEnter
 	21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f2bf731..632f288 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4293,14 +4293,11 @@
 OS2	os_os2.txt	/*OS2*
 OS390	os_390.txt	/*OS390*
 OS390-Motif	os_390.txt	/*OS390-Motif*
+OS390-PuTTY	os_390.txt	/*OS390-PuTTY*
 OS390-bugs	os_390.txt	/*OS390-bugs*
-OS390-building	os_390.txt	/*OS390-building*
-OS390-changes	os_390.txt	/*OS390-changes*
-OS390-feedback	os_390.txt	/*OS390-feedback*
 OS390-has-ebcdic	os_390.txt	/*OS390-has-ebcdic*
+OS390-limitations	os_390.txt	/*OS390-limitations*
 OS390-open-source	os_390.txt	/*OS390-open-source*
-OS390-weaknesses	os_390.txt	/*OS390-weaknesses*
-OS390-xterm	os_390.txt	/*OS390-xterm*
 OffTheSpot	mbyte.txt	/*OffTheSpot*
 OnTheSpot	mbyte.txt	/*OnTheSpot*
 Operator-pending	intro.txt	/*Operator-pending*
@@ -4890,6 +4887,7 @@
 cindent()	eval.txt	/*cindent()*
 cinkeys-format	indent.txt	/*cinkeys-format*
 cinoptions-values	indent.txt	/*cinoptions-values*
+clear-undo	undo.txt	/*clear-undo*
 clearmatches()	eval.txt	/*clearmatches()*
 client-server	remote.txt	/*client-server*
 clientserver	remote.txt	/*clientserver*
@@ -5984,6 +5982,7 @@
 help-writing	helphelp.txt	/*help-writing*
 help-xterm-window	helphelp.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
+helpfile_name.txt	helphelp.txt	/*helpfile_name.txt*
 helphelp	helphelp.txt	/*helphelp*
 helphelp.txt	helphelp.txt	/*helphelp.txt*
 hex-editing	tips.txt	/*hex-editing*
@@ -8356,13 +8355,10 @@
 zOS	os_390.txt	/*zOS*
 zOS-Bugs	os_390.txt	/*zOS-Bugs*
 zOS-Motif	os_390.txt	/*zOS-Motif*
-zOS-building	os_390.txt	/*zOS-building*
-zOS-changes	os_390.txt	/*zOS-changes*
-zOS-feedback	os_390.txt	/*zOS-feedback*
+zOS-PuTTY	os_390.txt	/*zOS-PuTTY*
 zOS-has-ebcdic	os_390.txt	/*zOS-has-ebcdic*
+zOS-limitations	os_390.txt	/*zOS-limitations*
 zOS-open-source	os_390.txt	/*zOS-open-source*
-zOS-weaknesses	os_390.txt	/*zOS-weaknesses*
-zOS-xterm	os_390.txt	/*zOS-xterm*
 zR	fold.txt	/*zR*
 zW	spell.txt	/*zW*
 zX	fold.txt	/*zX*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6f82a68..27039a2 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1087,11 +1087,13 @@
    Ron's version: http://dev.ronware.org/p/vim/finfo?name=gvim.nsi
 - Also crypt the swap file, each block separately.  Change mf_write() and
     mf_read().
-    - How to get b_p_key to these functions?   Store it in mfp?
+    - How to get b_p_key to these functions?  -> Store buf_T pointer in mfp.
     - Generate a seed for the swapfile, put it in block 0.
     - For each block, use password + seed + byte offset to crypt/decrypt.
     - When changing the password need to read back with the old password and
       write again with the new one.
+    - Fill the gaps in the block with random bytes, otherwise it's easy to
+      check for correct password by finding NUL bytes.
     - Verify recovery works.
 - Update for crypt code to use salt. (Mohsin May 30)
     Make the strengthen_key value configurable and store it in the header?
@@ -1099,6 +1101,10 @@
 - undofile: keep markers where the file was written/read, so that it's easy to
   go back to a saved version of the file:  ":earlier 1f" (f for file)?
   Also add ":earlier 1d" (d for day).
+  Something like changenr() to see the "file saved" marker?
+  Show "file saved" marker in :undolist
+  Function to get undo tree: undotree().  List of lists.  Each entry is a
+  dictionary: {'nr': 2, 'time': 1234, 'saved': 1}
 - Create a helphelp.txt file, move instructions there to write help files from
   various.txt and list by Tony.
 Patches to include:
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index e8fed4f..6e2308f 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -314,6 +314,16 @@
 If it is zero, the Vi-compatible way is always used.  If it is negative no
 undo is possible.  Use this if you are running out of memory.
 
+							*clear-undo*
+When you set 'undolevels' to -1 the undo information is not immediately
+cleared, this happens at the next change.  To force clearing the undo
+information you can use these commands: >
+	:let old_undolevels = &undolevels
+	:set undolevels=-1
+	:exe "normal a \<BS>\<Esc>"
+	:let &undolevels = old_undolevels
+	:unlet old_undolevels
+
 Marks for the buffer ('a to 'z) are also saved and restored, together with the
 text.  {Vi does this a little bit different}
 
diff --git a/runtime/indent/cmake.vim b/runtime/indent/cmake.vim
index 4315ad2..8c408fb 100644
--- a/runtime/indent/cmake.vim
+++ b/runtime/indent/cmake.vim
@@ -1,19 +1,11 @@
-" =============================================================================
-" 
-"   Program:   CMake - Cross-Platform Makefile Generator
-"   Module:    $RCSfile: cmake-indent.vim,v $
-"   Language:  VIM
-"   Date:      $Date: 2006/09/23 21:09:08 $
-"   Version:   $Revision: 1.7 $
-" 
-" =============================================================================
-
 " Vim indent file
+" Program:      CMake - Cross-Platform Makefile Generator
+" Module:       $RCSfile: cmake-indent.vim,v $
 " Language:     CMake (ft=cmake)
 " Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
-" Maintainer:   Andy Cedilnik <andy.cedilnik@kitware.com>
-" Last Change:  $Date: 2006/09/23 21:09:08 $
-" Version:      $Revision: 1.7 $
+" Maintainer:   Karthik Krishnan <karthik.krishnan@kitware.com>
+" Last Change:  $Date: 2008-01-16 16:53:53 $
+" Version:      $Revision: 1.9 $
 "
 " Licence:      The CMake license applies to this file. See
 "               http://www.cmake.org/HTML/Copyright.html
@@ -25,6 +17,7 @@
 let b:did_indent = 1
 
 setlocal indentexpr=CMakeGetIndent(v:lnum)
+setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
 
 " Only define the function once.
 if exists("*CMakeGetIndent")
@@ -65,8 +58,8 @@
                     \            ')\s*' .
                     \            '\(' . cmake_regex_comment . '\)\?$'
 
-  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\)\s*('
-  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\)\s*('
+  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\|FUNCTION\)\s*('
+  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*('
 
   " Add
   if previous_line =~? cmake_indent_comment_line " Handle comments
diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim
index ab96329..d6e8cb4 100644
--- a/runtime/syntax/cmake.vim
+++ b/runtime/syntax/cmake.vim
@@ -1,19 +1,11 @@
-" =============================================================================
-"
-"   Program:   CMake - Cross-Platform Makefile Generator
-"   Module:    $RCSfile: cmake-syntax.vim,v $
-"   Language:  VIM
-"   Date:      $Date: 2006/09/23 21:09:08 $
-"   Version:   $Revision: 1.6 $
-"
-" =============================================================================
-
 " Vim syntax file
+" Program:      CMake - Cross-Platform Makefile Generator
+" Module:       $RCSfile: cmake-syntax.vim,v $
 " Language:     CMake
 " Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
-" Maintainer:   Andy Cedilnik <andy.cedilnik@kitware.com>
-" Last Change:  $Date: 2006/09/23 21:09:08 $
-" Version:      $Revision: 1.6 $
+" Maintainer:   Karthik Krishnan <karthik.krishnan@kitware.com>
+" Last Change:  $Date: 2008-08-25 14:31:28 $
+" Version:      $Revision: 1.10 $
 "
 " Licence:      The CMake license applies to this file. See
 "               http://www.cmake.org/HTML/Copyright.html
@@ -28,31 +20,33 @@
 endif
 
 syn case ignore
-syn match cmakeComment /#.*$/
-syn region cmakeRegistry start=/\[/ end=/\]/ skip=/\\[\[\]]/
-            \ contained
-syn match cmakeArgument /[^()"]+/
-            \ contained
-syn match cmakeVariableValue /\${[^}]*}/
-            \ contained oneline
-syn match cmakeEnvironment /\$ENV{.*}/
-            \ contained
+syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
+syn region cmakeComment start="#" end="$" contains=cmakeTodo
+syn region cmakeRegistry start=/\[/ end=/]/
+            \ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped
+syn region cmakeVariableValue start=/\${/ end=/}/
+            \ contained oneline contains=CONTAINED,cmakeTodo
+syn region cmakeEnvironment start=/\$ENV{/ end=/}/
+            \ contained oneline contains=CONTAINED,cmakeTodo
+syn region cmakeString start=/"/ end=/"/ 
+            \ contains=CONTAINED,cmakeTodo,cmakeOperators
+syn region cmakeArguments start=/(/ end=/)/ 
+            \ contains=ALLBUT,cmakeArguments,cmakeTodo
 syn keyword cmakeSystemVariables
-            \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80
+            \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90
 syn keyword cmakeOperators
-            \ AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE
-"            \ contained
-syn region cmakeString start=/"/ end=/"/ skip=/\\"/
-            \ contains=ALLBUT,cmakeString
-syn region cmakeArguments start=/\s*(/ end=/)/
-           \ contains=ALLBUT,cmakeArguments
+            \ ABSOLUTE AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS EXT FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE
+            \ contained
 syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES
-           \ nextgroup=cmakeArgument
-syn keyword cmakeStatement
-           \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE ENDMACRO
-           \ nextgroup=cmakeArgumnts
+           \ nextgroup=cmakeArguments
 
-"syn match cmakeMacro /^\s*[A-Z_]\+/ nextgroup=cmakeArgumnts
+" The keywords are generated as:  cmake --help-command-list | tr "\n" " "
+syn keyword cmakeStatement 
+      \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
+            \ nextgroup=cmakeArguments
+syn keyword cmakeTodo 
+            \ TODO FIXME XXX 
+            \ contained
 
 " Define the default highlighting.
 " For version 5.7 and earlier: only when not done already
@@ -75,7 +69,9 @@
   HiLink cmakeEnvironment Special
   HiLink cmakeOperators Operator
   HiLink cmakeMacro PreProc
-  HiLink cmakeError	Error
+  HiLink cmakeError Error
+  HiLink cmakeTodo TODO
+  HiLink cmakeEscaped Special
 
   delcommand HiLink
 endif
diff --git a/src/eval.c b/src/eval.c
index 6ad71d5..e777d32 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -17639,8 +17639,13 @@
 {
     rettv->v_type = VAR_STRING;
 #ifdef FEAT_PERSISTENT_UNDO
-    rettv->vval.v_string = u_get_undo_file_name(get_tv_string(&argvars[0]),
-								       FALSE);
+    {
+	char_u *ffname = FullName_save(get_tv_string(&argvars[0]), FALSE);
+
+	if (ffname != NULL)
+	    rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE);
+	vim_free(ffname);
+    }
 #else
     rettv->vval.v_string = NULL;
 #endif
diff --git a/src/memfile.c b/src/memfile.c
index bd03e65..5412a61 100644
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -234,7 +234,7 @@
 }
 
 /*
- * close a memory file and delete the associated file if 'del_file' is TRUE
+ * Close a memory file and delete the associated file if 'del_file' is TRUE.
  */
     void
 mf_close(mfp, del_file)
@@ -415,7 +415,8 @@
      * Init the data to all zero, to avoid reading uninitialized data.
      * This also avoids that the passwd file ends up in the swap file!
      */
-    (void)vim_memset((char *)(hp->bh_data), 0, (size_t)mfp->mf_page_size);
+    (void)vim_memset((char *)(hp->bh_data), 0,
+				      (size_t)mfp->mf_page_size * page_count);
 
     return hp;
 }
