diff --git a/src/gui.c b/src/gui.c
index 74d681e..9b19cef 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -490,7 +490,7 @@
     static int	recursive = 0;
 
     /*
-     * It's possible to use ":gui" in a .gvimrc file.  The first halve of this
+     * It's possible to use ":gui" in a .gvimrc file.  The first half of this
      * function will then be executed at the first call, the rest by the
      * recursive call.  This allow the shell to be opened halfway reading a
      * gvimrc file.
@@ -1371,10 +1371,10 @@
 #ifdef FEAT_RIGHTLEFT
 		if (CURSOR_BAR_RIGHT)
 		{
-		    // gui.col points to the left halve of the character but
-		    // the vertical line needs to be on the right halve.
+		    // gui.col points to the left half of the character but
+		    // the vertical line needs to be on the right half.
 		    // A double-wide horizontal line is also drawn from the
-		    // right halve in gui_mch_draw_part_cursor().
+		    // right half in gui_mch_draw_part_cursor().
 		    col_off = TRUE;
 		    ++gui.col;
 		}
@@ -2188,7 +2188,7 @@
 {
     char_u	buf[MB_MAXBYTES + 1];
 
-    // Don't draw right halve of a double-width UTF-8 char. "cannot happen"
+    // Don't draw right half of a double-width UTF-8 char. "cannot happen"
     if (enc_utf8 && ScreenLines[off] == 0)
 	return OK;
 
@@ -3074,7 +3074,7 @@
 gui_inchar(
     char_u  *buf,
     int	    maxlen,
-    long    wtime,		// milli seconds
+    long    wtime,		// milliseconds
     int	    tb_change_cnt)
 {
     return gui_wait_for_chars_buf(buf, maxlen, wtime, tb_change_cnt);
@@ -3277,7 +3277,7 @@
      * selection.  But if Visual is active, assume that only the Visual area
      * will be selected.
      * Exception: On the command line, both the selection is used and a mouse
-     * key is send.
+     * key is sent.
      */
     if (!mouse_has(checkfor) || checkfor == MOUSE_COMMAND)
     {
@@ -5376,7 +5376,7 @@
 
     // When the screen is being updated we should not change buffers and
     // windows structures, it may cause freed memory to be used.  Also don't
-    // do this recursively (pressing "Find" quickly several times.
+    // do this recursively (pressing "Find" quickly several times).
     if (updating_screen || busy)
 	return FALSE;
 
