aboutsummaryrefslogtreecommitdiffstats
path: root/builtins/source.def
diff options
context:
space:
mode:
Diffstat (limited to 'builtins/source.def')
-rw-r--r--builtins/source.def7
1 files changed, 7 insertions, 0 deletions
diff --git a/builtins/source.def b/builtins/source.def
index 72627db..71908b8 100644
--- a/builtins/source.def
+++ b/builtins/source.def
@@ -80,6 +80,8 @@ extern int errno;
#endif /* !errno */
extern int posixly_correct;
+extern int last_command_exit_value;
+extern int executing_command_builtin;
static void maybe_pop_dollar_vars __P((void));
@@ -151,6 +153,11 @@ source_builtin (list)
if (source_searches_cwd == 0)
{
builtin_error (_("%s: file not found"), list->word->word);
+ if (posixly_correct && interactive_shell == 0 && executing_command_builtin == 0)
+ {
+ last_command_exit_value = 1;
+ jump_to_top_level (EXITPROG);
+ }
return (EXECUTION_FAILURE);
}
else