# HG changeset patch # User Christian Brabandt # Date 1700924405 -3600 # Node ID 2b222b99faecdeb117be1c74460257634d9c6c0b # Parent 5dae7f3dbd17abce4c117d64136b683dd4c8cb0e patch 9.0.2130: some errors with translation Makefiles Commit: https://github.com/vim/vim/commit/075ad7047457debfeef13442c01e74088b461092 Author: Ken Takata Date: Sat Nov 25 15:51:00 2023 +0100 patch 9.0.2130: some errors with translation Makefiles Problem: some errors with translation Makefiles Solution: fix issues Update src/po/ makefiles after 9.0.2127 * Change how to check `%LANGUAGE%`. Check it only when needed. * Add double quotes to where `GETTEXT_PATH` is used. Before 9.0.2127, this worked: `nmake -f Make_mvc.mak GETTEXT_PATH="\"C:\Program Files\Git\usr\bin\""` (which was a bit tricky.) 9.0.2127 broke this and syntax error occurred. This doesn't work either in 9.0.2127: `nmake -f Make_mvc.mak GETTEXT_PATH="C:\Program Files\Git\usr\bin"` With this Commit, this works: `nmake -f Make_mvc.mak GETTEXT_PATH="C:\Program Files\Git\usr\bin"` * Better error report for the `check` target. Show the line number of the error. (Imported from vim-jp/lang-ja.) closes: #13567 Signed-off-by: Ken Takata Signed-off-by: Christian Brabandt diff --git a/src/po/Make_mvc.mak b/src/po/Make_mvc.mak --- a/src/po/Make_mvc.mak +++ b/src/po/Make_mvc.mak @@ -10,10 +10,6 @@ !ERROR The program "PowerShell" version 3.0 or higher is required to work !ENDIF -!IFNDEF LANGUAGE -!ERROR Set the environment variable %LANGUAGE%. See README_mvc.txt -!ENDIF - # get LANGUAGES, MOFILES, MOCONVERTED and others !INCLUDE Make_all.mak @@ -22,15 +18,16 @@ VIMRUNTIME = ..\..\runtime !ENDIF PACKAGE = vim -# Correct the following line for the where executeable file vim is installed +# Correct the following line for the where executeable file vim is installed. VIM = ..\vim -# Correct the following line for the directory where gettext et al is installed +# 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\bin -MSGFMT = $(GETTEXT_PATH)\msgfmt -v -XGETTEXT = $(GETTEXT_PATH)\xgettext -MSGMERGE = $(GETTEXT_PATH)\msgmerge +MSGFMT = "$(GETTEXT_PATH)\msgfmt" -v +XGETTEXT = "$(GETTEXT_PATH)\xgettext" +MSGMERGE = "$(GETTEXT_PATH)\msgmerge" # In case some package like GnuWin32, UnixUtils, gettext # or something similar is installed on the system. @@ -47,9 +44,9 @@ ICONV="$(GETTEXT_PATH)\iconv.exe" # If the "touch" program is installed on the system, but it is not registered # in the %PATH% environment variable, then specify the full path to this file. !IF EXIST ("touch.exe") -TOUCH = touch.exe $@ +TOUCH_TARGET = touch.exe $@ !ELSE -TOUCH = @if exist $@ ( copy /b $@+,, ) else ( type nul >$@ ) +TOUCH_TARGET = @if exist $@ ( copy /b $@+,, ) else ( type nul >$@ ) !ENDIF MV = move /y @@ -68,8 +65,9 @@ INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUA all: $(MOFILES) $(MOCONVERTED) .po.ck: - $(VIM) -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq $< - $(TOUCH) + $(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) check: $(CHECKFILES) @@ -78,6 +76,9 @@ checkclean: converted: $(MOCONVERTED) +checklanguage: + @if "$(LANGUAGE)"=="" (echo Set the environment variable ^%LANGUAGE^%. See README_mvc.txt. && exit 1) + nl.po: @( echo \# > nl.po ) @@ -497,7 +498,7 @@ PO_INPUTLIST = \ files: $(PO_INPUTLIST) $(LS) $(LSFLAGS) $(PO_INPUTLIST) > .\files -first_time: files +first_time: checklanguage files $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).po \ $(PO_VIM_INPUTLIST) set OLD_PO_FILE_INPUT=yes @@ -526,13 +527,13 @@ 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 $(PACKAGE).pot GETTEXT_PATH="$(GETTEXT_PATH)" $(CP) $@.po $@.po.orig $(MV) $@.po $@.po.old $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po $(RM) $@.po.old -install: $(LANGUAGE).mo +install: checklanguage $(LANGUAGE).mo if not exist $(INSTALLDIR) $(MKD) $(INSTALLDIR) $(CP) $(LANGUAGE).mo $(INSTALLDIR)\$(PACKAGE).mo @@ -542,8 +543,8 @@ install-all: all for %%l in ($(LANGUAGES)) do @$(CP) %%l.mo \ $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo -cleanup-po: $(LANGUAGE).po - $(VIM) -u NONE -e -X -S cleanup.vim -c wq $** +cleanup-po: checklanguage $(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 $** diff --git a/src/po/Makefile b/src/po/Makefile --- a/src/po/Makefile +++ b/src/po/Makefile @@ -32,7 +32,8 @@ MSGMERGE = OLD_PO_FILE_INPUT=yes OLD_PO_ $(MSGFMTCMD) -o $@ $< .po.ck: - $(VIM) -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq $< + $(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 $@ all: $(MOFILES) $(MOCONVERTED) $(MSGFMT_DESKTOP) diff --git a/src/version.c b/src/version.c --- 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 */ /**/ + 2130, +/**/ 2129, /**/ 2128,