From: Frank Terbeck <ft@bewatermyfriend.org>
To: zsh-workers@zsh.org
Cc: richih.mailinglist@gmail.com, ft@bewatermyfriend.org
Subject: PATCH: PATCH: Add `sourcetrace' option
Date: Sat, 23 Jan 2010 22:53:21 +0100 [thread overview]
Message-ID: <1264283601-27005-1-git-send-email-ft@bewatermyfriend.org> (raw)
In-Reply-To: <2d460de71001231216x76bd0320y2bd29c31c685ca26@mail.gmail.com>
Peter wrote:
> Is there a way to list the files that the shell has read on startup?
With this patch, you can invoke zsh like this:
% zsh -o sourcetrace
to make zsh tell you which files it sources right before it does. That
would catch all the files, that are read upon startup, too.
Richard Hartmann <richih.mailinglist@gmail.com> wrote:
> Frank Terbeck <ft@bewatermyfriend.org> wrote:
>> +If set, when sourcing a file zsh will print a message about which file
>> +it is about to source.
>
> Suggestion for alternative wording:
>
> If set, zsh will print a debug message for each file it is about to source.
I agree. My initial wording wasn't well thought out. But I'm not
entirely happy with this suggestion either. For one thing, the messages
are not strictly for `debugging' (although that may be a valid use
case), they are merely informational.
Here's an updated patch. I'm happy with the way the documentation reads
now.
Regards, Frank
---
Doc/Zsh/options.yo | 10 ++++++++++
Src/init.c | 5 +++++
Src/options.c | 1 +
Src/zsh.h | 1 +
4 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo
index 8c11c82..4f57e23 100644
--- a/Doc/Zsh/options.yo
+++ b/Doc/Zsh/options.yo
@@ -1584,6 +1584,16 @@ Sequences of digits indicating a numeric base such as the `tt(08)'
component in `tt(08#77)' are always interpreted as decimal, regardless
of leading zeroes.
)
+pindex(SOURCE_TRACE)
+pindex(NO_SOURCE_TRACE)
+pindex(SOURCETRACE)
+pindex(NOSOURCETRACE)
+item(tt(SOURCE_TRACE))(
+If set, zsh will print an informational message announcing the name of
+each file loads. A file may be loaded by the shell itself when it
+starts up and shuts down (tt(Startup/Shutdown Files)) or by the use of
+the `tt(source)' and `tt(dot)' builtin commands.
+)
pindex(TYPESET_SILENT)
pindex(NO_TYPESET_SILENT)
pindex(TYPESETSILENT)
diff --git a/Src/init.c b/Src/init.c
index 123e20e..c59d632 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -1102,6 +1102,11 @@ source(char *s)
return SOURCE_NOT_FOUND;
}
+ if (isset(SOURCETRACE)) {
+ fprintf(stderr, "sourcetrace> \"%s\"\n", s);
+ fflush(stderr);
+ }
+
/* save the current shell state */
fd = SHIN; /* store the shell input fd */
obshin = bshin; /* store file handle for buffered shell input */
diff --git a/Src/options.c b/Src/options.c
index a5f299e..7055466 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 060f8a6..f2bab06 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1999,6 +1999,7 @@ enum {
SHWORDSPLIT,
SINGLECOMMAND,
SINGLELINEZLE,
+ SOURCETRACE,
SUNKEYBOARDHACK,
TRANSIENTRPROMPT,
TRAPSASYNC,
--
1.6.6.rc1.31.g1a56b
next prev parent reply other threads:[~2010-01-23 21:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4B582F3C.2010709@mycircuit.org>
[not found] ` <100121080540.ZM21444@torch.brasslantern.com>
[not found] ` <4B58AB3A.7050300@mycircuit.org>
2010-01-23 10:18 ` Frank Terbeck
2010-01-23 15:46 ` Baptiste Daroussin
2010-01-23 20:16 ` Richard Hartmann
2010-01-23 21:53 ` Frank Terbeck [this message]
2010-01-23 22:07 ` PATCH: " Benjamin R. Haskell
2010-01-23 22:23 ` Frank Terbeck
2010-01-23 23:46 ` Bart Schaefer
2010-01-24 0:10 ` Frank Terbeck
2010-01-24 0:18 ` Frank Terbeck
2010-01-24 21:12 ` Peter Stephenson
2010-01-24 22:27 ` Frank Terbeck
2010-01-23 22:14 ` PATCH: " Frank Terbeck
2010-01-23 23:44 ` Bart Schaefer
2010-01-24 0:05 ` Frank Terbeck
2010-01-24 9:21 ` Peter
[not found] ` <m3fx5y2le2.fsf@klanderman.net>
[not found] ` <87hbqdu9xs.fsf@ft.bewatermyfriend.org>
[not found] ` <4B5A26BA.5080307@mycircuit.org>
[not found] ` <87fx5x6918.fsf@ft.bewatermyfriend.org>
[not found] ` <4B5ABB0D.9010504@mycircuit.org>
[not found] ` <14989d6e1001230228k22e32200s10db146bd8596dc2@mail.gmail.com>
2010-01-23 12:03 ` what is the effect of a percentage sign (%) as last character on the command line Peter
[not found] ` <2d3b879b1001211336m5b78982au96f267ea472af43d@mail.gmail.com>
[not found] ` <4B58D35D.1050208@mycircuit.org>
[not found] ` <100121182713.ZM21821@torch.brasslantern.com>
[not found] ` <4B597061.10701@mycircuit.org>
[not found] ` <100123155239.ZM27228@torch.brasslantern.com>
2010-01-24 9:51 ` Peter
2010-01-24 10:58 ` Frank Terbeck
2010-01-24 14:50 ` Peter
2010-01-26 7:52 ` Peter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1264283601-27005-1-git-send-email-ft@bewatermyfriend.org \
--to=ft@bewatermyfriend.org \
--cc=richih.mailinglist@gmail.com \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).