From e05dfda2beca0cf157dcd8e4cc18d2a8192a6533 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Sun, 25 Dec 2016 13:04:35 +0100
Subject: [PATCH] help: don't cycle forward in the buffers when exiting from
 help

When nano has multiple files open, closing a help buffer should
not switch to the next buffer in the ring but to the preceding one,
because it was from there that the help screen was invoked.
---
 src/files.c | 2 +-
 src/help.c  | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/files.c b/src/files.c
index d6c05ccb..bfa74d9d 100644
--- a/src/files.c
+++ b/src/files.c
@@ -611,7 +611,7 @@ void switch_to_prevnext_buffer(bool to_next)
     assert(openfile != NULL);
 
     /* If only one file buffer is open, say so and get out. */
-    if (openfile == openfile->next) {
+    if (openfile == openfile->next && !inhelp) {
 	statusbar(_("No more open file buffers"));
 	return;
     }
diff --git a/src/help.c b/src/help.c
index 68858861..794e92b8 100644
--- a/src/help.c
+++ b/src/help.c
@@ -235,6 +235,9 @@ void do_help(void)
 	}
     }
 
+    /* Switch back to the buffer we were invoked from. */
+    switch_to_prev_buffer_void();
+
     /* Restore the settings of all flags. */
     memcpy(flags, stash, sizeof(flags));
 
-- 
GitLab