summaryrefslogtreecommitdiff
path: root/builtins/jobs.def
diff options
context:
space:
mode:
Diffstat (limited to 'builtins/jobs.def')
-rw-r--r--builtins/jobs.def30
1 files changed, 13 insertions, 17 deletions
diff --git a/builtins/jobs.def b/builtins/jobs.def
index 54f50ca3..76d1957f 100644
--- a/builtins/jobs.def
+++ b/builtins/jobs.def
@@ -1,7 +1,7 @@
This file is jobs.def, from which is created jobs.c.
It implements the builtins "jobs" and "disown" in Bash.
-Copyright (C) 1987-2002 Free Software Foundation, Inc.
+Copyright (C) 1987-2004 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -46,6 +46,7 @@ $END
#endif
#include "../bashansi.h"
+#include "../bashintl.h"
#include "../shell.h"
#include "../jobs.h"
@@ -74,9 +75,6 @@ jobs_builtin (list)
int form, execute, state, opt, any_failed, job;
sigset_t set, oset;
- if (job_control == 0 && interactive_shell == 0)
- return (EXECUTION_SUCCESS);
-
execute = any_failed = 0;
form = JLIST_STANDARD;
state = JSTATE_ANY;
@@ -98,7 +96,7 @@ jobs_builtin (list)
case 'x':
if (form != JLIST_STANDARD)
{
- builtin_error ("no other options allowed with `-x'");
+ builtin_error (_("no other options allowed with `-x'"));
return (EXECUTION_FAILURE);
}
execute++;
@@ -163,6 +161,7 @@ execute_list_with_replacements (list)
{
register WORD_LIST *l;
int job, result;
+ COMMAND *command;
/* First do the replacement of job specifications with pids. */
for (l = list; l; l = l->next)
@@ -182,21 +181,18 @@ execute_list_with_replacements (list)
/* Next make a new simple command and execute it. */
begin_unwind_frame ("jobs_builtin");
- {
- COMMAND *command = (COMMAND *)NULL;
-
- add_unwind_protect (dispose_command, command);
- command = make_bare_simple_command ();
- command->value.Simple->words = copy_word_list (list);
- command->value.Simple->redirects = (REDIRECT *)NULL;
- command->flags |= CMD_INHIBIT_EXPANSION;
- command->value.Simple->flags |= CMD_INHIBIT_EXPANSION;
+ command = make_bare_simple_command ();
+ command->value.Simple->words = copy_word_list (list);
+ command->value.Simple->redirects = (REDIRECT *)NULL;
+ command->flags |= CMD_INHIBIT_EXPANSION;
+ command->value.Simple->flags |= CMD_INHIBIT_EXPANSION;
- result = execute_command (command);
- }
+ add_unwind_protect (dispose_command, command);
+ result = execute_command (command);
+ dispose_command (command);
- run_unwind_frame ("jobs_builtin");
+ discard_unwind_frame ("jobs_builtin");
return (result);
}
#endif /* JOB_CONTROL */