Christian Weisgerber wrote: > Chet Ramey: > >> Christian Weisgerber wrote: >>> Even in the latest bash, 4.0.33, $() parsing is still broken: >>> >>> $ bash -c 'echo $(echo \|)' >>> bash: -c: line 0: unexpected EOF while looking for matching `)' >>> bash: -c: line 1: syntax error: unexpected end of file >>> >>> And yes, this is bash built with GNU bison, not Berkeley yacc. >> The rest of the information from bashbug would help, since I can't >> reproduce it: > > ---------------> > Machine: amd64 > OS: freebsd7.2 > Compiler: cc > Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='amd64' > -DCONF_OSTYPE='fre > ebsd7.2' -DCONF_MACHTYPE='amd64-portbld-freebsd7.2' -DCONF_VENDOR='portbld' > -DLO > CALEDIR='/usr/local/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H > -I > . -I. -I./include -I./lib -I/usr/local/include -O2 -fno-strict-aliasing > -pipe > uname output: FreeBSD lorvorc.mips.inka.de 7.2-STABLE FreeBSD 7.2-STABLE #0: > Sun > Sep 13 14:00:52 CEST 2009 > na...@lorvorc.mips.inka.de:/usr/obj/usr/src/sys/G > ENERIC amd64 > Machine Type: amd64-portbld-freebsd7.2 > > Bash Version: 4.0 > Patch Level: 33 > Release Status: release > <---------------
I suppose the only real variable is the revision of bison: $ bison --version bison (GNU Bison) 1.875 Written by Robert Corbett and Richard Stallman. Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. nike.ins.cwru.edu(2)$ ./bash --version GNU bash, version 4.0.33(2)-release (i386-unknown-freebsd7.0) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. nike.ins.cwru.edu(2)$ uname -a FreeBSD nike.ins.cwru.edu 7.0-STABLE FreeBSD 7.0-STABLE #0: Thu Mar 27 11:28:49 EST 2008 root@:/usr/obj/usr/src/sys/GENERIC i386 nike.ins.cwru.edu(2)$ ./bash -c 'echo $(echo \|)' | Chet -- ``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/