Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: a way to get the value of the -c option



On 2015-12-03 12:45:54 +0000, Peter Stephenson wrote:
> 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..25c39b5 100644
> --- a/Src/init.c
> +++ b/Src/init.c
> @@ -1280,6 +1280,7 @@ init_misc(void)
>  	    fclose(bshin);
>  	SHIN = movefd(open("/dev/null", O_RDONLY | O_NOCTTY));
>  	bshin = fdopen(SHIN, "r");
> +	setsparam("ZSH_CMD_ARG", ztrdup(cmd));
>  	execstring(cmd, 0, 1, "cmdarg");
>  	stopmsg = 1;
>  	zexit(lastval, 0);

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.

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



Messages sorted by: Reverse Date, Date, Thread, Author