Commit 88e4dfaa authored by Paul Eggert's avatar Paul Eggert

Don't skip new etags tests on non-UTF-8 hosts

Problem reported by Eli Zaretskii for MS-Windows.
* test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
(LC_ALL): Set to C if the current locale isn't UTF-8.
(.PHONY): Remove ediff_1 thru ediff_5.
(check): Always run.
parent d464818c
...@@ -44,31 +44,24 @@ ARGS=- < srclist ...@@ -44,31 +44,24 @@ ARGS=- < srclist
infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile
# This test requires a UTF-8 locale. Use the current locale if it is UTF-8, # Although this test uses UTF-8 data, some platforms lack UTF-8 locales.
# else $(UTF8_LOCALE) if it works, else skip this test. # If the current locale isn't known to use UTF-8, fall back on the C locale.
UTF8_LOCALE = en_US.utf8 # Although the C locale in theory is not safe for UTF-8 data, in practice
UTF8_ENCODING = yes # it should be good enough.
ifneq ($(shell locale -k charmap), charmap="UTF-8") ifneq ($(shell locale -k charmap), charmap="UTF-8")
ifeq ($(shell LC_ALL=$(UTF8_LOCALE) locale -k charmap), charmap="UTF-8") export LC_ALL = C
export LC_ALL = $(UTF8_LOCALE)
endif endif
.PHONY: check ediff_1 ediff_2 ediff_3 ediff_4 ediff_5 cdiff ETAGS CTAGS .PHONY: check cdiff ETAGS CTAGS
# Can't make ediff_1 through ediff_5 .PHONY, as they're implicit.
check: check:
ifeq ($(UTF8_ENCODING), yes)
@$(MAKE) OPTIONS='--no-members' ediff_1 @$(MAKE) OPTIONS='--no-members' ediff_1
@$(MAKE) OPTIONS='--declarations --no-members' ediff_2 @$(MAKE) OPTIONS='--declarations --no-members' ediff_2
@$(MAKE) OPTIONS='--members' ediff_3 @$(MAKE) OPTIONS='--members' ediff_3
@$(MAKE) OPTIONS='--regex=@regexfile --no-members' ediff_4 @$(MAKE) OPTIONS='--regex=@regexfile --no-members' ediff_4
@$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ediff_5 @$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ediff_5
@$(MAKE) cdiff @$(MAKE) cdiff
: 'No locale with UTF-8 found; skipping check'
ediff%: ETAGS.good% ETAGS ${infiles} ediff%: ETAGS.good% ETAGS ${infiles}
diff -u --suppress-common-lines --width=80 ETAGS.good$* ETAGS diff -u --suppress-common-lines --width=80 ETAGS.good$* ETAGS
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment