updated for version 7.1b
diff --git a/src/GvimExt/GvimExt.reg b/src/GvimExt/GvimExt.reg
index ed0f5af..7409fa0 100644
--- a/src/GvimExt/GvimExt.reg
+++ b/src/GvimExt/GvimExt.reg
@@ -15,6 +15,6 @@
 [HKEY_LOCAL_MACHINE\Software\Vim\Gvim]
    "path"="gvim.exe"
 
-[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.1a]
-   "DisplayName"="Vim 7.1a: Edit with Vim popup menu entry"
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.1b]
+   "DisplayName"="Vim 7.1b: Edit with Vim popup menu entry"
    "UninstallString"="uninstal.exe"
diff --git a/src/Make_ming.mak b/src/Make_ming.mak
index e09ba8c..0f2022c 100644
--- a/src/Make_ming.mak
+++ b/src/Make_ming.mak
@@ -24,7 +24,7 @@
 #>>>>> choose options:
 # set to yes for a debug build
 DEBUG=no
-# set to SIZE for size, SPEED for speed, MAXSPEED for maximium optimization
+# set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization
 OPTIMIZE=MAXSPEED
 # set to yes to make gvim, no for vim
 GUI=yes
diff --git a/src/fileio.c b/src/fileio.c
index 39ce7a7..c44a08d 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1271,7 +1271,7 @@
 		    else if (conv_restlen > 0)
 		    {
 			/* Reached end-of-file but some trailing bytes could
-			 * not be converted.  Trucated file? */
+			 * not be converted.  Truncated file? */
 			if (conv_error == 0)
 			    conv_error = linecnt;
 			if (bad_char_behavior != BAD_DROP)
@@ -2192,16 +2192,22 @@
 	if (filesize == 0)
 	    linecnt = 0;
 	if (newfile || read_buffer)
+	{
 	    redraw_curbuf_later(NOT_VALID);
+#ifdef FEAT_DIFF
+	    /* After reading the text into the buffer the diff info needs to
+	     * be updated. */
+	    diff_invalidate(curbuf);
+#endif
+#ifdef FEAT_FOLDING
+	    /* All folds in the window are invalid now.  Mark them for update
+	     * before triggering autocommands. */
+	    foldUpdateAll(curwin);
+#endif
+	}
 	else if (linecnt)		/* appended at least one line */
 	    appended_lines_mark(from, linecnt);
 
-#ifdef FEAT_DIFF
-	/* After reading the text into the buffer the diff info needs to be
-	 * updated. */
-	if (newfile || read_buffer)
-	    diff_invalidate(curbuf);
-#endif
 #ifndef ALWAYS_USE_GUI
 	/*
 	 * If we were reading from the same terminal as where messages go,
@@ -4026,8 +4032,8 @@
     /* TODO: Is it need for MACOS_X? (Dany) */
     /*
      * On macintosh copy the original files attributes (i.e. the backup)
-     * This is done in order to preserve the ressource fork and the
-     * Finder attribute (label, comments, custom icons, file creatore)
+     * This is done in order to preserve the resource fork and the
+     * Finder attribute (label, comments, custom icons, file creator)
      */
     if (backup != NULL && overwriting && !append)
     {
@@ -4041,7 +4047,7 @@
     {
 	if (buf->b_ffname != NULL)
 	    (void)mch_copy_file_attribute(buf->b_ffname, wfname);
-	/* Should copy ressource fork */
+	/* Should copy resource fork */
     }
 #endif
 
@@ -5795,7 +5801,7 @@
 #endif
 	/*
 	 * If the extension doesn't start with '.', and there already is an
-	 * extension, it may need to be tructated
+	 * extension, it may need to be truncated
 	 */
 	else if ((int)STRLEN(e) + extlen > 4)
 	    s = e + 4 - extlen;
@@ -5989,7 +5995,7 @@
     /*
      * With MSDOS-compatible filesystems (crossdos, messydos) it is possible
      * that the name of the "to" file is the same as the "from" file, even
-     * though the names are different. To avoid the chance of accidently
+     * though the names are different. To avoid the chance of accidentally
      * deleting the "from" file (horror!) we lock it during the remove.
      *
      * When used for making a backup before writing the file: This should not
@@ -6058,7 +6064,7 @@
 	errmsg = _("E210: Error reading \"%s\"");
 	to = from;
     }
-#ifndef UNIX	    /* for Unix mch_open() already set ther permission */
+#ifndef UNIX	    /* for Unix mch_open() already set the permission */
     mch_setperm(to, perm);
 #endif
 #ifdef HAVE_ACL
@@ -8402,7 +8408,7 @@
 
 #ifdef FEAT_EVAL
     /*
-     * Quickly return when immdediately aborting on error, or when an interrupt
+     * Quickly return when immediately aborting on error, or when an interrupt
      * occurred or an exception was thrown but not caught.
      */
     if (aborting())
diff --git a/src/gui_riscos.c b/src/gui_riscos.c
index 46e79c0..6adc8b7 100644
--- a/src/gui_riscos.c
+++ b/src/gui_riscos.c
@@ -2873,7 +2873,7 @@
 }
 
 /* Size of buffer has changed.
- * Add one to max since gui.c substracts one more than it should!
+ * Add one to max since gui.c subtracts one more than it should!
  */
     void
 gui_mch_set_scrollbar_thumb(sb, val, size, max)
diff --git a/src/gui_w16.c b/src/gui_w16.c
index 75726c8..f7e6d59 100644
--- a/src/gui_w16.c
+++ b/src/gui_w16.c
@@ -1531,7 +1531,7 @@
 		    s_hwnd,
 		    WS_CHILD | WS_VISIBLE,
 		    CMD_TB_BASE, /*<vn>*/
-		    31,			//number of images in inital bitmap
+		    31,			//number of images in initial bitmap
 		    s_hinst,
 		    IDR_TOOLBAR1,	// id of initial bitmap
 		    NULL,
diff --git a/src/os_os2_cfg.h b/src/os_os2_cfg.h
index 62527a9..039d395 100644
--- a/src/os_os2_cfg.h
+++ b/src/os_os2_cfg.h
@@ -90,7 +90,7 @@
 /* Define as the command at the end of signal handlers ("" or "return 0;").  */
 #define SIGRETURN
 
-/* Define if touuper/tolower only work on lower/upercase characters */
+/* Define if toupper/tolower only work on lower/uppercase characters */
 #undef BROKEN_TOUPPER
 
 /* Define if tgetstr() has a second argument that is (char *) */