Subject: Re: [GNU ELPA] Use lisp-data-mode in generated *-pkg.el files

From: Philip Kaludercic <[email-masked]>
Date: Fri, 14 Feb 2025 15:45:54 +0000

Stefan Kangas <[email-masked]> writes:

> Severity: wishlist
>
> The *-pkg.el files are not source files that should be executed, but
> Lisp data files.  This has been the source of much confusion.
>
> For example, it is currently completely confused in the lispref manual,
> which talks about `define-package' as a function, despite the fact that
> it has never been working like that and is now obsolete.  (I'm working
> on a patch.)

I do think that it used to be a function, but that was changed a number
of years ago.

> I think we should install the following to start clearing up some of the
> confusion.
>
> Thoughts?

The only negative to this patch is that users on Emacs 27 or before will
get a warning about an invalid mode, but otherwise I think that this is
a good idea.

> diff --git a/elpa-admin.el b/elpa-admin.el
> index c127f50dcc..2ccfe35f81 100644
> --- a/elpa-admin.el
> +++ b/elpa-admin.el
> @@ -1516,7 +1516,7 @@ Rename DIR/ to PKG-VERS/, and return the descriptor."
>  	(print-length nil))
>      (elpaa--temp-file pkg-file)
>      (write-region
> -     (concat (format ";; Generated package description from %s.el
> -*- no-byte-compile: t -*-\n"
> +     (concat (format ";; Generated package description from %s.el
> -*- mode: lisp-data; no-byte-compile: t -*-\n"
>  		     name)
>  	     (prin1-to-string
>                (pcase-let ((`(,version ,desc ,requires ,extras)