patch 9.0.0700: there is no real need for a "big" build

Problem:    There is no real need for a "big" build.
Solution:   Move common features to "normal" build, less often used features
            to the "huge" build. (Martin Tournoij, closes #11283)
diff --git a/src/INSTALL b/src/INSTALL
index 0515341..efa03da 100644
--- a/src/INSTALL
+++ b/src/INSTALL
@@ -178,14 +178,6 @@
 work very well and there was no maintainer it was dropped.
 
 
-Unix: COMPILING WITH MULTI-BYTE
-
-When you want to compile with the multi-byte features enabled, make sure you
-compile on a machine where the locale settings actually work, otherwise the
-configure tests may fail.  You need to compile with "big" features:
-
-    ./configure --with-features=big
-
 Unix: COMPILING ON LINUX
 
 On Linux, when using -g to compile (which is default for gcc), the executable
diff --git a/src/INSTALLvms.txt b/src/INSTALLvms.txt
index de1446b..c235151 100644
--- a/src/INSTALLvms.txt
+++ b/src/INSTALLvms.txt
@@ -79,11 +79,10 @@
 	Description	: Build model selection
 	Options:	: TINY	  - No optional features enabled
 			  NORMAL  - A default selection of features enabled
-			  BIG	  - Many features enabled, as rich as possible.
-			  (OpenVMS default)
+				    (OpenVMS default)
 			  HUGE	  - All possible features enabled.
-			  Uncommented - will default to BIG
-	Default		: MODEL = BIG
+			  Uncommented - will default to NORMAL
+	Default		: MODEL = NORMAL
 
 	Parameter name	: GUI
 	Description	: GUI or terminal mode executable
diff --git a/src/Make_ami.mak b/src/Make_ami.mak
index a889ebd..1d74b3e 100644
--- a/src/Make_ami.mak
+++ b/src/Make_ami.mak
@@ -29,14 +29,6 @@
 	-DFEAT_HUGE
 else
 
-# Vim 'big' build
-ifeq ($(BUILD),big)
-CFLAGS += \
-	-DFEAT_BROWSE \
-	-DFEAT_MOUSE \
-	-DFEAT_BIG
-else
-
 # Vim 'normal' build
 ifeq ($(BUILD),normal)
 CFLAGS +=\
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
index dfc5403..37dc260 100644
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -28,7 +28,7 @@
 # Updated 2014 Oct 13.
 
 #>>>>> choose options:
-# FEATURES=[TINY | NORMAL | BIG | HUGE]
+# FEATURES=[TINY | NORMAL | HUGE]
 # Set to TINY to make a minimal version (no optional features).
 FEATURES=HUGE
 
@@ -113,7 +113,7 @@
 endif
 
 # Set to yes to enable sound support.
-ifneq ($(findstring $(FEATURES),BIG HUGE),)
+ifneq ($(findstring $(FEATURES),HUGE),)
 SOUND=yes
 else
 SOUND=no
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index be08c6f..028277a 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -16,7 +16,7 @@
 #
 #	!!!!  After changing any features do "nmake clean" first  !!!!
 #
-#	Feature Set: FEATURES=[TINY, NORMAL, BIG, HUGE] (default is HUGE)
+#	Feature Set: FEATURES=[TINY, NORMAL, HUGE] (default is HUGE)
 #
 #   	Name to add to the version: MODIFIED_BY=[name of modifier]
 #
@@ -354,7 +354,7 @@
 !endif
 
 !ifndef SOUND
-! if "$(FEATURES)"=="HUGE" || "$(FEATURES)"=="BIG"
+! if "$(FEATURES)"=="HUGE"
 SOUND = yes
 ! else
 SOUND = no
@@ -1124,7 +1124,7 @@
 !endif # POSTSCRIPT
 
 #
-# FEATURES: TINY, NORMAL, BIG or HUGE
+# FEATURES: TINY, NORMAL, or HUGE
 #
 CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES)
 
diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index 4e945e5..20cf52f 100644
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -29,7 +29,6 @@
 # Build model selection
 # TINY   - No optional features enabled
 # NORMAL - A default selection of features enabled
-# BIG    - Many features enabled, as rich as possible. (default)
 # HUGE   - All possible features enabled.
 # Please select one of these alternatives above.
 MODEL = HUGE
diff --git a/src/Makefile b/src/Makefile
index 8ac6e4f..bd6c187 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -453,7 +453,6 @@
 # Uncomment this when you want to include the Tcl interface.
 # First one is for static linking, second one for dynamic loading.
 # Debian package is "tcl-dev".
-# This requires at least "normal" features, "tiny" doesn't work.
 #CONF_OPT_TCL = --enable-tclinterp
 #CONF_OPT_TCL = --enable-tclinterp=dynamic
 #CONF_OPT_TCL = --enable-tclinterp --with-tclsh=tclsh8.4
@@ -482,7 +481,7 @@
 # MULTIBYTE - To edit multi-byte characters.
 # This is now always enabled.
 
-# When building with at least "big" features, right-left and Arabic
+# When building with "huge" features, right-left and Arabic
 # features are enabled.  Use this to disable them.
 #CONF_OPT_MULTIBYTE = --disable-rightleft --disable-arabic
 
@@ -518,7 +517,7 @@
 # though you have /dev/sysmouse and includes.
 #CONF_OPT_SYSMOUSE = --disable-sysmouse
 
-# libcanberra - For sound support.  Default is on for big features.
+# libcanberra - For sound support.  Default is on for huge features.
 # Uncomment one of the two to chose otherwise.
 # CONF_OPT_CANBERRA = --enable-canberra
 # CONF_OPT_CANBERRA = --disable-canberra
@@ -532,7 +531,6 @@
 # The default is "huge" for most systems.
 #CONF_OPT_FEAT = --with-features=tiny
 #CONF_OPT_FEAT = --with-features=normal
-#CONF_OPT_FEAT = --with-features=big
 #CONF_OPT_FEAT = --with-features=huge
 
 # COMPILED BY - For including a specific e-mail address for ":version".
diff --git a/src/auto/configure b/src/auto/configure
index 9e2512d..bcb40a7 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -1523,7 +1523,7 @@
   --with-view-name=NAME   what to call the View executable
   --with-global-runtime=DIR    global runtime directory in 'runtimepath', comma-separated for multiple directories
   --with-modified-by=NAME       name of who modified a release version
-  --with-features=TYPE    tiny, normal, big or huge (default: huge)
+  --with-features=TYPE    tiny, normal or huge (default: huge)
   --with-compiledby=NAME  name to show in :version message
   --with-lua-prefix=PFX   Prefix where Lua is installed.
   --with-luajit           Link with LuaJIT instead of Lua.
@@ -5220,7 +5220,8 @@
 
 
 case "$features" in
-  small) features="tiny" ;;
+  small) features="tiny"   ;;
+  big)   features="normal" ;;
 esac
 
 dovimdiff=""
@@ -5231,9 +5232,6 @@
   normal)	$as_echo "#define FEAT_NORMAL 1" >>confdefs.h
  dovimdiff="installvimdiff";
 			dogvimdiff="installgvimdiff" ;;
-  big)		$as_echo "#define FEAT_BIG 1" >>confdefs.h
- dovimdiff="installvimdiff";
-			dogvimdiff="installgvimdiff" ;;
   huge)		$as_echo "#define FEAT_HUGE 1" >>confdefs.h
  dovimdiff="installvimdiff";
 			dogvimdiff="installgvimdiff" ;;
@@ -12883,7 +12881,7 @@
 
 
 if test "$enable_canberra" = "maybe"; then
-  if test "$features" = "big" -o "$features" = "huge"; then
+  if test "$features" = "huge"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: Defaulting to yes" >&5
 $as_echo "Defaulting to yes" >&6; }
     enable_canberra="yes"
@@ -12957,7 +12955,7 @@
 
 
 if test "$enable_libsodium" = "maybe"; then
-  if test "$features" = "big" -o "$features" = "huge"; then
+  if test "$features" = "huge"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: Defaulting to yes" >&5
 $as_echo "Defaulting to yes" >&6; }
     enable_libsodium="yes"
diff --git a/src/config.h.in b/src/config.h.in
index 89e6f23..ef0637a 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -322,9 +322,6 @@
 /* Define if you want normal features. */
 #undef FEAT_NORMAL
 
-/* Define if you want big features. */
-#undef FEAT_BIG
-
 /* Define if you want huge features. */
 #undef FEAT_HUGE
 
diff --git a/src/configure.ac b/src/configure.ac
index e203fde..e63c685 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -522,13 +522,15 @@
 dnl Check user requested features.
 
 AC_MSG_CHECKING(--with-features argument)
-AC_ARG_WITH(features, [  --with-features=TYPE    tiny, normal, big or huge (default: huge)],
+AC_ARG_WITH(features, [  --with-features=TYPE    tiny, normal or huge (default: huge)],
 	features="$withval"; AC_MSG_RESULT($features),
 	features="huge"; AC_MSG_RESULT(Defaulting to huge))
 
 dnl "small" is supported for backwards compatibility, now an alias for "tiny"
+dnl "big" is supported for backwards compatibility, now an alias for "normal"
 case "$features" in
-  small) features="tiny" ;;
+  small) features="tiny"   ;;
+  big)   features="normal" ;;
 esac
 
 dovimdiff=""
@@ -537,8 +539,6 @@
   tiny)		AC_DEFINE(FEAT_TINY) ;;
   normal)	AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff";
 			dogvimdiff="installgvimdiff" ;;
-  big)		AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff";
-			dogvimdiff="installgvimdiff" ;;
   huge)		AC_DEFINE(FEAT_HUGE) dovimdiff="installvimdiff";
 			dogvimdiff="installgvimdiff" ;;
   *)		AC_MSG_RESULT([Sorry, $features is not supported]) ;;
@@ -2266,7 +2266,7 @@
 		a problem with this, discuss on the Vim mailing list.])
 fi
 
-dnl Right-to-Left language support for Vim will be included with big features,
+dnl Right-to-Left language support for Vim will be included with huge features,
 dnl unless ENABLE_RIGHTLEFT is undefined.
 AC_MSG_CHECKING(--disable-rightleft argument)
 AC_ARG_ENABLE(rightleft,
@@ -2279,7 +2279,7 @@
 	AC_DEFINE(DISABLE_RIGHTLEFT)
 fi
 
-dnl Arabic language support for Vim will be included with big features,
+dnl Arabic language support for Vim will be included with huge features,
 dnl unless ENABLE_ARABIC is undefined.
 AC_MSG_CHECKING(--disable-arabic argument)
 AC_ARG_ENABLE(arabic,
@@ -3717,7 +3717,7 @@
 	, [enable_canberra="maybe"])
 
 if test "$enable_canberra" = "maybe"; then
-  if test "$features" = "big" -o "$features" = "huge"; then
+  if test "$features" = "huge"; then
     AC_MSG_RESULT(Defaulting to yes)
     enable_canberra="yes"
   else
@@ -3763,7 +3763,7 @@
 	, [enable_libsodium="maybe"])
 
 if test "$enable_libsodium" = "maybe"; then
-  if test "$features" = "big" -o "$features" = "huge"; then
+  if test "$features" = "huge"; then
     AC_MSG_RESULT(Defaulting to yes)
     enable_libsodium="yes"
   else
diff --git a/src/feature.h b/src/feature.h
index 4de2989..b283e63 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -33,10 +33,9 @@
  *
  * +tiny		no optional features enabled, not even +eval
  * +normal		a default selection of features enabled
- * +big			many features enabled, except "expensive" ones
  * +huge		all possible features enabled.
  *
- * When +normal is used, +tiny is also included.  +big implies +normal, etc.
+ * When +normal is used, +tiny is also included.  +huge implies +normal, etc.
  */
 
 /*
@@ -50,33 +49,35 @@
 #endif
 
 /*
+ * +big is now an alias for +normal
+ */
+#if defined(FEAT_BIG)
+# undef FEAT_BIG
+# if !defined(FEAT_NORMAL)
+#  define FEAT_NORMAL
+# endif
+#endif
+
+/*
  * Uncomment one of these to override the default.  For unix use a configure
  * argument, see Makefile.
  */
-#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) \
-	&& !defined(FEAT_BIG) && !defined(FEAT_HUGE)
+#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) && !defined(FEAT_HUGE)
 // #define FEAT_TINY
 // #define FEAT_NORMAL
-// #define FEAT_BIG
 // #define FEAT_HUGE
 #endif
 
 /*
  * For Unix, Mac and Win32 use +huge by default.  These days CPUs are fast and
  * Memory is cheap.
- * Use +big for older systems: VMS and Amiga.
  * Otherwise use +normal
  */
-#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) \
-	&& !defined(FEAT_BIG) && !defined(FEAT_HUGE)
+#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) && !defined(FEAT_HUGE)
 # if defined(UNIX) || defined(MSWIN) || defined(MACOS_X)
 #  define FEAT_HUGE
 # else
-#  if defined(VMS) || defined(AMIGA)
-#   define FEAT_BIG
-#  else
-#   define FEAT_NORMAL
-#  endif
+#  define FEAT_NORMAL
 # endif
 #endif
 
@@ -84,9 +85,6 @@
  * Each feature implies including the "smaller" ones.
  */
 #ifdef FEAT_HUGE
-# define FEAT_BIG
-#endif
-#ifdef FEAT_BIG
 # define FEAT_NORMAL
 #endif
 #ifdef FEAT_NORMAL
@@ -164,7 +162,7 @@
  *			keyboard in a special language mode, e.g. for typing
  *			greek.
  */
-#ifdef FEAT_BIG
+#ifdef FEAT_HUGE
 # define FEAT_LANGMAP
 #endif
 
@@ -172,7 +170,7 @@
  * +keymap		'keymap' option.  Allows you to map typed keys in
  *			Insert mode for a special language.
  */
-#ifdef FEAT_BIG
+#ifdef FEAT_HUGE
 # define FEAT_KEYMAP
 #endif
 
@@ -219,7 +217,7 @@
 /*
  * +rightleft		Right-to-left editing/typing support.
  */
-#if defined(FEAT_BIG) && !defined(DISABLE_RIGHTLEFT)
+#if defined(FEAT_HUGE) && !defined(DISABLE_RIGHTLEFT)
 # define FEAT_RIGHTLEFT
 #endif
 
@@ -227,7 +225,7 @@
  * +arabic		Arabic keymap and shaping support.
  *			Requires FEAT_RIGHTLEFT
  */
-#if defined(FEAT_BIG) && !defined(DISABLE_ARABIC)
+#if defined(FEAT_HUGE) && !defined(DISABLE_ARABIC)
 # define FEAT_ARABIC
 #endif
 #ifdef FEAT_ARABIC
@@ -252,14 +250,14 @@
  * +emacs_tags		When FEAT_EMACS_TAGS defined: Include support for
  *			emacs style TAGS file.
  */
-#ifdef FEAT_BIG
+#ifdef FEAT_HUGE
 # define FEAT_EMACS_TAGS
 #endif
 
 /*
  * +cscope		Unix only: Cscope support.
  */
-#if defined(UNIX) && defined(FEAT_BIG) && !defined(FEAT_CSCOPE) && !defined(MACOS_X)
+#if defined(UNIX) && defined(FEAT_HUGE) && !defined(FEAT_CSCOPE) && !defined(MACOS_X)
 # define FEAT_CSCOPE
 #endif
 
@@ -374,7 +372,7 @@
  * +conceal		'conceal' option.  Depends on syntax highlighting
  *			as this is how the concealed text is defined.
  */
-#if defined(FEAT_BIG) && defined(FEAT_SYN_HL)
+#if defined(FEAT_NORMAL) && defined(FEAT_SYN_HL)
 # define FEAT_CONCEAL
 #endif
 
@@ -395,7 +393,7 @@
 /*
  * libsodium - add cryptography support
  */
-#if defined(HAVE_SODIUM) && defined(FEAT_BIG)
+#if defined(HAVE_SODIUM) && defined(FEAT_HUGE)
 # define FEAT_SODIUM
 #endif
 
@@ -428,7 +426,7 @@
 // #define FEAT_MBYTE_IME
 #endif
 
-#if defined(FEAT_BIG) && defined(FEAT_GUI_HAIKU) && !defined(FEAT_MBYTE_IME)
+#if defined(FEAT_HUGE) && defined(FEAT_GUI_HAIKU) && !defined(FEAT_MBYTE_IME)
 # define FEAT_MBYTE_IME
 #endif
 
@@ -606,14 +604,14 @@
 /*
  * +termguicolors	'termguicolors' option.
  */
-#if (defined(FEAT_BIG) && defined(FEAT_SYN_HL)) && !defined(ALWAYS_USE_GUI)
+#if (defined(FEAT_NORMAL) && defined(FEAT_SYN_HL)) && !defined(ALWAYS_USE_GUI)
 # define FEAT_TERMGUICOLORS
 #endif
 
 /*
  * +vartabs		'vartabstop' and 'varsofttabstop' options.
  */
-#ifdef FEAT_BIG
+#ifdef FEAT_HUGE
 # define FEAT_VARTABS
 #endif
 
@@ -854,13 +852,9 @@
 // Amiga console has no mouse support
 #if defined(UNIX) || defined(VMS)
 # define FEAT_MOUSE_XTERM
-# ifdef FEAT_BIG
+# ifdef FEAT_NORMAL
 #  define FEAT_MOUSE_NET
-# endif
-# ifdef FEAT_BIG
 #  define FEAT_MOUSE_DEC
-# endif
-# ifdef FEAT_BIG
 #  define FEAT_MOUSE_URXVT
 # endif
 #endif
@@ -1091,7 +1085,7 @@
  * +signs		Allow signs to be displayed to the left of text lines.
  *			Adds the ":sign" command.
  */
-#if defined(FEAT_BIG) || defined(FEAT_NETBEANS_INTG) || defined(FEAT_PROP_POPUP)
+#if defined(FEAT_NORMAL) || defined(FEAT_NETBEANS_INTG) || defined(FEAT_PROP_POPUP)
 # define FEAT_SIGNS
 # if (defined(FEAT_GUI_MOTIF) && defined(HAVE_X11_XPM_H)) \
 	|| defined(FEAT_GUI_GTK) \
@@ -1149,7 +1143,7 @@
 /*
  * +autochdir		'autochdir' option.
  */
-#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_BIG)
+#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_NORMAL)
 # define FEAT_AUTOCHDIR
 #endif
 
diff --git a/src/testdir/test_regexp_utf8.vim b/src/testdir/test_regexp_utf8.vim
index fdee80f..b591aed 100644
--- a/src/testdir/test_regexp_utf8.vim
+++ b/src/testdir/test_regexp_utf8.vim
@@ -228,8 +228,7 @@
   "  When there is no match use only the first two items.
   let tl = []
 
-  " Multi-byte character tests. These will fail unless vim is compiled
-  " with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
+  " Multi-byte character tests.
   call add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
   call add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])								" equivalence classes
   call add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oijasoifjos'])
diff --git a/src/version.c b/src/version.c
index c162a20..453df91 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    700,
+/**/
     699,
 /**/
     698,
@@ -2419,8 +2421,6 @@
 
 #if defined(FEAT_HUGE)
     msg_puts(_("\nHuge version "));
-#elif defined(FEAT_BIG)
-    msg_puts(_("\nBig version "));
 #elif defined(FEAT_NORMAL)
     msg_puts(_("\nNormal version "));
 #else