freebsd-skq/bin
Jilles Tjoelker 8cf06f5eee sh: Fix various things about expansions:
* remove the backslash from \} inside double quotes inside +-=?
  substitutions, e.g. "${$+\}a}"
* maintain separate double-quote state for ${v#...} and ${v%...};
  single and double quotes are special inside, even in a double-quoted
  string or here document
* keep track of correct order of substitutions and arithmetic

This is different from dash's approach, which does not track individual
double quotes in the parser, trying to fix this up during expansion.
This treats single quotes inside "${v#...}" incorrectly, however.

This is similar to NetBSD's approach (as submitted in PR bin/57554), but
recognizes the difference between +-=? and #% substitutions hinted at in
POSIX and is more refined for arithmetic expansion and here documents.

PR:		bin/57554
Exp-run done by:	erwin (with some other sh(1) changes)
2010-04-03 20:55:56 +00:00
..
cat Removed redundant WARNS setting. 2009-10-15 18:17:29 +00:00
chflags Staticify internal routines. 2009-06-23 23:30:56 +00:00
chio When running a "chio return" operation using a physical source unit 2008-10-30 19:51:02 +00:00
chmod - Don't include both <sys/types.h> and <sys/param.h> 2009-09-02 05:26:59 +00:00
cp Change all our own code to use st_*tim instead of st_*timespec. 2010-03-28 13:16:08 +00:00
csh Let csh(1) use utmpx instead of utmp. 2010-01-13 17:49:35 +00:00
date Remove stale references to utmp(5) and its corresponding filenames. 2010-01-21 17:25:12 +00:00
dd Bump .Dd for r187609 2009-01-30 16:23:57 +00:00
df Staticify internal routines. 2009-06-23 23:30:56 +00:00
domainname Use a standard section name. 2006-12-18 15:45:01 +00:00
echo Mark functions as __dead2 in order to help the LLVM static checker 2008-08-04 01:25:48 +00:00
ed ed(1): make WARNS=6 clean 2010-03-04 16:08:01 +00:00
expr Fix markup. 2007-03-04 19:52:07 +00:00
getfacl Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
hostname Staticify internal routines. 2009-06-23 23:30:56 +00:00
kenv Add missing `void' for function without arguments. 2009-12-29 08:45:07 +00:00
kill Do not restrict the allowed signals that can be specified by number 2010-02-25 13:53:09 +00:00
ln Allow creating hard links to symlinks using ln(1). 2009-07-19 17:35:23 +00:00
ls Change all our own code to use st_*tim instead of st_*timespec. 2010-03-28 13:16:08 +00:00
mkdir More markup fixes. 2006-12-27 11:28:00 +00:00
mv Add NFSv4 ACL support to mv(1). 2009-09-04 21:49:37 +00:00
pax Merge OpenBSD revisions 1.4 through 1.9, mostly style cleanups. 2010-03-30 23:14:35 +00:00
pkill The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 07:20:46 +00:00
ps o) Add a keyword to displaying elapsed time in integer seconds, "etimes". 2010-03-17 22:57:58 +00:00
pwait Add pwait utility, which waits for any process to terminate. 2009-11-17 22:47:20 +00:00
pwd Sync program's usage() with manpage's SYNOPSIS. 2005-02-09 17:37:39 +00:00
rcp Change all our own code to use st_*tim instead of st_*timespec. 2010-03-28 13:16:08 +00:00
realpath Enhance realpath(1) in a number of ways: 2008-03-09 12:46:39 +00:00
rm rm, find -delete: fix removing symlinks with uchg/uappnd set. 2009-05-30 10:42:19 +00:00
rmail Bump WARNS where possible. 2010-02-15 14:07:40 +00:00
rmdir Fix markup. 2006-12-27 12:14:56 +00:00
setfacl Switch to our preferred license text. 2010-03-07 07:59:05 +00:00
sh sh: Fix various things about expansions: 2010-04-03 20:55:56 +00:00
sleep Fix a comment. 2005-08-07 09:11:38 +00:00
stty Make stty(1) use tab0 and tab3 to handle tab completion. 2008-08-23 13:28:55 +00:00
sync /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
test Change all our own code to use st_*tim instead of st_*timespec. 2010-03-28 13:16:08 +00:00
uuidgen Removed redundant WARNS setting. 2009-10-15 18:17:29 +00:00
Makefile Add pwait utility, which waits for any process to terminate. 2009-11-17 22:47:20 +00:00
Makefile.inc Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00