summaryrefslogtreecommitdiff
path: root/subst.c
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2011-12-03 13:48:02 -0500
committerChet Ramey <chet.ramey@case.edu>2011-12-03 13:48:02 -0500
commitda71998238c15805e1c90c0940618ba776fa2934 (patch)
treecc80b2421d3ddd175c778c5648b732ede7a0240d /subst.c
parent0f445e6cd220589a18daaf571fb2ad2b0014209b (diff)
downloadbash-da71998238c15805e1c90c0940618ba776fa2934.tar.gz
commit bash-20050630 snapshot
Diffstat (limited to 'subst.c')
-rw-r--r--subst.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/subst.c b/subst.c
index c71801a3..7a8207fd 100644
--- a/subst.c
+++ b/subst.c
@@ -4512,7 +4512,7 @@ command_substitute (string, quoted)
if ((subshell_environment & SUBSHELL_PIPE) == 0)
pipeline_pgrp = shell_pgrp;
cleanup_the_pipeline ();
-#endif
+#endif /* JOB_CONTROL */
old_async_pid = last_asynchronous_pid;
#if 0
@@ -6703,7 +6703,7 @@ add_string:
case '<':
case '>':
{
- if (string[++sindex] != LPAREN || (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || posixly_correct)
+ if (string[++sindex] != LPAREN || (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (word->flags & W_DQUOTE) || posixly_correct)
{
sindex--; /* add_character: label increments sindex */
goto add_character;
@@ -6769,7 +6769,7 @@ add_string:
/* If the word isn't supposed to be tilde expanded, or we're not
at the start of a word or after an unquoted : or = in an
assignment statement, we don't do tilde expansion. */
- if ((word->flags & W_NOTILDE) ||
+ if ((word->flags & (W_NOTILDE|W_DQUOTE)) ||
(sindex > 0 && ((word->flags & W_ITILDE) == 0)) ||
(quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
{
@@ -6896,7 +6896,11 @@ add_twochars:
break;
case '"':
- if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))
+#if 0
+ if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (word->flags & W_DQUOTE))
+#else
+ if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
+#endif
goto add_character;
t_index = ++sindex;
@@ -7042,7 +7046,11 @@ add_twochars:
/* break; */
case '\'':
- if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))
+#if 0
+ if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (word->flags & W_DQUOTE))
+#else
+ if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
+#endif
goto add_character;
t_index = ++sindex;