From 1ab316c9b8bcf60db091ed0cabe3930a52a0d965 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 7 Feb 2016 21:01:08 +0000 Subject: 37895: $ZSH_SCRIPT is POSIX $0 but always availble --- Doc/Zsh/params.yo | 7 +++++++ Src/params.c | 1 + 2 files changed, 8 insertions(+) diff --git a/Doc/Zsh/params.yo b/Doc/Zsh/params.yo index 672209267..ae859ce6c 100644 --- a/Doc/Zsh/params.yo +++ b/Doc/Zsh/params.yo @@ -951,6 +951,13 @@ track of versions of the shell during development between releases; hence most users should not use it and should instead rely on tt($ZSH_VERSION). ) +vindex(ZSH_SCRIPT) +item(tt(ZSH_SCRIPT))( +If zsh was invoked to run a script, this is the name of the script. +Otherwise, it is the name used to invoke the current shell. This is +the same as the value of tt($0) when the tt(POSIX_ARGZERO) option is +set, but is always available. +) item(tt(zsh_scheduled_events))( See ifzman(the section `The zsh/sched Module' in zmanref(zshmodules))\ ifnzman(noderef(The zsh/sched Module)). diff --git a/Src/params.c b/Src/params.c index 76ed61c39..0233e2b00 100644 --- a/Src/params.c +++ b/Src/params.c @@ -813,6 +813,7 @@ createparamtable(void) setsparam("TTY", ztrdup_metafy(ttystrname)); setsparam("VENDOR", ztrdup_metafy(VENDOR)); setsparam("ZSH_NAME", ztrdup_metafy(zsh_name)); + setsparam("ZSH_SCRIPT", ztrdup(posixzero)); setsparam("ZSH_VERSION", ztrdup_metafy(ZSH_VERSION)); setsparam("ZSH_PATCHLEVEL", ztrdup_metafy(ZSH_PATCHLEVEL)); setaparam("signals", sigptr = zalloc((SIGCOUNT+4) * sizeof(char *))); -- cgit 1.4.1