unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jonas Bernoulli <jonas@bernoul.li>
To: Stefan Monnier <monnier@iro.umontreal.ca>,
	Adam Porter <adam@alphapapa.net>
Cc: emacs-devel@gnu.org
Subject: Re: [ELPA] New package: plz
Date: Sat, 21 May 2022 13:13:03 +0200	[thread overview]
Message-ID: <8735h3kukg.fsf@bernoul.li> (raw)
In-Reply-To: <jwvbkw3n4ei.fsf-monnier+emacs@gnu.org>

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> It's an HTTP library that uses Curl as a backend.
>
> I hope we can consolidate this with `request.el` and `url.el` sooner
> rather than later.  As others mentioned, adding a backend to plz which
> uses url.el (or at least doesn't require `curl` to be installed) would
> be great.

Some people don't like the interface but that was never the main problem
I had with url.el.  What caused me pain is its bugs, and I suspect for
many other package maintainers it is the same.

Right now though --and that is a first-- I am not aware of any bugs for
which I don't have backported a fix in ghub.el.  (If you must see code,
it is at the very end of ghub.el.  It ain't pretty.)

Of course I am not happy that I have to backport the fixes, especially
because that also affects other packages.  The hope is that those other
packages get bug fixes for free, but of course it is also possible that
my monkey patches contain bugs of their own.

It worries me that I might be breaking other peoples packages, but there
really is no alternative; these url.el bugs caused an endless stream of
bug reports in my packages, and once we figured out the causes, waiting
a few more years until the fixes are in Emacs just wasn't an option
anymore.

I am not saying that url.el is bad, but that maintaining such
functionality is a lot of work.  Doing so requires an expert whose main
or only focus it is to do just that.  So:

> The way HTTP is evolving, I suspect we're going to need to rely on
> C libraries (as opposed to url.el's "it's all ELisp" approach) in the
> not too distant future, tho.

Maybe that's not a bad thing and it is best if we do that sooner rather
than later?

Of course libcurl may have bugs too, but *many* people are using it,
making it highly unlikely that we are the ones who will have to figure
them out.

With url.el that is not the case.  If you use that, then you are going
to have to deal with bugs that have nothing to do with your own package,
if only your package is popular enough.

I think that hinders Emacs evolution as a network client.  Occasionally
I have had an idea that involved networking, but, given my experience
with forge/ghub, I never worked on any of them.  The risk of ending up
having to deal with mystery bugs as a result, currently is just to high.
I might not be the only one who feels that way.

     Jonas


TL;DR Maybe this was overly negative.  That wasn't my intention.  What I
really want to say is this: could someone™ with experience in this area
pretty please start working on bringing libcurl to Emacs?



  parent reply	other threads:[~2022-05-21 11:13 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-09 16:51 [ELPA] New package: plz Adam Porter
2022-05-09 19:50 ` Philip Kaludercic
2022-05-09 21:08   ` Adam Porter
2022-05-10 11:58     ` Philip Kaludercic
2022-05-10  7:51   ` Adam Porter
2022-05-11  9:02 ` Richard Stallman
2022-05-11 10:19   ` Adam Porter
2022-05-11 13:42     ` Filipp Gunbin
2022-05-11 14:02       ` Adam Porter
2022-05-11 14:22     ` Daniel Martín
2022-05-11 15:51       ` Eli Zaretskii
2022-05-11 18:55       ` Philip Kaludercic
2022-05-11 19:29         ` Adam Porter
2022-05-12 13:06           ` Filipp Gunbin
2022-05-12 13:54           ` Alan Mackenzie
2022-05-12 15:23             ` Stefan Monnier
2022-05-14 23:58           ` Richard Stallman
2022-05-15  7:53             ` Adam Porter
2022-05-16 23:25               ` plz -> curl? Richard Stallman
2022-05-17  0:50                 ` Po Lu
2022-05-17  2:13                   ` Adam Porter
2022-05-17  2:37                     ` Eli Zaretskii
2022-05-17  2:50                     ` Po Lu
2022-05-17 10:13                       ` Dmitry Gutov
2022-05-17  8:07                     ` Philip Kaludercic
2022-05-17 22:58                       ` Richard Stallman
2022-05-17  2:38                   ` Eli Zaretskii
2022-05-17  3:05                     ` Po Lu
2022-05-17 11:44                       ` Eli Zaretskii
2022-05-17 11:46                         ` Po Lu
2022-05-17 15:43                           ` Eli Zaretskii
2022-05-17 19:15                     ` Philip Kaludercic
2022-05-17 22:58                     ` Richard Stallman
2022-05-17  6:43                   ` Tassilo Horn
2022-05-17  8:17                   ` Lars Ingebrigtsen
2022-05-17 10:12                     ` Po Lu
2022-05-17 10:15                       ` Adam Porter
2022-05-17 11:48                         ` Po Lu
2022-05-17 15:38                           ` Tassilo Horn
2022-05-18  0:46                             ` Eric Abrahamsen
2022-05-17 12:15                         ` Eli Zaretskii
2022-05-17 22:59                           ` Richard Stallman
2022-05-17 22:58                         ` Richard Stallman
2022-05-17 12:10                       ` Stefan Monnier
2022-05-17 15:22                         ` Roland Winkler
2022-05-17 22:59                         ` Richard Stallman
2022-05-21 10:29                         ` Jonas Bernoulli
2022-05-22 17:05                           ` Juri Linkov
2022-05-22 23:01                           ` Richard Stallman
2022-05-17  8:16                 ` Alan Mackenzie
2022-05-17 22:59                   ` Richard Stallman
2022-05-21 10:11                 ` Jonas Bernoulli
2022-05-15 14:06         ` Wrong default-directory in shell buffer Matthias Meulien
2022-05-15 16:06           ` Stefan Monnier
2022-05-16 18:06             ` Matthias Meulien
2022-05-16 19:29               ` Matthias Meulien
2022-05-17  9:58                 ` Visuwesh
2022-05-17 19:14                   ` Matthias Meulien
2022-05-17 19:27                     ` Lars Ingebrigtsen
2022-05-17 20:59                       ` Matthias Meulien
2022-05-17 21:36                         ` Lars Ingebrigtsen
2022-05-13 15:09     ` [ELPA] New package: plz Richard Stallman
2022-05-13 21:54       ` Adam Porter
2022-05-11 21:36 ` Stefan Monnier
2022-05-11 22:30   ` Adam Porter
2022-05-11 23:55     ` Stefan Monnier
2022-05-14 14:12       ` Richard Stallman
2022-05-14 14:23         ` Stefan Monnier
2022-05-16 23:26           ` Richard Stallman
2022-05-21 11:13   ` Jonas Bernoulli [this message]
2022-05-21 11:29     ` Eli Zaretskii
2022-05-21 18:16       ` Jonas Bernoulli
2022-05-21 14:51     ` Stefan Monnier
2022-05-21 18:10       ` Jonas Bernoulli
2022-05-21 20:29         ` Stefan Monnier
2022-05-22 23:02     ` Richard Stallman

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=8735h3kukg.fsf@bernoul.li \
    --to=jonas@bernoul.li \
    --cc=adam@alphapapa.net \
    --cc=emacs-devel@gnu.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).