diff --git a/ChangeLog b/ChangeLog
index b16d2e7eaba776cc30d8cdf9fd34a589e33d8c1d..17ad486349057fdb77afbc0fd8ee2522f02759fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-08-28 Chris Allegretta <chrisa@asty.org>
+	* configure.ac, rcfile.c:  Add support for an alternate rcfilename at configure time.  Maybe this
+	  should become a command line option some day, but I don't see the need currently.  Start of
+	  fix for Savannah bug #24128: Add nanorc support to win32 platform.
+
 2008-08-21 Chris Allegretta <chrisa@asty.org>
 	* text.c: Change error messages where we may possibly get into a bad state and urge
 	  the user to save when this happens.  Originally by Benno Schulenberg <bensberg@justemail.net>
diff --git a/configure.ac b/configure.ac
index 4b096848982e837b59079c0594736a44b8aff5f2..d9f4667815472fd90563a8578d83d206c32679a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -387,6 +387,12 @@ fi
 AM_CONDITIONAL(USE_COLOR, test x$color_support = xyes)
 AM_CONDITIONAL(USE_NANORC, test x$nanorc_support = xyes)
 
+AC_ARG_ENABLE(altrcname,
+[  --enable-altrcname          Specify alternate rcfile name (default: .nanorc)],
+[if test x$enableval != no; then
+    AC_DEFINE_UNQUOTED(RCFILE_NAME, "$enableval", [Specify alternate rcfile name (default: .nanorc)]) rcfilename=$enableval
+fi])
+
 dnl Checks for functions.
 
 AC_CHECK_FUNCS(getdelim getline isblank strcasecmp strcasestr strncasecmp strnlen vsnprintf)
diff --git a/src/rcfile.c b/src/rcfile.c
index 4481b6a44d8c0542c237c2fe2a938f0636038d9a..ee3759f3d0434cc2dc36a325fc008345d48ab4da 100644
--- a/src/rcfile.c
+++ b/src/rcfile.c
@@ -1044,8 +1044,11 @@ void do_rcfile(void)
     if (homedir == NULL)
 	rcfile_error(N_("I can't find my home directory!  Wah!"));
     else {
-	nanorc = charealloc(nanorc, strlen(homedir) + 9);
-	sprintf(nanorc, "%s/.nanorc", homedir);
+#ifndef RCFILE_NAME
+#define RCFILE_NAME ".nanorc"
+#endif
+	nanorc = charealloc(nanorc, strlen(homedir) + strlen(RCFILE_NAME) + 2);
+	sprintf(nanorc, "%s/%s", homedir, RCFILE_NAME);
 
 	/* Don't open directories, character files, or block files. */
 	if (stat(nanorc, &rcinfo) != -1) {