Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: a way to get the value of the -c option
On Thu, 3 Dec 2015 14:36:26 +0100
Vincent Lefevre <vincent@xxxxxxxxxx> wrote:
> This doesn't work. The reason is:
>
> /* Miscellaneous initializations that happen after init scripts are run */
> ^^^^^
>
> while I need it for the .zshenv init script.
So you probably need something like this.
diff --git a/Doc/Zsh/params.yo b/Doc/Zsh/params.yo
index 21bb874..8ef5485 100644
--- a/Doc/Zsh/params.yo
+++ b/Doc/Zsh/params.yo
@@ -933,6 +933,11 @@ tt(zsh/zutil) module.
)
enditem()
)
+vindex(ZSH_CMD_ARG)
+item(tt(ZSH_CMD_ARG))(
+If the shell was started with the option tt(-c), this contains
+the argument passed to the option. Otherwise it is not set.
+)
vindex(ZSH_NAME)
item(tt(ZSH_NAME))(
Expands to the basename of the command used to invoke this instance
diff --git a/Src/init.c b/Src/init.c
index dcce1d7..ad8a68b 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -1086,6 +1086,9 @@ setupvals(void)
/* Colour sequences for outputting colours in prompts and zle */
set_default_colour_sequences();
+
+ if (cmd)
+ setsparam("ZSH_CMD_ARG", ztrdup(cmd));
}
/*
Messages sorted by:
Reverse Date,
Date,
Thread,
Author