On Tue, Apr 24, 2012 at 1:06 AM, Galen Wright-Watson <ww.ga...@gmail.com>wrote:

> On Mon, Apr 23, 2012 at 3:22 AM, C.Koy <can5...@gmail.com> wrote:
>
> > On 4/22/2012 11:32 PM, Galen Wright-Watson wrote:
> >
> >> 2012/4/22 C.Koy<can5...@gmail.com>
> >>
> >>  On 4/21/2012 4:37 AM, Galen Wright-Watson wrote:
> >>>
> >>
> >>  But, I did not start this thread to discuss such bug fix, because:
> >>>
> >>> 1. It does not take a genius to figure it out, and should take minutes
> to
> >>> implement for someone experienced in the internals. Given the 10 year
> >>> span
> >>> and dozens of comments/complaints on the bug's entry, it's hard to say
> >>> this
> >>> issue went unnoticed. So I had to conclude that such fix has quietly
> been
> >>> overruled for performance and/or other undisclosed reasons.
> >>>
> >>>
> >> Why does it matter if a solution is simple?
> >>
> >
> > It doesn't matter, you've misunderstood.
> >
>
> You've misunderstood me. While you may have set out with the goal of
> discussing making PHP completely case-sensitive, that doesn't preclude
> others from suggesting fixes for the specific bug you mention. Indeed, some
> of the first e-mails were around the bug, and not just in the context of
> case-sensitive PHP.
>
> I didn't introduce the custom case conversion solution as a
> counter-argument to case-sensitive PHP, and I wasn't asking for feedback on
> that solution in the context of case-sensitive PHP; I was asking for
> reasons why it wouldn't be a suitable solution for the bug. The only place
> case-sensitive PHP enters into it was your statement that:
>
> As the recent comments on that page indicate, there's not a deterministic
> > way to resolve this issue, apart from eliminating tolower() calls for
> > function/class names during lookup. Hence totally case-sensitive PHP.
>
>
> My proposition shows this is isn't entirely true, and branches off from the
> original discussion at that point. I'm focusing on fixing the bug, which is
> a smaller issue than case-sensitivity. Discussion of case-sensitivity can
> continue without regard to the custom conversion solution. As such, I've
> changed the subject of this e-mail.
>
> Furthermore, going back to your original e-mail, you explicitly stated it
> was about the bug, making case sensitivity subordinate to it.
>
> This post is about bug #18556
> (https://bugs.php.net/bug.php?**id=18556<
> https://bugs.php.net/bug.php?id=18556>)
> > which is a decade old.
>
>
> I hope you can see why others might take the bug to be the context for
> case-sensitivity, rather than the other way around.
>
> And that's what makes me curious and confused about why this bug still
> > exists. See, I'm drawing a conclusion with what little information I
> have,
> > and stating the reasonings it's based on (first two statements).
> > Overall, that and the item following it were an explanation of "why I'm
> > suggesting a major feature change in solution to a specific bug",
> although
> > noone directly asked me to.
> >
> > In other words, you jumped to a conclusion. I wasn't asking about
> possible
> reasons why custom conversion hasn't been accepted as the solution to this
> bug. Neither was I asking why you didn't suggest it. I was (and still am)
> asking for explicit, justifiable reasons as to whether or not it's a
> suitable solution to the bug.
>
>
> >
> >> If it's already been rejected privately, it's time to bring the reasons
> >> into the open (which is why I asked). If not, it should be considered
> >> publicly.
> >>
> >
> > A comment dated 2002-09-26 on bug's page states the bug is fixed. The
> next
> > comment dated 2006-02-17 states it reappeared.
> > I don't know who did what 10, 6 years ago but it's been revoked. Why?
> > That was the main reason I deemed this bug not fixable, hence suggest
> > other ways to resolve.
> >
> > I don't know either, but I'm not about to disregard potential fixes if
> they haven't been publicly discussed. The regression could just as easily
> have been a mistake. From looking at the original fix (revision 97040,
> http://svn.php.net/viewvc?view=revision&revision=97040, authored by iliaa)
> and the bug comments, something along the lines of what I'm suggesting has
> been suggested and even implemented before, but there's no real discussion
> of it. The original fix (zend_str_tolower_nlc) assumed ASCII, which isn't
> entirely suitable as there are uppercase characters that it doesn't
> convert, which suggests yet another reason for the regression, namely that
> using zend_str_tolower would convert the characters that
> zend_str_tolower_nlc missed.
>
> As for the real reason why the bug reappeared, we can continue on in our
> historical examination. Revision 99001 (
> http://svn.php.net/viewvc?view=revision&revision=99001, also authored
> by iliaa) replaced zend_str_tolower with zend_str_tolower_nlc, making all
> internal Zend case conversion use ASCII. iliaa had this to say about the
> change (http://news.php.net/php.zend-engine.cvs/478):
>
> It appears that there no reason to keep both zend_str_tolower_nlc and
> > zend_str_tolower.  zend_str_tolower_nlc can be safely renamed to
> > zend_str_tolower. The places it is used in, do not appear to depend on
> > locale.  For people who do need it there is an alternative php function
> > php_strtolower, which they can use, which does respect the locale. So, if
> > there are no objections I'll prepare a patch that will change
> > zend_str_tolower_nlc to zend_str_tolower.
>
>
> Revision 128057 (http://svn.php.net/viewvc?view=revision&revision=128057,
> authored by sterling) adds zend_str_tolower for use in
> fast_call_user_function, which makes use of tolower rather than a custom
> conversion. Revision 128060 (
> http://svn.php.net/viewvc?view=revision&revision=128060, same author) then
> changes zend_str_tolower to use tolower instead of its custom ASCII-based
> conversion. The commit message is: "make this faster and sexier". Within
> these revisions, zend_lookup_class is case sensitive. This change, in
> combination with 99001, mask the reason for the custom conversion.
>
> Introduction of zend_tolower and use of tolower_l was introduced by
> revision 224372 (http://svn.php.net/viewvc?view=revision&revision=224372,
> authored by stas (hi, Stas!)). The commit message is: "Improve
> tolower()-related functions on Windows and VC2005 by caching locale and
> using tolower_l function."
>
> There are plenty of other edits to Zend functions affecting case handling
> (look over the commit messages listed in
>
> http://svn.php.net/viewvc/php/php-src/trunk/Zend/zend_operators.c?view=log&pathrev=225000
> )
> that make similar tweaks involving case conversion and the character
> encoding. What are we to conclude from all this? That the custom conversion
> was a bug fix was lost as the file was edited and different people worked
> on it. In other words, the fix was not lost due to a conscious decision
> made by anyone, but rather the typical reason for regression (in the
> original sense of the word): there's too much for anyone to keep all of it
> in mind at once, so someone can easily re-introduce a bug without being
> aware of it.
>
> I trust this demonstrates that "there must be an undisclosed reason" isn't
> a justifiable reason not to implement my proposed solution.
>
> The abstract property that makes a locale problematic is obvious. I
> >> was looking for specific locales, as they need to be identified for a
> >> complete solution.
> >
> >
> > I'm not locale expert. Given the public complaints/bugs we can, in
> > practice, assume this affects Turkish and Azerbaijani only. (I don't know
> > about Kurdish)
> >
> > Kurdish is mentioned by Mike and Tokul in the comments for the bug. I
> could easily have come to the same conclusion, but I want an answer from
> someone who knows without needing to make any assumptions. Are there any
> locale experts (or someone willing to put in the leg-work) reading this
> with a conclusive answer to my question about problematic locales?
>

thanks for digging this out.

ps: you had a few extra > at the end of the first lines of your sentences,
I experienced similar problems with gmail, the solution for me was to
always put an extra new line after the quoted text.

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

Reply via email to