zsh-workers
 help / color / mirror / code / Atom feed
From: Peter <vmail@mycircuit.org>
To: zsh-workers@zsh.org
Subject: Re: PATCH: Add `sourcetrace' option
Date: Sun, 24 Jan 2010 10:21:33 +0100	[thread overview]
Message-ID: <4B5C111D.7010401@mycircuit.org> (raw)
In-Reply-To: <1264241882-29700-1-git-send-email-ft@bewatermyfriend.org>

On 01/23/2010 11:18 AM, Frank Terbeck wrote:
> 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.
>
> I don't know how much sense it would make to make this part of zsh in
> this or another form; but this was easy enough, so no time wasted.
>
> Regards, Frank
>
> ---
>   Doc/Zsh/options.yo |    8 ++++++++
>   Src/init.c         |    5 +++++
>   Src/options.c      |    1 +
>   Src/zsh.h          |    1 +
>   4 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo
> index 8c11c82..e19a58a 100644
> --- a/Doc/Zsh/options.yo
> +++ b/Doc/Zsh/options.yo
> @@ -1584,6 +1584,14 @@ 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, when sourcing a file zsh will print a message about which file
> +it is about to source.
> +)
>   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,
>    
Thanks a lot for the patch, this is exactly what I was looking for ...
Peter


  parent reply	other threads:[~2010-01-24  9:21 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         ` PATCH: " Frank Terbeck
2010-01-23 22:07           ` 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 [this message]
     [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=4B5C111D.7010401@mycircuit.org \
    --to=vmail@mycircuit.org \
    --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).