diff --git a/src/gui.c b/src/gui.c
index fab312f..33f7844 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -3908,6 +3908,7 @@
  * Scrollbar stuff:
  */
 
+#if defined(FEAT_AUTOCMD) || defined(FEAT_WINDOWS) || defined(PROTO)
 /*
  * Called when something in the window layout has changed.
  */
@@ -3922,6 +3923,7 @@
     }
     need_mouse_correct = TRUE;
 }
+#endif
 
     void
 gui_update_scrollbars(force)
diff --git a/src/gui_gtk_f.c b/src/gui_gtk_f.c
index ccf54ec..2caded8 100644
--- a/src/gui_gtk_f.c
+++ b/src/gui_gtk_f.c
@@ -172,12 +172,13 @@
     }
 }
 
+#if !defined(HAVE_GTK2) || defined(PROTO)
     void
 gtk_form_set_size(GtkForm *form, guint width, guint height)
 {
     g_return_if_fail(GTK_IS_FORM(form));
 
-    /* prevent unneccessary calls */
+    /* prevent useless calls */
     if (form->width == width && form->height == height)
 	return;
     form->width = width;
@@ -190,6 +191,7 @@
     gtk_container_queue_resize(GTK_CONTAINER(GTK_WIDGET(form)->parent));
 #endif
 }
+#endif
 
     void
 gtk_form_freeze(GtkForm *form)
diff --git a/src/screen.c b/src/screen.c
index 38d577e..df5489f 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -297,6 +297,8 @@
 #endif
 }
 
+#if defined(FEAT_RUBY) || defined(FEAT_VISUAL) || \
+    (defined(FEAT_CLIPBOARD) && defined(FEAT_X11)) || defined(PROTO)
 /*
  * update all windows that are editing the current buffer
  */
@@ -307,6 +309,7 @@
     redraw_curbuf_later(type);
     update_screen(type);
 }
+#endif
 
 /*
  * update_screen()
diff --git a/src/term.c b/src/term.c
index f607575..2e0376c 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2609,6 +2609,8 @@
 	out_flush();
 }
 
+#if defined(FEAT_TITLE) || defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI) \
+    || defined(FEAT_TERMRESPONSE) || defined(PROTO)
 /*
  * A never-padding out_str.
  * use this whenever you don't want to run the string through tputs.
@@ -2631,6 +2633,7 @@
     if (p_wd)
 	out_flush();
 }
+#endif
 
 /*
  * out_str(s): Put a character string a byte at a time into the output buffer.
@@ -4361,7 +4364,7 @@
 		 *  ###   Y cursor position padded to 3 digits
 		 * (s-x)  SHIFT key pressed - not pressed x not reporting
 		 * (c-x)  CTRL key pressed - not pressed x not reporting
-		 * \033\\ terminateing sequence
+		 * \033\\ terminating sequence
 		 */
 
 		p = tp + slen;
@@ -4607,7 +4610,7 @@
 # ifdef FEAT_MOUSE_PTERM
 	    if (key_name[0] == (int)KS_PTERM_MOUSE)
 	    {
-		int button, num_clicks, action, mc, mr;
+		int button, num_clicks, action;
 
 		p = tp + slen;
 
