From b9f007430bb0bc539680a2022c36d5b7dbe16822 Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Fri, 29 Sep 2006 15:45:10 +0000
Subject: [PATCH] in do_statusbar_input(), if we get a verbatim input sequence
 ending with Ctrl-J, remove the Ctrl-J from the buffer before interpreting it
 as Enter, so that it doesn't erroneously fall through to the edit window and
 get interpreted as Justify

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

diff --git a/ChangeLog b/ChangeLog
index 75629d8c..9fd3c5d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,12 @@ CVS code -
 	  properly reset when we get out of all statusbar prompts.
 	  Changes to do_insertfile(), do_writeout(),
 	  handle_sigwinch(), main(), and do_prompt_abort(). (DLR)
+- prompt.c:
+  do_statusbar_input()
+	- If we get a verbatim input sequence ending with Ctrl-J, remove
+	  the Ctrl-J from the buffer before interpreting it as Enter, so
+	  that it doesn't erroneously fall through to the edit window
+	  and get interpreted as Justify. (DLR)
 - winio.c:
   get_input()
 	- Simplify to avoid an unnecessary key_buffer_len check. (DLR)
diff --git a/src/prompt.c b/src/prompt.c
index bccc5d16..da9b5895 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -224,10 +224,12 @@ int do_statusbar_input(bool *meta_key, bool *func_key, bool *s_or_t,
 
 			    do_statusbar_verbatim_input(&got_enter);
 
-			    /* If we got the Enter key, set input to the
-			     * key value for Enter, and set finished to
-			     * TRUE to indicate that we're done. */
+			    /* If we got the Enter key, remove it from
+			     * the input buffer, set input to the key
+			     * value for Enter, and set finished to TRUE
+			     * to indicate that we're done. */
 			    if (got_enter) {
+				get_input(NULL, 1);
 				input = NANO_ENTER_KEY;
 				*finished = TRUE;
 			    }
-- 
GitLab