diff --git a/src/os_win32.h b/src/os_win32.h
index ac89911..f1be8c4 100644
--- a/src/os_win32.h
+++ b/src/os_win32.h
@@ -10,22 +10,22 @@
  * Win32 (Windows NT and Windows 95) machine-dependent things.
  */
 
-#include "os_dos.h"		/* common MS-DOS and Win32 stuff */
+#include "os_dos.h"		// common MS-DOS and Win32 stuff
 #ifndef __CYGWIN__
-/* cproto fails on missing include files */
+// cproto fails on missing include files
 # ifndef PROTO
-#  include <direct.h>		/* for _mkdir() */
+#  include <direct.h>		// for _mkdir()
 # endif
 #endif
 
-/* Stop the VC2005 compiler from nagging. */
+// Stop the VC2005 compiler from nagging.
 #if _MSC_VER >= 1400
 # define _CRT_SECURE_NO_DEPRECATE
 # define _CRT_NONSTDC_NO_DEPRECATE
 #endif
 
 #define BINARY_FILE_IO
-#define USE_EXE_NAME		/* use argv[0] for $VIM */
+#define USE_EXE_NAME		// use argv[0] for $VIM
 #define USE_TERM_CONSOLE
 #ifndef HAVE_STRING_H
 # define HAVE_STRING_H
@@ -39,7 +39,7 @@
 #define HAVE_STRNICMP
 #endif
 #ifndef HAVE_STRFTIME
-# define HAVE_STRFTIME		/* guessed */
+# define HAVE_STRFTIME		// guessed
 #endif
 #define HAVE_MEMSET
 #ifndef HAVE_LOCALE_H
@@ -49,9 +49,9 @@
 # define HAVE_FCNTL_H
 #endif
 #define HAVE_QSORT
-#define HAVE_ST_MODE		/* have stat.st_mode */
+#define HAVE_ST_MODE		// have stat.st_mode
 
-#define FEAT_SHORTCUT		/* resolve shortcuts */
+#define FEAT_SHORTCUT		// resolve shortcuts
 
 #if (!defined(_MSC_VER) || _MSC_VER > 1020)
 /*
@@ -61,30 +61,30 @@
 # define HAVE_ACL
 #endif
 
-#define USE_FNAME_CASE		/* adjust case of file names */
+#define USE_FNAME_CASE		// adjust case of file names
 #if !defined(FEAT_CLIPBOARD)
-# define FEAT_CLIPBOARD		/* include clipboard support */
+# define FEAT_CLIPBOARD		// include clipboard support
 #endif
 #if defined(__DATE__) && defined(__TIME__)
 # define HAVE_DATE_TIME
 #endif
-#ifndef FEAT_GUI_MSWIN		/* GUI works different */
-# define BREAKCHECK_SKIP    1	/* call mch_breakcheck() each time, it's fast */
+#ifndef FEAT_GUI_MSWIN		// GUI works different
+# define BREAKCHECK_SKIP    1	// call mch_breakcheck() each time, it's fast
 #endif
 
 #define HAVE_TOTAL_MEM
 
-#define HAVE_PUTENV		/* at least Bcc 5.2 and MSC have it */
+#define HAVE_PUTENV		// at least Bcc 5.2 and MSC have it
 
 #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
-# define NO_CONSOLE		/* don't included console-only code */
+# define NO_CONSOLE		// don't included console-only code
 #endif
 
-/* toupper() is not really broken, but it's very slow.	Probably because of
- * using Unicode characters on Windows NT */
+// toupper() is not really broken, but it's very slow.	Probably because of
+// using Unicode characters on Windows NT
 #define BROKEN_TOUPPER
 
-#define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
+#define FNAME_ILLEGAL "\"*?><|" // illegal characters in a file name
 
 #include <signal.h>
 #include <stdlib.h>
@@ -95,7 +95,7 @@
 # define STRICT
 #endif
 #ifndef COBJMACROS
-# define COBJMACROS	/* For OLE: Enable "friendlier" access to objects */
+# define COBJMACROS	// For OLE: Enable "friendlier" access to objects
 #endif
 #ifndef PROTO
 # include <windows.h>
@@ -107,24 +107,24 @@
 /*
  * Win32 has plenty of memory, use large buffers
  */
-#define CMDBUFFSIZE 1024	/* size of the command processing buffer */
+#define CMDBUFFSIZE 1024	// size of the command processing buffer
 
-/* _MAX_PATH is only 260 (stdlib.h), but we want more for the 'path' option,
- * thus use a larger number. */
+// _MAX_PATH is only 260 (stdlib.h), but we want more for the 'path' option,
+// thus use a larger number.
 #define MAXPATHL	1024
 
 #ifndef BASENAMELEN
-# define BASENAMELEN	(_MAX_PATH - 5)	/* length of base of file name */
+# define BASENAMELEN	(_MAX_PATH - 5)	// length of base of file name
 #endif
 
-#define TEMPNAMELEN	_MAX_PATH	/* length of temp file name path */
+#define TEMPNAMELEN	_MAX_PATH	// length of temp file name path
 
 #ifndef DFLT_MAXMEM
-# define DFLT_MAXMEM	(2*1024)    /* use up to 2 Mbyte for a buffer */
+# define DFLT_MAXMEM	(2*1024)    // use up to 2 Mbyte for a buffer
 #endif
 
 #ifndef DFLT_MAXMEMTOT
-# define DFLT_MAXMEMTOT	(5*1024)    /* use up to 5 Mbyte for Vim */
+# define DFLT_MAXMEMTOT	(5*1024)    // use up to 5 Mbyte for Vim
 #endif
 
 /*
@@ -141,10 +141,10 @@
 #endif
 
 #if defined(_MSC_VER)
-    /* Support for __try / __except.  All versions of MSVC are
-     * expected to have this.  Any other compilers that support it? */
+    // Support for __try / __except.  All versions of MSVC are
+    // expected to have this.  Any other compilers that support it?
 # define HAVE_TRY_EXCEPT 1
-# include <malloc.h>		/* for _resetstkoflw() */
+# include <malloc.h>		// for _resetstkoflw()
 # if defined(_MSC_VER) && (_MSC_VER >= 1300)
 #  define RESETSTKOFLW _resetstkoflw
 # else
@@ -161,7 +161,7 @@
 #ifdef _DEBUG
 
 # if defined(_MSC_VER)	&&  (_MSC_VER >= 1000)
-   /* Use the new debugging tools in Visual C++ 4.x */
+   // Use the new debugging tools in Visual C++ 4.x
 #  include <crtdbg.h>
 #  define ASSERT(f) _ASSERT(f)
 # else
@@ -176,13 +176,13 @@
 # define TRACE3(sz, p1, p2, p3) Trace(_T(sz), p1, p2, p3)
 # define TRACE4(sz, p1, p2, p3, p4) Trace(_T(sz), p1, p2, p3, p4)
 
-/* In debug version, writes trace messages to debug stream */
+// In debug version, writes trace messages to debug stream
 void __cdecl
 Trace(char *pszFormat, ...);
 
-#else /* !_DEBUG */
+#else // !_DEBUG
 
-  /* These macros should all compile away to nothing */
+  // These macros should all compile away to nothing
 # define ASSERT(f)		((void)0)
 # define TRACE			1 ? (void)0 : printf
 # define TRACE0(sz)
@@ -191,7 +191,7 @@
 # define TRACE3(sz, p1, p2, p3)
 # define TRACE4(sz, p1, p2, p3, p4)
 
-#endif /* !_DEBUG */
+#endif // !_DEBUG
 
 
 #define ASSERT_POINTER(p, type) \
@@ -206,7 +206,7 @@
 #define mch_getenv(x) (char_u *)getenv((char *)(x))
 #define vim_mkdir(x, y) mch_mkdir(x)
 
-/* Enable common dialogs input unicode from IME if possible. */
+// Enable common dialogs input unicode from IME if possible.
 #define pDispatchMessage DispatchMessageW
 #define pGetMessage GetMessageW
 #define pIsDialogMessage IsDialogMessageW
