GNU bug report logs - #63260
29.0.90; Regression installing/activating packages without autoloads

Previous Next

Package: emacs;

Reported by: Basil Contovounesios <contovob <at> tcd.ie>

Date: Thu, 4 May 2023 10:16:02 UTC

Severity: normal

Merged with 63298

Found in version 29.0.90

Done: Philip Kaludercic <philipk <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Basil Contovounesios <contovob <at> tcd.ie>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: 63260 <at> debbugs.gnu.org, Philip Kaludercic <philipk <at> posteo.net>
Subject: bug#63260: 29.0.90; Regression installing/activating packages without autoloads
Date: Thu, 04 May 2023 18:28:47 +0200
Robert Pluim [2023-05-04 17:15 +0200] wrote:

>>>>>> On Thu, 04 May 2023 12:15:15 +0200, Basil Contovounesios via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> said:
>
>     Bug> This change:
>
>     Basil>   Prevent generating empty autoload files
>     Basil>   dd21003878d 2023-04-30 18:42:58 +0200
>     Basil>   https://git.sv.gnu.org/cgit/emacs.git/commit/?id=dd21003878d
>
>     Basil> seems to have reintroduced the following issue:
>
>     Basil>   https://lists.gnu.org/r/emacs-devel/2022-06/msg00563.html
>
>     Basil> First start Emacs 29 (or 30) with a clean slate:
>
>     Basil> $ cd "$(mktemp --directory)"
>     Basil> $ export HOME="${PWD}" XDG_CONFIG_HOME="${PWD}/.config"
>     Basil> $ emacs
>
>     Basil> Then try to install the sicp package (which lacks autoloads) from MELPA:
>
>     Basil> 0. C-x b RET
>     Basil> 1. (setq package-archives '(("melpa" . "https://melpa.org/packages/")))
>     Basil>    C-x C-e
>     Basil> 2. M-x package-install RET sicp RET
>     Basil> 3. C-h e
>     Basil> 4. C-M-S-v
>
> Only when `package-quickstart' is non-nil, right?

No, this is in an empty user-emacs-directory, i.e. with the default
package-quickstart = nil.  Besides, package-quickstart does not come
into play during package-install AFAICT.

> How about this:
>
> diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
> index 0919ce34448..42d47ed259c 100644
> --- a/lisp/emacs-lisp/package.el
> +++ b/lisp/emacs-lisp/package.el
> @@ -4498,7 +4498,8 @@ package-quickstart-refresh
>                 (pfile (prin1-to-string file)))
>            (insert "(let ((load-true-file-name " pfile ")\
>  \(load-file-name " pfile "))\n")
> -          (insert-file-contents file)
> +          (when file
> +            (insert-file-contents file))

This does not address the file-missing error during package activation,
but it allows a subsequent package-quickstart-refresh to complete
(albeit with a warning in a *Compile-Log*):

  Compiling file /tmp/tmp.6cdF8paE0K/.emacs.d/package-quickstart.el
                 at Thu May  4 18:24:07 2023
  Entering directory ‘/tmp/tmp.6cdF8paE0K/.emacs.d/’
  package-quickstart.el:4:2: Warning: Empty let body

due to the following generated contents of package-quickstart-file:

  (let ((load-true-file-name nil)(load-file-name nil))
  )

Thanks,

-- 
Basil




This bug report was last modified 2 years and 15 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.