From 50dc7f29131b668daaa82c02a826763e6e9a3a44 Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Fri, 23 Jul 2021 20:27:38 +0100
Subject: 49182: Turn off correction inside command substition.
In "A=$(PWD)" we dont't have the information to correct at the level of the
PWD subcommand, so don't try to do it as this causes a crash.
---
Src/hist.c | 7 +++++++
Src/lex.c | 1 +
2 files changed, 8 insertions(+)
(limited to 'Src')
diff --git a/Src/hist.c b/Src/hist.c
index 42cae030c..6ac581fda 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -339,6 +339,13 @@ hist_in_word(int yesno)
histactive &= ~HA_INWORD;
}
+/**/
+int
+hist_is_in_word(void)
+{
+ return (histactive & HA_INWORD) ? 1 : 0;
+}
+
/* add a character to the current history word */
static void
diff --git a/Src/lex.c b/Src/lex.c
index 37fcec3e2..ece02659e 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -1889,6 +1889,7 @@ exalias(void)
hwend();
if (interact && isset(SHINSTDIN) && !strin && incasepat <= 0 &&
tok == STRING && !nocorrect && !(inbufflags & INP_ALIAS) &&
+ !hist_is_in_word() &&
(isset(CORRECTALL) || (isset(CORRECT) && incmdpos)))
spckword(&tokstr, 1, incmdpos, 1);
--
cgit 1.4.1