updated for version 7.4.592
Problem:    When doing ":e foobar" when already editing "foobar" and 'buftype'
            is "nofile" the buffer is cleared. (Xavier de Gaye)
Solution:   Do no clear the buffer.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 8195eb7..e18a752 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3529,6 +3529,13 @@
 #endif
 		check_fname() == FAIL)
 	    goto theend;
+
+	/* ":e foobar" when already editing "foobar" will reload the file.
+	 * But when 'buftype' is "nofile" there is no file to load, so don't
+	 * do anything. */
+	if (curbuf->b_p_bt[0] == 'n' && curbuf->b_p_bt[2] == 'f')
+	    goto theend;
+
 	oldbuf = (flags & ECMD_OLDBUF);
     }