On 2/28/12 4:17 AM, lhun...@lyndir.com wrote: > Configuration Information [Automatically generated, do not change]: > Machine: i386 > OS: darwin11.2.0 > Compiler: /Developer/usr/bin/clang > Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i386' > -DCONF_OSTYPE='darwin11.2.0' -DCONF_MACHTYPE='i386-apple-darwin11.2.0' > -DCONF_VENDOR='apple' -DLOCALEDIR='/opt/local/share/locale' -DPACKAGE='bash' > -DSHELL -DHAVE_CONFIG_H -DMACOSX -I. -I. -I./include -I./lib > -I/opt/local/include -pipe -O2 -arch x86_64 > uname output: Darwin mbillemo.lin-k.net 11.3.0 Darwin Kernel Version 11.3.0: > Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64 > Machine Type: i386-apple-darwin11.2.0 > > Bash Version: 4.2 > Patch Level: 20 > Release Status: release > > Description: > The handling of backslash and quotes is completely inconsistent, > counter-intuitive and in violation of how the syntax works elsewhere in bash. > > ' appears to introduce a single-quoted context and \ appears to escape > special characters. That's good. > A substitution pattern of ' causes bash to be unable to find the closing > quote. That's good. > A substitution pattern of '' SHOULD equal an empty quoted string. The > result, however, is ''. That's NOT good. Suddenly the quotes are literal? > A substitution pattern of '$var' SHOULD disable expansion inside the > quotes. The result, however, is '[contents-of-var]'. That's NOT good. In > fact, it looks like quoting doesn't work here at all. > \\ is a disabled backslash, and the syntactical backslash is removed. > The result is \. That's good. > \' is a disabled single quote, but the syntactical backslash is NOT > removed. The result is \'. That's NOT good. > > It mostly looks like all the rules for handling quoting and escaping are > out the window and some random and utterly inconsistent set of rules is being > applied instead. > > Fix: > Change parsing of the substitution pattern so that it abides by all the > standard documented rules regarding quotes and escaping.
It would go better if you gave some examples of what you consider incorrect behavior. This description isn't helpful as it stands. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/