Subject: Re: bug#78770: 31.0.50; listing packages has become impossible without creating random lisp directories

From: Philip Kaludercic <[email-masked]>
Date: Sat, 14 Jun 2025 22:32:56 +0000

"Mark A. Hershberger" <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> Attempting to list packages consistently ends up with an error.  Backtrace:
>>
>> I don't get any errors here, FWIW.
>
> I, also, do not get any errors with emacs -Q.
>
>>>   ad-Advice-execute-extended-command(#<subr execute-extended-command> nil "package-list-packages" nil)
>>
>> What is that advice shown in the backtrace?
>
> The advice was from multiple-cursors.  Removing that package still
> results in an error.  I thought the error might have something to do
> with the directory it was executed in, but creating an empty  directory
> under /tmp showed the same problem.
>
> Here is the current backtrace with multiple-cursors removed and
> executing in the new directory:
>
> Debugger entered--Lisp error: (file-missing "Opening directory" "No such file or directory" "/tmp/test/lisp")

Did you perhaps use `package-vc-install-from-checkout' on a directory
you had checked out in /tmp/?

>   package-vc-commit(#s(package-desc :name forge :version (0 5 3)
> :summary "Access Git forges from Magit" :reqs ((emacs (29 1)) (compat
> (30 1)) (closql (2 2 2)) (emacsql (4 3 1)) (ghub (4 3 2)) (let-alist
> (1 0 6)) (llama (0 6 3)) (magit (4 3 6)) (markdown-mode (2 7)) (seq (2
> 24)) (transient (0 9 0)) (yaml (1 2 0))) :kind vc :archive nil :dir
> "/home/mah/emacsd-test/elpa/forge" :extras ((:commit
> . "aaeec51cca677e678032c87c26d6024efd7c71c4")) :signed nil))
>   package-menu--print-info-simple(#s(package-desc :name forge :version
> (0 5 3) :summary "Access Git forges from Magit" :reqs ((emacs (29 1))
> (compat (30 1)) (closql (2 2 2)) (emacsql (4 3 1)) (ghub (4 3 2))
> (let-alist (1 0 6)) (llama (0 6 3)) (magit (4 3 6)) (markdown-mode (2
> 7)) (seq (2 24)) (transient (0 9 0)) (yaml (1 2 0))) :kind vc :archive
> nil :dir "/home/mah/emacsd-test/elpa/forge" :extras ((:commit
> . "aaeec51cca677e678032c87c26d6024efd7c71c4")) :signed nil))
>   package-menu--refresh(t nil)
>   package-menu--generate(nil t)
>   list-packages(nil)
>   funcall-interactively(list-packages nil)
>   command-execute(list-packages record)
>   execute-extended-command(nil "list-packages" "package lis")
>   funcall-interactively(execute-extended-command nil "list-packages" "package lis")
>   command-execute(execute-extended-command)
>
> I will continue to look for the cause.