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