Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:37769 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 40814 invoked from network); 21 May 2008 10:46:05 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 May 2008 10:46:05 -0000 Authentication-Results: pb1.pair.com header.from=tony@daylessday.org; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=tony@daylessday.org; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain daylessday.org designates 89.208.40.236 as permitted sender) X-PHP-List-Original-Sender: tony@daylessday.org X-Host-Fingerprint: 89.208.40.236 mail.daylessday.org Linux 2.6 Received: from [89.208.40.236] ([89.208.40.236:41149] helo=daylessday.org) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6E/01-33305-C6DF3384 for ; Wed, 21 May 2008 06:46:05 -0400 Received: from [192.168.3.91] (unknown [212.42.62.198]) by daylessday.org (Postfix) with ESMTP id 75CED6401E8; Wed, 21 May 2008 14:46:01 +0400 (MSD) Message-ID: <4833FD5B.2010308@daylessday.org> Date: Wed, 21 May 2008 14:45:47 +0400 User-Agent: Thunderbird 2.0.0.12 (X11/20080226) MIME-Version: 1.0 To: Steph Fox CC: internals@lists.php.net References: <7d6e34d80805191240k64cb1ba6k3e8f7a50ddf068c@mail.gmail.com> <4831F27B.7030001@suse.de> <296949B4-D328-49FE-968B-4942B28FE869@pooteeweet.org> <7d6e34d80805191454m69614624v7a05037fa947328e@mail.gmail.com> <698DE66518E7CA45812BD18E807866CE019F60DE@us-ex1.zend.net> <34.64.28995.1BE23384@pb1.pair.com> <02e701c8bab7$19a3dd10$4401a8c0@foxbox> In-Reply-To: <02e701c8bab7$19a3dd10$4401a8c0@foxbox> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Unicode progress [Was: unicode.semantics ad infinitum] From: tony@daylessday.org (Antony Dovgal) On 21.05.2008 00:21, Steph Fox wrote: > I think the test script and ZE problems should be resolved first... And to do that we need to drop the Unicode Switch =) > plus I just discovered that my php.ini isn't being found when I run commandline > tests (e.g. php -r "var_dump(strcasecmp());" doesn't throw an error unless I > explicitly set error_reporting from the commandline, despite having > E_ALL|E_STRICT in the INI). These are basic things, nobody can really go > much further until they're fixed. Your php.ini is being found & read allright, the problem is that the INI scanner looks for _string_ constants, while all constants are registered as _unicode_ constants in Unicode mode. So it fails to find E_ALL constant and ends up with atoi("E_ALL"), which is 0. I committed a fix for this one a minute ago. The broken function names in error messages are easy to fix too, as soon as we drop the Switch - functions in Unicode mode are registered using their Unicode names, but then a weird thing happens: zend_register_standard_ini_entries() makes Unicode copies of function/class/constant tables (ignoring the fact that they are already Unicode ones), this is why you see only the first character in function names. The patch is as easy as this: http://dev.daylessday.org/diff/fix_unicode_function_names.diff I didn't commit this one yet as I didn't investigate how it would affect non-Unicode mode (and whether I should worry about non-Unicode mode at all). -- Wbr, Antony Dovgal