From 5a8155f7b7ab8f3cab1f95d4dba5ed49de0ab77c Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Mon, 4 Sep 2017 21:36:46 +0100
Subject: 41633: Fix problem backgrounding function definitions.
Owing to being marked as simple sublists the instruction to
background was ignored. This applied to anonymous functions.
---
ChangeLog | 6 ++++++
Src/parse.c | 7 ++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 9ccfc461b..e51e5c47d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-09-04 Peter Stephenson
+
+ * 41633: Src/parse.c: make sure function definitions including
+ anonymous functions put into the background are run in the
+ background.
+
2017-09-04 Daniel Shahaf
* 41621: Completion/Unix/Command/_mkdir: Honour the 'command'
diff --git a/Src/parse.c b/Src/parse.c
index 27052527d..6e0856bbc 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -808,8 +808,13 @@ par_sublist(int *cmplx)
WC_SUBLIST_END),
f, (e - 1 - p), c);
cmdpop();
- } else
+ } else {
+ if (tok == AMPER || tok == AMPERBANG) {
+ c = 1;
+ *cmplx |= c;
+ }
set_sublist_code(p, WC_SUBLIST_END, f, (e - 1 - p), c);
+ }
return 1;
} else {
ecused--;
--
cgit v1.2.3