Authentication-Results: mail-b.sr.ht; dkim=pass header.d=posteo.net header.i=@posteo.net Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mail-b.sr.ht (Postfix) with ESMTPS id 5BE8A11EF13 for <~protesilaos/denote@lists.sr.ht>; Sat, 17 Dec 2022 09:26:15 +0000 (UTC) Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 265A5240104 for <~protesilaos/denote@lists.sr.ht>; Sat, 17 Dec 2022 10:26:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1671269174; bh=bWxFcHqkxXcn2n+/ymCSbopmCvnLktvRzHW3KcP09sk=; h=From:To:Cc:Subject:Date:From; b=BY9r2sqbyCgKzCQ5GILy2yxzbSif+JPmtv9yPFIF3Pe9+qWxcnJbx4/X6a9C3nFEU 0nmFRsA7fd7H87Dzi/lpMJygm95z5yBOTWSpW7M4+WsRqnGtgAsnKoEOvxJxGKk7Y5 NN5HJPKOvQ/U0QpgqV8Q1H/EzyTC4dvUYpgyo8pjAN0f7ez31fzKSJtWMS9uPIf90L +/LQTXQtM6OZ4jbKww6byUkOnurJWjoRuEnK5AHVtBInoh8FlAulprScOBt60A1ocn HtE6hPTfb/ix66cYp+LlOSB4VDXfBVcDtONzke0L00iXL/aFWZjEwdO2/N7UjEwHts ChArd1VZWDB7g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NZ0vm59C5z6tmK; Sat, 17 Dec 2022 10:26:12 +0100 (CET) From: Philip Kaludercic To: Protesilaos Stavrou Cc: Noboru Ota , ~protesilaos/denote@lists.sr.ht Subject: Re: [PATCH] Display context of identifier in backlinks buffer with xref In-Reply-To: <87tu1ud6kh.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Sat, 17 Dec 2022 05:58:54 +0200") References: <86ilk6uzf4.fsf@nobiot.com> <87zgdi6idt.fsf@protesilaos.com> <87sfhf0xp8.fsf@posteo.net> <87tu1ud6kh.fsf@protesilaos.com> Date: Sat, 17 Dec 2022 09:26:16 +0000 Message-ID: <87359e5qkn.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Protesilaos Stavrou writes: >> From: Philip Kaludercic >> Date: Fri, 16 Dec 2022 22:51:15 +0000 > > Good day Philip, > >> Protesilaos Stavrou writes: >> >>> About Emacs 27, I think it is better we avoid all those workarounds >>> and >>> just depend on Emacs 28. No-one reported the error which indicates >>> that >>> this new requirement should not pose any problems. >> >> I just saw your announcement on your blog, so I am not sure if I am >> missing something. That being said, have you considered using xref >> from >> GNU ELPA? It is a core package but maintains compatibility back until >> Emacs 26. Of course a line must be drawn, but it would be a pity to >> drop compatibility if it weren't necessary to do so, especially >> considering that Debian Stable still distributes 27.1. > > The best case scenario is to support Emacs 27. The problem was that > Denote was broken for a while on Emacs 27 and we never heard anything > about it. This led me to believe that no-one is using it there. > Providing a broken package is not nice for users and it also reflects > poorly on us, as we try to deliver something usable. One must always also consider the possibility that if something fundamental is immediately broken (not by necessity, just be accident), that people are less inclined to report the error because they just started using a package and don't have any investment or a will to contribute -- I know that writing a sensible bug report hat kept me back from reporting issues I have with some software... > Xref was not the only reason. I have had other cases in the recent past > where I was caught off guard. Compare, for instance, the arguments of > 'mapconcat' between Emacs 27 and 29, respectively: > > (mapconcat FUNCTION SEQUENCE SEPARATOR) > > (mapconcat FUNCTION SEQUENCE &optional SEPARATOR) > > So I write it without the optional separator, get no warnings, and then > my code is broken on Emacs 27... > > The problem I have is that I do not know how to catch those cases, other > than testing every little thing on the older versions. A fully fledged > test suite would probably be the real solution, though I don't know how > to do this yet. Using `package-lint' should be a good start. Since you are also a paying sourcehut user, you could set up a CI that would run tests or at least just byte-compile some files. > As for Debian specifically, note that we were requiring 27.2 because it > provided some Org-related feature that is not in 27.1 (this is what the > linter was saying). > > If we can address those, then I am happy to do it. There is no > principled opposition to this cause. I would be glad to help. As I said, this is currently not a solved problem on SourceHut, but this is not the first time I have seen interest in the issue (there was a thread on the Org mailing list a short while ago, and I will need the same thing with Compat eventually). The foundations have already been set with the following Guix package definitions, defining packages back until Emacs 24.3 (https://git.sr.ht/~pkal/guix-emacs-historical), and Sourcehut Builds supports Guix per se. Ludovic Court=C3=A8s has offered helping out making these more practical, so that they could be used together with Guix images (https://man.sr.ht/builds.sr.ht/compatibility.md#guix-system). > All the best, > Prot