emacs-devel
[Top][All Lists]
Advanced

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

Re: CVS is the `released version'


From: Tom Tromey
Subject: Re: CVS is the `released version'
Date: Mon, 14 May 2007 08:19:06 -0700

>>>>> "RMS" == Richard Stallman <address@hidden> writes:

RMS> Can you explain why this is so?  What are the jobs that you need
RMS> to do without package.el, which package.el avoids?

package.el will install the dependencies of a package you are
installing.  It extracts autoloads and byte-compiles the lisp.  When
the package is activated, it sets up the load-path, the info path, and
evals the autoloads.  It also lets you install newer versions of
existing packages, and is smart about only activating the most recent.

In the future it will let you delete packages as well (a simple
operation, but I didn't want to include it in early releases).

RMS> That is something that could be done by a function to install certain
RMS> Lisp code, which does not need that Lisp code to be a "package".

First, please note that a "package" in most cases is really just a
single .el file.  More complicated things do need to be bundled (e.g.,
ELPA provides an old version of "url" for Emacs 21 users), but this
bundling is just a tar file (whose top-level directory has a certain
name) and a single extra file (e.g., "url-pkg.el", contained in the
tar).  Even for the "big program" case there is very little
administrative overhead here -- just a single call to
(define-package).

package.el has the code to install a lisp file.  This is not foolproof
because, in my experience, most Emacs Lisp files need a tweak or two
before they can be said to follow the comment guidelines.  The fixes
are generally trivial.

I thought I would use the installation code more, but it turns out to
be just as easy to upload a file to ELPA and then share it with
everybody.  And also the package-menu mode is fun to use :-)

Tom




reply via email to

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