changeset 21327:ec2f5f0b5dcb v8.2.1214

patch 8.2.1214: MS-Windows: default _vimrc not correct in silent install mode Commit: https://github.com/vim/vim/commit/ceb56ddbafbca01e52ff4291d9480bf83d739793 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 14 22:24:40 2020 +0200 patch 8.2.1214: MS-Windows: default _vimrc not correct in silent install mode Problem: MS-Windows: default _vimrc not correct in silent install mode. Solution: Add the LoadDefaultVimrc macro. (Ken Takata, closes https://github.com/vim/vim/issues/6451)
author Bram Moolenaar <Bram@vim.org>
date Tue, 14 Jul 2020 22:30:04 +0200
parents 93fa32776b08
children 6a4f919b3a1a
files nsis/gvim.nsi src/version.c
diffstat 2 files changed, 22 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -687,6 +687,15 @@ SectionEnd
 	${EndIf}
 !macroend
 
+!macro LoadDefaultVimrc out_var reg_value default_value
+	ClearErrors
+	ReadRegStr ${out_var} HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
+	${If} ${Errors}
+	${OrIf} ${out_var} == ""
+	  StrCpy ${out_var} ${default_value}
+	${EndIf}
+!macroend
+
 Function .onInit
 !ifdef HAVE_MULTI_LANG
   # Select a language (or read from the registry).
@@ -718,10 +727,10 @@ Function .onInit
 !endif
   ${EndIf}
 
-# Load the selections from the registry (if any).
   ${If} ${RunningX64}
     SetRegView 64
   ${EndIf}
+  # Load the selections from the registry (if any).
   !insertmacro LoadSectionSelection ${id_section_console}    "select_console"
   !insertmacro LoadSectionSelection ${id_section_batch}      "select_batch"
   !insertmacro LoadSectionSelection ${id_section_desktop}    "select_desktop"
@@ -736,6 +745,10 @@ Function .onInit
 !ifdef HAVE_NLS
   !insertmacro LoadSectionSelection ${id_section_nls}        "select_nls"
 !endif
+  # Load the default _vimrc settings from the registry (if any).
+  !insertmacro LoadDefaultVimrc $vim_compat_stat "vim_compat" "all"
+  !insertmacro LoadDefaultVimrc $vim_keymap_stat "vim_keyremap" "default"
+  !insertmacro LoadDefaultVimrc $vim_mouse_stat "vim_mouse" "default"
   ${If} ${RunningX64}
     SetRegView lastused
   ${EndIf}
@@ -799,17 +812,11 @@ Function SetCustom
 	${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_defaults)
 	${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_all)
 
-	# Default selection
-	${If} $vim_compat_stat == ""
-	  ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_compat"
-	${Else}
-	  StrCpy $3 $vim_compat_stat
-	${EndIf}
-	${If} $3 == "defaults"
+	${If} $vim_compat_stat == "defaults"
 	  StrCpy $4 2
-	${ElseIf} $3 == "vim"
+	${ElseIf} $vim_compat_stat == "vim"
 	  StrCpy $4 1
-	${ElseIf} $3 == "vi"
+	${ElseIf} $vim_compat_stat == "vi"
 	  StrCpy $4 0
 	${Else} # default
 	  StrCpy $4 3
@@ -828,13 +835,7 @@ Function SetCustom
 	${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_default)
 	${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
 
-	# Default selection
-	${If} $vim_keymap_stat == ""
-	  ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_keyremap"
-	${Else}
-	  StrCpy $3 $vim_keymap_stat
-	${EndIf}
-	${If} $3 == "windows"
+	${If} $vim_keymap_stat == "windows"
 	  StrCpy $4 1
 	${Else} # default
 	  StrCpy $4 0
@@ -854,15 +855,9 @@ Function SetCustom
 	${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_windows)
 	${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_unix)
 
-	# Default selection
-	${If} $vim_mouse_stat == ""
-	  ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_mouse"
-	${Else}
-	  StrCpy $3 $vim_mouse_stat
-	${EndIf}
-	${If} $3 == "xterm"
+	${If} $vim_mouse_stat == "xterm"
 	  StrCpy $4 2
-	${ElseIf} $3 == "windows"
+	${ElseIf} $vim_mouse_stat == "windows"
 	  StrCpy $4 1
 	${Else} # default
 	  StrCpy $4 0
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1214,
+/**/
     1213,
 /**/
     1212,