Avoid compiler warnings.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index a69f8ea..e2580b4 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1107,8 +1107,7 @@
   Show "file saved" marker in :undolist
   Function to get undo tree: undotree().  List of lists.  Each entry is a
   dictionary: {'nr': 2, 'time': 1234, 'saved': 1}
-- Create a helphelp.txt file, move instructions there to write help files from
-  various.txt and list by Tony.
+- Remove support for GTK 1?
 Patches to include:
 - Patch for Lisp support with ECL (Mikael Jansson, 2008 Oct 25)
 - Minor patches from Dominique Pelle, 2010 May 15
diff --git a/src/gui_at_fs.c b/src/gui_at_fs.c
index 0206284..25767c2 100644
--- a/src/gui_at_fs.c
+++ b/src/gui_at_fs.c
@@ -1641,7 +1641,8 @@
 
     if (SFbuttonPressed)
 	SFscrollTimerId = XtAppAddTimeOut(SFapp,
-		       SFscrollTimerInterval(), SFscrollTimer, (XtPointer) n);
+		       SFscrollTimerInterval(), SFscrollTimer,
+		       (XtPointer)(long_u)n);
 }
 
     static int
@@ -1684,7 +1685,7 @@
 		SFscrollTimerAdded = 1;
 		SFscrollTimerId = XtAppAddTimeOut(SFapp,
 			SFscrollTimerInterval(), SFscrollTimer,
-			(XtPointer) n);
+			(XtPointer)(long_u)n);
 	    }
 	}
 	return -1;
@@ -2587,7 +2588,8 @@
 		    NULL);
 
 	XtAddCallback(selFileVScrolls[n], XtNjumpProc,
-		(XtCallbackProc)SFvFloatSliderMovedCallback, (XtPointer)n);
+		(XtCallbackProc)SFvFloatSliderMovedCallback,
+		(XtPointer)(long_u)n);
 	XtAddCallback(selFileVScrolls[n], XtNscrollProc,
 		(XtCallbackProc)SFvAreaSelectedCallback, (XtPointer)n);
 
@@ -2611,7 +2613,8 @@
 		    NULL);
 
 	XtAddCallback(selFileHScrolls[n], XtNjumpProc,
-		(XtCallbackProc)SFhSliderMovedCallback, (XtPointer)n);
+		(XtCallbackProc)SFhSliderMovedCallback,
+		(XtPointer)(long_u)n);
 	XtAddCallback(selFileHScrolls[n], XtNscrollProc,
 		(XtCallbackProc)SFhAreaSelectedCallback, (XtPointer)n);
     }
@@ -2663,17 +2666,17 @@
     for (n = 0; n < 3; n++)
     {
 	XtAddEventHandler(selFileLists[n], ExposureMask, True,
-		(XtEventHandler)SFexposeList, (XtPointer)n);
+		(XtEventHandler)SFexposeList, (XtPointer)(long_u)n);
 	XtAddEventHandler(selFileLists[n], EnterWindowMask, False,
-		(XtEventHandler)SFenterList, (XtPointer)n);
+		(XtEventHandler)SFenterList, (XtPointer)(long_u)n);
 	XtAddEventHandler(selFileLists[n], LeaveWindowMask, False,
-		(XtEventHandler)SFleaveList, (XtPointer)n);
+		(XtEventHandler)SFleaveList, (XtPointer)(long_u)n);
 	XtAddEventHandler(selFileLists[n], PointerMotionMask, False,
-		(XtEventHandler)SFmotionList, (XtPointer)n);
+		(XtEventHandler)SFmotionList, (XtPointer)(long_u)n);
 	XtAddEventHandler(selFileLists[n], ButtonPressMask, False,
-		(XtEventHandler)SFbuttonPressList, (XtPointer)n);
+		(XtEventHandler)SFbuttonPressList, (XtPointer)(long_u)n);
 	XtAddEventHandler(selFileLists[n], ButtonReleaseMask, False,
-		(XtEventHandler)SFbuttonReleaseList, (XtPointer)n);
+		(XtEventHandler)SFbuttonReleaseList, (XtPointer)(long_u)n);
     }
 
     XtAddEventHandler(selFileField, KeyPressMask, False,
diff --git a/src/gui_at_sb.c b/src/gui_at_sb.c
index 16d8d36..6cf1e7b 100644
--- a/src/gui_at_sb.c
+++ b/src/gui_at_sb.c
@@ -820,7 +820,7 @@
     if (mode == SMODE_PAGE_UP || mode == SMODE_LINE_UP)
 	call_data = -call_data;
 
-    XtCallCallbacks((Widget)sbw, XtNscrollProc, (XtPointer)call_data);
+    XtCallCallbacks((Widget)sbw, XtNscrollProc, (XtPointer)(long_u)call_data);
 
     sbw->scrollbar.timer_id =
 	XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)sbw),
@@ -894,7 +894,7 @@
 	return;
 
     sbw->scrollbar.scroll_mode = SMODE_LINE_UP;
-    XtCallCallbacks(w, XtNscrollProc, (XtPointer)call_data);
+    XtCallCallbacks(w, XtNscrollProc, (XtPointer)(long_u)call_data);
 }
 
     static void
@@ -977,7 +977,7 @@
     }
 
     if (call_data)
-	XtCallCallbacks(w, XtNscrollProc, (XtPointer)call_data);
+	XtCallCallbacks(w, XtNscrollProc, (XtPointer)(long_u)call_data);
 
     /* establish autoscroll */
     if (delay)
diff --git a/src/gui_athena.c b/src/gui_athena.c
index f5b8f70..ffb65ae 100644
--- a/src/gui_athena.c
+++ b/src/gui_athena.c
@@ -1270,7 +1270,7 @@
 		return;
 
 	    /* If there are other "pulldown" items in this pane, then adjust
-	     * the right margin to accomodate the arrow pixmap, otherwise
+	     * the right margin to accommodate the arrow pixmap, otherwise
 	     * the right margin will be the same as the left margin.
 	     */
 	    {
@@ -2254,7 +2254,7 @@
 		    vertical ? XtNfromVert : XtNfromHoriz, prev_dialogButton,
 		    NULL);
 
-	XtAddCallback(dialogButton, XtNcallback, butproc, (XtPointer)butcount);
+	XtAddCallback(dialogButton, XtNcallback, butproc, (XtPointer)(long_u)butcount);
 	p = next;
 	prev_dialogButton = dialogButton;
     }
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 5c0c8ea..1a83de4 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -696,7 +696,9 @@
     char	*script;
     STRLEN	length;
     SV		*sv;
+#ifdef HAVE_SANDBOX
     SV		*safe;
+#endif
 
     script = (char *)script_get(eap, eap->arg);
     if (eap->skip)
diff --git a/src/screen.c b/src/screen.c
index 3205d3d..1753330 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -297,7 +297,7 @@
 #endif
 }
 
-#if defined(FEAT_RUBY) || defined(FEAT_VISUAL) || \
+#if defined(FEAT_RUBY) || defined(FEAT_PERL) || defined(FEAT_VISUAL) || \
     (defined(FEAT_CLIPBOARD) && defined(FEAT_X11)) || defined(PROTO)
 /*
  * update all windows that are editing the current buffer