diff --git a/src/Makefile b/src/Makefile
index 071282d..85de383 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -3170,12 +3170,6 @@
 objects/if_perlsfio.o: if_perlsfio.c
 	$(CCC_NF) $(PERL_CFLAGS) $(ALL_CFLAGS) -o $@ if_perlsfio.c
 
-objects/py_getpath.o: $(PYTHON_CONFDIR)/getpath.c
-	$(CCC_NF) $(PYTHON_CFLAGS) $(ALL_CFLAGS) -o $@ \
-		$(PYTHON_CONFDIR)/getpath.c \
-		-I$(PYTHON_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN \
-		$(PYTHON_GETPATH_CFLAGS)
-
 objects/if_python.o: if_python.c if_py_both.h
 	$(CCC_NF) $(PYTHON_CFLAGS) $(PYTHON_CFLAGS_EXTRA) $(ALL_CFLAGS) -o $@ if_python.c
 
diff --git a/src/auto/configure b/src/auto/configure
index 56d5a9d..7fe5975 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -679,14 +679,11 @@
 PYTHON3_SRC
 PYTHON3_CFLAGS
 PYTHON3_LIBS
-PYTHON3_CONFDIR
 vi_cv_path_python3
 PYTHON_OBJ
 PYTHON_SRC
 PYTHON_CFLAGS
-PYTHON_GETPATH_CFLAGS
 PYTHON_LIBS
-PYTHON_CONFDIR
 vi_cv_path_python
 PERL_LIBS
 PERL_CFLAGS
@@ -6018,11 +6015,7 @@
 		  vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
 	      fi
 	    else
-	      if test "${vi_cv_var_python_version}" = "1.4"; then
-		  vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
-	      else
-		  vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
-	      fi
+	      vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
 	      	      	      	      if test -n "${python_LINKFORSHARED}" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
 	        python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([^ \t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t].*/\1/'`
 		python_link_path=`echo ${python_LINKFORSHARED} |   sed 's/\([^ \t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t][ \t]*\(.*\)/\2/'`
@@ -6068,10 +6061,6 @@
 	fi
 	PYTHON_SRC="if_python.c"
 	PYTHON_OBJ="objects/if_python.o"
-	if test "${vi_cv_var_python_version}" = "1.4"; then
-	   PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
-	fi
-    PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
 
 								{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
 $as_echo_n "checking if -pthread should be used... " >&6; }
@@ -6175,8 +6164,6 @@
 
 
 
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-python3interp argument" >&5
 $as_echo_n "checking --enable-python3interp argument... " >&6; }
 # Check whether --enable-python3interp was given.
@@ -6504,7 +6491,6 @@
 
 
 
-
 if test "$python_ok" = yes && test "$python3_ok" = yes; then
   $as_echo "#define DYNAMIC_PYTHON 1" >>confdefs.h
 
@@ -14323,7 +14309,7 @@
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need to force -D_FILE_OFFSET_BITS=64" >&5
 $as_echo_n "checking whether we need to force -D_FILE_OFFSET_BITS=64... " >&6; }
-if echo "$CFLAGS $LUA_CFLAGS $MZSCHEME_CFLAGS $PERL_CFLAGS $PYTHON_GETPATH_CFLAGS $PYTHON_CFLAGS $PYTHON3_CFLAGS $TCL_CFLAGS $RUBY_CFLAGS $GTK_CFLAGS" | grep -q D_FILE_OFFSET_BITS 2>/dev/null; then
+if echo "$CFLAGS $LUA_CFLAGS $MZSCHEME_CFLAGS $PERL_CFLAGS $PYTHON_CFLAGS $PYTHON3_CFLAGS $TCL_CFLAGS $RUBY_CFLAGS $GTK_CFLAGS" | grep -q D_FILE_OFFSET_BITS 2>/dev/null; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
   $as_echo "#define _FILE_OFFSET_BITS 64" >>confdefs.h
diff --git a/src/config.aap.in b/src/config.aap.in
index eebd036..34ddfa6 100644
--- a/src/config.aap.in
+++ b/src/config.aap.in
@@ -47,8 +47,6 @@
 PYTHON_OBJ	= @PYTHON_OBJ@
 PYTHON_CFLAGS	= @PYTHON_CFLAGS@
 PYTHON_LIBS	= @PYTHON_LIBS@
-PYTHON_CONFDIR	= @PYTHON_CONFDIR@
-PYTHON_GETPATH_CFLAGS = @PYTHON_GETPATH_CFLAGS@
 
 TCL		= @vi_cv_path_tcl@
 TCL_SRC		= @TCL_SRC@
diff --git a/src/config.mk.in b/src/config.mk.in
index 1e7fbd5..84c1590 100644
--- a/src/config.mk.in
+++ b/src/config.mk.in
@@ -65,14 +65,11 @@
 PYTHON_OBJ	= @PYTHON_OBJ@
 PYTHON_CFLAGS	= @PYTHON_CFLAGS@
 PYTHON_LIBS	= @PYTHON_LIBS@
-PYTHON_CONFDIR	= @PYTHON_CONFDIR@
-PYTHON_GETPATH_CFLAGS = @PYTHON_GETPATH_CFLAGS@
 
 PYTHON3_SRC	= @PYTHON3_SRC@
 PYTHON3_OBJ	= @PYTHON3_OBJ@
 PYTHON3_CFLAGS	= @PYTHON3_CFLAGS@
 PYTHON3_LIBS	= @PYTHON3_LIBS@
-PYTHON3_CONFDIR	= @PYTHON3_CONFDIR@
 
 TCL		= @vi_cv_path_tcl@
 TCL_SRC		= @TCL_SRC@
diff --git a/src/configure.ac b/src/configure.ac
index 4e71de3..f2655a5 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -1211,11 +1211,7 @@
 		  vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
 	      fi
 	    else
-	      if test "${vi_cv_var_python_version}" = "1.4"; then
-		  vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
-	      else
-		  vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
-	      fi
+	      vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
 	      dnl -- Check if the path contained in python_LINKFORSHARED is
 	      dnl    usable for vim build. If not, make and try other
 	      dnl    candidates.
@@ -1262,10 +1258,6 @@
 	fi
 	PYTHON_SRC="if_python.c"
 	PYTHON_OBJ="objects/if_python.o"
-	if test "${vi_cv_var_python_version}" = "1.4"; then
-	   PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
-	fi
-    PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
 
 	dnl On FreeBSD linking with "-pthread" is required to use threads.
 	dnl _THREAD_SAFE must be used for compiling then.
@@ -1334,9 +1326,7 @@
   fi
 fi
 
-AC_SUBST(PYTHON_CONFDIR)
 AC_SUBST(PYTHON_LIBS)
-AC_SUBST(PYTHON_GETPATH_CFLAGS)
 AC_SUBST(PYTHON_CFLAGS)
 AC_SUBST(PYTHON_SRC)
 AC_SUBST(PYTHON_OBJ)
@@ -1542,7 +1532,6 @@
   fi
 fi
 
-AC_SUBST(PYTHON3_CONFDIR)
 AC_SUBST(PYTHON3_LIBS)
 AC_SUBST(PYTHON3_CFLAGS)
 AC_SUBST(PYTHON3_SRC)
@@ -4382,7 +4371,7 @@
 dnl consistent value.  It's therefore safest to force the use of the define
 dnl if it's present in any of the *_CFLAGS variables.
 AC_MSG_CHECKING(whether we need to force -D_FILE_OFFSET_BITS=64)
-if echo "$CFLAGS $LUA_CFLAGS $MZSCHEME_CFLAGS $PERL_CFLAGS $PYTHON_GETPATH_CFLAGS $PYTHON_CFLAGS $PYTHON3_CFLAGS $TCL_CFLAGS $RUBY_CFLAGS $GTK_CFLAGS" | grep -q D_FILE_OFFSET_BITS 2>/dev/null; then
+if echo "$CFLAGS $LUA_CFLAGS $MZSCHEME_CFLAGS $PERL_CFLAGS $PYTHON_CFLAGS $PYTHON3_CFLAGS $TCL_CFLAGS $RUBY_CFLAGS $GTK_CFLAGS" | grep -q D_FILE_OFFSET_BITS 2>/dev/null; then
   AC_MSG_RESULT(yes)
   AC_DEFINE(_FILE_OFFSET_BITS, 64)
 else
diff --git a/src/version.c b/src/version.c
index 5a26ec5..5f352cf 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1699,
+/**/
     1698,
 /**/
     1697,
