diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-12-14 17:24:53 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-12-14 17:24:53 +0100 |
commit | 502122565665674d914a1feeb15ac4a0bb0c8723 (patch) | |
tree | b1e3e7e4dd1278c9a1330494a2915f95b38532bb /src/version.h | |
parent | a6e8f888e7fc31b8ab7233509254fb2e2fe4089f (diff) | |
download | vim-git-502122565665674d914a1feeb15ac4a0bb0c8723.tar.gz |
patch 8.2.0005: duplication in version infov8.2.0005
Problem: Duplication in version info.
Solution: Use preprocessor string concatenation. (Ken Takata, closes #5357)
Diffstat (limited to 'src/version.h')
-rw-r--r-- | src/version.h | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/src/version.h b/src/version.h index bdd6a15c2..0a9ac4d8f 100644 --- a/src/version.h +++ b/src/version.h @@ -9,22 +9,30 @@ /* * Define the version number, name, etc. * The patchlevel is in included_patches[], in version.c. - * - * This doesn't use string concatenation, some compilers don't support it. */ -#define VIM_VERSION_MAJOR 8 -#define VIM_VERSION_MAJOR_STR "8" -#define VIM_VERSION_MINOR 2 -#define VIM_VERSION_MINOR_STR "2" -#define VIM_VERSION_100 (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR) +// Trick to turn a number into a string. +#define VIM_TOSTR_(a) #a +#define VIM_TOSTR(a) VIM_TOSTR_(a) -#define VIM_VERSION_BUILD 283 +// Values that change for a new release. +#define VIM_VERSION_MAJOR 8 +#define VIM_VERSION_MINOR 2 +#define VIM_VERSION_BUILD 283 #define VIM_VERSION_BUILD_BCD 0x11b -#define VIM_VERSION_BUILD_STR "283" -#define VIM_VERSION_PATCHLEVEL 0 -#define VIM_VERSION_PATCHLEVEL_STR "0" -// Used by MacOS port should be one of: development, alpha, beta, final +#define VIM_VERSION_DATE_ONLY "2019 Dec 12" + +// Values based on the above +#define VIM_VERSION_MAJOR_STR VIM_TOSTR(VIM_VERSION_MAJOR) +#define VIM_VERSION_MINOR_STR VIM_TOSTR(VIM_VERSION_MINOR) +#define VIM_VERSION_100 (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR) + +#define VIM_VERSION_BUILD_STR VIM_TOSTR(VIM_VERSION_BUILD) +#ifndef VIM_VERSION_PATCHLEVEL +# define VIM_VERSION_PATCHLEVEL 0 +#endif +#define VIM_VERSION_PATCHLEVEL_STR VIM_TOSTR(VIM_VERSION_PATCHLEVEL) +// Used by MacOS port; should be one of: development, alpha, beta, final #define VIM_VERSION_RELEASE final /* @@ -33,10 +41,10 @@ * VIM_VERSION_MEDIUM is used for the startup-screen. * VIM_VERSION_LONG is used for the ":version" command and "Vim -h". */ -#define VIM_VERSION_NODOT "vim82" -#define VIM_VERSION_SHORT "8.2" -#define VIM_VERSION_MEDIUM "8.2" -#define VIM_VERSION_LONG "VIM - Vi IMproved 8.2 (2019 Dec 12)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 8.2 (2019 Dec 12, compiled " -#define VIM_VERSION_LONG_ONLY "VIM - Vi IMproved 8.2" -#define VIM_VERSION_DATE_ONLY "2019 Dec 12" +#define VIM_VERSION_NODOT "vim" VIM_VERSION_MAJOR_STR VIM_VERSION_MINOR_STR +#define VIM_VERSION_SHORT VIM_VERSION_MAJOR_STR "." VIM_VERSION_MINOR_STR +#define VIM_VERSION_MEDIUM VIM_VERSION_SHORT +#define VIM_VERSION_LONG_ONLY "VIM - Vi IMproved " VIM_VERSION_MEDIUM +#define VIM_VERSION_LONG_HEAD VIM_VERSION_LONG_ONLY " (" VIM_VERSION_DATE_ONLY +#define VIM_VERSION_LONG VIM_VERSION_LONG_HEAD ")" +#define VIM_VERSION_LONG_DATE VIM_VERSION_LONG_HEAD ", compiled " |