From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel,gmane.emacs.erc.general Subject: Re: Adding 'compat' from ELPA as an optional dependency to ERC Date: Tue, 19 Jul 2022 16:25:51 +0000 Message-ID: <87edyhrrw0.fsf@posteo.net> References: <87fsixw4co.fsf@neverwas.me> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28837"; mail-complaints-to="usenet@ciao.gmane.io" Cc: F. Jason Park , emacs-devel , Amin Bandali , emacs-erc@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 19 18:30:36 2022 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 1oDq7H-0007IG-Rz for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 18:30:35 +0200 Original-Received: from localhost ([::1]:39442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oDq7G-00043T-Kl for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 12:30:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34454) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDq2r-0008QH-GA for emacs-devel@gnu.org; Tue, 19 Jul 2022 12:26:01 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]:47145) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDq2o-0005TU-6g for emacs-devel@gnu.org; Tue, 19 Jul 2022 12:25:59 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 066A9240115 for ; Tue, 19 Jul 2022 18:25:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1658247956; bh=Na/7GfCdc5gy4yXP2lTKt5WtgSok1ASvMMvKA6WALqw=; h=From:To:Cc:Subject:Autocrypt:Date:From; b=EsGLnLOcH/k9qGDZe/ZCF8nS9akpwACrvfMoHsdVC3fVJsGjYqiZq02r+4/yhCayK OUBa/XmP6KDWkRBffQhVx74u7mQx4bdSRagLFCxjni6XzrfjMGODKe0LfpdfVaGgh5 Md1sRu/scXyHAiUYHbL13jerqzP1eJyqkYC2qQZrHpA6bZAjzgLawXKfH+AeB3IGvr TnOd5gyze0ev3fDcP1fTnaMelVNJtSrFCIcjdq0Pl3h5MN8sSiuyj813xqxcUi/8H0 8QNXsDjAbKMYuMVSUZFBojcvrOg6YtNe3m5hz8/3J1SXcN4KAIiFfAo46UKlQVC7oQ PiPR97TvXQd4w== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4LnPMk6QhXz6tmH; Tue, 19 Jul 2022 18:25:52 +0200 (CEST) In-Reply-To: (Stefan Monnier's message of "Tue, 19 Jul 2022 12:17:20 -0400") Autocrypt: addr=philipk@posteo.net; prefer-encrypt=nopreference; keydata= mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB Received-SPF: pass client-ip=185.67.36.66; envelope-from=philipk@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" Xref: news.gmane.io gmane.emacs.devel:292282 gmane.emacs.erc.general:1882 Archived-At: Stefan Monnier writes: >> ;;; Code: >> +(require 'compat nil 'noerror) > > I thought the idea for `compat` is that the packages using it would > require a specific (minimum) version, as in > > (require 'compat-28 nil 'noerror) No, requiring 'compat will load all missing definitions up until the currently version the library supports. By explicitly loading compat-28, one would additionally load "prefixed" definitions for functions that add new features to existing functions. E.g. consider how assoc acquired a new optional argument "TESTFN" in version 26. One would either have to advise the existing function, which was regarded to be too invasive and dangerous, or to define a separate function underneath the `compat-' prefix -- `compat-assoc'. This function is not made visible by loading `compat', and explicitly ought not to be in this case, as someone using the in-tree version of ERC would not have no such function defined. In this sense the support compat can provide for core packages is limited, but as it seems for ERC's requirements sufficient.