patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs
Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always
enabled and only adds 7% to the binary size of the tiny build.
Solution: Graduate FEAT_WINDOWS.
diff --git a/src/feature.h b/src/feature.h
index b7f3664..37e4d31 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -94,13 +94,11 @@
*/
/*
+ * These features used to be optional but are now always enabled.
* +windows Multiple windows. Without this there is no help
* window and no status lines.
* +vertsplit Vertically split windows.
*/
-#ifdef FEAT_SMALL
-# define FEAT_WINDOWS
-#endif
/*
* +listcmds Vim commands for the buffer list and the argument
@@ -134,8 +132,8 @@
# define FEAT_JUMPLIST
#endif
-/* the cmdline-window requires FEAT_WINDOWS and FEAT_CMDHIST */
-#if defined(FEAT_WINDOWS) && defined(FEAT_CMDHIST)
+/* the cmdline-window requires FEAT_CMDHIST */
+#if defined(FEAT_CMDHIST)
# define FEAT_CMDWIN
#endif
@@ -452,7 +450,7 @@
* +diff Displaying diffs in a nice way.
* Requires +windows and +autocmd.
*/
-#if defined(FEAT_NORMAL) && defined(FEAT_WINDOWS) && defined(FEAT_AUTOCMD)
+#if defined(FEAT_NORMAL) && defined(FEAT_AUTOCMD)
# define FEAT_DIFF
#endif
@@ -490,7 +488,7 @@
/*
* +wildmenu 'wildmenu' option
*/
-#if defined(FEAT_NORMAL) && defined(FEAT_WINDOWS)
+#if defined(FEAT_NORMAL)
# define FEAT_WILDMENU
#endif
@@ -595,7 +593,7 @@
* +mksession ":mksession" command.
* Requires +windows and +vertsplit.
*/
-#if defined(FEAT_NORMAL) && defined(FEAT_WINDOWS)
+#if defined(FEAT_NORMAL)
# define FEAT_SESSION
#endif
@@ -706,14 +704,14 @@
/*
* +scrollbind synchronization of split windows
*/
-#if defined(FEAT_NORMAL) && defined(FEAT_WINDOWS)
+#if defined(FEAT_NORMAL)
# define FEAT_SCROLLBIND
#endif
/*
* +cursorbind synchronization of split windows
*/
-#if defined(FEAT_NORMAL) && defined(FEAT_WINDOWS)
+#if defined(FEAT_NORMAL)
# define FEAT_CURSORBIND
#endif
@@ -754,7 +752,7 @@
/*
* GUI tabline
*/
-#if defined(FEAT_WINDOWS) && defined(FEAT_NORMAL) \
+#if defined(FEAT_NORMAL) \
&& (defined(FEAT_GUI_GTK) \
|| (defined(FEAT_GUI_MOTIF) && defined(HAVE_XM_NOTEBOOK_H)) \
|| defined(FEAT_GUI_MAC) \