diff --git a/src/nbdebug.h b/src/nbdebug.h
index 16dd847..e1bb171 100644
--- a/src/nbdebug.h
+++ b/src/nbdebug.h
@@ -13,52 +13,52 @@
 
 #ifdef NBDEBUG
 
-#ifndef ASSERT
-#define ASSERT(c) \
+# ifndef ASSERT
+#  define ASSERT(c) \
     if (!(c)) { \
 	fprintf(stderr, "Assertion failed: line %d, file %s\n", \
 		__LINE__, __FILE__); \
 	fflush(stderr); \
 	abort(); \
     }
-#endif
+# endif
 
-#define nbdebug(a) nbdbg a
+# define nbdebug(a) nbdbg a
 
-#define NB_TRACE		0x00000001
-#define NB_TRACE_VERBOSE	0x00000002
-#define NB_TRACE_COLONCMD	0x00000004
-#define NB_PRINT		0x00000008
-#define NB_DEBUG_ALL		0xffffffff
+# define NB_TRACE		0x00000001
+# define NB_TRACE_VERBOSE	0x00000002
+# define NB_TRACE_COLONCMD	0x00000004
+# define NB_PRINT		0x00000008
+# define NB_DEBUG_ALL		0xffffffff
 
-#define NBDLEVEL(flags)		(nb_debug != NULL && (nb_dlevel & (flags)))
+# define NBDLEVEL(flags)	(nb_debug != NULL && (nb_dlevel & (flags)))
 
-#define NBDEBUG_TRACE	1
+# define NBDEBUG_TRACE	1
 
 typedef enum {
-		WT_ENV = 1,		/* look for env var if set */
-		WT_WAIT,		/* look for ~/.gvimwait if set */
-		WT_STOP			/* look for ~/.gvimstop if set */
+		WT_ENV = 1,		// look for env var if set
+		WT_WAIT,		// look for ~/.gvimwait if set
+		WT_STOP			// look for ~/.gvimstop if set
 } WtWait;
 
 
 void		 nbdbg(char *, ...)
-#ifdef USE_PRINTF_FORMAT_ATTRIBUTE
+# ifdef USE_PRINTF_FORMAT_ATTRIBUTE
    __attribute__((format(printf, 1, 2)))
-#endif
+# endif
 ;
 
 void nbdebug_wait(u_int wait_flags, char *wait_var, u_int wait_secs);
 void nbdebug_log_init(char *log_var, char *level_var);
 
 extern FILE	*nb_debug;
-extern u_int	 nb_dlevel;		/* nb_debug verbosity level */
+extern u_int	 nb_dlevel;		// nb_debug verbosity level
 
-# else		/* not NBDEBUG */
+#else		// not NBDEBUG
 
-#ifndef ASSERT
-# define ASSERT(c)
-#endif
+# ifndef ASSERT
+#  define ASSERT(c)
+# endif
 
 /*
  * The following 3 stubs are needed because a macro cannot be used because of
@@ -72,5 +72,5 @@
 {
 }
 
-#endif /* NBDEBUG */
-#endif /* NBDEBUG_H */
+#endif // NBDEBUG
+#endif // NBDEBUG_H
