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: Tue, 12 Sep 2023 12:27:27 +0200 Message-ID: References: <87wn1axgh6.fsf@breatheoutbreathe.in> <87v8csku60.fsf@breatheoutbreathe.in> <83cyyz94c6.fsf@gnu.org> <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> 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="23047"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 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 , Ihor Radchenko Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 12 12:28:43 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 1qg0dO-0005mf-VB for ged-emacs-devel@m.gmane-mx.org; Tue, 12 Sep 2023 12:28:43 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qg0ch-0008Ld-B9; Tue, 12 Sep 2023 06:27:59 -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 1qg0ce-0008LD-JT for emacs-devel@gnu.org; Tue, 12 Sep 2023 06:27:56 -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 1qg0cb-0002bv-7h; Tue, 12 Sep 2023 06:27:56 -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=eQmgR6HvcuNiP2UdAxMXVap5p4wPfuD7VFar/+Hha1Y=; b=LfSUBuHbOVFEn9Uketd846DQ3k Pc8nzQHZCOmsCALM2PqxpEE07fUtWG58tV5owZcI2n7VQmLkkBvbbxIu8CyttsnztepThJRAsbZZd kQ5gF80wlg1uyqcuf1ipNkg33KB52sHywzVE8Ap5AJzFfbKrSEoog+TMBR3mURzEiG2o=; Content-Language: en-US In-Reply-To: <87zg1rd7zj.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:310512 Archived-At: 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. Daniel