Patch 9.0.1316
Problem:    MS-Windows: vimfiles dir created with admin group.
Solution:   Use ShellExecAsUser to create the vimfiles directory. (Christopher
            Plewright, Ken Takata, closes #12000, closes #11888)
Files:      nsis/gvim.nsi


*** ../vim-9.0.1315/nsis/gvim.nsi       2022-10-08 17:12:16.735701562 +0100
--- nsis/gvim.nsi       2023-02-17 20:03:25.012869506 +0000
***************
*** 228,233 ****
--- 228,255 ----
  !insertmacro GetParent ""
  !insertmacro GetParent "un."
  
+ # Get home directory
+ !macro GetHomeDir un
+ Function ${un}GetHomeDir
+   Push $0
+   Push $1
+   ReadEnvStr $0 "HOME"
+   ${If} $0 == ""
+     ReadEnvStr $0 "HOMEDRIVE"
+     ReadEnvStr $1 "HOMEPATH"
+     StrCpy $0 "$0$1"
+     ${If} $0 == ""
+       ReadEnvStr $0 "USERPROFILE"
+     ${EndIf}
+   ${EndIf}
+   Pop $1
+   Exch $0  # put $0 on top of stack, restore $0 to original value
+ FunctionEnd
+ !macroend
+ 
+ !insertmacro GetHomeDir ""
+ !insertmacro GetHomeDir "un."
+ 
  # Check if Vim is already installed.
  # return: Installed directory. If not found, it will be empty.
  Function CheckOldVim
***************
*** 520,526 ****
        Section "$(str_section_plugin_home)" id_section_pluginhome
                SectionIn 1 3
  
!               StrCpy $1 "$1 -create-directories home"
        SectionEnd
  
        Section "$(str_section_plugin_vim)" id_section_pluginvim
--- 542,549 ----
        Section "$(str_section_plugin_home)" id_section_pluginhome
                SectionIn 1 3
  
!               # use ShellExecAsUser below instead
!               # StrCpy $1 "$1 -create-directories home"
        SectionEnd
  
        Section "$(str_section_plugin_vim)" id_section_pluginvim
***************
*** 594,599 ****
--- 617,629 ----
        DetailPrint "$(str_msg_registering)"
        nsExec::Exec "$0\install.exe $1"
        Pop $3
+ 
+       ${If} ${SectionIsSelected} ${id_section_pluginhome}
+         ReadEnvStr $3 "COMSPEC"
+         Call GetHomeDir
+         Pop $4
+         ShellExecAsUser::ShellExecAsUser "" "$3" '/c "cd /d "$4" & mkdir 
vimfiles & cd vimfiles & mkdir colors compiler doc ftdetect ftplugin indent 
keymap plugin syntax"' SW_HIDE
+       ${EndIf}
  SectionEnd
  
  ##########################################################
***************
*** 1042,1056 ****
  SectionGroup "un.$(str_ungroup_plugin)" id_ungroup_plugin
        Section /o "un.$(str_unsection_plugin_home)" id_unsection_plugin_home
                # get the home dir
!               ReadEnvStr $0 "HOME"
!               ${If} $0 == ""
!                 ReadEnvStr $0 "HOMEDRIVE"
!                 ReadEnvStr $1 "HOMEPATH"
!                 StrCpy $0 "$0$1"
!                 ${If} $0 == ""
!                   ReadEnvStr $0 "USERPROFILE"
!                 ${EndIf}
!               ${EndIf}
  
                ${If} $0 != ""
                  !insertmacro RemoveVimfiles $0
--- 1072,1079 ----
  SectionGroup "un.$(str_ungroup_plugin)" id_ungroup_plugin
        Section /o "un.$(str_unsection_plugin_home)" id_unsection_plugin_home
                # get the home dir
!               Call un.GetHomeDir
!               Pop $0
  
                ${If} $0 != ""
                  !insertmacro RemoveVimfiles $0
*** ../vim-9.0.1315/src/version.c       2023-02-17 16:40:16.975600489 +0000
--- src/version.c       2023-02-17 20:02:26.008895341 +0000
***************
*** 697,698 ****
--- 697,700 ----
  {   /* Add new patch number below this line */
+ /**/
+     1316,
  /**/

-- 
There are three kinds of persons: Those who can count and those who can't.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20230217200536.72B891C0E92%40moolenaar.net.

Raspunde prin e-mail lui