patch 7.4.2111
Problem:    Defaults are very conservative.
Solution:   Move settings from vimrc_example.vim to defaults.vim.  Load
            defaults.vim if no .vimrc was found.
diff --git a/src/Makefile b/src/Makefile
index 001f87a..ea28eb7 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1071,7 +1071,8 @@
 ### the runtime directory is not below it.
 #VIMRUNTIMEDIR = $(VIMRTLOC)
 
-### Name of the evim file target.
+### Name of the defaults/evim/mswin file target.
+VIM_DEFAULTS_FILE = $(DESTDIR)$(SCRIPTLOC)/defaults.vim
 EVIM_FILE	= $(DESTDIR)$(SCRIPTLOC)/evim.vim
 MSWIN_FILE	= $(DESTDIR)$(SCRIPTLOC)/mswin.vim
 
@@ -2240,11 +2241,13 @@
 	chmod $(VIMSCRIPTMOD) $(SYS_SYNMENU_FILE)
 	$(INSTALL_DATA) $(SCRIPTSOURCE)/delmenu.vim $(SYS_DELMENU_FILE)
 	chmod $(VIMSCRIPTMOD) $(SYS_DELMENU_FILE)
-# install the evim file
-	$(INSTALL_DATA) $(SCRIPTSOURCE)/mswin.vim $(MSWIN_FILE)
-	chmod $(VIMSCRIPTMOD) $(MSWIN_FILE)
+# install the defaults/evim/mswin file
+	$(INSTALL_DATA) $(SCRIPTSOURCE)/defaults.vim $(VIM_DEFAULTS_FILE)
+	chmod $(VIMSCRIPTMOD) $(VIM_DEFAULTS_FILE)
 	$(INSTALL_DATA) $(SCRIPTSOURCE)/evim.vim $(EVIM_FILE)
 	chmod $(VIMSCRIPTMOD) $(EVIM_FILE)
+	$(INSTALL_DATA) $(SCRIPTSOURCE)/mswin.vim $(MSWIN_FILE)
+	chmod $(VIMSCRIPTMOD) $(MSWIN_FILE)
 # install the rgb.txt file
 	$(INSTALL_DATA) $(SCRIPTSOURCE)/rgb.txt $(SYS_RGB_FILE)
 	chmod $(VIMSCRIPTMOD) $(SYS_RGB_FILE)
@@ -2612,7 +2615,7 @@
 	-rm -f $(DEST_HELP)/*.??x $(DEST_HELP)/tags-??
 	-rm -f $(SYS_RGB_FILE)
 	-rm -f $(SYS_MENU_FILE) $(SYS_SYNMENU_FILE) $(SYS_DELMENU_FILE)
-	-rm -f $(SYS_BUGR_FILE) $(EVIM_FILE) $(MSWIN_FILE)
+	-rm -f $(SYS_BUGR_FILE) $(VIM_DEFAULTS_FILE) $(EVIM_FILE) $(MSWIN_FILE)
 	-rm -f $(DEST_SCRIPT)/gvimrc_example.vim $(DEST_SCRIPT)/vimrc_example.vim
 	-rm -f $(SYS_FILETYPE_FILE) $(SYS_FTOFF_FILE) $(SYS_SCRIPTS_FILE)
 	-rm -f $(SYS_INDOFF_FILE) $(SYS_INDENT_FILE)
diff --git a/src/feature.h b/src/feature.h
index 9dc7dc2..1b1f345 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -906,6 +906,11 @@
 /* #define USR_VIMRC_FILE3	"$VIM/.vimrc" */
 
 /*
+ * VIM_DEFAULTS_FILE	Name of the defaults.vim script file
+ */
+/* #define VIM_DEFAULTS_FILE	"$VIMRUNTIME/defaults.vim" */
+
+/*
  * EVIM_FILE		Name of the evim.vim script file
  */
 /* #define EVIM_FILE		"$VIMRUNTIME/evim.vim" */
diff --git a/src/main.c b/src/main.c
index 926b8ab..f24bda2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2997,11 +2997,14 @@
 							   DOSO_VIMRC) == FAIL
 #endif
 		&& process_env((char_u *)"EXINIT", FALSE) == FAIL
-		&& do_source((char_u *)USR_EXRC_FILE, FALSE, DOSO_NONE) == FAIL)
-	    {
+		&& do_source((char_u *)USR_EXRC_FILE, FALSE, DOSO_NONE) == FAIL
 #ifdef USR_EXRC_FILE2
-		(void)do_source((char_u *)USR_EXRC_FILE2, FALSE, DOSO_NONE);
+		&& do_source((char_u *)USR_EXRC_FILE2, FALSE, DOSO_NONE) == FAIL
 #endif
+		)
+	    {
+		/* When no .vimrc file was found: source defaults.vim. */
+		do_source((char_u *)VIM_DEFAULTS_FILE, FALSE, DOSO_NONE);
 	    }
 	}
 
@@ -3009,7 +3012,7 @@
 	 * Read initialization commands from ".vimrc" or ".exrc" in current
 	 * directory.  This is only done if the 'exrc' option is set.
 	 * Because of security reasons we disallow shell and write commands
-	 * now, except for unix if the file is owned by the user or 'secure'
+	 * now, except for Unix if the file is owned by the user or 'secure'
 	 * option has been reset in environment of global ".exrc" or ".vimrc".
 	 * Only do this if VIMRC_FILE is not the same as USR_VIMRC_FILE or
 	 * SYS_VIMRC_FILE.
diff --git a/src/os_amiga.h b/src/os_amiga.h
index c179b6f..6e92279 100644
--- a/src/os_amiga.h
+++ b/src/os_amiga.h
@@ -160,6 +160,9 @@
 #ifndef USR_VIMRC_FILE4
 # define USR_VIMRC_FILE4 "$VIM/.vimrc"
 #endif
+#ifndef VIM_DEFAULTS_FILE
+# define VIM_DEFAULTS_FILE "$VIMRUNTIME/defaults.vim"
+#endif
 #ifndef EVIM_FILE
 # define EVIM_FILE	"$VIMRUNTIME/evim.vim"
 #endif
diff --git a/src/os_dos.h b/src/os_dos.h
index 19748c4..9e8cd7c 100644
--- a/src/os_dos.h
+++ b/src/os_dos.h
@@ -25,6 +25,9 @@
 #ifndef USR_VIMRC_FILE3
 # define USR_VIMRC_FILE3	"$VIM\\_vimrc"
 #endif
+#ifndef VIM_DEFAULTS_FILE
+# define VIM_DEFAULTS_FILE	"$VIMRUNTIME\\defaults.vim"
+#endif
 #ifndef EVIM_FILE
 # define EVIM_FILE		"$VIMRUNTIME\\evim.vim"
 #endif
diff --git a/src/os_mac.h b/src/os_mac.h
index c13a301..28627f3 100644
--- a/src/os_mac.h
+++ b/src/os_mac.h
@@ -139,6 +139,9 @@
 #ifndef SYS_OPTWIN_FILE
 #  define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim"
 #endif
+#ifndef VIM_DEFAULTS_FILE
+#  define VIM_DEFAULTS_FILE "$VIMRUNTIME/defaults.vim"
+#endif
 #ifndef EVIM_FILE
 #  define EVIM_FILE	"$VIMRUNTIME/evim.vim"
 #endif
diff --git a/src/os_unix.h b/src/os_unix.h
index b835df6..4b3a3f1 100644
--- a/src/os_unix.h
+++ b/src/os_unix.h
@@ -303,6 +303,10 @@
 # endif
 #endif
 
+#ifndef VIM_DEFAULTS_FILE
+# define VIM_DEFAULTS_FILE "$VIMRUNTIME/defaults.vim"
+#endif
+
 #ifndef EVIM_FILE
 # define EVIM_FILE	"$VIMRUNTIME/evim.vim"
 #endif
diff --git a/src/version.c b/src/version.c
index 8bb9d9d..d5912dc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -759,6 +759,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2111,
+/**/
     2110,
 /**/
     2109,
@@ -5349,6 +5351,9 @@
     version_msg("\"\n");
 # endif
 #endif
+    version_msg(_("       defaults file: \""));
+    version_msg(VIM_DEFAULTS_FILE);
+    version_msg("\"\n");
 #ifdef FEAT_GUI
 # ifdef SYS_MENU_FILE
     version_msg(_("    system menu file: \""));