all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: "Stefan Reichör" <stefan@xsteve.at>, emacs-devel@gnu.org
Subject: RE: Future role of ELPA (was: [ELPA] tramp-theme.el)
Date: Tue, 16 Feb 2016 07:26:17 -0800 (PST)	[thread overview]
Message-ID: <c99cc2d2-ca33-4fa8-87de-0aa2059b0e00@default> (raw)
In-Reply-To: <87vb5paxlp.fsf_-_@xsteve.at>

> >> As a user I really don't like that a lot of functionality is now moved to
> >> ELPA. When I install a new emacs, I have to re-install also all needed
> >> packages from ELPA.

A reasonable critique, I think.

> >> It would be so much easier when all the batteries in emacs are still
> >> included.
> >
> > The future plan is to move even more things into ELPA. However, parts of
> > ELPA will be included in future Emacs tarballs, so your batteries will
> > actually be there in that future.
> >
> > So, rather than asking whether things can move back into Emacs, the better
> > question is: how should we proceed with our plan to deeply integrate ELPA,
> > so questions like this are resolved in passing. We've had some progress in
> > this direction, but there are still a few matters of process to resolve.

Exactly.  I'm glad that this user (Stefan) posed the question and made known
his use case.  It should be taken into account ("resolved in passing").

> I am reading the emacs devel list. And I know that this is the direction
> that is desired by most/all developers.
> 
> As I user I am not happy with that direction.
> Let me try to explain it.
> I use Emacs since about 20 years. I use it daily and it is my primary
> interface to computer related tasks. For sure I can adopt to what ever
> direction emacs goes.
> 
> I use a hand crafted .emacs and I am used to install emacs packes
> manually to a site-lisp folders.
> 
> Consider a simple customization like tramp-theme. When everything is in
> stock emacs: I just can change the value of a customization variable and
> see what happens.
> 
> With GNU ELPA I have to install the package first and get rid of it if I
> don't like it.
> 
> My main concern with GNU ELPA is that I have to install a lot of extra
> packages manually using the package manager. When they are built-in they
> are just there.

Indeed.

> So I hope that many useful features will still be shipped with Emacs as
> integrated packages.

I agree with you.  But I also agree that it is good to modularize the
Emacs code, e.g. by moving some of it to GNU ELPA.  That can help both
Emacs development and the use cases of some users.

I agree with you that a user should be able to ask Emacs about something
(e.g., a command) that has traditionally been provided with the Emacs
distribution, without having to use the package system to add it.

In a way, perhaps what is needed is a "super autoload" facility, that
is, a more sophisticated way of making use of the package system,
so that the same behavior as before a breakup into separate packages
is still available seamlessly, even if under the covers packages are
brought into play.

The key here is "under the covers": A user should not _need_ to do
anything or even to be aware that packages are being jockeyed into
place automatically to accommodate an inquiry or an on-demand use
of a feature.

A user should not be required to (consciously, manually) use the
package system at all, to interact usefully with Emacs.  A user
should be able to have everything that s?he had from Emacs
previously on disk, locally, without jumping through any hoops.

There should be no need to connect to the Internet to work with
Emacs, at least regarding the large set of commands, options, etc.
that has traditionally been distributed with Emacs.

IOW, it should be possible for a user to use Emacs without the
package system, just as easily as before.  Adding the package
system should be only a plus, not a plus and a minus.  Users should
be able to interact with Emacs in different ways, and not be obliged
to get only a tiny core by default and then have to install the
pieces they feel are missing.

At the same time, it would be good if the Emacs code were composable
from libraries in a repository such as GNU ELPA.  How these two needs
can best be composed I don't know.  But I don't think we should
be sacrificing user access to what used to be the Emacs code base on
the alter of the package system.

What is convenient for Emacs development and for some users some of
the time should not trump the ability of other users (or the same
users at other times) to interact with Emacs as they would have
before the package system.  If you need to activate a package to get
information about `forward-sexp' or whatever, then we have lost something.

That users _can_ choose not to "install" Tramp or whatever is a
good thing, no doubt.  But it is not necessarily a good thing that
users should have to manually "install" Tramp or whatever, just to
be able to talk to Emacs about it or even to make use of it.

All this is a way of saying that we might need to think some more
about how Emacs and Emacs Dev make use of the package system, a
system that, on its own, is a good thing.  It should not become
a sledgehammer that makes everything in Emacs look like a nail.



  parent reply	other threads:[~2016-02-16 15:26 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-15 15:50 [ELPA] tramp-theme.el Michael Albinus
2016-02-15 15:55 ` Marcin Borkowski
2016-02-15 17:55   ` Michael Albinus
2016-02-16  7:21     ` Stefan Reichör
2016-02-16  7:36       ` John Wiegley
2016-02-16  8:05         ` Future role of ELPA (was: [ELPA] tramp-theme.el) Stefan Reichör
2016-02-16  8:25           ` Future role of ELPA Christian Kruse
2016-02-16  8:46             ` Michael Albinus
2016-02-16  9:02               ` Christian Kruse
2016-02-16  9:15                 ` Michael Albinus
2016-02-16 10:16                   ` Christian Kruse
2016-02-16  9:18               ` Przemysław Wojnowski
2016-02-16  8:57           ` Oleh Krehel
2016-02-16 15:26           ` Drew Adams [this message]
2016-02-16 17:52           ` John Wiegley
2016-02-16 18:51             ` Stefan Reichör
2016-02-16 19:26               ` Michael Albinus
2016-02-16 19:45               ` John Wiegley
2016-02-17 15:59               ` Richard Stallman
2016-02-21  2:18               ` Stefan Monnier
2016-02-21 10:05                 ` Philipp Stephani
2016-02-21 14:19                   ` Stefan Monnier
2016-02-21 23:37                   ` Richard Stallman
2016-02-22 18:00                     ` Richard Stallman
2016-02-17 18:42           ` Phillip Lord
2016-02-16  7:53       ` [ELPA] tramp-theme.el Alexis
2016-02-16  7:55       ` Joost Kremers
2016-02-16  8:20         ` Stefan Reichör
2016-02-16  8:53           ` Joost Kremers
2016-02-16 17:57           ` John Wiegley
2016-02-16 18:41             ` Stefan Reichör
2016-02-16 19:48               ` John Wiegley
2016-02-16  8:14       ` Michael Albinus
2016-02-16 17:58         ` John Wiegley
2016-02-17  9:04           ` Michael Albinus

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

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

  git send-email \
    --in-reply-to=c99cc2d2-ca33-4fa8-87de-0aa2059b0e00@default \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=stefan@xsteve.at \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.