Re: [VOTE][RFC] Unicode Codepoint Escape Syntax

From: Date: Wed, 10 Dec 2014 19:16:05 +0000
Subject: Re: [VOTE][RFC] Unicode Codepoint Escape Syntax
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-79540@lists.php.net to get a copy of this message
On Wed, Dec 10, 2014 at 10:59 AM, Andrea Faulds <ajf@ajf.me> wrote: >> On 10 Dec 2014, at 18:55, Sara Golemon <pollita@php.net> wrote: >> I was just updating my HHVM patch to match your PHP implementation and >> an issue came up. The following code, which is valid in PHP5: >> >> <?php >> echo json_decode("\"ma\u00F1ana\""); >> >> Will throw a fatal compiler error as "\u00F1" is an invalid unicode >> escape sequence. Since this represents an unnecessary BC break, I'd >> like to propose the error handling be modified to match \x, which is >> to say: Pass the value through unmodified. > > I was wondering about that case. Previously, the patch just raised a warning > but let it through unmodified. But then old code would be littered with warnings, > and I felt it was better just to throw an error. Part of the problem is that I’d rather > mistakes in string literals be caught at compile time, to prevent someone > accidentally echoing ‘\u00F1’ somewhere. > Well, consistency would be not raising a warning at all (like with \x or unknown \ sequences), but I get your concern with helping coders catch mistakes early. I don't have the stats on how many projects are using \uXXXX sequences (with the json_decode() or similar hack to parse them), but I know FB's codebase is absolutely covered in them. > A possible compromise might be to let ‘\u’ through but not ‘\u{‘. > Still don't like it from the inconsistency with existing escape sequence handlers pov, but it'd cover the biggest set of BC issues, so I'd be happy with it. -Sara

« previous php.internals (#79540) next »