changeset 35034:c2499556f2fe v9.1.0368

patch 9.1.0368: MS-Windows: Hard to define the Vim Patchlevel with leading zeroes Commit: https://github.com/vim/vim/commit/dc5cd1cac1a8b25b6259f2b0a7a071f7b840e730 Author: RestorerZ <restorer@mail2k.ru> Date: Tue Apr 23 20:33:38 2024 +0200 patch 9.1.0368: MS-Windows: Hard to define the Vim Patchlevel with leading zeroes Problem: MS-Windows: Hard to define the Vim Patchlevel with leading zeroes for the installer Solution: re-define VIM_VERSION_PATCHLEVEL_STR with leading zeroes, interpret Patchlevel as decimal in Make_mvc.mak (RestorerZ) closes: #14471 Signed-off-by: RestorerZ <restorer@mail2k.ru> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 23 Apr 2024 20:45:02 +0200
parents cd559abb232a
children 29dcbae39224
files src/Make_mvc.mak src/version.c src/version.h
diffstat 3 files changed, 19 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -187,7 +187,7 @@ MINOR=		1
 !ENDIF
 
 !IF ![$(PS) $(PSFLAGS) try{Out-File -FilePath '.\patchlvl.tmp' -InputObject \
-	\"PATCHLEVEL=$$(((Get-Content -Path '.\version.c' \
+	\"PATCHLEVEL=$$([decimal^]((Get-Content -Path '.\version.c' \
 	-TotalCount ((Select-String -Pattern 'static int included_patches' \
 	-Path '.\version.c').LineNumber+3))[-1^]).Trim().TrimEnd(','))\"} \
 	catch{exit 1}]
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    368,
+/**/
     367,
 /**/
     366,
--- a/src/version.h
+++ b/src/version.h
@@ -31,7 +31,22 @@
 #ifndef VIM_VERSION_PATCHLEVEL
 # define VIM_VERSION_PATCHLEVEL		0
 #endif
-#define VIM_VERSION_PATCHLEVEL_STR	VIM_TOSTR(VIM_VERSION_PATCHLEVEL)
+
+// Patchlevel with leading zeros
+// For compatibility with the installer from "vim-win32-installer" and WinGet.
+// For details see https://github.com/vim/vim-win32-installer/pull/277
+// and https://github.com/vim/vim-win32-installer/pull/285
+#if VIM_VERSION_PATCHLEVEL < 10
+#define LEADZERO(x) 000 ## x
+#elif VIM_VERSION_PATCHLEVEL < 100
+#define LEADZERO(x) 00 ## x
+#elif VIM_VERSION_PATCHLEVEL < 1000
+#define LEADZERO(x) 0 ## x
+#else
+#define LEADZERO(x) x
+#endif
+
+#define VIM_VERSION_PATCHLEVEL_STR	VIM_TOSTR(LEADZERO(VIM_VERSION_PATCHLEVEL))
 // Used by MacOS port; should be one of: development, alpha, beta, final
 #define VIM_VERSION_RELEASE		final