updated for version 7.0044
diff --git a/src/Makefile b/src/Makefile
index 8c949b5..b2dc015 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1509,12 +1509,20 @@
 # - Temporarily move the ./configure script to ./configure.save.  Don't
 #   overwrite it, it's probably the result of an aborted autoconf.
 # - Use sed to change ./config.log to auto/config.log in the configure script.
+# Autoconf 2.5x (2.59 at least) produces a few more files that we need to take
+# care of:
+# - configure.lineno: has the line numbers replaced with $LINENO.  That
+#   improves patches a LOT, thus use it instead (until someone says it doesn't
+#   work on some system).
+# - autom4te.cache directory is created and not cleaned up.  Delete it.
+# - Uses ">config.log" instead of "./config.log".
 autoconf:
 	if test ! -f configure.save; then mv configure configure.save; fi
 	autoconf
-	sed -e 's+\./config.log+auto/config.log+' configure > auto/configure
+	sed -e 's+>config.log+>auto/config.log+' -e 's+\./config.log+auto/config.log+' configure > auto/configure
 	chmod 755 auto/configure
 	mv -f configure.save configure
+	-rm -rf autom4te.cache
 	-rm -f auto/config.status auto/config.cache
 
 # Re-execute this Makefile to include the new auto/config.mk produced by
@@ -2063,12 +2071,15 @@
 		sed -e 's+^\([^ ]*\.o\)+objects/\1+' >> tmp_make; done
 	mv tmp_make Makefile
 
+# Run lint.  Clean up the *.ln files that are sometimes left behind.
 lint:
 	lint $(LINT_OPTIONS) $(LINT_CFLAGS) -DUSE_SNIFF -DHANGUL_INPUT $(LINT_SRC)
+	-rm -f *.ln
 
 # Check dosinst.c with lint.
 lintinstall:
 	lint $(LINT_OPTIONS) -DWIN32 -DUNIX_LINT dosinst.c
+	-rm -f dosinst.ln
 
 ###########################################################################
 
diff --git a/src/gui_gtk_f.c b/src/gui_gtk_f.c
index be53473..4a5edf1 100644
--- a/src/gui_gtk_f.c
+++ b/src/gui_gtk_f.c
@@ -116,6 +116,7 @@
 
     g_return_if_fail(GTK_IS_FORM(form));
 
+    /* LINTED: avoid warning: conversion to 'unsigned long' */
     child = g_new(GtkFormChild, 1);
 
     child->widget = child_widget;
diff --git a/src/gui_xmebw.c b/src/gui_xmebw.c
index fbe0ba9..d63cf5a 100644
--- a/src/gui_xmebw.c
+++ b/src/gui_xmebw.c
@@ -346,8 +346,8 @@
 
     XGetGeometry(dpy, pix, &root, &x, &y, &width, &height, &border, &depth);
 
-    if (eb->enhancedbutton.label_location == XmTOP
-	    || eb->enhancedbutton.label_location == XmBOTTOM)
+    if (eb->enhancedbutton.label_location == (int)XmTOP
+	    || eb->enhancedbutton.label_location == (int)XmBOTTOM)
 	shift = eb->primitive.shadow_thickness / 2;
     else
 	shift = eb->primitive.shadow_thickness / 2;
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 96608ef..072ddcd 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -464,7 +464,9 @@
     return sv_bless(rv, gv_stashpv("VI" #TNAME, TRUE));		\
 }
 
+/* LINTED: avoid warning: cast from pointer to integer of different size */
 newANYrv(win_T, WIN)
+/* LINTED: avoid warning: cast from pointer to integer of different size */
 newANYrv(buf_T, BUF)
 
 /*
@@ -684,8 +686,8 @@
     {
     dSP;
     length = strlen((char *)eap->arg);
-    sv = newSV(length + sizeof("sub VIM::perldo {")-1 + 1);
-    sv_setpvn(sv, "sub VIM::perldo {", sizeof("sub VIM::perldo {")-1);
+    sv = newSV(length + sizeof("sub VIM::perldo {") - 1 + 1);
+    sv_setpvn(sv, "sub VIM::perldo {", sizeof("sub VIM::perldo {") - 1);
     sv_catpvn(sv, (char *)eap->arg, length);
     sv_catpvn(sv, "}", 1);
     perl_eval_sv(sv, G_DISCARD | G_NOARGS);
@@ -701,7 +703,7 @@
     SAVETMPS;
     for (i = eap->line1; i <= eap->line2; i++)
     {
-	sv_setpv(GvSV(PL_defgv),(char *)ml_get(i));
+	sv_setpv(GvSV(PL_defgv), (char *)ml_get(i));
 	PUSHMARK(sp);
 	perl_call_pv("VIM::perldo", G_SCALAR | G_EVAL);
 	str = SvPV(GvSV(PL_errgv), length);
diff --git a/src/mbyte.c b/src/mbyte.c
index 33c0fdf..f53a8ec 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -5430,11 +5430,13 @@
 #ifdef FEAT_GUI_GTK
     if (xim_input_style & (int)GDK_IM_STATUS_AREA)
 	return gui.char_height;
-#elif defined FEAT_GUI_KDE
-    /* always return zero? */
 #else
+# if defined FEAT_GUI_KDE
+    /* always return zero? */
+# else
     if (status_area_enabled)
 	return gui.char_height;
+# endif
 #endif
     return 0;
 }
diff --git a/src/os_unix.c b/src/os_unix.c
index 81fa424..7c5b899 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -1767,9 +1767,10 @@
 					     NULL, NULL, 0, NULL, NULL, NULL);
 # else
 	XTextProperty	text_prop;
+	char		*c_title = (char *)title;
 
 	/* directly from example 3-18 "basicwin" of Xlib Programming Manual */
-	(void)XStringListToTextProperty((char **)&title, 1, &text_prop);
+	(void)XStringListToTextProperty(&c_title, 1, &text_prop);
 	XSetWMProperties(x11_display, x11_window, &text_prop,
 					     NULL, NULL, 0, NULL, NULL, NULL);
 # endif
@@ -1803,8 +1804,9 @@
 						   NULL, 0, NULL, NULL, NULL);
 # else
 	XTextProperty	text_prop;
+	char		*c_icon = (char *)icon;
 
-	(void)XStringListToTextProperty((char **)&icon, 1, &text_prop);
+	(void)XStringListToTextProperty(&c_icon, 1, &text_prop);
 	XSetWMProperties(x11_display, x11_window, NULL, &text_prop,
 						   NULL, 0, NULL, NULL, NULL);
 # endif
@@ -4001,6 +4003,7 @@
 
 	    if (WIFEXITED(status))
 	    {
+		/* LINTED avoid "bitwise operation on signed value" */
 		retval = WEXITSTATUS(status);
 		if (retval && !emsg_silent)
 		{
diff --git a/src/quickfix.c b/src/quickfix.c
index 0c5a050..2a2ee14 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -617,9 +617,9 @@
 
 	if (qf_add_entry(&qfprev,
 			directory,
-			*namebuf || directory
+			(*namebuf || directory)
 			    ? namebuf
-			    : currfile && valid ? currfile : NULL,
+			    : ((currfile && valid) ? currfile : (char_u *)NULL),
 			errmsg,
 			lnum,
 			col,