updated for version 7.0g05
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index b79a5ef..52dc026 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.0g.  Last change: 2006 Apr 30
+*autocmd.txt*   For Vim version 7.0g.  Last change: 2006 May 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -734,8 +734,8 @@
 				See |:syn-on|.
 							*TabEnter*
 TabEnter			Just after entering a tab page. |tab-page|
-				Before triggering the WinEnter and BufEnter
-				events.
+				After triggering the WinEnter and before
+				triggering the BufEnter event.
 							*TabLeave*
 TabLeave			Just before leaving a tab page. |tab-page|
 				A WinLeave event will have been triggered
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 9794089..8bc6a4b 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 05
+*eval.txt*      For Vim version 7.0g.  Last change: 2006 May 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2691,12 +2691,14 @@
 		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.
+		(decimal: 128).  This is the same value as the string
+		"\<Key>", e.g., "\<Left>".  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.
+		one-byte character it is the character itself as a number.
+		Use nr2char() to convert it to a String.
 
 		There is no prompt, you will somehow have to make clear to the
 		user that a character has to be typed.
@@ -4677,6 +4679,7 @@
 		like the ":substitute" command (without any flags).  But the
 		matching with {pat} is always done like the 'magic' option is
 		set and 'cpoptions' is empty (to make scripts portable).
+		'ignorecase' is still relevant.
 		See |string-match| for how {pat} is used.
 		And a "~" in {sub} is not replaced with the previous {sub}.
 		Note that some codes in {sub} have a special meaning
diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl
index 2e5d1e9..bdf0c09 100644
--- a/runtime/spell/en.latin1.spl
+++ b/runtime/spell/en.latin1.spl
Binary files differ
diff --git a/runtime/spell/en.utf-8.sug b/runtime/spell/en.utf-8.sug
index 29a3177..9009381 100644
--- a/runtime/spell/en.utf-8.sug
+++ b/runtime/spell/en.utf-8.sug
Binary files differ
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 711fe82..cf1f6fc 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -1599,6 +1599,7 @@
     int		win_width, win_height;
     int		win_xpos, win_ypos;
     WINDOWPLACEMENT wndpl;
+    int		workarea_left;
 
     /* Try to keep window completely on screen. */
     /* Get position of the screen work area.  This is the part that is not
@@ -1632,11 +1633,21 @@
 #endif
 			;
 
+    /* There is an inconsistency when using two monitors and Vim is on the
+     * second (right) one: win_xpos will be the offset from the workarea of
+     * the left monitor.  While with one monitor it's the offset from the
+     * workarea (including a possible taskbar on the left).  Detect the second
+     * monitor by checking for the left offset to be quite big. */
+    if (workarea_rect.left > 300)
+	workarea_left = 0;
+    else
+	workarea_left = workarea_rect.left;
+
     /* If the window is going off the screen, move it on to the screen.
      * win_xpos and win_ypos are relative to the workarea. */
     if ((direction & RESIZE_HOR)
-	   && workarea_rect.left + win_xpos + win_width > workarea_rect.right)
-	win_xpos = workarea_rect.right - win_width - workarea_rect.left;
+	    && workarea_left + win_xpos + win_width > workarea_rect.right)
+	win_xpos = workarea_rect.right - win_width - workarea_left;
 
     if ((direction & RESIZE_HOR) && win_xpos < 0)
 	win_xpos = 0;
diff --git a/src/version.h b/src/version.h
index 389219d..88c9d2e 100644
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT	"vim70g"
 #define VIM_VERSION_SHORT	"7.0g"
-#define VIM_VERSION_MEDIUM	"7.0g04 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0g04 BETA (2006 May 5)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0g04 BETA (2006 May 5, compiled "
+#define VIM_VERSION_MEDIUM	"7.0g05 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0g05 BETA (2006 May 6)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0g05 BETA (2006 May 6, compiled "