From e15abc9c1e72fedc91347a3f14aaa658acc457d6 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Mon, 21 Apr 2014 18:12:29 +0000
Subject: [PATCH] Improving two error messages, and complaining about wrong
 menu names after wrong function names.

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

diff --git a/ChangeLog b/ChangeLog
index a468480d..8a4f7c14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,8 @@
 	* src/rcfile.c (parse_binding): K-keys no longer exist.
 	* src/global.c, src/rcfile.c, doc/nanorc.sample.in: Allow the
 	codes from the Ins and Del keys to be rebound.
+	* src/rcfile.c (parse_binding): Improve two error messages, and
+	complain about wrong menu names after wrong function names.
 
 2014-04-16  Benno Schulenberg  <bensberg@justemail.net>
 	* src/winio.c (get_mouseinput): Properly find also the zeroeth
diff --git a/src/rcfile.c b/src/rcfile.c
index fccadb63..f5f1e947 100644
--- a/src/rcfile.c
+++ b/src/rcfile.c
@@ -513,7 +513,7 @@ void parse_binding(char *ptr, bool dobind)
 	ptr = parse_next_word(ptr);
 
 	if (!strcmp(funcptr, "")) {
-	    rcfile_error(N_("Must specify function to bind key to"));
+	    rcfile_error(N_("Must specify a function to bind the key to"));
 	    return;
 	}
     }
@@ -523,13 +523,7 @@ void parse_binding(char *ptr, bool dobind)
 
     if (!strcmp(menuptr, "")) {
 	/* TRANSLATORS: Do not translate the word "all". */
-	rcfile_error(N_("Must specify menu in which to bind/unbind key (or \"all\")"));
-	return;
-    }
-
-    menu = strtomenu(menuptr);
-    if (menu < 1) {
-	rcfile_error(N_("Cannot map name \"%s\" to a menu"), menuptr);
+	rcfile_error(N_("Must specify a menu (or \"all\") in which to bind/unbind the key"));
 	return;
     }
 
@@ -541,6 +535,12 @@ void parse_binding(char *ptr, bool dobind)
 	}
     }
 
+    menu = strtomenu(menuptr);
+    if (menu < 1) {
+	rcfile_error(N_("Cannot map name \"%s\" to a menu"), menuptr);
+	return;
+    }
+
 #ifdef DEBUG
     if (dobind)
 	fprintf(stderr, "newsc address is now %ld, assigned func = %ld, menu = %x\n",
-- 
GitLab