From 558d34f5ba4b35b3267cccc03719be81b32e8035 Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Fri, 26 May 2006 13:27:28 +0000
Subject: [PATCH] handle all syntaxes without associated colors in
 parse_rcfile()

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

diff --git a/ChangeLog b/ChangeLog
index 1d8b3ef7..20c87eec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -249,8 +249,6 @@ CVS code -
   parse_argument()
 	- Rename variable ptr_bak to ptr_save, for consistency. (DLR)
   parse_syntax()
-	- Properly generate an error if we've read in a previous syntax
-	  without any associated color commands. (DLR)
 	- Don't generate an error if we find a duplicate syntax name,
 	  since we might be trying to override a syntax in the global
 	  nanorc with one in our local nanorc.  Instead, free any
diff --git a/src/rcfile.c b/src/rcfile.c
index 508fa480..68c1d3e1 100644
--- a/src/rcfile.c
+++ b/src/rcfile.c
@@ -282,11 +282,6 @@ void parse_syntax(char *ptr)
 
     assert(ptr != NULL);
 
-    if (endsyntax != NULL && endcolor == NULL) {
-	rcfile_error(N_("Previous syntax has no color commands"));
-	return;
-    }
-
     if (*ptr == '\0') {
 	rcfile_error(N_("Missing syntax name"));
 	return;
@@ -670,9 +665,12 @@ void parse_rcfile(FILE *rcstream
 			keyword);
 	    else
 		parse_include(ptr);
-	} else if (strcasecmp(keyword, "syntax") == 0)
+	} else if (strcasecmp(keyword, "syntax") == 0) {
+	    if (endsyntax != NULL && endcolor == NULL)
+		rcfile_error(
+			N_("Previous syntax has no color commands"));
 	    parse_syntax(ptr);
-	else if (strcasecmp(keyword, "color") == 0)
+	} else if (strcasecmp(keyword, "color") == 0)
 	    parse_colors(ptr, FALSE);
 	else if (strcasecmp(keyword, "icolor") == 0)
 	    parse_colors(ptr, TRUE);
-- 
GitLab