unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Charles Choi <kickingvegas@gmail.com>
Cc: emacs-devel <emacs-devel@gnu.org>,
	 Stefan Kangas <stefankangas@gmail.com>,
	 Philip Kaludercic <philipk@posteo.net>
Subject: Re: Request to distribute Casual packages on NonGNU ELPA
Date: Fri, 27 Sep 2024 14:58:48 -0400	[thread overview]
Message-ID: <jwvy13dymdi.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <FC85517C-514B-40BF-BA1C-ACDD14A64233@gmail.com> (Charles Choi's message of "Fri, 27 Sep 2024 11:12:01 -0700")

> In specifying requirements, I've taken a more conservative tack of listing
> a configuration that I am able to test, in this case, Emacs 29 running on
> macOS and Linux. I do not have the time nor resources to fully test older
> versions of Emacs and associated packages, much less test on
> different platforms.

There's a big gap between "recommended/tested versions" and "required
versions".  When specifying dependencies, please use the more lenient
threshold.  We don't want to follow the treadmill trap of having to be
always at the edge, bleeding.

Usually the "required" versions are those for which you have good
reasons to suspect anything below simply won't work.
[ ELisp development conventions are very different from Rust/Go/... ]

You can then state in the README which versions are known to work
and/or recommended.

> As I am new to Elisp publishing, I was and still am reluctant to trust lint
> tools to verify behavior on older versions of Emacs and associated packages
> as it would commit me to supporting them.  Is lint sufficient enough for
> verification of correct behavior on lower versions of Emacs?

You can't verify correct behavior in any version of Emacs at all anyway,
because it depends on way too many factors.  At best you can test a few
specific behaviors in a few specific versions in a few
specific configurations.
The upside is that noone will sue or fire you when something doesn't
work quite right.

> What happens when it isn't?

Either nothing because it so happens that noone used your package on
that older version of Emacs enough to bump into the problem.  Or you may
get an email about someone having trouble with your package, with luck
it might even include a patch.  Personally if it doesn't include a patch
and the Emacs version is "too old" or "too weird" for my taste,
I consider it's the responsibility of the user of this odd circumstance
to do the bulk of tracking down the bug and coming up with a fix.

>> +(defun casual-lib-display-line-numbers-mode-p () ;why do you have this as a predicate?
>
> For reasons I do not understand or have clear enough knowledge about,
> I could not write an expression to pass to a Transient macro, but instead
> has to pass a function symbol to get working code. Hence making
> a predicate here.

[ In those kinds of situations, I usually try to put a comment in the
  code stating it, so my future self isn't tempted to undo the
  workaround I came up with.  ]


        Stefan




  reply	other threads:[~2024-09-27 18:58 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-24 21:35 Request to distribute Casual packages on NonGNU ELPA Charles Choi
2024-09-25 17:30 ` Stefan Kangas
2024-09-25 18:30   ` Philip Kaludercic
2024-09-25 20:05     ` Charles Choi
2024-09-25 20:15       ` Philip Kaludercic
2024-09-26 18:06         ` Charles Choi
2024-09-28  3:08         ` Richard Stallman
2024-09-28  8:52           ` Charles Choi
2024-09-28  3:08         ` Richard Stallman
2024-09-27 15:52       ` Philip Kaludercic
2024-09-27 16:04         ` Philip Kaludercic
2024-09-27 18:12         ` Charles Choi
2024-09-27 18:58           ` Stefan Monnier [this message]
2024-09-27 20:05           ` Philip Kaludercic
2024-09-28 14:02       ` Philip Kaludercic
2024-09-26 19:08   ` Charles Choi
2024-09-27  4:40     ` Stefan Kangas
2024-09-27 15:34       ` Philip Kaludercic
2024-09-27 16:13         ` Charles Choi
2024-09-27 16:03     ` Stefan Monnier
2024-09-27 19:20       ` Charles Choi
2024-09-30  3:26         ` Richard Stallman
2024-09-30  3:57           ` Emanuel Berg
2024-10-03  3:33             ` Richard Stallman
2024-09-25 23:44 ` Stefan Kangas
2024-09-26 17:01   ` Charles Choi
2024-09-26 18:05     ` Adam Porter
2024-09-27 15:18       ` Philip Kaludercic
2024-09-27  5:43     ` Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvy13dymdi.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=kickingvegas@gmail.com \
    --cc=philipk@posteo.net \
    --cc=stefankangas@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).