summaryrefslogtreecommitdiff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/exec.c4
-rw-r--r--Src/loop.c12
2 files changed, 7 insertions, 9 deletions
diff --git a/Src/exec.c b/Src/exec.c
index ce0c1f1ad..b0f42ae67 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -451,7 +451,7 @@ execcursh(Estate state, int do_exec)
cmdpop();
state->pc = end;
- this_noerrexit = (WC_SUBLIST_TYPE(*end) != WC_SUBLIST_END);
+ this_noerrexit = 1;
return lastval;
}
@@ -1442,8 +1442,6 @@ execlist(Estate state, int dont_change_job, int exiting)
execsimple(state);
else
execpline(state, code, ltype, (ltype & Z_END) && exiting);
- if (!locallevel || unset(ERRRETURN))
- this_noerrexit = noerrexit;
state->pc = next;
goto sublist_done;
break;
diff --git a/Src/loop.c b/Src/loop.c
index be5261369..db5b3e097 100644
--- a/Src/loop.c
+++ b/Src/loop.c
@@ -208,7 +208,7 @@ execfor(Estate state, int do_exec)
loops--;
simple_pline = old_simple_pline;
state->pc = end;
- this_noerrexit = (WC_SUBLIST_TYPE(*end) != WC_SUBLIST_END);
+ this_noerrexit = 1;
return lastval;
}
@@ -336,7 +336,7 @@ execselect(Estate state, UNUSED(int do_exec))
loops--;
simple_pline = old_simple_pline;
state->pc = end;
- this_noerrexit = (WC_SUBLIST_TYPE(*end) != WC_SUBLIST_END);
+ this_noerrexit = 1;
return lastval;
}
@@ -478,7 +478,7 @@ execwhile(Estate state, UNUSED(int do_exec))
popheap();
loops--;
state->pc = end;
- this_noerrexit = (WC_SUBLIST_TYPE(*end) != WC_SUBLIST_END);
+ this_noerrexit = 1;
return lastval;
}
@@ -532,7 +532,7 @@ execrepeat(Estate state, UNUSED(int do_exec))
loops--;
simple_pline = old_simple_pline;
state->pc = end;
- this_noerrexit = (WC_SUBLIST_TYPE(*end) != WC_SUBLIST_END);
+ this_noerrexit = 1;
return lastval;
}
@@ -587,7 +587,7 @@ execif(Estate state, int do_exec)
lastval = 0;
}
state->pc = end;
- this_noerrexit = (WC_SUBLIST_TYPE(*end) != WC_SUBLIST_END);
+ this_noerrexit = 1;
return lastval;
}
@@ -701,7 +701,7 @@ execcase(Estate state, int do_exec)
if (!anypatok)
lastval = 0;
- this_noerrexit = (WC_SUBLIST_TYPE(*end) != WC_SUBLIST_END);
+ this_noerrexit = 1;
return lastval;
}