summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-shells/dash/files/dash-0.5.10.1-parser.patch37
1 files changed, 30 insertions, 7 deletions
diff --git a/app-shells/dash/files/dash-0.5.10.1-parser.patch b/app-shells/dash/files/dash-0.5.10.1-parser.patch
index 485fc7e6772a..0939b7cb7222 100644
--- a/app-shells/dash/files/dash-0.5.10.1-parser.patch
+++ b/app-shells/dash/files/dash-0.5.10.1-parser.patch
@@ -1,8 +1,28 @@
-https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html
+From 469c5fd4f57622b1a6571172898ab29430319d4a Mon Sep 17 00:00:00 2001
+From: Herbert Xu <herbert@gondor.apana.org.au>
+Date: Fri, 11 May 2018 23:41:25 +0800
+Subject: parser: Fix incorrect eating of backslash newlines
---- dash-0.5.10.1/src/parser.c
-+++ dash-0.5.10.1/src/parser.c
-@@ -853,6 +853,11 @@
+With the introduction of synstack->syntax, a number of references
+to the syntax variable was missed during the conversion. This
+causes backslash newlines to be incorrectly removed in single
+quote context.
+
+This patch also combines these calls into a new helper function
+pgetc_top.
+
+Fixes: ab1cecb40478 ("parser: Add syntax stack for recursive...")
+Reported-by: Leah Neukirchen <leah@vuxu.org>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+---
+ src/parser.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/src/parser.c b/src/parser.c
+index 8e40781..8bd3db4 100644
+--- a/src/parser.c
++++ b/src/parser.c
+@@ -853,6 +853,11 @@ static int pgetc_eatbnl(void)
return c;
}
@@ -14,7 +34,7 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html
static void synstack_push(struct synstack **stack, struct synstack *next,
const char *syntax)
{
-@@ -915,7 +920,7 @@
+@@ -915,7 +920,7 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
attyline();
if (synstack->syntax == BASESYNTAX)
return readtoken();
@@ -23,7 +43,7 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html
goto loop;
}
#endif
-@@ -929,7 +934,7 @@
+@@ -929,7 +934,7 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
goto endword; /* exit outer loop */
USTPUTC(c, out);
nlprompt();
@@ -32,7 +52,7 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html
goto loop; /* continue outer loop */
case CWORD:
USTPUTC(c, out);
-@@ -1056,7 +1061,7 @@
+@@ -1056,7 +1061,7 @@ toggledq:
USTPUTC(c, out);
}
}
@@ -41,3 +61,6 @@ https://www.mail-archive.com/dash@vger.kernel.org/msg01620.html
}
}
endword:
+--
+cgit v1.1
+