Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: time time
- X-seq: zsh-workers 11885
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: PATCH: time time
- Date: Wed, 14 Jun 2000 11:25:27 +0200 (MET DST)
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
[ sunsite sleeping again, great ]
Just found this on the Debian bug list...
Doing `time time' can be deadly. The problem is that it can't handle
time-in-a-time, but it still takes the second `time' as a special
token.
Dunno if this fix is correct, it makes the second `time' be taken as a
command name. At least it fixes the bug and trying to measure the
execution time of `time' without a command doesn't make sense
anyway. We could also make it report an error (bash does that, ksh
reports the times of `time' without arguments (hm) and the DU sh does
what zsh does with this patch -- measure execution times of the
external command `time').
Bye
Sven
Index: Src/parse.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/parse.c,v
retrieving revision 1.8
diff -u -r1.8 parse.c
--- Src/parse.c 2000/05/27 08:32:58 1.8
+++ Src/parse.c 2000/06/14 09:23:30
@@ -799,10 +799,6 @@
par_funcdef();
cmdpop();
break;
- case TIME:
- *complex = 1;
- par_time();
- break;
case DINBRACK:
cmdpush(CS_COND);
par_dinbrack();
@@ -813,6 +809,20 @@
ecstr(tokstr);
yylex();
break;
+ case TIME:
+ {
+ static int inpartime = 0;
+
+ if (!inpartime) {
+ *complex = 1;
+ inpartime = 1;
+ par_time();
+ inpartime = 0;
+ break;
+ }
+ }
+ tok = STRING;
+ /* fall through */
default:
{
int sr;
--
Sven Wischnowsky wischnow@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author