about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 3a1187350..650c09de2 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -2005,6 +2005,12 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
 		int onoerrs = noerrs, rplylen;
 		noerrs = 2;
 		rplylen = zstuff(&cmdarg, rplytmp);
+		if (! EMULATION(EMULATE_ZSH)) {
+		    /* bash and ksh strip trailing newlines here */
+		    while (rplylen > 0 && cmdarg[rplylen-1] == '\n')
+			rplylen--;
+		    cmdarg[rplylen] = 0;
+		}
 		noerrs = onoerrs;
 		if (rplylen >= 0)
 		    setsparam("REPLY", metafy(cmdarg, rplylen, META_REALLOC));