Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124786 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 4F2931A00B7 for ; Mon, 5 Aug 2024 19:34:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1722886572; bh=PehxjefHusXFjazqpGH/DhF/MDfivpNisX/KH6wv8gM=; h=Date:To:From:Cc:Subject:In-Reply-To:References:From; b=NdoGC89bVAUzy1f5dyWZfXCrzY537wr4k2prow+7z7Iy6UvS2P6H/1Qly/TFWnoNu YFuOd2OSSqvDhH278cg+tyuWOGTWHRwcXB4FaKQl4iSOJXHqePtv3MmXDgMYn5MoqT Lqeoh0StIV/mzhtTb+rC283s7Ew3jS/0e0mCdHG4VED/eAAhcmg2oWBcLgSKPaaa1/ Qv/nzzJkkoqeryEB8+dFmxsPtm/HhMfU5tBoBjyTYmOmyP+prcbylFAJkIgAHA6+KZ ciNT7oc1bSzhEpPVd2dQ641z0d2xBfRwp1kA/ymo+5lpo2ZCFLv5uRJD3MI4+Nk9+R uY71SM4CdqaYQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 54966180069 for ; Mon, 5 Aug 2024 19:36:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-4323.proton.ch (mail-4323.proton.ch [185.70.43.23]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 5 Aug 2024 19:36:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gpb.moe; s=protonmail2; t=1722886466; x=1723145666; bh=PehxjefHusXFjazqpGH/DhF/MDfivpNisX/KH6wv8gM=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=DRPZ0lUOuLaQDw/7jOpOQY0YBJ/MEQO/Xik012qq+hTHywU1on6yhAOJal/k9lScO uhCgJdU4nG5CA5DkwchJXR4jGXWhXaTjc29ddr46C/3/JRQPnfigBwEB8wOVVBoMZe SK+pmYcRp5WkPBf5qFRthvOHyYnjR+3VSpRquYixEvHiho7tgqr1cA9hDgr1QFN1E8 edz7O/X1VKiLRN3Dak3HoHxiz0B64oHE64t675yjmsTzsw8fE896MM7xtYeqQCb2WE lU8G5zo/mb1W6fotZFRDGboqmo5M4LAQKwprvwEDDTd3XelHYQrRAXCO+vgxb/cSBs G7hv1pwzGAcbQ== Date: Mon, 05 Aug 2024 19:34:20 +0000 To: Derick Rethans Cc: "Christoph M. Becker" , PHP internals Subject: Re: [PHP-DEV] [RFC] [VOTE] Transform exit() from a language construct into a standard function Message-ID: In-Reply-To: <1a8650d2-7eb5-d645-8132-e5522ad24637@php.net> References: <15bb76a0-cbd7-4145-b429-76d424755106@gmx.de> <1a8650d2-7eb5-d645-8132-e5522ad24637@php.net> Feedback-ID: 96993444:user:proton X-Pm-Message-ID: b6f8c294d7668821431f76bf06889ff75bec5e2f Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: internals@gpb.moe ("Gina P. Banyard") On Monday, 5 August 2024 at 12:04, Derick Rethans wrote: > On Tue, 30 Jul 2024, Christoph M. Becker wrote: >=20 > > On 30.07.2024 at 11:49, Gina P. Banyard wrote: > >=20 > > > I have just opened the vote for the "Transform exit() from a > > > language construct into a standard function" RFC: > > > https://wiki.php.net/rfc/exit-as-function > > >=20 > > > The vote will last for two weeks until the 13th of August 2024. > >=20 > > As userland PHP developer, I always regarded `exit` as a control flow > > instruction (quite similar to `break`), and as such I'm not really in > > favor of converting it to a proper function (especially since it is > > not, because the parantheses could be omitted). >=20 >=20 > Xdebug uses exit for exactly that too. For control flow analysis. And I > also always have considered it to be a control flow instruction. >=20 > I see no benefit in changing it to a function, especially because > there will never be a function "exit" from it, just only an "entry". > This breaks function execution symmetry (and causes issues with Xdebug > when I last tried to make it work with a development branch for this > RFC). >=20 > As the RFC is scarce on mitigations for this, I am currently voting "no" > as I am unsure how certain features in Xdebug could remain working. I > have written to the list on other reasons before > (https://externals.io/message/123277#123450) without a conclusion. >=20 > I'll consider changing it to yes if there is a commitment for addressing > these feature-maintaining-requirements to keep Xdebug working, either > through new APIs (think observer) or other mitigations. >=20 > cheers, > Derick >=20 > -- > https://derickrethans.nl | https://xdebug.org | https://dram.io >=20 > Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/sup= port >=20 > mastodon: @derickr@phpc.social @xdebug@phpc.social I still do not comprehend your issue. You can either do stuff at compile time, which has been explained before, o= r use the function call observer for anything runtime related. The behaviour of exit() is completely observable with the current observer = framework, so I don't see why anything else needs to be done. Best regards, Gina P. Banyard