diff --git a/src/gui_w32.c b/src/gui_w32.c
index b879aa3..4edce2e 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -3041,7 +3041,7 @@
     if (!is_window_onscreen(s_hwnd))
 	return SW_INVALIDATE;
 
-    // Check if there is an window (partly) on top of us.
+    // Check if there is a window (partly) on top of us.
     GetWindowRect(s_hwnd, &rcVim);
     for (hwnd = s_hwnd; (hwnd = GetWindow(hwnd, GW_HWNDPREV)) != (HWND)0; )
 	if (IsWindowVisible(hwnd))
@@ -5740,7 +5740,7 @@
     if (!pImmGetContext)
 	return NULL; // no imm32.dll
 
-    // Try Unicode; this'll always work on NT regardless of codepage.
+    // Try Unicode; this will always work on NT regardless of codepage.
     ret = pImmGetCompositionStringW(hIMC, GCS, NULL, 0);
     if (ret == 0)
 	return NULL; // empty
@@ -5757,7 +5757,7 @@
 	return (short_u *)wbuf;
     }
 
-    // ret < 0; we got an error, so try the ANSI version.  This'll work
+    // ret < 0; we got an error, so try the ANSI version.  This will work
     // on 9x/ME, but only if the codepage happens to be set to whatever
     // we're inputting.
     ret = pImmGetCompositionStringA(hIMC, GCS, NULL, 0);
@@ -7390,8 +7390,8 @@
 
     *p++ = 0;  // advance pointer over nExtraStuff WORD   - 2 more
 
-    return p;	//total = 15+ (strlen(caption)) words
-		//	   = 30 + 2(strlen(caption) bytes reqd
+    return p;	// total = 15 + strlen(caption) words
+		// bytes read = 2 * total
 }
 
 
