/*
* 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
/*
* 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 "