diff --git a/src/gui.c b/src/gui.c
index a7ae722..a6e7655 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -1969,7 +1969,7 @@
  * "flags":
  * GUI_MON_IS_CURSOR should only be used when this function is being called to
  * actually draw (an inverted) cursor.
- * GUI_MON_TRS_CURSOR is used to draw the cursor text with a transparant
+ * GUI_MON_TRS_CURSOR is used to draw the cursor text with a transparent
  * background.
  * GUI_MON_NOCLEAR is used to avoid clearing the selection when drawing over
  * it.
@@ -2179,7 +2179,7 @@
     if (hl_mask_todo & HL_UNDERCURL)
 	draw_flags |= DRAW_UNDERC;
 
-    /* Do we draw transparantly? */
+    /* Do we draw transparently? */
     if (flags & GUI_MON_TRS_CURSOR)
 	draw_flags |= DRAW_TRANSP;
 
@@ -2675,7 +2675,7 @@
     }
 
     /*
-     * While we are waiting indefenitely for a character, blink the cursor.
+     * While we are waiting indefinitely for a character, blink the cursor.
      */
     gui_mch_start_blink();
 
diff --git a/src/gui.h b/src/gui.h
index 14b8d3f..719b8b5 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -147,7 +147,7 @@
 #define GUI_MON_NOCLEAR		0x10	/* don't clear selection */
 
 /* Flags for gui_mch_draw_string() */
-#define DRAW_TRANSP		0x01	/* draw with transparant bg */
+#define DRAW_TRANSP		0x01	/* draw with transparent bg */
 #define DRAW_BOLD		0x02	/* draw bold text */
 #define DRAW_UNDERL		0x04	/* draw underline text */
 #define DRAW_UNDERC		0x08	/* draw undercurl text */
@@ -343,9 +343,9 @@
     guicolor_T	def_norm_pixel;	    /* default Color of normal text */
 
 #ifdef FEAT_GUI_X11
-    char	*rsrc_menu_fg_name;	/* Color of menu and dialog foregound */
+    char	*rsrc_menu_fg_name;	/* Color of menu & dialog foreground */
     guicolor_T	menu_fg_pixel;		/* Same in Pixel format */
-    char	*rsrc_menu_bg_name;	/* Color of menu and dialog backgound */
+    char	*rsrc_menu_bg_name;	/* Color of menu & dialog background */
     guicolor_T	menu_bg_pixel;		/* Same in Pixel format */
     char	*rsrc_scroll_fg_name;	/* Color of scrollbar foreground */
     guicolor_T	scroll_fg_pixel;	/* Same in Pixel format */
diff --git a/src/macros.h b/src/macros.h
index a8bc2b8..400f771 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -188,7 +188,7 @@
 /*
  * It is possible to force some record format with:
  * #  define mch_open(n, m, p) open(vms_fixfilename(n), (m), (p)), "rat=cr", "rfm=stmlf", "mrs=0")
- * but it is not recomended, because it can destroy indexes etc.
+ * but it is not recommended, because it can destroy indexes etc.
  */
 #  define mch_open(n, m, p)	open(vms_fixfilename(n), (m), (p))
 # else
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 27bd3d8..5375689 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -2399,7 +2399,7 @@
     // full path string must be in Unicode.
     MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
 
-    // "load" the name and resove the link
+    // "load" the name and resolve the link
     hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
     if (hr != S_OK)
 	goto shortcut_error;
diff --git a/src/os_win32.c b/src/os_win32.c
index eba043d..1bd3d4a 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -3800,7 +3800,7 @@
 
 
 /*
- * Set normal fg/bg color, based on T_ME.  Called whem t_me has been set.
+ * Set normal fg/bg color, based on T_ME.  Called when t_me has been set.
  */
     void
 mch_set_normal_colors(void)
