* PATCH: 3.1.5-pws-8++: set -x for ((...)), functions
@ 1999-02-19 17:20 Peter Stephenson
0 siblings, 0 replies; only message in thread
From: Peter Stephenson @ 1999-02-19 17:20 UTC (permalink / raw)
To: Zsh hackers list
Here is more set -x stuff for two more common cases, namely function calls
and ((...)) evaluations. Also, I was reminded about prompt4 since the last
patch.
--- Src/exec.c.xtr2 Tue Feb 16 18:15:15 1999
+++ Src/exec.c Fri Feb 19 18:12:36 1999
@@ -2529,7 +2529,7 @@
{
int stat;
if (isset(XTRACE)) {
- fprintf(stderr, "+ [[");
+ fprintf(stderr, "%s[[", prompt4 ? prompt4 : "");
tracingcond++;
}
stat = !evalcond(cmd->u.cond);
@@ -2550,8 +2550,17 @@
char *e;
long val = 0;
- while ((e = (char *) ugetnode(cmd->args)))
+ if (isset(XTRACE))
+ fprintf(stderr, "%s((", prompt4 ? prompt4 : "");
+ while ((e = (char *) ugetnode(cmd->args))) {
+ if (isset(XTRACE))
+ fprintf(stderr, " %s", e);
val = matheval(e);
+ }
+ if (isset(XTRACE)) {
+ fprintf(stderr, " ))\n", stderr);
+ fflush(stderr);
+ }
errflag = 0;
return !val;
}
@@ -2624,6 +2633,18 @@
last_file_list = jobtab[thisjob].filelist;
jobtab[thisjob].filelist = NULL;
deletejob(jobtab + thisjob);
+ }
+
+ if (isset(XTRACE)) {
+ LinkNode lptr;
+ fprintf(stderr, "%s", prompt4 ? prompt4 : prompt4);
+ for (lptr = firstnode(cmd->args); lptr; incnode(lptr)) {
+ if (lptr != firstnode(cmd->args))
+ fputc(' ', stderr);
+ fprintf(stderr, "%s", (char *)getdata(lptr));
+ }
+ fputc('\n', stderr);
+ fflush(stderr);
}
doshfunc(shf->nam, shf->funcdef, cmd->args, shf->flags, 0);
--
Peter Stephenson <pws@ibmth.df.unipi.it> Tel: +39 050 844536
WWW: http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1999-02-20 13:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-02-19 17:20 PATCH: 3.1.5-pws-8++: set -x for ((...)), functions Peter Stephenson
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).