From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Proposal: Forwards-Compatibility Library for Emacs Date: Wed, 22 Sep 2021 08:12:13 +0100 Message-ID: References: <877dfavmzw.fsf@posteo.net> <87czp2c6qd.fsf@gnus.org> <874kady4l1.fsf@gnus.org> <87ee9hqexx.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29073"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Lars Ingebrigtsen , Stefan Monnier , emacs-devel To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Sep 22 09:13:26 2021 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 1mSwRZ-0007MT-K5 for ged-emacs-devel@m.gmane-mx.org; Wed, 22 Sep 2021 09:13:25 +0200 Original-Received: from localhost ([::1]:55852 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mSwRX-0005wH-Co for ged-emacs-devel@m.gmane-mx.org; Wed, 22 Sep 2021 03:13:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35644) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mSwQh-0004Y7-2y for emacs-devel@gnu.org; Wed, 22 Sep 2021 03:12:31 -0400 Original-Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:40502) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mSwQf-0007M0-7v for emacs-devel@gnu.org; Wed, 22 Sep 2021 03:12:30 -0400 Original-Received: by mail-pl1-x635.google.com with SMTP id n18so1141273plp.7 for ; Wed, 22 Sep 2021 00:12:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=LcjIrx7KNlZMSuMjdjieoHSNe9W/AwKir9aJe2pPNQs=; b=f0z5FFV+fnFQ1DCHyaMviicLpL1WEpBVQoJbxNxVuEbHt7MTJwsnXBLHkqd9qxh8vZ KtUb0mruWKHXcx4Uaa7JpbksZgGKVfC2rjWbUH247l+qP1b/jSQcK1FxTIJNwzUSkJKi 2JsrmRfIHmKLEhe5QX4UVA3la1ELCcyQwdH41MfheR09mbvg6dOUENJfTuTJVufEaHjv lITP1pDv3OPRXG781wVwZ4ljbJ9YibcrgfH74W9R1Wpx98FkAkDNcykp9ZOuAGlEOyIo iR8TMCW2XGqcNRz+jEHZ6zcw04nMTDHIkpnOHbOYeVCO2aS8U8+uBk9XgzkCdGkmdQw3 jlUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=LcjIrx7KNlZMSuMjdjieoHSNe9W/AwKir9aJe2pPNQs=; b=n3kakRH3Mr+tBcgBJC78eP7xHSUHclHOayBh5uSeSBcp50lyCahgqagWC5UKky2qkJ 8NUFmHTwwLnrBfp52Er2o9NdtL6XYB/rSKuc/j4TjVC2bKw/uXVkDTaP5JY0RUzmgXUs 4XX2rqpZATCM3+3B1shdn8EMAloKYi1l3o8nBRUbRPn4MNbm7+Po8xAR9RS1KV8YEuGi vSttWgqW9512zK6X0QMR0Knamx2UbMZ9gLVDaYdjAcgOeo+RQOHub2Yr+cU5BmfRxUZG qF4LL4GD1Uh311Kr14GHRvTUa2OP9bnxlevdfjprwIzMxx9KsFGwLXaxuaa4TBpW/qUC QafQ== X-Gm-Message-State: AOAM532Mza1xPKvn8a4ioDma31YoAgWbF3Nx1Y9e8IEYRr9XzRfozRDx /AjjQ3UTKexKvMG/T065DOPGrigwMmY0SEM8JOs= X-Google-Smtp-Source: ABdhPJxAW+nDkLOt6B1HndjFbcBbFaHnpozuYTh/2JbL4r37VJj6px0S0UcNXst91AIPnECkxFGGm3IO98rs4Ua3AtM= X-Received: by 2002:a17:902:edc3:b0:13c:957d:63fa with SMTP id q3-20020a170902edc300b0013c957d63famr30741039plk.79.1632294746854; Wed, 22 Sep 2021 00:12:26 -0700 (PDT) In-Reply-To: <87ee9hqexx.fsf@posteo.net> Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=joaotavora@gmail.com; helo=mail-pl1-x635.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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.23 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" Xref: news.gmane.io gmane.emacs.devel:275296 Archived-At: On Wed, Sep 22, 2021 at 7:53 AM Philip Kaludercic wrot= e: > This might work for subr-x and other elisp packages (in which case these > could just be added as dependencies to the effectively virtual package > compat). Yes, correct. So my next ELPA package would just Package-Require: the ELPA package compat, which would bring in "lots of compatibility" (though not 100% right away). > On the other hand: If the functions are implemented in C, then they have > to be replicated some other way. And this doesn't just apply to > length{<,=3D,>}, string-distance, etc. but any function that might end up > using them down the call stack. Those could be isolated in some "cshims.el" package. I don't know if they would effectively be dependencies of lots of other packages. It depends. > In principle, these two approaches can be merged, Yes, correct, the two approaches should be merged, and my feeling is that your approach is useful mostly to fill the gaps where the current one doesn't cut it. > but I have the impression that this would be more complicated Funny, I have the opposite feeling. I think it would be simpler, since for some high percentage of cases just Package-Require-ing some :core packages by domain would be enough for the Emacs versions that you wish to support. Certainly with Eglot, a fairly complex package it has been (mostly) [*] the case, but then again Eglot only goes back to 26.3. Jo=C3=A3o *: "mostly", because we indeed have our shim for "executable-find" there. "executable-find" comes from "files.el", so maybe we could just Package-Require it?