From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Mendler Newsgroups: gmane.emacs.devel Subject: Re: compat.el and Emacs unstable master branch features Date: Wed, 13 Sep 2023 19:11:05 +0200 Message-ID: <12703bce-ede3-c337-1ad1-6b8ce2bf1e38@daniel-mendler.de> References: <87wn1axgh6.fsf@breatheoutbreathe.in> <87a5u2ydzg.fsf@breatheoutbreathe.in> <83msy25g0s.fsf@gnu.org> <624CBB7F-1442-400D-8D4D-1B26EBE9DACB@breatheoutbreathe.in> <877cp5bmig.fsf@breatheoutbreathe.in> <871qvz4kdw.fsf@localhost> <8734zoaolv.fsf@localhost> <87fs3o8uil.fsf@localhost> <87msxwa8kd.fsf@breatheoutbreathe.in> <87il8j7ji9.fsf@localhost> <80479897-500e-fe60-6586-0a44ccb5993b@daniel-mendler.de> <877coz7f6h.fsf@localhost> <86d6e412-9e5b-9086-56ce-e3794085096a@daniel-mendler.de> <874jk37dgh.fsf@localhost> <3f6176d5-ccc9-ec37-8adc-4e221388e164@daniel-mendler.de> <87ledd85ef.fsf@localhost> <87zg1rd7zj.fsf@posteo.net> <87bke6s6tc.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38703"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Ihor Radchenko , Joseph Turner , Stefan Monnier , Adam Porter , Eli Zaretskii , phillip.lord@russet.org.uk, emacs-devel@gnu.org, ~pkal/compat-devel@lists.sr.ht To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Sep 13 19:12:52 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qgTQ2-0009oD-Q1 for ged-emacs-devel@m.gmane-mx.org; Wed, 13 Sep 2023 19:12:50 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgTOo-0006rE-LR; Wed, 13 Sep 2023 13:11:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgTOm-0006qy-QO for emacs-devel@gnu.org; Wed, 13 Sep 2023 13:11:32 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180] helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgTOj-000118-Mo; Wed, 13 Sep 2023 13:11:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ah0l2DWi5Z0mRDBzdF3BVkSlrPU5tLT/H9inE/c/Txk=; b=oUUMqxTY5QontOn/htabzvBE9j DV/GksrAv3xiF5WAHf+429J/BDHeuzYIwU+lKz3VB1xaBjM5Cosp25f5FN3we+lNEd7DfDXMoAVO7 cmJ0D2ih44V2c3pj1ao04UxvbJtQmdXV1goc+b1GBbCl1Da4B32titDuRVWA2HwS5a6c=; Content-Language: en-US In-Reply-To: <87bke6s6tc.fsf@posteo.net> Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:310552 Archived-At: On 9/13/23 12:31, Philip Kaludercic wrote: > Daniel Mendler writes: > >> On 9/12/23 12:02, Philip Kaludercic wrote: >>> Ihor Radchenko writes: >>> >>>> Daniel Mendler writes: >>>> >>>>> ... Providing a public API won't work >>>>> since Compat is not included in Emacs itself. A design criterion of >>>>> Compat is also to keep the public API surface as small as possible. >>>> >>>> Maybe it is the time to consider including the compat.el API into Emacs? >>>> We are getting a number of :core packages published on ELPA and >>>> naturally having to solve various compatibility problems. >>> >>> I am a bit behind wrt Compat development. Are we talking about adding >>> the `compat-call, etc. macros to the core? So basically just a >>> >>> (defmacro compat-call (&rest args) args) >>> >>> that would be overriden by compat's compat-call, as soon as that is >>> loaded >> >> Yes, if the Emacs maintainers agree I think this could be done. Take >> compat.el, remove the part which requires compat-29, and copy it to >> lisp/ or lisp/emacs-lisp/. As you said, if Compat (the package) is >> installed it will be preferred over the core compat.el. The advantage of >> this move is that core package could require compat directly without >> passing a noerror argument to require. Furthermore `compat-call' and >> `compat-function' would be available and wouldn't have to be copied as >> is currently the case for example in erc-compat.el. > > That sounds good! How does this look like: Yes, this is what I meant. I forgot to mention one additional advantage in my last mail: If the compat.el in core is registered with package.el as builtin with version 30, the ELPA Compat package wouldn't get pulled in by external packages which depend on Compat version 29. The core compat.el version should then be bumped together with the Emacs version. Daniel