diff src/macros.h @ 13632:cec5137d5332 v8.0.1688

patch 8.0.1688: some macros are used without a semicolon commit https://github.com/vim/vim/commit/6f4700233fd925fe122b851f937929fb5e5da707 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Apr 10 18:47:20 2018 +0200 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)
author Christian Brabandt <cb@256bit.org>
date Tue, 10 Apr 2018 19:00:07 +0200
parents 6740c499de13
children 12bdbf9f7e20
line wrap: on
line diff
--- 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