changeset 33831:2b222b99faec v9.0.2130

patch 9.0.2130: some errors with translation Makefiles Commit: https://github.com/vim/vim/commit/075ad7047457debfeef13442c01e74088b461092 Author: Ken Takata <kentkt@csc.jp> 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 <kentkt@csc.jp> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sat, 25 Nov 2023 16:00:05 +0100
parents 5dae7f3dbd17
children 22e0c370b2f5
files src/po/Make_mvc.mak src/po/Makefile src/version.c
diffstat 3 files changed, 23 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- 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 $**
--- 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)
--- 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,