summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Doc/Zsh/params.yo10
-rw-r--r--Src/params.c2
-rw-r--r--Src/zsh.mdd9
4 files changed, 23 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4c419762b..1ff9da365 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2009-01-09 Peter Stephenson <p.w.stephenson@ntlworld.com>
+ * 26272: Doc/Zsh/params.yo, Src/params.c, Src/zsh.mdd,
+
* unposted: add RCS Revision tag for use in patchlevel
recording.
@@ -10874,5 +10876,5 @@
*****************************************************
* This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4497 $
+* $Revision: 1.4498 $
*****************************************************
diff --git a/Doc/Zsh/params.yo b/Doc/Zsh/params.yo
index bc8a79450..79db4c613 100644
--- a/Doc/Zsh/params.yo
+++ b/Doc/Zsh/params.yo
@@ -727,6 +727,14 @@ item(tt(ZSH_NAME))(
Expands to the basename of the command used to invoke this instance
of zsh.
)
+vindex(ZSH_PATCHLEVEL)
+item(tt(ZSH_PATCHLEVEL))(
+The revision string for the version number of the ChangeLog file
+in the zsh distribution. This is most useful in order to keep
+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).
+)
item(tt(zsh_scheduled_events))(
See ifzman(the section `The zsh/sched Module' in zmanref(zshmodules))\
ifnzman(noderef(The zsh/sched Module)).
@@ -740,7 +748,7 @@ and `tt(print $(print $ZSH_SUBSHELL))' output 1, while
)
vindex(ZSH_VERSION)
item(tt(ZSH_VERSION))(
-The version number of this zsh.
+The version number of the release of zsh.
)
enditem()
texinode(Parameters Used By The Shell)()(Parameters Set By The Shell)(Parameters)
diff --git a/Src/params.c b/Src/params.c
index 1a826bff4..89ab76bbf 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -31,6 +31,7 @@
#include "params.pro"
#include "version.h"
+#include "patchlevel.h"
/* what level of localness we are at */
@@ -748,6 +749,7 @@ createparamtable(void)
setsparam("VENDOR", ztrdup(VENDOR));
setsparam("ZSH_NAME", ztrdup(zsh_name));
setsparam("ZSH_VERSION", ztrdup(ZSH_VERSION));
+ setsparam("ZSH_PATCHLEVEL", ztrdup(ZSH_PATCHLEVEL));
setaparam("signals", sigptr = zalloc((SIGCOUNT+4) * sizeof(char *)));
for (t = sigs; (*sigptr++ = ztrdup(*t++)); );
diff --git a/Src/zsh.mdd b/Src/zsh.mdd
index 1cba4b9dc..0d80b9259 100644
--- a/Src/zsh.mdd
+++ b/Src/zsh.mdd
@@ -33,12 +33,21 @@ init.o: bltinmods.list zshpaths.h zshxmods.h
init.o params.o parse.o: version.h
+params.o: patchlevel.h
+
# The main shell doesn't currently need zshcurses.h and zshterm.h,
# but make sure these are built with the headers.
# If it did need need them they would be in headers at the top instead.
version.h: $(sdir_top)/Config/version.mk zshcurses.h zshterm.h
echo '#define ZSH_VERSION "'$(VERSION)'"' > $@
+patchlevel.h: $(sdir_top)/ChangeLog
+ { \
+ echo -n "#define ZSH_PATCHLEVEL "; \
+ sed -ne 's/^\* *\$$Revision: 1.19 $$/"\1"/p' \
+ $(sdir_top)/ChangeLog; \
+ } >patchlevel.h
+
zshcurses.h: ../config.h
@if test x$(ZSH_CURSES_H) != x; then \
echo "#include <$(ZSH_CURSES_H)>" >zshcurses.h; \