]> granicus.if.org Git - vim/commitdiff
patch 8.2.0005: duplication in version info v8.2.0005
authorBram Moolenaar <Bram@vim.org>
Sat, 14 Dec 2019 16:24:53 +0000 (17:24 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 14 Dec 2019 16:24:53 +0000 (17:24 +0100)
Problem:    Duplication in version info.
Solution:   Use preprocessor string concatenation. (Ken Takata, closes #5357)

src/version.c
src/version.h

index c979eeb9d8abf6846a6bdfaabd03c9b03f3be3ec..cddf7704b06b51008d67f0213ee5338e72a0f821 100644 (file)
@@ -742,6 +742,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    5,
 /**/
     4,
 /**/
index bdd6a15c2975c0713bae7077e66d6dd98d1f2140..0a9ac4d8fbf9ab79e3833420e6adbf1d76065665 100644 (file)
@@ -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
 
 /*
  * 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 "