patch 8.0.1688: some macros are used without a semicolon
Problem: Some macros are used without a semicolon, causing auto-indent to be
wrong.
Solution: Use the do-while(0) trick. (Ozaki Kiichi, closes #2729)
diff --git a/src/macros.h b/src/macros.h
index f5440b1..fcd1a82 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -230,9 +230,9 @@
#endif
#ifdef STARTUPTIME
-# define TIME_MSG(s) { if (time_fd != NULL) time_msg(s, NULL); }
+# define TIME_MSG(s) do { if (time_fd != NULL) time_msg(s, NULL); } while (0)
#else
-# define TIME_MSG(s)
+# define TIME_MSG(s) do { /**/ } while (0)
#endif
#ifdef FEAT_VREPLACE
@@ -289,9 +289,9 @@
#endif
#ifdef FEAT_AUTOCHDIR
-# define DO_AUTOCHDIR if (p_acd) do_autochdir();
+# define DO_AUTOCHDIR do { if (p_acd) do_autochdir(); } while (0)
#else
-# define DO_AUTOCHDIR
+# define DO_AUTOCHDIR do { /**/ } while (0)
#endif
#define RESET_BINDING(wp) (wp)->w_p_scb = FALSE; (wp)->w_p_crb = FALSE