On 6/9/14, 8:51 PM, Dale R. Worley wrote:
> Configuration Information [Automatically generated, do not change]:
> Machine: x86_64
> OS: linux-gnu
> Compiler: gcc
> Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64'
> -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-unknown-linux-gnu'
> -DCONF_VENDOR='unknown' -DLOCALEDIR='/usr/local/share/locale'
> -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -g
> -O2
> uname output: Linux hobgoblin.ariadne.com 3.14.4-100.fc19.x86_64 #1 SMP Tue
> May 13 15:00:26 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
> Machine Type: x86_64-unknown-linux-gnu
>
> Bash Version: 4.3
> Patch Level: 0
> Release Status: release
>
> Description:
>
> It appears that the reserved word 'time' is not recognized as such if
> it is the first word of the command following 'if'. Instead,
> /usr/bin/time is executed, producing different output.
Thanks for the report. There are several places where `time' should be
recognized as a reserved word where it currently is not. Please try the
attached patch and verify that it does what you want.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/
*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400
--- parse.y 2014-06-11 10:25:53.000000000 -0400
***************
*** 2789,2797 ****
case OR_OR:
case '&':
case DO:
case THEN:
case ELSE:
case '{': /* } */
! case '(': /* ) */
case BANG: /* ! time pipeline */
case TIME: /* time time pipeline */
--- 2789,2802 ----
case OR_OR:
case '&':
+ case WHILE:
case DO:
+ case UNTIL:
+ case IF:
case THEN:
+ case ELIF:
case ELSE:
case '{': /* } */
! case '(': /* )( */
! case ')': /* only valid in case statement */
case BANG: /* ! time pipeline */
case TIME: /* time time pipeline */