From 277f58f8d86a36ccfff7b962f1ab464ad8e670c4 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 23 Dec 2015 13:37:55 +0000
Subject: [PATCH] History: no prompting on exit errors, because making the user
 hit Enter when there's an error saving history state at exit is pointless and
 annoying. Just notify the user and move on. Patch by Mike Frysinger, tweaked
 and extended by Benno.

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

diff --git a/ChangeLog b/ChangeLog
index f89845dc..f96380bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
 2015-12-23  Mike Frysinger  <vapier@gentoo.org>
 	* doc/syntax/autoconf.nanorc: Handle .m4 files too, add the "elif"
 	keyword, handle dnl comments better, and mark trailing whitespace.
+	* src/files.c (save_history, save_poshistory): Don't make the user
+	hit Enter when there's an error saving history state at exit; it is
+	pointless and annoying.  Just notify the user and move on.
 
 2015-12-23  Christian Weisgerber  <naddy@mips.inka.de>
 	* configure.ac: AC_CHECK_HEADERS_ONCE() is very special and cannot be
diff --git a/src/files.c b/src/files.c
index db41c600..d5a4ca43 100644
--- a/src/files.c
+++ b/src/files.c
@@ -3077,15 +3077,15 @@ void save_history(void)
 	FILE *hist = fopen(nanohist, "wb");
 
 	if (hist == NULL)
-	    history_error(N_("Error writing %s: %s"), nanohist,
-		strerror(errno));
+	    fprintf(stderr, _("Error writing %s: %s\n"), nanohist,
+			strerror(errno));
 	else {
 	    /* Make sure no one else can read from or write to the
 	     * history file. */
 	    chmod(nanohist, S_IRUSR | S_IWUSR);
 
 	    if (!writehist(hist, searchage) || !writehist(hist, replaceage))
-		history_error(N_("Error writing %s: %s"), nanohist,
+		fprintf(stderr, _("Error writing %s: %s\n"), nanohist,
 			strerror(errno));
 
 	    fclose(hist);
@@ -3108,8 +3108,8 @@ void save_poshistory(void)
 	FILE *hist = fopen(poshist, "wb");
 
 	if (hist == NULL)
-	    history_error(N_("Error writing %s: %s"), poshist,
-		strerror(errno));
+	    fprintf(stderr, _("Error writing %s: %s\n"), poshist,
+			strerror(errno));
 	else {
 	    /* Make sure no one else can read from or write to the
 	     * history file. */
@@ -3120,8 +3120,8 @@ void save_poshistory(void)
 		sprintf(statusstr, "%s %ld %ld\n", posptr->filename, (long)posptr->lineno,
 			(long)posptr->xno);
 		if (fwrite(statusstr, sizeof(char), strlen(statusstr), hist) < strlen(statusstr))
-		    history_error(N_("Error writing %s: %s"), poshist,
-			strerror(errno));
+		    fprintf(stderr, _("Error writing %s: %s\n"), poshist,
+				strerror(errno));
 		free(statusstr);
 	    }
 	    fclose(hist);
-- 
GitLab