emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PL support


From: Stefan Monnier
Subject: Re: PL support
Date: Sun, 10 May 2020 23:56:08 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Richard wrote:
> Some contributors are eagerly planning a sort of automatic facility to
> "install external tools."  I'm disappointed to have to say that this
> raises problems at various levels.  I doubt there is an acceptable way
> to do it.

There is no doubt that acceptable ways to do it exist.

As a matter of fact, we *already* do that, typically in the form of
instructions in `Commentary:`, `INSTALL`, manuals, messages in
mailing-lists, etc...

These instructions raise various problems, indeed.

Other ways to "do that" would solve some of those problems, preserve
some of them, and introduce yet new ones.

There's a vast design space here, with many points in there which should
be very much acceptable to our usually conservative sensitivity of
"don't do anything without a very explicit user consent".

Daniel wrote:
> You seem to be imagining a world in which Emacs installing external software
> means that it runs distribution package manager tools or plops binaries in
> /usr/bin. You can instead bundle known-good versions of external tools with
> Emacs and run them in a controlled way from filesystem locations that Emacs
> controls. Downloading revisions of these tools that hash to entries on an
> Emacs whitelist is equivalent.

FWIW, I probably wouldn't like a solution where we bundle binaries of
external tools, since then we'd be bound (either by the license, or
morally anyway) to include the source as well, and then we'd have to
keep it up-to-date (and deal with somewhat automatic updates and
whatnot).

This said, that is still a very much acceptable point in the
design space for some cases.

A very different design point might be to try to guess the kind of
"package management" in use (msys, apt, guix, ...), then build
a sequence of commands to pass to that package management, show it to
the user, and ask them to run them (or to confirm that they want Emacs
to run them).

Another design point is to display to the user a text box explaining
what they need to install and where they can find instructions to do so.

...


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]