From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#66554: [PATCH] Add the public API of Compat to the core Date: Fri, 19 Jan 2024 08:43:54 +0200 Message-ID: <83r0idx1p1.fsf@gnu.org> References: <87pm1ggrdx.fsf@posteo.net> <87y1cwpanh.fsf@posteo.net> <877ckgpa45.fsf@daniel-mendler.de> <87mstbpyd7.fsf@posteo.net> <87h6jjah1g.fsf@daniel-mendler.de> <87edenptba.fsf@posteo.net> <87bk9raaad.fsf@daniel-mendler.de> <87a5pbvbxc.fsf@posteo.net> <875xzza8jw.fsf@daniel-mendler.de> <87edemldlw.fsf@posteo.net> <83cyu6ifzw.fsf@gnu.org> <875xzyl8lq.fsf@posteo.net> <837ckeievw.fsf@gnu.org> <87h6jiqtsp.fsf@daniel-mendler.de> <835xzyiagj.fsf@gnu.org> <871qamkx0m.fsf@posteo.net> <83wmsdhgw8.fsf@gnu.org> <87wmsdxvz6.fsf@daniel-mendler.de> <878r4ml8sg.fsf@posteo.net> <83v87qwg48.fsf@gnu.org> <87h6jaz8eo.fsf@daniel-mendler.de> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35013"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 66554@debbugs.gnu.org, philipk@posteo.net, monnier@iro.umontreal.ca, stefankangas@gmail.com To: Daniel Mendler Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jan 19 07:45:17 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1rQicu-0008rH-RD for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 19 Jan 2024 07:45:16 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rQicg-0000mS-Ui; Fri, 19 Jan 2024 01:45:02 -0500 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 1rQice-0000lw-TF for bug-gnu-emacs@gnu.org; Fri, 19 Jan 2024 01:45:01 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rQice-0005z7-KV for bug-gnu-emacs@gnu.org; Fri, 19 Jan 2024 01:45:00 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rQicg-0004Jn-GE for bug-gnu-emacs@gnu.org; Fri, 19 Jan 2024 01:45:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 19 Jan 2024 06:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66554 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 66554-submit@debbugs.gnu.org id=B66554.170564665216509 (code B ref 66554); Fri, 19 Jan 2024 06:45:02 +0000 Original-Received: (at 66554) by debbugs.gnu.org; 19 Jan 2024 06:44:12 +0000 Original-Received: from localhost ([127.0.0.1]:57295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQibs-0004IC-5i for submit@debbugs.gnu.org; Fri, 19 Jan 2024 01:44:12 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58572) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQibo-0004Hw-Q5 for 66554@debbugs.gnu.org; Fri, 19 Jan 2024 01:44:10 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQibf-0005tT-M5; Fri, 19 Jan 2024 01:44:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=lVX25SZjs9crMEj5qxwM2cSxLLKbN6sfEs/8x792q8Y=; b=px/cd1+G2z3Y fEKtuyDYw9+V2sovk3R5oRVP8Qij1rXg8almDaB1QKdmAX03NJEKU8bfPH3Omx7CZRH5HCXnH8c3n OehL06DdvdxGvL39yL0ijO52rshKGrIjkjQqiBpTUIKSnRw8CfnKpQyZddaABzw4OMBtPPeNCEZtx GWnBnMxWptaThISjsq5UXnDsuSvSYL59U/JyMBVuRtxtHK8jCHqnCYBNzhKK9AzZQ+dl4WfajL8Ly YFTA/Nuj1HPCsuvi7zv863mi8cLnbwnaK+GlLJuJiMYkH4SxuA4JxqIEAJRd4wOEmQ+3VByDKmckC MpLdxP9WsTfch4md4hJsxg==; In-Reply-To: <87h6jaz8eo.fsf@daniel-mendler.de> (message from Daniel Mendler on Thu, 18 Jan 2024 21:35:59 +0100) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:278476 Archived-At: > From: Daniel Mendler > Cc: Philip Kaludercic , 66554@debbugs.gnu.org, > monnier@iro.umontreal.ca, stefankangas@gmail.com > Date: Thu, 18 Jan 2024 21:35:59 +0100 > > Eli Zaretskii writes: > > > I find the documentation of this arrangement still insufficient. The > > way this stuff works (which required Daniel to write 150 lines of > > explanation) is mostly kept out of the written docs, so we'll have to > > rely on people's memory. Can we document this machinery better? > > I agree. Where do you suggest to add the documentation? My intention is > to update the Compat manual (of the Compat ELPA package) with a more > detailed explanation of the mechanism as soon as the compat.el file gets > added to the Emacs core. We may want to avoid to duplicate the > information, by keeping the documentation in the Emacs compat.el file > concise, referring mainly to the Compat manual. The Compat manual cannot be the only place, because the information I'm talking about should be aimed at the Emacs developers, so it must be part of Emacs. I suggest to have it in the commentary in compat.el. > >> +** New package Compat > >> +The Compat package on GNU ELPA provides forwards-compatibility > >> +support, so that packages that still provide support for older > > > > I think this is known as "backward compatibility". > > Compat allows packages to use APIs which are newer than the Emacs they > depend on. A package depending on ((emacs "27.1") (compat "29.1")) > relies on Emacs 27.1 as base line, but can use some APIs from 29.1, > specifically the ones provided by Compat. Is there a better and more > specific term for this than "forward compatibility"? How about Compat allows packages written for newer Emacs version to still work with older Emacs versions.