about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2010-01-27 19:24:22 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2010-01-27 19:24:22 +0000
commit06b7029aa8c06310135734c646ba795772f973bb (patch)
tree6c3bb2514acb0950010a8bb350ac9634792d8096 /Src
parentb49746d827349233da6a5365b46ef9a0454c3cea (diff)
downloadzsh-06b7029aa8c06310135734c646ba795772f973bb.tar.gz
zsh-06b7029aa8c06310135734c646ba795772f973bb.tar.xz
zsh-06b7029aa8c06310135734c646ba795772f973bb.zip
27638, based on Frank Terbeck, 27633: SOURCETRACE option
Diffstat (limited to 'Src')
-rw-r--r--Src/init.c5
-rw-r--r--Src/options.c1
-rw-r--r--Src/zsh.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/Src/init.c b/Src/init.c
index 123e20e85..812cd8409 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -1126,6 +1126,11 @@ source(char *s)
     scriptname = s;
     scriptfilename = s;
 
+    if (isset(SOURCETRACE)) {
+	printprompt4();
+	fprintf(xtrerr ? xtrerr : stderr, "<sourcetrace>\n");
+    }
+
     /*
      * The special return behaviour of traps shouldn't
      * trigger in files sourced from traps; the return
diff --git a/Src/options.c b/Src/options.c
index a5f299e49..705546699 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -233,6 +233,7 @@ static struct optname optns[] = {
 {{NULL, "shwordsplit",	      OPT_EMULATE|OPT_BOURNE},	 SHWORDSPLIT},
 {{NULL, "singlecommand",      OPT_SPECIAL},		 SINGLECOMMAND},
 {{NULL, "singlelinezle",      OPT_KSH},			 SINGLELINEZLE},
+{{NULL, "sourcetrace",        0},			 SOURCETRACE},
 {{NULL, "sunkeyboardhack",    0},			 SUNKEYBOARDHACK},
 {{NULL, "transientrprompt",   0},			 TRANSIENTRPROMPT},
 {{NULL, "trapsasync",	      0},			 TRAPSASYNC},
diff --git a/Src/zsh.h b/Src/zsh.h
index 060f8a6d4..f2bab06fd 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1999,6 +1999,7 @@ enum {
     SHWORDSPLIT,
     SINGLECOMMAND,
     SINGLELINEZLE,
+    SOURCETRACE,
     SUNKEYBOARDHACK,
     TRANSIENTRPROMPT,
     TRAPSASYNC,