patch 8.0.1564: too many #ifdefs
Problem: Too many #ifdefs.
Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and
increases code size of tiny Vim by only 40 Kbyte.
diff --git a/src/vim.h b/src/vim.h
index 5e9f7d6..f0d29af 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2118,6 +2118,20 @@
# define USE_MCH_ERRMSG
#endif
+/* Whether IME is supported when XIM is not used. */
+# if defined(FEAT_MBYTE_IME) && \
+ (!defined(FEAT_GUI_W32) || !(defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME)))
+# define IME_WITHOUT_XIM
+#endif
+
+#if defined(FEAT_MBYTE) && (defined(FEAT_XIM) \
+ || defined(IME_WITHOUT_XIM) \
+ || defined(FEAT_GUI_W32) \
+ || defined(MACOS_CONVERT))
+/* im_set_active() is available */
+# define HAVE_INPUT_METHOD
+#endif
+
#ifndef FEAT_MBYTE
# define after_pathsep(b, p) vim_ispathsep(*((p) - 1))
# define transchar_byte(c) transchar(c)