Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:100602 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 36899 invoked from network); 14 Sep 2017 18:27:12 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Sep 2017 18:27:12 -0000 Authentication-Results: pb1.pair.com smtp.mail=php@golemon.com; spf=softfail; sender-id=softfail Authentication-Results: pb1.pair.com header.from=php@golemon.com; sender-id=softfail Received-SPF: softfail (pb1.pair.com: domain golemon.com does not designate 209.85.220.176 as permitted sender) X-PHP-List-Original-Sender: php@golemon.com X-Host-Fingerprint: 209.85.220.176 mail-qk0-f176.google.com Received: from [209.85.220.176] ([209.85.220.176:44066] helo=mail-qk0-f176.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5F/35-19300-FF9CAB95 for ; Thu, 14 Sep 2017 14:27:12 -0400 Received: by mail-qk0-f176.google.com with SMTP id b23so190622qkg.1 for ; Thu, 14 Sep 2017 11:27:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=golemon-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=3p2focUXK1NTBHOI/6H3f/EKkGK+FUw9CMA03+SgvVY=; b=2FeXaAt9c+ouxOYyeTdY9R9wg1PYftn/8jjK2gbJiD6YL0veDR0KV/LPlD63ETfL/k aB2NYbVBk27rUYeVgNcSP+z4zL72w6ybm4uIaa7kKVZEWmrQQ/vqQnJOdZ5aIv3E6uKU QVNF4uUP5/aaK9BGpTzAg0bdP4yaz5JgsKtc977JFcRWVVWB/+5HsfGUGv7ZEo3gtwnq dCXy+Htd2ddfEh40zPaGzEoA/gQuUQSiOp8FKIYTuHiQuDgfIORNTRErofZyHWv8qk0Y IWzDPgFUflpnAsAE8yE/KKmJQ4vDv1YtKVfh0G03+krp0/8sbijS0tlBlBNR9e9o9IKS mQQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=3p2focUXK1NTBHOI/6H3f/EKkGK+FUw9CMA03+SgvVY=; b=d8IaLc8e3XQ9rARF7AYN1nMterO+LOmdbhoFTVinNfRWdNzVulIR8XnhF+seB+B6wh hD8+gM72l80HPdrQtqrA2sc/sJYhG/wKPtjLMwztsmMm7d4+AMEUYKWjGVd5idXA3dfF C/KNX6plEe+amdWbKRbbwCapAMxQyFugx9Wa7pcl1kkO+rz65zbhbZF1r3q7zlTaBJ7q SMQXKl8BaS4HRLkK3EzdxMkYsbo8DLTRL+yQnTIJslF7+mqVe8zCuH0k2FUx91Pputnb yKc9HdOsIb0r69xWU019Xdi9R5e396wRtjzWLpHkE7Il9D82QuUBE0r4eGs7dxovUmBt uqkg== X-Gm-Message-State: AHPjjUimXRDgYN6iUGMAmtzAm/VF+ZIlLMXTe4upcTl3X6XRsvpjv5CJ KbHUJqODzcJ6JOPdHYksLehN9RhG03DJR+02/HlwCQ== X-Google-Smtp-Source: AOwi7QB6U4m26wRKukV/rXZsgAK9EHt3gOhquHyG6OB7RKed3H7XuHIALmVEs0T2PIaO1FSZ7DZ8bPpZNg+Nvu+taqQ= X-Received: by 10.55.18.137 with SMTP id 9mr4083340qks.208.1505413628905; Thu, 14 Sep 2017 11:27:08 -0700 (PDT) MIME-Version: 1.0 Sender: php@golemon.com Received: by 10.12.132.3 with HTTP; Thu, 14 Sep 2017 11:27:08 -0700 (PDT) X-Originating-IP: [206.252.215.26] In-Reply-To: References: Date: Thu, 14 Sep 2017 14:27:08 -0400 X-Google-Sender-Auth: rPpNblkT_i9_lOqDmSmi7mLYisU Message-ID: To: Levi Morrison Cc: "Christoph M. Becker" , "internals@lists.php.net" Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] Deprecate and remove case-insensitive constants? From: pollita@php.net (Sara Golemon) On Thu, Sep 14, 2017 at 12:02 PM, Levi Morrison wrote: > On Thu, Sep 14, 2017 at 9:38 AM, Sara Golemon wrote: >> On Tue, Sep 12, 2017 at 8:02 AM, Christoph M. Becker wrote: >>> Usually constant identifiers are treated case-sensitive in PHP. This is >>> always the case for constants defined via a `const` declaration. >>> However, define() allows to pass TRUE as third argument to define a >>> case-insensitive constant. This feature appears to potentially result >>> in confusion, and also causes bugs as shown in >>> . See an example created by Nikita to see >>> some probably unexpected behavior: . >>> >> I'd just like to ask everyone on this thread to circle back to the >> actual topic: Case-Insensitive Constants. Nothing else is on topic >> here. If you'd like to argue the value of Turkish case folding and >> its impact on combined symbol tables in 40 year old software, I >> encourage you to start a new thread for that topic. >> >> Of the minority of responses to this thread reflecting on the actual >> goal of the proposal, I've seen responses from "sure, why not?" to >> "what's the point?", but if there was a coherent argument firmly >> against, I must have missed it. >> >> So could we focus on the topic at hand, please? > > For what it is worth the Turkish locale issue is on-topic. If we have > case sensitivity and case insensitivity simultaneously in constants > and we decide to drop one then the locale issue points towards > dropping case insensitivity. > Except that we don't actually support case-insensitive constants and never have. We support ASCII case-insensitivity. Of course, this supports your "let's drop case insensitivity" position on the grounds that our implementation of it is ironically parochial and terrible. The argument about Turkish becomes irrelevant though since any constant declared with a non-english identifier is (at least partially) forced to be case-sensitive by virtue of our non-localized tolower implementation. https://3v4l.org/Od03d -Sara