Re: New escape method proposal (was: Re: Possible solution for special characters in makefile paths)
Eli Zaretskii <[email protected]> Wed, 23 Apr 2014 20:51:59 +0300
| Newsgroups | gmane.comp.gnu.make.devel |
|---|---|
| Message-ID | <[email protected]> |
> From: Paul Smith <[email protected]> > Cc: [email protected] > Date: Wed, 23 Apr 2014 13:43:21 -0400 > > > What about non-ASCII characters? Make works in the current locale > > (AFAIK), so non-ASCII characters can have arbitrary single- or > > multi-byte encodings. Will the above encoding of special characters > > be compatible with the locale-encoded non-ASCII characters? > > As long as whatever encoding is used provides the same meaning for > character codes 0-127 (that's what I was trying to say above). So a > multi-byte encoding is fine, as long as it doesn't re-use the values > 0-127 in the encoding to mean something else in the second or subsequent > bytes. So ISO-2022 and its derivatives are out? > Actually the restriction is already there in make since make doesn't do > anything at all special for multibyte today, and does a lot of string > parsing based on standard ASCII characters. For example make already > matches against "}" which is ASCII 125; if that appeared as the second > byte in a multi-byte encoding it would break make today. I don't know about }, but \ definitely can happen in a DBCS Windows locale. But what triggered my question was that we seem to be introducing new "reserved" characters, the ones to be used to encode the special ones.