summary refs log tree commit diff
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2007-12-27 13:57:07 +1100
committerHerbert Xu <herbert@gondor.apana.org.au>2007-12-27 13:57:07 +1100
commit13c6a86f0dcd34332b35ebce9ac21b01aa9ad815 (patch)
tree07946526ea768d70d335bddfe8af9f064febf8d6
parent[PARSER] Add FAKEEOFMARK for expandstr (diff)
downloaddash-13c6a86f0dcd34332b35ebce9ac21b01aa9ad815.tar.gz
dash-13c6a86f0dcd34332b35ebce9ac21b01aa9ad815.zip
[PARSER] Do not show prompts in expandstr
Once I fixed the previous problem it became apparent that we never dealt
with prompts with new-lines in them correctly.  The problem is that we
showed a secondary prompt for each of them.

This patch disables prompt generation in expandstr.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--ChangeLog1
-rw-r--r--src/parser.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b392f4..0030738 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2007-12-27  Herbert Xu <herbert@gondor.apana.org.au>
 
 	* Add FAKEEOFMARK for expandstr.
+	* Do not show prompts in expandstr.
 
 2007-12-23  Gerrit Pape <pape@smarden.org>
 
diff --git a/src/parser.c b/src/parser.c
index 3206328..9dd6185 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -1499,10 +1499,18 @@ const char *
 expandstr(const char *ps)
 {
 	union node n;
+	int saveprompt;
 
 	/* XXX Fix (char *) cast. */
 	setinputstring((char *)ps);
+
+	saveprompt = doprompt;
+	doprompt = 0;
+
 	readtoken1(pgetc(), DQSYNTAX, FAKEEOFMARK, 0);
+
+	doprompt = saveprompt;
+
 	popfile();
 
 	n.narg.type = NARG;