From: Amin Bandali <bandali@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: emacs-erc@gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>,
emacs-devel@gnu.org
Subject: Re: [ELPA] New package: ERC
Date: Sun, 26 Sep 2021 11:22:05 -0400 [thread overview]
Message-ID: <87o88f746a.fsf@gnu.org> (raw)
In-Reply-To: <875yuwpr4o.fsf@gnus.org>
Lars Ingebrigtsen writes:
[...]
>
> I don't think there's much point in using `string-replace' at all in
> packages that are meant to be used in older Emacs versions -- they can
> be trivially rewritten to use `replace-regexp-in-string' always.
Right. Or it wouldn't be too hard to make the use conditional on the
Emacs version, as I did for the existing uses in ERC.
> But I'm not sure whether it makes much sense to put a bunch of the
> built-in Emacs libraries in ELPA -- perhaps it does make sense for
> iso8601.el (even if there's been some internal time changes for time
> representation of sub-second times), but for instance:
>
[...]
Stefan Monnier writes:
[...]
>
> IIRC there was a desire/attempt to export iso8601.el to GNU ELPA (can't
> remember what was the motivation back then) in the past, but it was non
> trivial because it relies on changes in the lower level functions that
> manipulate time.
Thanks for pointing that out; I'd completely forgotten about it.
For others who may be interested in reading about it:
https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00064.html
https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00376.html
Perhaps with a closer look/reexamination, Lars could port `iso8601.el'
to Emacs < 27 -- and it'd be nice -- but as far as ERC is concerned,
I think it's not critical (our use for it is an optional convenience
feature for ignoring users for a certain amount of time, rather than
indefinitely), and I think we could make that part of it available
only if Emacs >= 27.
> Note also that Debian stable comes with Emacs-27, so I'm not sure it's
> worthwhile trying to lower the bar much further.
Right. I wouldn't want to go too far back, but I know of several
users who are on 26 or 25 by necessity (somewhat) and would appreciate
getting ERC updates. So ideally I'd like to aim for 25 compatibility.
>> 3. Not using `with-suppressed-warnings' (added in Emacs 27) on older
>> Emacsen and perhaps fall back on `with-no-warnings' for the single
>> use of that macro instead.
>
> In `verilog-mode.el` we just defined a `verilog--suppressed-warnings`
> macro, so we get backward compatibility without losing the extra
> precision of `with-suppressed-warnings`.
Oh, right. I just recalled that we used to have an `erc-compat.el'
that we obsoleted last year. I think I will revive that and put it
back into lisp/erc/, and that the additional things I wanted in there.
On this topic, I've briefly seen philipk's proposal for `compat.el' on
emacs-devel, but I'm not yet sure if it's meant to tend to the needs
of individual packages like ERC and add funs/vars on request. So for
ERC's purposes it might be better to revive and use `erc-compat.el'.
>> The second patch allows for a nonexistent erc-loaddefs, since that
>> file would not generated for the GNU ELPA package, and instead an
>> erc-autoloads.el would be generated and (IIRC) automatically loaded.
>
> Note that `erc-autoloads.el` and `erc-loaddefs.el` do not play quite the
> same role. `erc-autoloads.el` should ideally contain just the handful
> of ERC autoloads found in lisp/loaddefs.el.
>
> The way you're suggesting to do it, `erc-autoloads.el` will end up
> defining/autoloading a lot more "stuff" even when ERC is not
> used/loaded. Maybe it's not terribly important, but I think it's
> important to be aware of the difference.
>
>
> Stefan
Thanks for pointing this out. Admittedly, my understanding of the
autoload machinery is somewhat lacking. Would you please elaborate
more on this? I'm guessing a possible solution would be reducing the
number of `;;;###autoload' cookies in erc*.el files; but that would
also affect folks using the ERC that's bundled into Emacs relying on
`erc-loaddefs.el', and I'm not sure that's the best/desired solution
anyway. Is there a way to be more nuanced about this? What would be
your suggestion?
Thanks,
amin
next prev parent reply other threads:[~2021-09-26 15:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-18 17:03 [ELPA] New package: ERC Amin Bandali
2021-09-19 14:38 ` Lars Ingebrigtsen
2021-09-26 15:22 ` Amin Bandali [this message]
2021-09-26 19:28 ` Philip Kaludercic
2021-09-26 20:41 ` Amin Bandali
2021-09-27 10:22 ` Philip Kaludercic
2021-09-28 2:36 ` Amin Bandali
2021-09-26 20:15 ` Stefan Kangas
2021-09-26 21:03 ` Amin Bandali
2021-09-27 10:23 ` Philip Kaludercic
2021-09-29 1:26 ` Amin Bandali
2021-09-27 19:42 ` Stefan Monnier
2021-09-29 1:40 ` Amin Bandali
2021-09-29 3:30 ` Stefan Monnier
2021-09-29 4:11 ` Amin Bandali
2021-09-20 16:48 ` Stefan Monnier
2021-09-21 0:16 ` Emanuel Berg via General discussion about ERC
2021-09-21 5:31 ` Corwin Brust
2021-09-21 7:12 ` Emanuel Berg via General discussion about ERC
2021-09-21 23:56 ` Amin Bandali
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=87o88f746a.fsf@gnu.org \
--to=bandali@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=emacs-erc@gnu.org \
--cc=larsi@gnus.org \
--cc=monnier@iro.umontreal.ca \
/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).