diff --git a/ChangeLog b/ChangeLog
index 9a154a8abbe815d650b6e8c3a7d5c8897b9f8d8c..ed9edf48b4fc5e4efad30af9280163257d81b673 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,11 @@ CVS code -
 - Makefile.am:
 	- Add SYSCONFDIR to DEFS, so we can have an /etc/nanorc.
 	- Change localedir line to 1.0's version.
+	- Moved m4/ stuff to its own m4/Makefile.am.
+- configure.in:
+	- Renamed to configure.ac.
+- configure.ac:
+	- Moved to autoconf 2.52 (Jeff Bailey).
 - files.c:
   read_byte()
 	- Added check for conrol characters (indicative of a binary 
diff --git a/Makefile.am b/Makefile.am
index d0a02b157d8a83641e66668a993f6f8236f250f3..b759ffa9b3b3cdd67107bc346aeace4c3530844c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,10 +1,5 @@
 ## $Id$
 AUTOMAKE_OPTIONS = gnu no-dependencies
-M4DIR = $(srcdir)/m4
-ACLOCAL_AMFLAGS = -I $(M4DIR)
-ACINCLUDE_INPUTS = $(M4DIR)/gettext.m4 $(M4DIR)/largefile.m4 \
-	$(M4DIR)/progtest.m4 $(M4DIR)/lcmessage.m4 $(M4DIR)/iconv.m4 \
-	$(M4DIR)/codeset.m4 $(M4DIR)/glibc21.m4
 
 DEFS= -DSYSCONFDIR=\"$(sysconfdir)\"
 
@@ -30,12 +25,9 @@ MAKEINFO = makeinfo --no-split
 
 EXTRA_DIST =	ABOUT-NLS AUTHORS BUGS COPYING ChangeLog INSTALL NEWS \
 		README THANKS TODO install-sh missing mkinstalldirs \
-		nano.1 nano.1.html faq.html nanorc.sample $(ACINCLUDE_INPUTS)
+		nano.1 nano.1.html faq.html nanorc.sample
 
 SUBDIRS = po intl
 
 localedir = $(datadir)/locale
 INCLUDES = -Iintl -DLOCALEDIR=\"$(localedir)\" -I@includedir@
-
-$(srcdir)/acinclude.m4: $(ACINCLUDE_INPUTS)
-	cat $(ACINCLUDE_INPUTS) > $@
diff --git a/README.CVS b/README.CVS
index c98505a327725dfba56d0573b6296627ead644b8..8a0563e1c4a0328f7a106e9e1670386b67aef830 100644
--- a/README.CVS
+++ b/README.CVS
@@ -7,7 +7,7 @@ more care than the official stable and unstable tarballs.
 To succesfully compile GNU nano from CVS, you'll need the
 following packages:
 
-- autoconf (versions 2.13 or >= 2.50)
+- autoconf (version >= 2.50)
 - automake (version 1.4-pl5 recommended)
 - autoheader
 - gettext (version 0.10.40)
@@ -35,5 +35,4 @@ $ make install
 should put the required files in their respective directories.
 
 
-Please submit any bugs in the CVS branch to nano-devel@lists.sourceforge.net.
-[FIXME needs change for Savannah too]
+Please submit any bugs in the CVS branch to nano-devel@gnu.org.
diff --git a/configure.in b/configure.ac
similarity index 98%
rename from configure.in
rename to configure.ac
index db0e516d4ef961c9696d84b67e34b3943f8d2bc6..6018bea5849a3f75b4c322d20b954fe1277846a2 100644
--- a/configure.in
+++ b/configure.ac
@@ -1,6 +1,8 @@
 # $Id$
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(nano.c)
+AC_INIT
+AC_CONFIG_SRCDIR([nano.c])
+AC_PREREQ(2.52)
 AM_INIT_AUTOMAKE(nano, 1.1.6-cvs)
 AM_CONFIG_HEADER(config.h:config.h.in)
 ALL_LINGUAS="es de fr it id fi hu ca cs gl uk ru sv nn nl da pl nb"
@@ -8,7 +10,7 @@ ALL_LINGUAS="es de fr it id fi hu ca cs gl uk ru sv nn nl da pl nb"
 dnl Checks for programs.
 AC_PROG_CC
 AC_ISC_POSIX
-NANO_AC_SYS_LARGEFILE
+AC_SYS_LARGEFILE
 
 dnl Checks for header files.
 AC_HEADER_STDC
@@ -306,4 +308,5 @@ fi
 dnl i18n stuff - pretty incomplete for now
 NANO_AM_GNU_GETTEXT
 
-AC_OUTPUT([Makefile intl/Makefile po/Makefile.in])
+AC_CONFIG_FILES([Makefile intl/Makefile m4/Makefile po/Makefile.in])
+AC_OUTPUT
diff --git a/m4/.cvsignore b/m4/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..3dda72986fc5af262451a760393b3a7065938c80
--- /dev/null
+++ b/m4/.cvsignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/m4/Makefile.am b/m4/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..14cc8e390bfe10ee92558a5e59700a30f8e5bec6
--- /dev/null
+++ b/m4/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST =	codeset.m4 glibc21.m4 progtest.m4 gettext.m4iconv.m4 \
+		lcmessage.m4
diff --git a/m4/largefile.m4 b/m4/largefile.m4
deleted file mode 100644
index c8d41e3e24533b649076b2731494a56ad5749f8e..0000000000000000000000000000000000000000
--- a/m4/largefile.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-#serial 19
-
-dnl By default, many hosts won't let programs access large files;
-dnl one must use special compiler options to get large-file access to work.
-dnl For more details about this brain damage please see:
-dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
-
-dnl Written by Paul Eggert <eggert@twinsun.com>.
-
-dnl Internal subroutine of AC_SYS_LARGEFILE.
-dnl AC_SYS_LARGEFILE_TEST_INCLUDES
-AC_DEFUN(AC_SYS_LARGEFILE_TEST_INCLUDES,
-  [[#include <sys/types.h>
-    /* Check that off_t can represent 2**63 - 1 correctly.
-       We can't simply "#define LARGE_OFF_T 9223372036854775807",
-       since some C++ compilers masquerading as C compilers
-       incorrectly reject 9223372036854775807.  */
-#   define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-    int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-			&& LARGE_OFF_T % 2147483647 == 1)
-		       ? 1 : -1];
-  ]])
-
-dnl Internal subroutine of AC_SYS_LARGEFILE.
-dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, CACHE-VAR, COMMENT, INCLUDES, FUNCTION-BODY)
-AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE,
-  [AC_CACHE_CHECK([for $1 value needed for large files], $3,
-     [$3=no
-      AC_TRY_COMPILE([$5],
-	[$6], 
-	,
-	[AC_TRY_COMPILE([#define $1 $2]
-[$5]
-	   ,
-	   [$6],
-	   [$3=$2])])])
-   if test "[$]$3" != no; then
-     AC_DEFINE_UNQUOTED([$1], [$]$3, [$4])
-   fi])
-
-AC_DEFUN(NANO_AC_SYS_LARGEFILE,
-  [AC_REQUIRE([AC_PROG_CC])
-   AC_ARG_ENABLE(largefile,
-     [  --disable-largefile     omit support for large files])
-   if test "$enable_largefile" != no; then
-
-     AC_CACHE_CHECK([for special C compiler options needed for large files],
-       ac_cv_sys_largefile_CC,
-       [ac_cv_sys_largefile_CC=no
-        if test "$GCC" != yes; then
-	  # IRIX 6.2 and later do not support large files by default,
-	  # so use the C compiler's -n32 option if that helps.
-	  AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, , ,
-	    [ac_save_CC="$CC"
-	     CC="$CC -n32"
-	     AC_TRY_COMPILE(AC_SYS_LARGEFILE_TEST_INCLUDES, ,
-	       ac_cv_sys_largefile_CC=' -n32')
-	     CC="$ac_save_CC"])
-        fi])
-     if test "$ac_cv_sys_largefile_CC" != no; then
-       CC="$CC$ac_cv_sys_largefile_CC"
-     fi
-
-     AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
-       ac_cv_sys_file_offset_bits,
-       [Number of bits in a file offset, on hosts where this is settable.],
-       AC_SYS_LARGEFILE_TEST_INCLUDES)
-     AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1,
-       ac_cv_sys_large_files,
-       [Define for large files, on AIX-style hosts.],
-       AC_SYS_LARGEFILE_TEST_INCLUDES)
-   fi
-  ])
-
-AC_DEFUN(AC_FUNC_FSEEKO,
-  [AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1,
-     ac_cv_sys_largefile_source,
-     [Define to make fseeko visible on some hosts (e.g. glibc 2.2).],
-     [#include <stdio.h>], [return !fseeko;])
-   # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
-   # in glibc 2.1.3, but that breaks too many other things.
-   # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
-
-   AC_CACHE_CHECK([for fseeko], ac_cv_func_fseeko,
-     [ac_cv_func_fseeko=no
-      AC_TRY_LINK([#include <stdio.h>],
-        [return fseeko && fseeko (stdin, 0, 0);],
-	[ac_cv_func_fseeko=yes])])
-   if test $ac_cv_func_fseeko != no; then
-     AC_DEFINE(HAVE_FSEEKO, 1,
-       [Define if fseeko (and presumably ftello) exists and is declared.])
-   fi])