Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:87715 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 93990 invoked from network); 11 Aug 2015 20:00:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Aug 2015 20:00:28 -0000 Authentication-Results: pb1.pair.com header.from=yohgaki@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=yohgaki@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.160.176 as permitted sender) X-PHP-List-Original-Sender: yohgaki@gmail.com X-Host-Fingerprint: 209.85.160.176 mail-yk0-f176.google.com Received: from [209.85.160.176] ([209.85.160.176:32941] helo=mail-yk0-f176.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 46/64-00789-B545AC55 for ; Tue, 11 Aug 2015 16:00:28 -0400 Received: by ykaz130 with SMTP id z130so69275040yka.0 for ; Tue, 11 Aug 2015 13:00:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=nD5kTYNWmdqjeHvtWbYLXXYBULjoIW8hn8W8G4kceBw=; b=MVciNWrqThNPswKdGi5vOQAZC6gw6ewBYtsHDX8T+EO2ceZaYg250+wr56TZUssiqB ZVy3sqxoyWqHaCeYZG6dxYHBxT/3jIZqFNM7lgNUGEdXl2XPVlxhjlZ9dgAeYzCbYk3X ykOVEzF6skswirUcq+w/3tWGIgeJB496VjLPbJop6tFRxskQeuARC8hbystmy5AYRPhy PNclLxb+caOy/bDNdz57QlBnMloi4xwLDwIifaOTsGy55jweZc8VdGwYCrNndyt25XW3 zb7zh8vE3dRjONPwWX8HxBa/bHWLqtBJ2vyxsiJ6f06DsoLeWDB0WpT6E/cSul1IPt3k A87w== X-Received: by 10.129.103.5 with SMTP id b5mr10388423ywc.55.1439323225021; Tue, 11 Aug 2015 13:00:25 -0700 (PDT) MIME-Version: 1.0 Sender: yohgaki@gmail.com Received: by 10.129.81.87 with HTTP; Tue, 11 Aug 2015 12:59:45 -0700 (PDT) In-Reply-To: <55CA372B.8040006@gmx.de> References: <55CA26DF.3030109@gmx.de> <55CA372B.8040006@gmx.de> Date: Wed, 12 Aug 2015 04:59:45 +0900 X-Google-Sender-Auth: veIuWrxL3RzEyIcSUkqRNibeUAs Message-ID: To: Christoph Becker Cc: Adam Harvey , PHP internals Content-Type: multipart/alternative; boundary=001a11490c148b644e051d0e8d60 Subject: Re: [PHP-DEV] libpcre version requirements From: yohgaki@ohgaki.net (Yasuo Ohgaki) --001a11490c148b644e051d0e8d60 Content-Type: text/plain; charset=UTF-8 Hi all, On Wed, Aug 12, 2015 at 2:55 AM, Christoph Becker wrote: > >> I'm asking because of bug #70232 which can easily be fixed, but that > >> requires PCRE 8.00 (2009-10-19). If we have to support older PCRE > >> versions, we'd probably need a fallback to the current behavior (which > >> would obviously keep the bug). > > > > I guess the question's really whether we should still support an > > _external_ libpcre that old, since we bundle much newer versions. I > > think the argument against changing it has always been that it works > > and we didn't need anything newer, but if we have a reason now then > > that doesn't really hold. > > > > One problem is that I don't think we can really change the minimum > > requirement on a stable branch, so for 5.5 and 5.6 we're going to have > > to implement something that works with older versions regardless, but > > I'd be for bumping the minimum version requirement for 7.0 if it makes > > the code cleaner (on that branch, at least) moving forward. > > I don't know if we can implement a fully working fallback for PCRE < 8 > in a viable way. Actually, PCRE_NOTEMPTY_ATSTART had been added to > libpcre to solve the issue with \K for /g[1]. Note the wording of the > commit message: > > | Added PCRE_NOTEMPTY_ATSTART in order to be able to correctly > | implement the /g option in pcretest when the pattern contains \K, > | [...] > > My best idea so far is to use PCRE_NOTEMPTY_ATSTART and to fallback to > PCRE_NOTEMPTY, if the former is not available. Of course the bug would > persist for old libpcre, but \K will not be effective for PCRE 6.6 anyway. Isn't it normal that PHP would not support features that underlying libs do not support? We have number of such functions. Isn't it the reason why phpinfo() shows underlying library versions? Distributions prefer to use system's libraries. I suppose question is if PHP supports older systems such as RHEL/CentOS 5 or not. They are used widely. I prefer to support them if it is possible/feasible. Features that are not supported by libs could be documentation issues. IMO. Regards, -- Yasuo Ohgaki yohgaki@ohgaki.net --001a11490c148b644e051d0e8d60--