Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:27259 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 86796 invoked by uid 1010); 4 Jan 2007 13:15:33 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 86765 invoked from network); 4 Jan 2007 13:15:32 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Jan 2007 13:15:32 -0000 Authentication-Results: pb1.pair.com header.from=php_lists@realplain.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=php_lists@realplain.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain realplain.com from 69.179.208.43 cause and error) X-PHP-List-Original-Sender: php_lists@realplain.com X-Host-Fingerprint: 69.179.208.43 msa3-mx.centurytel.net Linux 2.4/2.6 Received: from [69.179.208.43] ([69.179.208.43:35404] helo=msa3-mx.centurytel.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C4/10-16106-BDDFC954 for ; Thu, 04 Jan 2007 08:15:08 -0500 Received: from pc1 (d9-50.rt-bras.wnvl.centurytel.net [69.179.136.50]) by msa3-mx.centurytel.net (8.13.6/8.13.6) with SMTP id l04DF3jP016776; Thu, 4 Jan 2007 07:15:03 -0600 Message-ID: <01c901c73002$591dc6e0$0201a8c0@pc1> To: "php-dev Internals" , "Andrei Zmievski" References: <020801c725ce$fe9fe190$0201a8c0@pc1> <90c8af0c49a1264f019f15b797817313@gravitonic.com> Date: Thu, 4 Jan 2007 07:15:03 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1807 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1896 Subject: Re: [PHP-DEV] The new printf implementation From: php_lists@realplain.com ("Matt Wilmas") Hi Andrei, No, not really... :-) I agree with what you said. Even in non-Unicode mode or 5.2, it doesn't seem like making things locale aware which weren't before is a good idea (3rd party code that's relying on behavior, etc. which I think was mentioned elsewhere). Matt ----- Original Message ----- From: "Andrei Zmievski" Sent: Wednesday, January 03, 2007 > Matt, any replies to this? > > -A > > On Dec 22, 2006, at 9:53 AM, Andrei Zmievski wrote: > > > Especially since POSIX locales are deprecated in Unicode mode. I > > really don't think printf() should use locale-aware formatting by > > default. > > > > -Andrei > > > > On Dec 22, 2006, at 5:42 AM, Matt Wilmas wrote: > > > >> Hi all, > >> > >> A couple questions regarding the printf changes (internal and > >> userland) a > >> couple weeks ago... > >> > >> Now the internal %f, %g, and %G are locale-aware, which they weren't > >> before, > >> right? Is this how they're supposed to be and simply weren't before? > >> (The > >> locale changes caused Bug #39873 with number_format(), etc.) In > >> userland > >> *printf(), %f (as always), %g, and %G are also locale-aware, but, like > >> "internally," %e and %E are not? None of it really affects me, just > >> wanting > >> to verify desired behavior. :-) > >> > >> Second thing is about the g/G specifiers, especially now that they're > >> in > >> userland. It's my understanding that scientific notation should be > >> used if > >> the exponent is < -4 or >= the precision. So why with printf('%.6g', > >> 1234567890) do I get "1234570000" instead of the expected > >> "1.23457e+9"? The > >> former just looks wrong. (One more digit triggers scientific > >> notation.) > >> Using: > >> > >> ini_set('precision', 6); > >> echo (double) 1234567890; > >> > >> it comes out as expected, both on Windows (where zend_sprintf() > >> appears to > >> use the system's sprintf()), and on my Linux host. > >> > >> The same issue exists in Unicode mode, with double->Unicode > >> conversion, > >> which makes things different depending on unicode.semantics... > >> > >> It's a simple fix to make g/G work the way I thought (and think) they > >> should. Thoughts? > >> > >> > >> Thanks, > >> Matt