From 85e166b0f2d5f13f14ea5a284a8e062d96a8ab9a Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Mon, 29 Feb 2016 12:04:22 +0000
Subject: [PATCH] "Closing" an extended syntax again, to prevent sneakily
 extending the last-defined syntax.

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

diff --git a/ChangeLog b/ChangeLog
index a913c0be..aa916a90 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,9 @@
-2016-02-28  Benno Schulenberg  <bensberg@justemail.net>
+2016-02-29  Benno Schulenberg  <bensberg@justemail.net>
 	* src/nano.h, src/rcfile.c, src/color.c: Rename a struct member.
-	* src/rcfile.c (parse_rcfile): Don't allocate struct for none syntax.
+	* src/rcfile.c (parse_rcfile): Don't allocate a struct for the "none"
+	syntax, and thus prevent it from being extended.
 	* src/nano.h, src/rcfile.c: Arrange some things more orderly.
+	* src/rcfile.c (parse_rcfile): Close an extended syntax again.
 
 2016-02-28  Benno Schulenberg  <bensberg@justemail.net>
 	* src/rcfile.c (parse_header_exp): Don't continue when something is
diff --git a/src/rcfile.c b/src/rcfile.c
index b1928264..1b7fe7e0 100644
--- a/src/rcfile.c
+++ b/src/rcfile.c
@@ -1063,6 +1063,7 @@ void parse_rcfile(FILE *rcstream
 
 	    if (ts == NULL) {
 		rcfile_error(N_("Could not find syntax \"%s\" to extend"), syntaxname);
+		opensyntax = FALSE;
 		continue;
 	    } else {
 		opensyntax = TRUE;
@@ -1142,6 +1143,7 @@ void parse_rcfile(FILE *rcstream
 	if (end_syn_save != NULL) {
 	    endsyntax = end_syn_save;
 	    end_syn_save = NULL;
+	    opensyntax = FALSE;
 	}
 #endif
 
-- 
GitLab