unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Sebastian Wiesner <lunaryorn@gmail.com>
Cc: Dmitry Gutov <dgutov@yandex.ru>, Daniel Hackney <dan@haxney.org>,
	Emacs development discussions <emacs-devel@gnu.org>
Subject: Re: cl-defstruct-based package.el, now with ert tests and no external tar!
Date: Tue, 25 Jun 2013 09:58:15 -0400	[thread overview]
Message-ID: <jwvzjue9uim.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <CALf2awRh5SohoCR=gbr80GaH9XnSxD4vfG8rhgn_gQHnZm9Mpg@mail.gmail.com> (Sebastian Wiesner's message of "Tue, 25 Jun 2013 14:19:08 +0200")

> Well, the list is long:

Just to clarify: the reason why all this has changed without any
discussion is because there was not supposed to be any API.
`package.el' was only meant to provide an interactive UI, pretty much
(plus a few functions, basically the autoloaded ones).

> - "package-archive-contents" and "package-alist" have different
> contents now, because the package descriptors have changed,

Right.  This won't be "fixed".

> - "package-delete" takes a single argument only, but used to take two,

We could definitely "fix this".

> - "package-obsolete-alist" is gone,

Won't be "fixed" either.

> - "package-install" doesn't accept a package name anymore,

It does (again).

> Since most of these changes come from the introducing of
> "package-desc" struct, I know that I am out of luck.

Indeed.

>> What API?
> Well, the package.el API, that is, "package-install",
> "package-delete", "package-alist", and unfortunately a number of
> internal functions ("package--*"), too, because the public API is
> somewhat limited.

Tell us what you need, then, and we can improve it.  As mentioned, what
you think as the public API doesn't even really exist, so the design is
very much open.

> For an end user, it's just a declarative way to specify all packages
> used in her configuration,

I'd like to move in that direction: instead of letting the user say
"install foo" and "uninstall bar", I'd like her to configure the "list
of installed packages" (so adding an element installs it along with any
dependencies, and removing from the list uninstalls the package (if it
was installed) along with any of the dependencies which aren't needed
any more).

> installable with a single shell command, but for a package developer,
> it maintains an isolated, automated and repeatable package environment
> for testing.

As you've discovered, Emacs's development is very messy, so it's no
wonder I've never felt the need for such a controlled testing environment.

> Essentially, it's Bundler, but for Emacs Lisp.

That tells me more about what is Bundler than about what is Carton
(I've never used Ruby or any of its tools) ;-)


        Stefan



  reply	other threads:[~2013-06-25 13:58 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-01 18:44 cl-defstruct-based package.el, now with ert tests and no external tar! Daniel Hackney
2013-04-04  1:55 ` Stefan Monnier
2013-04-05 16:32   ` Dmitry Gutov
2013-04-05 19:21     ` Stefan Monnier
2013-04-05 20:51     ` Daniel Hackney
2013-04-06 21:02       ` Ted Zlatanov
2013-04-07  0:43         ` Stefan Monnier
     [not found]           ` <jwv7gjt4arv.fsf-monnier+emacs@gnu.org>
2013-04-25  2:52             ` Daniel Hackney
2013-06-01 19:39               ` Dmitry Gutov
2013-06-04 21:25                 ` Daniel Hackney
2013-06-05 15:10                   ` Ted Zlatanov
2013-06-05 21:42                   ` Dmitry Gutov
2013-06-24 12:44                     ` Sebastian Wiesner
2013-06-25  1:19                       ` Stefan Monnier
2013-06-25 12:19                         ` Sebastian Wiesner
2013-06-25 13:58                           ` Stefan Monnier [this message]
2013-06-25 17:32                             ` Sebastian Wiesner
2013-06-25 18:23                               ` Stefan Monnier
2013-06-25 20:43                                 ` Sebastian Wiesner
2013-06-26  0:28                                   ` Stefan Monnier
2013-06-25 22:07                             ` Daniel Hackney
2013-06-26 23:04                           ` Nic Ferrier
     [not found]             ` <CAMqXDZtwnS-qUs8vCghYun0JZVuzofy4sCTMqdSskB2jJ9fq=g@mail.gmail.com>
     [not found]               ` <jwvobd3mg6l.fsf-monnier+emacs@gnu.org>
2013-06-12  2:18                 ` Stefan Monnier
2013-06-21  4:20                   ` Stefan Monnier
2013-06-21  7:49                     ` Dmitry Gutov
2013-06-21 14:56                       ` Stefan Monnier
2013-06-24 23:38                         ` Dmitry Gutov
2013-06-25 21:49                           ` Daniel Hackney
2013-06-26  7:35                             ` Dmitry Gutov
2013-06-27  9:38                             ` Dmitry Gutov

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=jwvzjue9uim.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=dan@haxney.org \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=lunaryorn@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).