[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

make 4.0 mishandles UTF-8 characters in macros

From: Paul Eggert
Subject: make 4.0 mishandles UTF-8 characters in macros
Date: Wed, 06 Aug 2014 12:36:01 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0

Given the attached Makefile, which uses the UTF-8 encoding and which contains a macro whose definiens contains the UTF-8 character '–' (U+2013, EN DASH), 'make' 4.0 fails on my Fedora 20 x86-64 host in the C locale, with the following symptoms:

echo '\342
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
Makefile:3: recipe for target 'bad' failed
make: *** [bad] Error 1

(where "\342" stands for a single byte with octal value 342). 'make good' works. This bug is a regression from make 3.82, which works OK with this Makefile.

The bug is also present in the en_US.utf8 locale.

Because of this bug, 'make check' fails with the tz 2014f release. I can reproduce this failure as follows:

mkdir d
cd d
wget -O- http://www.iana.org/time-zones/repository/releases/tzcode2014f.tar.gz | gzip -d | tar xf - wget -O- http://www.iana.org/time-zones/repository/releases/tzdata2014f.tar.gz | gzip -d | tar xf -
make check

and this fails with a diagnostic similar to the above.

I tried to look into this but I can't build 'make' from the Savannah source. I'll post a separate bug report about that.

Attachment: Makefile
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]