diff options
| author | dana <dana@dana.is> | 2026-05-30 19:56:30 -0500 |
|---|---|---|
| committer | dana <dana@dana.is> | 2026-06-01 19:00:21 -0500 |
| commit | 48fa360ea48f08bb4944549bcf6df31149329383 (patch) | |
| tree | 6284b12446e95f15d3bd0e3c068cac4a8b2e6e10 /Src | |
| parent | 49374: Show patchlevel in version string (diff) | |
| download | zsh-48fa360ea48f08bb4944549bcf6df31149329383.tar zsh-48fa360ea48f08bb4944549bcf6df31149329383.tar.gz zsh-48fa360ea48f08bb4944549bcf6df31149329383.tar.bz2 zsh-48fa360ea48f08bb4944549bcf6df31149329383.tar.lz zsh-48fa360ea48f08bb4944549bcf6df31149329383.tar.xz zsh-48fa360ea48f08bb4944549bcf6df31149329383.tar.zst zsh-48fa360ea48f08bb4944549bcf6df31149329383.zip | |
54644: init: add patchlevel to --version output
Diffstat (limited to 'Src')
| -rw-r--r-- | Src/init.c | 25 | ||||
| -rw-r--r-- | Src/zsh.mdd | 2 |
2 files changed, 18 insertions, 9 deletions
diff --git a/Src/init.c b/Src/init.c index d46fa75b6..89a7ff714 100644 --- a/Src/init.c +++ b/Src/init.c @@ -35,6 +35,14 @@ #include "init.pro" #include "version.h" +#ifdef CUSTOM_PATCHLEVEL +#define ZSH_PATCHLEVEL CUSTOM_PATCHLEVEL +#else +#include "patchlevel.h" +#ifndef ZSH_PATCHLEVEL +#define ZSH_PATCHLEVEL "unknown" +#endif +#endif #if defined(HAVE_SYS_SYSCTL_H) && !defined(__linux) #include <sys/sysctl.h> @@ -435,14 +443,15 @@ parseopts(char *nam, char ***argvp, char *new_opts, char **cmdp, /* GNU-style long options */ ++*argv; if (!strcmp(*argv, "version")) { -#ifdef CUSTOM_PATCHLEVEL - printf("zsh %s (%s-%s-%s/%s)\n", - ZSH_VERSION, MACHTYPE, VENDOR, OSTYPE, CUSTOM_PATCHLEVEL); -#else - printf("zsh %s (%s-%s-%s)\n", - ZSH_VERSION, MACHTYPE, VENDOR, OSTYPE); -#endif - + // omit patchlevel for a tagged release, which looks like: + // zsh-x.y.z-0-gabcdef + static const char *pfx = "zsh-" ZSH_VERSION "-0-"; + if (strncmp(ZSH_PATCHLEVEL, pfx, strlen(pfx))) + printf("zsh %s [%s] (%s-%s-%s)\n", + ZSH_VERSION, ZSH_PATCHLEVEL, MACHTYPE, VENDOR, OSTYPE); + else + printf("zsh %s (%s-%s-%s)\n", + ZSH_VERSION, MACHTYPE, VENDOR, OSTYPE); LAST_OPTION(0); } if (!strcmp(*argv, "help")) { diff --git a/Src/zsh.mdd b/Src/zsh.mdd index da8d58322..9a5e9daab 100644 --- a/Src/zsh.mdd +++ b/Src/zsh.mdd @@ -41,7 +41,7 @@ signames.c: signames1.awk signames2.awk ../config.h @SIGNAL_H@ sigcount.h: signames.c grep 'define.*SIGCOUNT' signames.c > $@ -init.o: bltinmods.list zshpaths.h zshxmods.h +init.o: bltinmods.list zshpaths.h zshxmods.h patchlevel.h init.o params.o parse.o: version.h |
