Subject: Re: bug#16222: Installing ELPA packages complains about :keywords in define-package

From: Stefan Monnier <[email-masked]>
Date: Tue, 24 Dec 2013 11:23:10 -0500

> 1) Why is *-pkg.el written in this bizarro syntax and not something that
> compiles cleanly?

Hysterical raisins!

> IOW if it's going to be pure data, why pretend it's a funcall?
> I'd rather rename it to *-pkg.data or something and eliminate any
> chance of this problem recurring.  The .el extension is wrong,
> either way.

If you ask me, the <foo>-autoloads.el and <foo>-pkg.el should be combined
into a single file whose name is constant (i.e. does not include <foo>).
But that's a change in the format of ELPA packages, so it's a bit
delicate to do: it will have to be done in steps (first add the new
combined file in the packages, add support for it in package.el, then
wait for everyone to start using the newer package.el, then start
getting rid of the old redundant files).

By the way, I didn't notice that the problem was introduced by the new
":keywords" argument, so we should change it so that its argument is
quoted (so it works like a function call again).

> (defun package--compile (pkg-desc)
>   "Byte-compile installed package PKG-DESC."
>   (package-activate-1 pkg-desc)
>   (byte-recompile-directory (package-desc-dir pkg-desc) 0 t))

Yes, this should skip the *-pkg.el files.

        Stefan