From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id SNREJnc682L2jAAAbAwnHQ (envelope-from ) for ; Wed, 10 Aug 2022 06:56:23 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id ePY9Jnc682K6qAAA9RJhRA (envelope-from ) for ; Wed, 10 Aug 2022 06:56:23 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 51815DA98 for ; Wed, 10 Aug 2022 06:56:23 +0200 (CEST) Received: from localhost ([::1]:53628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLdlV-00079l-Sl for larch@yhetil.org; Wed, 10 Aug 2022 00:56:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42304) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLdko-00078l-Qb for emacs-orgmode@gnu.org; Wed, 10 Aug 2022 00:55:39 -0400 Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]:41726) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLdkn-0005Lj-3m for emacs-orgmode@gnu.org; Wed, 10 Aug 2022 00:55:38 -0400 Received: by mail-pj1-x1031.google.com with SMTP id t2-20020a17090a4e4200b001f21572f3a4so1018669pjl.0 for ; Tue, 09 Aug 2022 21:55:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=ETGW2cqZDV8zolAEt+LYD88R1TIoENTQKKZyEaw/nLE=; b=h5vPYJIybZu62EQSCKyn+z/nI4W/WFfnoLRc2+hcbgeRnorJVbF6412jLmCkuUOuH7 29O+xIiQ7Zp1uMrUYm4nhbdvGGL7WiA8i/BXN3g/ivztOn+Ah4RDFqUr1KUs/PRgMDL3 tzQGdwB7hKL87iFf9t/tTHJdLb5ZQVXn6IROxf7reUd+n7GBsDNQdSTnogPFsc2rGWXp peLlzMt98cWWO0BVDwbYT0sH9Qii8jXj5Qb9YfpHelh9i416W/i2ggz9wG2KlwkCeLWu JuPhWf6RHJZ7FBhdP2yZolSIE/J/0t2s1H3OFYyxuia2KrOzR+3qUM05Me8UKHirwgY8 YnVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=ETGW2cqZDV8zolAEt+LYD88R1TIoENTQKKZyEaw/nLE=; b=0uS/ESWKN4ARcpqUMT4X6pr8M25DvDAxppeDM8VM1uJ3FqGA97BaiEoZi9edsdxgRC 1Wxm28IYQ/6hrtluMFgATL1cqehGGJpS7GCFXZ2di4SiEA4k/dMnpEIOnoh94WEocpKW yIPpKlCdEldwp1bYwruE9v4Mf7lqr3otp4NCumohj69s6amtOPOo0a1jEZQTA9ifpyfu zrCK3Z/AWBwRW/3AGm+UxP2wGZigSVnex3Dnozlr/W/Xmjw2rhRsepGVrlTEMrp1twxI 6MGWHqMZKkjhO7+orORGkGbpQXUHPFIh/XsZ0k+mCOt+c1YBCzT2TE/X1iadDxF85P4Q ygsw== X-Gm-Message-State: ACgBeo2RLX7dbk3Rbkv+0iyOLkD9TlYbAJqfiE95sF5XoQtL0WTlrKi2 alBZLTbuK5Uf+305vGlWRoJuu5mOKxzsq8YC1As= X-Google-Smtp-Source: AA6agR5CyI4fwLXh+EISEI0paIX5lTOhe02i4nJcukK9DOpcaLU2s+/vpxUyBslbs4X3xvfzaDBCh017hPYBO4LXies= X-Received: by 2002:a17:902:6b4c:b0:171:38ab:e762 with SMTP id g12-20020a1709026b4c00b0017138abe762mr862022plt.42.1660107334810; Tue, 09 Aug 2022 21:55:34 -0700 (PDT) MIME-Version: 1.0 References: <875ykikvaz.fsf@localhost> <87sfnlk0tj.fsf@localhost> <874jzg5bg7.fsf@gnu.org> <87les9l9wv.fsf@localhost> <87pmhad9gv.fsf@gnu.org> <864jykhnl4.fsf@gmail.com> In-Reply-To: <864jykhnl4.fsf@gmail.com> From: Tom Gillespie Date: Tue, 9 Aug 2022 21:55:23 -0700 Message-ID: Subject: Re: [PATCH] Delete some Emacs 24 compat code To: Tim Cross Cc: emacs-orgmode@gnu.org Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::1031; envelope-from=tgbugs@gmail.com; helo=mail-pj1-x1031.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1660107383; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=ETGW2cqZDV8zolAEt+LYD88R1TIoENTQKKZyEaw/nLE=; b=sxet4SgQDVz81cn7eFs8M8Huq+nH+OBD65WF+jVCZi4v+VHG6RzyUIbsanA7ZTeH8NdsB0 7vbasuQ04Z7Ug++V6Y+9X3eLP3WVPiqEBtDV9qUqlr4Ls4Eb2bgX4/zWaM7H6/v8opDG63 qFbVRQ7OHJK2vgKLXvLrE39TL4QqiMFf8KyKMRc0Dcux0+ulOwO8QDW/0jjH/I7YuZthMa /wWgJXHU1h8KXWcd+fsSOkPWHUdRjjkHOcAuJACH0xQ77Kf2Evvt+TJmobtme4M8S5xCy2 CXJbaJo9k2AG9VoTz5MBKdsp9FSg3y8mh9XDerWbVMnFtAK1qQ5HSA9BpjS0/w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660107383; a=rsa-sha256; cv=none; b=ETrKOjnbKaATljcJkhTn+0RBSJuW11iWMqApLcWCB/JNPmaXpMrk+NY1qg6tUsqv20RUWU dWzWltBuPjXhaEE+9ELGVox08j4gZDpJmxs41sXAiddCT1nt2d6LyIItnZiS1rfUXbZQ11 XCCq4dn+0delG1sQbIbuR2UCCgQMP+b2UFDQUBXdoO/Q6OKPEIydynfZV1P4eIu3p9XGE/ lziO3VVOUOKx7MM41lONvi3zCUTq1ldhi11rpju8ARVSt2PG2tdIfzWcz7ytVr1ak+iDLp vDpEACkRWNo1qZpJDz6PCUFw351daQVvjp7CnQU7doI3/1vmJmz0V6zLxY1H+Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=h5vPYJIy; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -9.19 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=h5vPYJIy; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 51815DA98 X-Spam-Score: -9.19 X-Migadu-Scanner: scn0.migadu.com X-TUID: 8Jk3FLLkM6xz > The manual actually says > > "If this exists, it names packages on which the current package > depends for proper operation." > > so I think it is reasonable to only list the minimum supported Emacs > version, not the minimum version where it partially or fully works, but > is not supported. The weasel words here are "proper operation" because it covers everything from "will byte compile without errors (but maybe with warnings)" to "has zero bugs and will never fail under any circumstances." My interpretation is that Package-Requires means "will byte compile without errors" because all software has bugs. Unfortunately package metadata doesn't seem to have another field for something like Package-Supported-Version. > Problem I see with your approach is there will be an expectation that if > it lists Emacs 25.x that it works under that version and anything which > doesn't work is a bug. People will not check this list, README or NEWS > files to verify what version of Emacs is compatible with - if they can > use package.el to install it, they will expect that it works without any > issues and any encountered are either a configuration error or a bug. I agree that this is an issue. I think the easiest solution would be to add something to org-submit-bug-report which would inform the user that they are running a version of org that is too new for their version of emacs and is thus unsupported. Another solution would be for package metadata to deconflate "will immediately fail if you try to run this on old versions" from "only make this update available to users running emacs at or above this version." I think this is a variant of your suggestion to make upgrading to unsupported versions more difficult but not impossible. > Even worse, once a problem with (for example) Emacs 25.x is found, what > do we do? Would we have to push out a new version just to now update the > requires line and forcing an update for all users? Which commit do we > use to push out that update (given there will have been changes since > the last release and we may not be ready to push them out in a new > version yet). I don't see how a bug that is only encountered on 25 is different from any other bug in this case. We aren't going to continue to support 25 by continuing to maintain a 9.5.x branch when we go on to 9.6, but as long as we don't e.g. start using e.g. functions that are not present in 25 that cause immediate runtime failures or byte compile failures, then hard blocking users on 25 from installing from elpa at all seems like artificially depriving users of the ability to choose at their own risk (albeit to make the maintainer's lives easier). > An alternative approach is to deliberately make it harder to upgrade org > if your running an unsupported version of Emacs. This would prevent > automatic updates to a version which is not supported and (possibly) doe > sot work, either partially or fully. Manage user expectations by making > it very explicit to the end user they are running a older version of > emacs which may not be compatible with latest version of org.They can > either decide to continue with the existing version they have installed > or they can upgrade to a more recent Emacs or they can install org > manually if they really want to accept the risk and run in an > unsupported configuration. As mentioned above, I also like this approach. We could create a hack to work around the missing package metadata field, which would cause a failure when trying to build on emacs < 26 unless org-i-know-what-i-am-doing or some such is non-nil. The error message would say something along the lines of "this version of org {org-version} will run on {emacs-version}" but it is not supported. If you still want to install it, please run (setq org-i-know-what-i-am-doing t) and then install the package again" or something like that. Best! Tom