From 480b6a320f67e0bc210dd5e2e01e3a87403c0ad3 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 23 Dec 2015 19:18:33 +0000
Subject: [PATCH] Going back to the filename prompt when the user decides to
 save a changed buffer after all, as the buffer may not have a name yet. This
 fixes Savannah bug #46752.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5512 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   | 3 +++
 src/files.c | 5 ++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 21749e5f..673e1615 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@
 	* doc/man/nanorc.5: Improve ordering of bindable functions.
 	* src/files.c (read_file): Don't open an extra blank buffer when
 	an empty file is read.  Bug was exposed by r5498, December 18.
+	* src/files.c (do_writeout): When the user decides to save the
+	buffer after all, go back to the filename prompt because the
+	buffer may not have a name yet.  This fixes Savannah bug #46752.
 
 2015-12-23  Mike Frysinger  <vapier@gentoo.org>
 	* doc/syntax/autoconf.nanorc: Handle .m4 files too, add the "elif"
diff --git a/src/files.c b/src/files.c
index 61f4d15c..59034844 100644
--- a/src/files.c
+++ b/src/files.c
@@ -2297,9 +2297,8 @@ int do_writeout(bool exiting)
 		if (i == 0) {
 		    free(ans);
 		    return 2;	/* Yes, discard the buffer. */
-		}
-		if (i < 0)
-		   continue;	/* The discard was cancelled. */
+		} else
+		    continue;	/* Go back to the filename prompt. */
 	    }
 
 	    ans = mallocstrcpy(ans, answer);
-- 
GitLab