diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index c0030b0..5bc0035 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Dec 13
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Dec 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,13 +30,12 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-ml_get error with specific vimrc and lots of plugins. (Tomi Mickelsson)
+Using pipes to decrypt text still doesn't work, can't get the password.
+    :set shell=/bin/sh noshelltemp
+    :%!gpg --decrypt --no-tty --passphrase-fd 2
 
-Win32: preserve the hidden attribute of the viminfo file.
-
-Add ":startgreplace" to do "gR", like ":startreplace" does "R".
-
-Alt-mousekey is currently ignored.  Use it for Visual/select block?
+When inside input() and using "CTRL-R =" causing an exception the command line
+isn't abandoned. (Yukihiro Nakadaira)
 
 When 'delcombine' is set in Select mode before a character with a combining
 char the combining char is deleted when it shouldn't. (Tony Mechelynck, Nov
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index c598635..afc3497 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Dec 13
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Dec 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -367,6 +367,9 @@
 
 |at| and |it| text objects select a block of text between HTML or XML tags.
 
+<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos")
+<A-RightMouse> ('mousemodel' "extend")
+			Make a blockwise selection. |<A-LeftMouse>|
 
 Insert mode commands: ~
 
@@ -407,6 +410,7 @@
 Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
 
 |:startreplace|		Start Replace mode. (Charles Campbell)
+|:startgreplace|	Start Virtual Replace mode.
 
 |:0file|		Removes the name of the buffer. (Charles Campbell)
 
@@ -431,6 +435,7 @@
 |:cexpr|		Read error messages from a Vim expression (Yegappan
 			Lakshmanan).
 
+
 Ex command modifiers: ~
 
 |:keepalt|		Do not change the alternate file.
@@ -902,6 +907,9 @@
 then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user
 a hint that something might be wrong.
 
+Win32: Preserve the hidden attribute of the viminfo file.
+
+
 ==============================================================================
 COMPILE TIME CHANGES					*compile-changes-7*
 
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 1dcbb2b..1d8348d 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1656,6 +1656,9 @@
     int		shortname = FALSE;	/* use 8.3 file name */
     struct stat	st_old;		/* mch_stat() of existing viminfo file */
 #endif
+#ifdef WIN3264
+    long	perm = -1;
+#endif
 
     if (no_viminfo())
 	return;
@@ -1713,6 +1716,10 @@
 	    goto end;
 	}
 #endif
+#ifdef WIN3264
+	/* Get the file attributes of the existing viminfo file. */
+	perm = mch_getperm(fname);
+#endif
 
 	/*
 	 * Make tempname.
@@ -1803,15 +1810,16 @@
 	    int	fd;
 
 	    /* Use mch_open() to be able to use O_NOFOLLOW and set file
-	     * protection same as original file, but strip s-bit. */
+	     * protection:
+	     * Unix: same as original file, but strip s-bit.
+	     * Others: r&w for user only. */
 #ifdef UNIX
 	    fd = mch_open((char *)tempname,
 		    O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
 				       (int)((st_old.st_mode & 0777) | 0600));
 #else
 	    fd = mch_open((char *)tempname,
-		    O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
-				       0600);	/* r&w for user only */
+		    O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, 0600);
 #endif
 	    if (fd < 0)
 		fp_out = NULL;
@@ -1866,12 +1874,21 @@
     if (fp_in != NULL)
     {
 	fclose(fp_in);
+
 	/*
-	 * In case of an error, don't overwrite the original viminfo file.
+	 * In case of an error keep the original viminfo file.
+	 * Otherwise rename the newly written file.
 	 */
 	if (viminfo_errcnt || vim_rename(tempname, fname) == -1)
 	    mch_remove(tempname);
+
+#ifdef WIN3264
+	/* If the viminfo file was hidden then also hide the new file. */
+	if (perm > 0 && (perm & FILE_ATTRIBUTE_HIDDEN))
+	    mch_hide(fname);
+#endif
     }
+
 end:
     vim_free(fname);
     vim_free(tempname);
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 87c9e6a..4c4ab6f 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -781,6 +781,8 @@
 			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
 EX(CMD_startinsert,	"startinsert",	ex_startinsert,
 			BANG|TRLBAR|CMDWIN),
+EX(CMD_startgreplace,	"startgreplace", ex_startinsert,
+			BANG|TRLBAR|CMDWIN),
 EX(CMD_startreplace,	"startreplace",	ex_startinsert,
 			BANG|TRLBAR|CMDWIN),
 EX(CMD_stopinsert,	"stopinsert",	ex_stopinsert,
