patch 9.1.0044: po Makefiles can be improved

Commit: 
https://github.com/vim/vim/commit/76ba724e1d56b00e72834a9203855f0656dcbb58
Author: RestorerZ <[email protected]>
Date:   Mon Jan 22 20:28:12 2024 +0100

    patch 9.1.0044: po Makefiles can be improved
    
    Problem:  po Makefiles can be improved
    Solution: Improve the style of the Makefiles, update
              Makefile variables, update documentation
              (RestorerZ)
    
    closes: #13858
    closes: #13857
    
    Signed-off-by: RestorerZ <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/src/Makefile b/src/Makefile
index 59511d2b3..33903d3d3 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2070,7 +2070,7 @@ xxd/xxd$(EXEEXT): xxd/xxd.c
 languages:
        @if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
                cd $(PODIR); \
-                 CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix); \
+                 CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix) originals; \
        fi
        -@if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
                cd $(PODIR); \
diff --git a/src/po/Make_mvc.mak b/src/po/Make_mvc.mak
index eaf68670b..1387c338b 100644
--- a/src/po/Make_mvc.mak
+++ b/src/po/Make_mvc.mak
@@ -1,15 +1,35 @@
 # Makefile for the Vim message translations for MSVC
 # (based on make_ming.mak)
 #
-# Mike Williams <[email protected]>
+# Mike Williams, <[email protected]>
+# 06.01.24, Restorer, <[email protected]>
 #
 # Please read README_mvc.txt before using this file.
 #
 
-!IF [powershell -nologo -noprofile "exit $$psversiontable.psversion.major"] == 
2
+!IF [powershell.exe -nologo -noprofile "exit 
$$psversiontable.psversion.major"] == 2
 !ERROR The program "PowerShell" version 3.0 or higher is required to work
 !ENDIF
 
+!IFNDEF LANGUAGE
+! IF [powershell.exe -nologo -noprofile 
$$lng=(Get-UICulture).TwoLetterISOLanguageName;$$Env:LANGUAGE=$$lng;Set-Content 
-Path .\lng.tmp -Value "LANGUAGE=$$lng"]
+#! IF [powershell.exe -nologo -noprofile -command 
$$Env:LANGUAGE=(Get-UICulture).TwoLetterISOLanguageName]
+! ENDIF
+# In order for the "install" and "cleanup-po" rule to work.
+# The others work with just setting the environment variable.
+# And to show in the message.
+! INCLUDE lng.tmp
+! IF [del /q .\lng.tmp]
+! ENDIF
+! MESSAGE
+! MESSAGE The %LANGUAGE% environment variable is not set.
+! MESSAGE This variable will be temporarily set to "$(LANGUAGE)" while 
"nmake.exe" is running.
+! MESSAGE See README_mvc.txt for more information on the %LANGUAGE% 
environment variable.
+! MESSAGE
+!ELSE
+! MESSAGE LANGUAGE is already set "$(LANGUAGE)"
+!ENDIF
+
 # get LANGUAGES, MOFILES, MOCONVERTED and others
 !INCLUDE Make_all.mak
 
@@ -18,16 +38,17 @@ VIMRUNTIME = ..\..
untime
 !ENDIF
 
 PACKAGE = vim
-# Correct the following line for the where executeable file vim is installed.
-VIM = .. im
+# Correct the following line for the where executeable file vim is
+# installed.  Please do not put the path in quotes.
+VIM = .. im.exe
 
 # Correct the following line for the directory where gettext et al is
 # installed.  Please do not put the path in quotes.
 GETTEXT_PATH = D:\Programs\GetText in
 
-MSGFMT = "$(GETTEXT_PATH)\msgfmt" -v
-XGETTEXT = "$(GETTEXT_PATH)\xgettext"
-MSGMERGE = "$(GETTEXT_PATH)\msgmerge"
+MSGFMT = "$(GETTEXT_PATH)\msgfmt.exe" -v
+XGETTEXT = "$(GETTEXT_PATH)\xgettext.exe"
+MSGMERGE = "$(GETTEXT_PATH)\msgmerge.exe"
 
 # In case some package like GnuWin32, UnixUtils, gettext
 # or something similar is installed on the system.
@@ -54,8 +75,10 @@ CP = copy /y
 RM = del /q
 MKD = mkdir
 LS = dir
+PS = PowerShell.exe
 
 LSFLAGS = /b /on /l /s
+PSFLAGS = -NoLogo -NoProfile -Command
 
 INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
 
@@ -64,8 +87,12 @@ INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
 
 all: $(MOFILES) $(MOCONVERTED)
 
+originals : $(MOFILES)
+
+converted: $(MOCONVERTED)
+
 .po.ck:
-       $(VIM) -u NONE --noplugins -e -s -X --cmd "set enc=utf-8" -S check.vim \
+       "$(VIM)" -u NONE --noplugins -e -s -X --cmd "set enc=utf-8" -S 
check.vim \
                -c "if error == 0 | q | else | num 2 | cq | endif" $<
        $(TOUCH_TARGET)
 
@@ -74,13 +101,8 @@ check: $(CHECKFILES)
 checkclean:
        $(RM) *.ck
 
-converted: $(MOCONVERTED)
-
-checklanguage:
-       @if "$(LANGUAGE)"=="" (echo Set the environment variable ^%LANGUAGE^%. 
See README_mvc.txt. && exit 1)
-
 nl.po:
-       @( echo \# > nl.po )
+       @( echo ^# >> nl.po )
 
 # Norwegian/Bokmal: "nb" is an alias for "no".
 nb.po: no.po
@@ -95,16 +117,14 @@ ja.sjis.po: ja.po
 !ELSEIF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t CP932 $? | .\sjiscorr.exe > $@
 !ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(932))
        type $@ | .\sjiscorr.exe > tmp.$@
        @$(MV) tmp.$@ $@
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(932)) \
                -replace \"`r`n\", \"`n\"; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
@@ -122,24 +142,21 @@ ja.euc-jp.po: ja.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t EUC-JP $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(20932))
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(20932)) -replace \
                'charset=utf-8', 'charset=EUC-JP'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(20932))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(20932)) -replace \
                '# Original translations', \
-               '# Generated from ja.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(20932))
 
@@ -152,24 +169,21 @@ cs.cp1250.po: cs.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f ISO-8859-2 -t CP1250 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(28592)), \
                [System.Text.Encoding]::GetEncoding(1250))
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1250)) -replace \
                'charset=iso-8859-2', 'charset=CP1250'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1250))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1250)) -replace \
                '# Original translations', \
-               '# Generated from cs.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1250))
 
@@ -182,24 +196,21 @@ pl.cp1250.po: pl.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f ISO-8859-2 -t CP1250 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(28592)), \
                [System.Text.Encoding]::GetEncoding(1250))
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1250)) -replace \
                'charset=iso-8859-2', 'charset=CP1250'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1250))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1250)) -replace \
                '# Original translations', \
-               '# Generated from pl.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1250))
 
@@ -212,20 +223,17 @@ pl.UTF-8.po: pl.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f ISO-8859-2 -t UTF-8 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(28592)))
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               (Get-Content -Raw -Encoding UTF8 $@ \
+       $(PS) $(PSFLAGS) (Get-Content -Raw -Encoding UTF8 $@ \
                ^| % {$$_-replace 'charset=iso-8859-2', 'charset=UTF-8'}) \
                ^| 1>nul New-Item -Force -Path . -ItemType file -Name $@
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               (Get-Content -Raw -Encoding UTF8 $@ \
+       $(PS) $(PSFLAGS) (Get-Content -Raw -Encoding UTF8 $@ \
                ^| % {$$_-replace '# Original translations', \
-               '# Generated from pl.po, DO NOT EDIT'}) \
+               '# Generated from $?, DO NOT EDIT'}) \
                ^| 1>nul New-Item -Force -Path . -ItemType file -Name $@
 
 # Convert sk.po to create sk.cp1250.po.
@@ -237,24 +245,21 @@ sk.cp1250.po: sk.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f ISO-8859-2 -t CP1250 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(28592)), \
                [System.Text.Encoding]::GetEncoding(1250))
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1250)) -replace \
                'charset=iso-8859-2', 'charset=CP1250'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1250))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1250)) -replace \
                '# Original translations', \
-               '# Generated from sk.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1250))
 
@@ -267,25 +272,22 @@ zh_CN.po: zh_CN.UTF-8.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t GB2312 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(936))
 
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(936)) -replace \
                'charset=UTF-8', 'charset=GB2312'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(936))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(936)) -replace \
                '# Original translations', \
-               '# Generated from zh_CN.UTF-8.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(936))
 
@@ -297,19 +299,17 @@ zh_CN.cp936.po: zh_CN.UTF-8.po
 !IF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t CP936 $? > $@
 !ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(20936))
 
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(20936)) \
                -replace 'charset=UTF-8', 'charset=GBK'\
                -replace '# Original translations', \
-               '# Generated from zh_CN.UTF-8.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(20936))
 
@@ -322,31 +322,29 @@ zh_TW.po: zh_TW.UTF-8.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t BIG5 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(950))
 
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(950)) -replace \
                'charset=UTF-8', 'charset=BIG5'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(950))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(950)) -replace \
                '# Original translations', \
-               '# Generated from zh_TW.UTF-8.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(950))
 
 # Convert zh_TW.UTF-8.po to create zh_TW.po with backslash characters
 # Requires doubling backslashes in the second byte.  Don't depend on big5corr,
 # it should only be compiled when zh_TW.po is outdated.
+
 #
 #  06.11.23, added by Restorer:
 #  For more details, see:
@@ -368,16 +366,14 @@ zh_TW.po: zh_TW.UTF-8.po
 #!ELSEIF DEFINED (ICONV)
 #      $(ICONV) -f UTF-8 -t BIG5 $? | . ig5corr.exe > $@
 #!ELSE
-#      powershell -nologo -noprofile -Command \
-#              [System.IO.File]::WriteAllText(\"$@\", \
+#      $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
 #              [System.IO.File]::ReadAllText(\"$?\", \
 #              [System.Text.Encoding]::GetEncoding(65001)), \
 #              [System.Text.Encoding]::GetEncoding(950))
 #      type $@ | . ig5corr.exe > tmp.$@
 #      @$(MV) tmp.$@ $@
 #!ENDIF
-#      powershell -nologo -noprofile -Command \
-#              $$out = [System.IO.File]::ReadAllText(\"$@\", \
+#      $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
 #              [System.Text.Encoding]::GetEncoding(950)) \
 #              -replace \"`r`n\", \"`n\"; \
 #              [System.IO.File]::WriteAllText(\"$@\", $$out, \
@@ -396,25 +392,22 @@ ko.po: ko.UTF-8.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t EUC-KR $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(51949))
 
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(51949)) -replace \
                'charset=UTF-8', 'charset=EUC-KR'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(51949))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(51949)) -replace \
                '# Original translations', \
-               '# Generated from ko.UTF-8.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(51949))
 
@@ -427,25 +420,22 @@ ru.cp1251.po: ru.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t CP1251 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(1251))
 
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1251)) -replace \
                'charset=UTF-8', 'charset=CP1251'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1251))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1251)) -replace \
                '# Original translations', \
-               '# Generated from ru.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1251))
 
@@ -458,25 +448,22 @@ uk.cp1251.po: uk.po
 ! IF DEFINED (ICONV)
        $(ICONV) -f UTF-8 -t CP1251 $? > $@
 ! ELSE
-       powershell -nologo -noprofile -Command \
-               [System.IO.File]::WriteAllText(\"$@\", \
+       $(PS) $(PSFLAGS) [System.IO.File]::WriteAllText(\"$@\", \
                [System.IO.File]::ReadAllText(\"$?\", \
                [System.Text.Encoding]::GetEncoding(65001)), \
                [System.Text.Encoding]::GetEncoding(1251))
 
 ! ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1251)) -replace \
                'charset=UTF-8', 'charset=CP1251'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1251))
 !ENDIF
-       powershell -nologo -noprofile -Command \
-               $$out = [System.IO.File]::ReadAllText(\"$@\", \
+       $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \
                [System.Text.Encoding]::GetEncoding(1251)) -replace \
                '# Original translations', \
-               '# Generated from uk.po, DO NOT EDIT'; \
+               '# Generated from $?, DO NOT EDIT'; \
                [System.IO.File]::WriteAllText(\"$@\", $$out, \
                [System.Text.Encoding]::GetEncoding(1251))
 
@@ -498,42 +485,42 @@ PO_INPUTLIST = \
 files: $(PO_INPUTLIST)
        $(LS) $(LSFLAGS) $(PO_INPUTLIST) > .iles
 
-first_time: checklanguage files
-       $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).po \
+first_time: files
+       "$(VIM)" -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).po \
                $(PO_VIM_INPUTLIST)
        set OLD_PO_FILE_INPUT=yes
        set OLD_PO_FILE_OUTPUT=yes
        $(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments 
$(XGETTEXT_KEYWORDS) \
                --files-from=.iles $(PO_VIM_JSLIST)
-       $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).po \
+       "$(VIM)" -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).po \
                $(PO_VIM_INPUTLIST)
        $(RM) *.js
 
 $(PACKAGE).pot: files
-       $(VIM) -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot \
+       "$(VIM)" -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot \
                $(PO_VIM_INPUTLIST)
        set OLD_PO_FILE_INPUT=yes
        set OLD_PO_FILE_OUTPUT=yes
        $(XGETTEXT) --default-domain=$(PACKAGE) --add-comments 
$(XGETTEXT_KEYWORDS) \
                --files-from=.iles $(PO_VIM_JSLIST)
        $(MV) $(PACKAGE).po $(PACKAGE).pot
-       $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot \
+       "$(VIM)" -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot \
                $(PO_VIM_INPUTLIST)
        $(RM) *.js
 
-# When updating ja.sjis.po there are a bunch of errors and a crash.
+# Only original translations with default encoding should be updated.
 # The files that are converted to a different encoding clearly state "DO NOT 
EDIT".
 update-po: $(MOFILES:.mo=)
 
 # Don't add a dependency here, we only want to update the .po files manually
 $(LANGUAGES):
-       @$(MAKE) -nologo -f Make_mvc.mak $(PACKAGE).pot 
GETTEXT_PATH="$(GETTEXT_PATH)"
+       @$(MAKE) -nologo -f Make_mvc.mak GETTEXT_PATH="$(GETTEXT_PATH)" 
$(PACKAGE).pot
        $(CP) [email protected] [email protected]
        $(MV) [email protected] [email protected]
        $(MSGMERGE) [email protected] $(PACKAGE).pot -o [email protected]
        $(RM) [email protected]
 
-install: checklanguage $(LANGUAGE).mo
+install: $(LANGUAGE).mo
        if not exist $(INSTALLDIR) $(MKD) $(INSTALLDIR)
        $(CP) $(LANGUAGE).mo $(INSTALLDIR)\$(PACKAGE).mo
 
@@ -543,15 +530,16 @@ install-all: all
        for %%l in ($(LANGUAGES)) do @$(CP) %%l.mo \
                $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo
 
-cleanup-po: checklanguage $(LANGUAGE).po
-       $(VIM) -u NONE -e -X -S cleanup.vim -c wq $(LANGUAGE).po
+cleanup-po: $(LANGUAGE).po
+       "$(VIM)" -u NONE -e -X -S cleanup.vim -c wq $(LANGUAGE).po
 
 cleanup-po-all: $(POFILES)
-       !$(VIM) -u NONE -e -X -S cleanup.vim -c wq $**
+       !"$(VIM)" -u NONE -e -X -S cleanup.vim -c wq $**
 
 clean: checkclean
        $(RM) *.mo
        $(RM) *.pot
+       $(RM) *.orig
        $(RM) files
        $(RM) sjiscorr.obj sjiscorr.exe
 #      $(RM) big5corr.obj big5corr.exe
diff --git a/src/po/Makefile b/src/po/Makefile
index 24f810444..b1144ba68 100644
--- a/src/po/Makefile
+++ b/src/po/Makefile
@@ -26,7 +26,14 @@ MSGMERGE = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes 
msgmerge
 
 .SUFFIXES:
 .SUFFIXES: .po .mo .pot .ck
-.PHONY: all install uninstall prefixcheck converted check clean checkclean 
distclean update-po $(LANGUAGES)
+.PHONY: all install uninstall prefixcheck originals converted check clean \
+       checkclean distclean update-po $(LANGUAGES)
+
+all: $(MOFILES) $(MOCONVERTED) $(MSGFMT_DESKTOP)
+
+originals: $(MOFILES)
+
+converted: $(MOCONVERTED)
 
 .po.mo:
        $(MSGFMTCMD) -o $@ $<
@@ -36,8 +43,6 @@ MSGMERGE = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes 
msgmerge
                -c "if error == 0 | q | else | num 2 | cq | endif" $<
        touch $@
 
-all: $(MOFILES) $(MOCONVERTED) $(MSGFMT_DESKTOP)
-
 check: $(CHECKFILES)
 
 # installing for real
@@ -84,12 +89,10 @@ tryoutinstall: $(MOFILES) $(MOCONVERTED)
          fi; \
        done
 
-converted: $(MOCONVERTED)
-
 # nl.po was added later, if it does not exist use a file with just a # in it
 # (an empty file doesn't work with old msgfmt).
 nl.po:
-       @( echo \# > nl.po )
+       @( echo \# >> nl.po )
 
 # Norwegian/Bokmal: "nb" is an alias for "no".
 # Copying the file is not efficient, but I don't know of another way to make
@@ -102,75 +105,75 @@ nb.po: no.po
 # ja.sjis.po is outdated.
 ja.sjis.po: ja.po
        @$(MAKE) sjiscorr
-       rm -f ja.sjis.po
-       iconv -f UTF-8 -t CP932 ja.po | ./sjiscorr > ja.sjis.po
+       rm -f $@
+       iconv -f UTF-8 -t CP932 $< | ./sjiscorr > $@
 
 sjiscorr: sjiscorr.c
        $(CC) -o sjiscorr sjiscorr.c
 
 ja.euc-jp.po: ja.po
-       iconv -f UTF-8 -t EUC-JP ja.po | \
+       iconv -f UTF-8 -t EUC-JP $< | \
                $(SED) -e 's/charset=[uU][tT][fF]-8/charset=EUC-JP/' \
-                       -e 's/# Original translations/# Generated from ja.po, 
DO NOT EDIT/' \
-                       > ja.euc-jp.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert cs.po to create cs.cp1250.po.
 cs.cp1250.po: cs.po
-       rm -f cs.cp1250.po
-       iconv -f ISO-8859-2 -t CP1250 cs.po | \
+       rm -f $@
+       iconv -f ISO-8859-2 -t CP1250 $< | \
                $(SED) -e 's/charset=[iI][sS][oO]-8859-2/charset=CP1250/' \
-                       -e 's/# Original translations/# Generated from cs.po, 
DO NOT EDIT/' \
-                       > cs.cp1250.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert pl.po to create pl.cp1250.po.
 pl.cp1250.po: pl.po
-       rm -f pl.cp1250.po
-       iconv -f ISO-8859-2 -t CP1250 pl.po | \
+       rm -f $@
+       iconv -f ISO-8859-2 -t CP1250 $< | \
                $(SED) -e 's/charset=[iI][sS][oO]-8859-2/charset=CP1250/' \
-                       -e 's/# Original translations/# Generated from pl.po, 
DO NOT EDIT/' \
-                       > pl.cp1250.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert pl.po to create pl.UTF-8.po.
 pl.UTF-8.po: pl.po
-       rm -f pl.UTF-8.po
-       iconv -f ISO-8859-2 -t UTF-8 pl.po | \
+       rm -f $@
+       iconv -f ISO-8859-2 -t UTF-8 $< | \
                $(SED) -e 's/charset=[iI][sS][oO]-8859-2/charset=UTF-8/' \
-                       -e 's/# Original translations/# Generated from pl.po, 
DO NOT EDIT/' \
-                       > pl.UTF-8.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert sk.po to create sk.cp1250.po.
 sk.cp1250.po: sk.po
-       rm -f sk.cp1250.po
-       iconv -f ISO-8859-2 -t CP1250 sk.po | \
+       rm -f $@
+       iconv -f ISO-8859-2 -t CP1250 $< | \
                $(SED) -e 's/charset=[iI][sS][oO]-8859-2/charset=CP1250/' \
-                       -e 's/# Original translations/# Generated from sk.po, 
DO NOT EDIT/' \
-                       > sk.cp1250.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert zh_CN.UTF-8.po to create zh_CN.po.
 zh_CN.po: zh_CN.UTF-8.po
-       rm -f zh_CN.po
-       iconv -f UTF-8 -t GB2312 zh_CN.UTF-8.po | \
+       rm -f $@
+       iconv -f UTF-8 -t GB2312 $< | \
                $(SED) -e 's/charset=[uU][tT][fF]-8/charset=GB2312/' \
-                       -e 's/# Original translations/# Generated from 
zh_CN.UTF-8.po, DO NOT EDIT/' \
-                       > zh_CN.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert zh_CN.UTF-8.po to create zh_CN.cp936.po.
 # Set 'charset' to gbk to avoid that msfmt generates a warning.
 # This used to convert from zh_CN.po, but that results in a conversion error.
 zh_CN.cp936.po: zh_CN.UTF-8.po
-       rm -f zh_CN.cp936.po
-       iconv -f UTF-8 -t CP936 zh_CN.UTF-8.po | \
+       rm -f $@
+       iconv -f UTF-8 -t CP936 $< | \
                $(SED) -e 's/charset=[uU][tT][fF]-8/charset=GBK/' \
-                       -e 's/# Original translations/# Generated from 
zh_CN.UTF-8.po, DO NOT EDIT/' \
-                       > zh_CN.cp936.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert zh_TW.UTF-8.po to create zh_TW.po
 zh_TW.po: zh_TW.UTF-8.po
-       rm -f zh_TW.po
-       iconv -f UTF-8 -t BIG5 zh_TW.UTF-8.po | \
+       rm -f $@
+       iconv -f UTF-8 -t BIG5 $< | \
                $(SED) -e 's/charset=[uU][tT][fF]-8/charset=BIG5/' \
-                       -e 's/# Original translations/# Generated from 
zh_TW.UTF-8.po, DO NOT EDIT/' \
-                       > zh_TW.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 
 # Convert zh_TW.UTF-8.po to create zh_TW.po with backslash characters
@@ -192,8 +195,8 @@ zh_TW.po: zh_TW.UTF-8.po
 
 #zh_TW.po: zh_TW.UTF-8.po
 #      @$(MAKE) big5corr
-#      rm -f zh_TW.po
-#      iconv -f UTF-8 -t BIG5 zh_TW.UTF-8.po | ./big5corr > zh_TW.po
+#      rm -f $@
+#      iconv -f UTF-8 -t BIG5 $< | ./big5corr > $@
 
 
 # 06.11.23, added by Restorer
@@ -204,32 +207,32 @@ zh_TW.po: zh_TW.UTF-8.po
 
 # Convert ko.UTF-8.po to create ko.po.
 ko.po: ko.UTF-8.po
-       rm -f ko.po
-       iconv -f UTF-8 -t EUC-KR ko.UTF-8.po | \
+       rm -f $@
+       iconv -f UTF-8 -t EUC-KR $< | \
                $(SED) -e 's/charset=[uU][tT][fF]-8/charset=EUC-KR/' \
-                       -e 's/# Original translations/# Generated from 
ko.UTF-8.po, DO NOT EDIT/' \
-                       > ko.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert ru.po to create ru.cp1251.po.
 ru.cp1251.po: ru.po
-       rm -f ru.cp1251.po
-       iconv -f UTF-8 -t CP1251 ru.po | \
+       rm -f $@
+       iconv -f UTF-8 -t CP1251 $< | \
                $(SED) -e 's/charset=[uU][tT][fF]-8/charset=CP1251/' \
-                       -e 's/# Original translations/# Generated from ru.po, 
DO NOT EDIT/' \
-                       > ru.cp1251.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 # Convert uk.po to create uk.cp1251.po.
 uk.cp1251.po: uk.po
-       rm -f uk.cp1251.po
-       iconv -f UTF-8 -t CP1251 uk.po | \
+       rm -f $@
+       iconv -f UTF-8 -t CP1251 $< | \
                $(SED) -e 's/charset=[uU][tT][fF]-8/charset=CP1251/' \
-                       -e 's/# Original translations/# Generated from uk.po, 
DO NOT EDIT/' \
-                       > uk.cp1251.po
+                       -e 's/# Original translations/# Generated from $<, DO 
NOT EDIT/' \
+                       > $@
 
 prefixcheck:
        @if test "x" = "x$(prefix)"; then \
          echo "******************************************"; \
-         echo "  please use make from the src directory  "; \
+         echo "  Please use make from the src directory  "; \
          echo "******************************************"; \
          exit 1; \
        fi
@@ -283,7 +286,7 @@ gvim.desktop: gvim.desktop.in $(POFILES) vim.desktop
        if command -v desktop-file-validate; then desktop-file-validate 
tmp_gvim.desktop; fi
        mv tmp_gvim.desktop gvim.desktop
 
-# When updating ja.sjis.po there are a bunch of errors and a crash.
+# Only original translations with default encoding should be updated.
 # The files that are converted to a different encoding clearly state "DO NOT 
EDIT".
 update-po: $(MOFILES:.mo=)
 
diff --git a/src/po/README.txt b/src/po/README.txt
index 5a09d1f54..50aff6a83 100644
--- a/src/po/README.txt
+++ b/src/po/README.txt
@@ -30,7 +30,7 @@ The distributed files are generated on Unix, but this should 
also be possible
 on MS-Windows.  Download the gettext packages, for example from:
 
        http://sourceforge.net/projects/gettext
-       or
+or
        https://mlocati.github.io/articles/gettext-iconv-windows.html
 
 You might have to do the commands manually.  Example:
@@ -53,7 +53,10 @@ CREATING A NEW PO FILE
 We will use "xx.po" as an example here, replace "xx" with the name of your
 language.
 
-- Edit Make_all.mak to add xx to LANGUAGES and xx.mo to MOFILES.
+- Edit Make_all.mak to add xx to LANGUAGES and xx.mo to MOFILES, xx.po to
+  POFILES and xx.ck to CHECKFILES.
+- If the encoding of the translation text differs from the default UTF-8, add a
+  corresponding entry in MOCONVERTED, specifying the required encoding.
 - If you haven't done so already, run ./configure in the top vim directory
   (i.e. go up two directories) and then come back here afterwards.
 - Execute these commands:
@@ -147,13 +150,13 @@ convert ja.po to EUC-JP (supposed as your system 
encoding):
 (1) Convert the file encoding:
 
        mv ja.po ja.po.orig
-       iconv -f utf-8 -t euc-jp ja.po.orig > ja.po
+       iconv -f UTF-8 -t EUC-JP ja.po.orig > ja.po
 
 (2) Rewrite charset declaration in the file:
 
     Open ja.po find this line:
-       "Content-Type: text/plain; charset=utf-8
"
+       "Content-Type: text/plain; charset=UTF-8
"
     You should change "charset" like this:
-       "Content-Type: text/plain; charset=euc-jp
"
+       "Content-Type: text/plain; charset=EUC-JP
"
 
 There are examples in the Makefile for the conversions already supported.
diff --git a/src/po/README_mingw.txt b/src/po/README_mingw.txt
index d00ba3076..a7e3259dc 100644
--- a/src/po/README_mingw.txt
+++ b/src/po/README_mingw.txt
@@ -20,8 +20,10 @@ The make utility must be run from the po directory.
 First of all you must set the environment variable LANGUAGE to xx, where xx is
 the name of your language. You can do it from the command line or adding a
 line to your autoexec.bat file: set LANGUAGE=xx. You must also add your
-language to the Make_all.mak file in the lines LANGUAGES, MOFILES, AND
-POFILES.
+language to the Make_all.mak file in the lines LANGUAGES, MOFILES, POFILES,
+and CHECKFILES. If the encoding of the translation text differs from the
+default UTF-8, add a corresponding entry in MOCONVERTED, specifying the
+required encoding.
 
 If you don't have a xx.po file, you must create it with the command:
 
diff --git a/src/po/README_mvc.txt b/src/po/README_mvc.txt
index 691e6aedf..ae9fa2b1f 100644
--- a/src/po/README_mvc.txt
+++ b/src/po/README_mvc.txt
@@ -2,18 +2,19 @@ TRANSLATING VIM MESSAGES
 
 This file explains how to create and maintain po files using a number of
 GnuWin packages.  You will need gettext, libiconv and libexpat.  As of
-August 2010 the versions known to work are gettext 0.14.4, libiconv 1.9.2-1
-and expat 2.0.1.  gettext and libiconv can be found at:
+January 2024 the versions known to work are gettext 0.14.4, libiconv 1.9.2-1
+and expat 2.5.0.  Gettext and libiconv can be found at:
 
        http://gnuwin32.sourceforge.net/
 
 expat can be found at:
 
        http://sourceforge.net/projects/expat/
+or
+       https://github.com/libexpat/libexpat
 
 expat will install into its own directory.  You should copy libexpat.dll into
 the bin directory created from the gettext/libiconv packages.
-
 Or Michele Locati kindly provides precompiled binaries gettext 0.21 and
 iconv 1.16 for Windows on his site: 
 
@@ -29,11 +30,13 @@ Set the environment variable LANGUAGE to the language code 
for the language
 you are translating Vim messages to.  Language codes are typically two
 characters and you can find a list of them at:
 
-       http://www.geocities.com/click2speak/languages.html
+       https://www.loc.gov/standards/iso639-2/php/code_list.php
+       https://www.science.co.il/language/Codes.php
+       https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
 
-Another possibility is to use the GnuWin32 port of gettext. This is
-recommended especially if you use already gnuwin32 tools to gunzip, bunzip,
-patch etc. these files. You find the GnuWin32 version of gettext here:
+Another possibility is to use the GnuWin32 port of gettext.  This is
+recommended especially if you use already GnuWin32 tools to gunzip, bunzip,
+patch etc. these files.  You find the GnuWin32 version of gettext here:
 
         http://gnuwin32.sourceforge.net/packages/gettext.htm
 
@@ -41,13 +44,16 @@ Yet another very strait forward way is to get the sources 
of gettext from
 
         http://www.gnu.org/software/gettext/gettext.html
 
-and build your own version of these tools. The documentation states that this
+and build your own version of these tools.  The documentation states that this
 should be possible with MSVC4.0, MSVC5.0, MSVC6.0 or MSVC7.0, but you can
 build it even successfully with MSVC8.0.
 
 The LANGUAGE environment variable can be set from the command line, by adding
 a line to your autoexec.bat file, or by defining a user variable from the
-Advanced tab in the System control panel.
+Advanced tab in the System control panel.  If the LANGUAGE environment
+variable has not been set in any of the above ways, the value of this variable
+will be set automatically according to the language used in the OS.  This
+value will be valid until the "nmake.exe" program terminates.
 
 Next, edit Make_mvc.mak so that GETTEXT_PATH points the binary directory of
 the installation.
@@ -56,10 +62,13 @@ the installation.
 CREATING A NEW TRANSLATION
 
 When creating a new translation you must add your language code to the
-Make_all.mak file in the lines defining LANGUAGES and MOFILES.  To create the
-initial .po file for your language you must use the command:
+Make_all.mak file in the lines defining LANGUAGES and MOFILES, POFILES and
+CHECKFILES.  If the encoding of the translation text differs from the default
+UTF-8, add a corresponding entry in MOCONVERTED, specifying the required
+encoding.
+To create the initial .po file for your language you must use the command:
 
-       make -f make_mvc.mak first_time
+       nmake.exe -f Make_mvc.mak first_time
 
 Note: You need to be in the po directory when using this makefile.
 
@@ -82,7 +91,7 @@ If there are new or changed messages in Vim that need 
translating, then the
 first thing to do is merge them into the existing translations.  This is done
 with the following command:
 
-       nmake -f Make_mvc.mak xx.po
+       nmake.exe -f Make_mvc.mak xx
 
 where xx is the language code for the language needing translations.  The
 original .po file is copied to xx.po.orig.
@@ -102,23 +111,30 @@ CHECKING THE TRANSLATION
 
 Check the translation with the following command:
 
-       nmake -f make_mvc.mak xx.mo
+       nmake.exe -f Make_mvc.mak xx.ck
 
-Correct any syntax errors reported.  When there are no more errors, the
-translation is ready to be installed.
+Correct any errors reported.  When there are no more errors, the translation
+is ready to be installed.
 
 
 INSTALLING THE TRANSLATION
 
 Install your translation with the following command:
 
-       nmake -f make_mvc.mak install
+       nmake.exe -f Make_mvc.mak install
 
 This will create the xx\LC_MESSAGES directory in runtime\lang if it does not
 already exist.
 You can also use the following command to install all languages:
 
-       nmake -f make_mvc.mak install-all
+       nmake.exe -f Make_mvc.mak install-all
+
+
+AFTER ALL OF THESE STEPS
+
+Clean the "po" directory of all temporary and unnecessary files.  Execute the
+command:
 
+       nmake.exe -f Make_mvc.mak clean
 
 vim:tw=78:
diff --git a/src/version.c b/src/version.c
index 783e2ba1b..d6bd9acd1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    44,
 /**/
     43,
 /**/

-- 
-- 
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/E1rS0EB-007rpB-8x%40256bit.org.

Raspunde prin e-mail lui