Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119364 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 69721 invoked from network); 20 Jan 2023 10:53:05 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 20 Jan 2023 10:53:05 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 727F7180504 for ; Fri, 20 Jan 2023 02:53:04 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 20 Jan 2023 02:53:04 -0800 (PST) Received: by mail-ed1-f41.google.com with SMTP id x10so6247597edd.10 for ; Fri, 20 Jan 2023 02:53:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZtMXZcZYiDL4TDTyMIaAntlLRzDLdtcio37Dysm6hZU=; b=qg7pDiOBRp08kdqzMKZuWjRFbih6J10Nus3sr6ynv0cga/RhwNu4Xwvr2riGWq5cGv dQRYruuUdvUjqHypixJH8VIwWS2wAghiffyO4O2bWK9xLTvj6jMUYvmHhBGCJPuuyBcK 9mlgNgeyKDBy1EcSZPRC2ub0WgAVG6Z+R7paGoqqt5kVrIK06jFqAbojompYT2BbhA1o gUMZkbZvBR8dVuL8CII+TR5W4sp/sQOuzwTWtZvQXJamMHDiiJF2QbtlfF93InYUeGA+ X1iNZaFY89/eQSDh1d/5bKh1E66iaxtbCQ2t6k9dxuZ6R6cbl3JTkI7WyOZdVVvPlDel 1+kw== X-Gm-Message-State: AFqh2kq2rDI7ZiluXxusy36oOcRDerp5ewO+zxdAjClG7G76Pq4jR01p Nah4CgKWPzv08WQVqkHUC4Aj+VGC6RIwiBe07k9cEjnl X-Google-Smtp-Source: AMrXdXulGxMwXuYcZGuZwXlI+ZBkrRH4E3ndRAx/9Q6k0lYsRBKZAhEiXokQj5kaXpTaQxv4GvCPGO6pC+EODGXu59c= X-Received: by 2002:a05:6402:2b97:b0:499:b382:602b with SMTP id fj23-20020a0564022b9700b00499b382602bmr1962771edb.198.1674211982826; Fri, 20 Jan 2023 02:53:02 -0800 (PST) MIME-Version: 1.0 References: <192ba7b6-dcf0-e2da-c99e-cbad40519e27@gmx.de> In-Reply-To: Date: Fri, 20 Jan 2023 10:52:51 +0000 Message-ID: To: Max Kellermann Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="00000000000083e96505f2afda43" Subject: Re: [PHP-DEV] RFC: rules for #include directives From: bukka@php.net (Jakub Zelenka) --00000000000083e96505f2afda43 Content-Type: text/plain; charset="UTF-8" On Fri, Jan 20, 2023 at 10:17 AM Max Kellermann wrote: > On 2023/01/20 10:53, Jakub Zelenka wrote: > > > As it was said, this is problematic for bug fixes when merging up > > and it's extra hurdle for maintainers - read this will slow down the > > development. > > Can I do anything to help with those merges? > > Reduce the diff to absolute minimum to prevent potential conflict. I think it would be more acceptable if there was a plan that will get us there in multiple releases rather than do one big bang change. Then devs more likely remember what actually changed between releases and will be more careful when merging up. > > Also this is not something I would like to see in a minor version bump > even > > though we can break ABI in that version but in general we try to > introduce > > as little changes as possible for extensions. If anything it should at > > least wait for the next major version bump when extension devs expect > more > > work to be done. > > What about: let's branch PHP 8.3 out, and declare master will become > 9.0. (Or create a new branch for 9.0 and let 8.3 stay in master; > branches names doesn't matter, only the idea matters.) > > I volunteer to do regular (daily?) merges from the 8.3 branch to the > 9.0 branch, and fix all the problems that may occur. > > Well we don't even know when 9.0 will be tagged so this could span to years which might be waste of your resources just for the sake of headers. Might be just easier to propose it before the actual major verison. That said I think it would be maybe more sensible what I mentioned above and that's to split the work to multiple steps over the years. > > I think comments are more useful in the actual header to explain > > what it is for which can be done in a few lines. It can be more > > detailed and doesn't need to be repeated... > > I agree with that part. More documentation for headers is useful. > > As I said in another reply, I feel those comments are only really > useful for those large and obscure catch-all headers such as > "zend_types.h". Check my "zend_result.h" commit - it makes lots of my > comments disappear, because suddenly the #include directive becomes > self-explaining. > I think if people are not sure what it does, they should just open the header and get explanation there so it should not be useful anywhere. > > > - some of the removed headers from libc should be kept as there's > > just a small benefit in removing them (e.g. errno.h) > > There is a benefit in removing them; improved compile times and > reduced namespace pollution (which is a theoretical benefit which is > probably not valued by all). > > But the benefit of keeping it is only source compatibility with buggy > extensions. > > And source compatibility with buggy extensions can be had by moving > those #include directives to "php_compat.h", with a way for "good" > extensions to opt out of the bloat. > > If you believe source compatibility even with "bad" extensions is > utterly important, I'll consider that in my submissions, and will > consider all build breakages as regressions that need to be fixed in > PHP (e.g. php_compat.h). I don't have a real opinion on that, I'll > accept whatever you decide and will help implement it. > > I think it should be at least included with "php.h" to reduce the impact on SAPI's and extensions. Regards Jakub --00000000000083e96505f2afda43--