freebsd-dev/bin/sh
Jilles Tjoelker 3055b7c6ff Properly flush input after an error in backquotes in interactive mode.
For parsing an old-style backquote substitution (`...`),
a string "file" is used to store the contents of the
substitution (with the special backslash processing done).
If an error occurs, the shell cleans up all these files
(returning to the top level) and flush the top level
file. Erroneously, it first flushed the current file and
then cleaned up all extra files, so that the top level
file (i.e. the terminal) was not flushed.

Example (in interactive mode):
  echo `for` echo This should not be printed

Also noticeable in (in interactive mode):
  echo `(`
The old version prints an extraneous prompt.

Approved by:	ed (mentor)
2009-06-17 21:58:32 +00:00
..
bltin Declare echocmd() and testcmd(). 2005-08-13 15:04:30 +00:00
funcs /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
alias.c be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
alias.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
arith_lex.l cvs -d stefanf@ncvs.FreeBSD.org:/home/ncvs 2005-08-13 07:54:23 +00:00
arith.h - Fix bugs where the value of arithmetic expansion$((...)) was trucated 2008-04-27 20:46:45 +00:00
arith.y - Fix bugs where the value of arithmetic expansion$((...)) was trucated 2008-04-27 20:46:45 +00:00
builtins.def Use -s to flag POSIX's "special built-in" utilities in builtins.def. Add a 2006-04-02 18:43:33 +00:00
cd.c Split updatepwd() into two smaller functions. The first one, findpwd(), 2008-02-24 16:50:55 +00:00
cd.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
error.c Remove some white space at EOL. 2006-02-04 14:37:50 +00:00
error.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
eval.c Avoid leaving unnecessary waiting shells in many forms of sh -c COMMAND. 2009-06-13 21:17:45 +00:00
eval.h Avoid leaving unnecessary waiting shells in many forms of sh -c COMMAND. 2009-06-13 21:17:45 +00:00
exec.c align coding style with style(9) to avoid misunderstandings 2009-06-01 11:11:46 +00:00
exec.h Implement some of the differences between special built-ins and other builtins 2006-04-09 12:21:20 +00:00
expand.c Expand $LINENO to the current line number. This is required by SUSv3's "User 2008-05-15 19:55:27 +00:00
expand.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
histedit.c Fix the eval command in combination with set -e. Before this change the shell 2009-05-31 12:36:14 +00:00
init.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
input.c Properly flush input after an error in backquotes in interactive mode. 2009-06-17 21:58:32 +00:00
input.h Avoid leaving unnecessary waiting shells in many forms of sh -c COMMAND. 2009-06-13 21:17:45 +00:00
jobs.c Add the POSIX option -p to the jobs builtin command. It prints the PID of the 2006-10-07 16:51:16 +00:00
jobs.h Add the POSIX option -p to the jobs builtin command. It prints the PID of the 2006-10-07 16:51:16 +00:00
mail.c Include missing headers. 2005-08-13 08:26:58 +00:00
mail.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
main.c Avoid leaving unnecessary waiting shells in many forms of sh -c COMMAND. 2009-06-13 21:17:45 +00:00
main.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
Makefile Reduce the WARNS level to avoid a compiler warning about a variable 2007-11-18 01:53:07 +00:00
memalloc.c be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
memalloc.h be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
miscbltin.c sh: Make read's timeout (-t) apply to the entire line, not only the first 2009-05-31 19:37:06 +00:00
mkbuiltins Use -s to flag POSIX's "special built-in" utilities in builtins.def. Add a 2006-04-02 18:43:33 +00:00
mkinit.c be more type correct and align local ckmalloc() with its underlying malloc(3) by using a "size_t" instead of an "int" argument 2009-06-01 10:50:17 +00:00
mknodes.c Mark functions as __dead2 in order to help the LLVM static checker 2008-08-04 01:25:48 +00:00
mksyntax.c use explicit 'unsigned int' instead of just the implicit-style 'unsigned' to make linting tools (e.g. FlexeLint) happy, too 2009-06-01 11:38:38 +00:00
mktokens /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
myhistedit.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
mystring.c Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
mystring.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
nodes.c.pat Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
nodetypes /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
options.c Fix a bug in r177497 which caused the getopts state to be reset when 'set' 2008-08-27 20:16:06 +00:00
options.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
output.c Print empty quotes ('') when an empty string is passed to outqstr(). 2005-12-08 21:00:39 +00:00
output.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
parser.c correctly test for __GNUC__ macro (non-GCC compilers do not have it defined at all) 2009-06-01 11:02:09 +00:00
parser.h Expand $LINENO to the current line number. This is required by SUSv3's "User 2008-05-15 19:55:27 +00:00
redir.c Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
redir.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
sh.1 Mention the range for the exit status for the exit special builtin. 2009-06-07 15:04:43 +00:00
shell.h - Fix bugs where the value of arithmetic expansion$((...)) was trucated 2008-04-27 20:46:45 +00:00
show.c Output something reasonable for regular and expanded here-documents. 2006-04-14 13:59:03 +00:00
show.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
TOUR Correct assorted grammos and typos. 2006-04-16 11:54:01 +00:00
trap.c Don't skip forking for an external command if any traps are active. 2009-06-13 21:10:41 +00:00
trap.h Don't skip forking for an external command if any traps are active. 2009-06-13 21:10:41 +00:00
var.c correctly test for __GNUC__ macro (non-GCC compilers do not have it defined at all) 2009-06-01 11:02:09 +00:00
var.h Implement the PS4 variable which is defined by the POSIX User Portability 2006-06-15 07:00:49 +00:00