Subject: bug#78521: Error: No package in XXX with `package-install-file`

From: Philip Kaludercic <[email-masked]>
Date: Sun, 25 May 2025 15:08:28 +0000

Jen-Chieh Shen <[email-masked]> writes:

> Hi, Philip.
>
> The error was covered by my error message. After going one level deep, the
> real error message is `Package lacks a file header `.
> It occurred with the following code, not `package-install-file` (sorry for
> the confusion).
>
> ``elisp
> (with-temp-buffer
>   (dired path)
>   (ignore-errors (package-dir-info)))  ; error occurred this line
> ```

Right, I was expecting something like this.  We recently added a change
that allows marking files in Dired and having `package-dir-info' respect
this by only considering these files IF the current buffer is in
dired-mode /and/ the Dired buffer has marked files.  What I cannot
deduce from this snippet, is if the Dired buffer at PATH was previously
opened or had any marked files in it.  Could you check that
(dired-get-marked-files) returns nil or call (dired-unmark-all-marks)
before invoking `package-dir-info`?

> The test package I'm trying to install is located at
> https://github.com/emacs-eask/cli/tree/master/test/jest/install/foo-mode.
>
> Thanks!

Thank you for your cooperation!

> On Thu, May 22, 2025 at 3:45 AM Philip Kaludercic <[email-masked]>
> wrote:
>
>> Eli Zaretskii <[email-masked]> writes:
>>
>> >> From: Jen-Chieh Shen <[email-masked]>
>> >> Date: Tue, 20 May 2025 17:08:38 -0700
>> >>
>> >> I recently encountered an error, No package in XXX, when using the
>> package-install-file function in
>> >> the latest Emacs snapshot. This function was working correctly as of
>> May 5, 2025, but started failing
>> >> sometime after May 8, 2025. I suspect there may have been a breaking
>> change introduced.
>> >>
>> >> This issue only affects the snapshot build—my CI tests cover Emacs
>> versions 26.3, 27.2, 28.2, 29.4, 30.1,
>> >> and the snapshot, and all versions except the snapshot pass. You can
>> view the test results here:
>> >> https://github.com/emacs-eask/cli/actions/runs/14904371642.
>> >
>> > Philip, could you please take a look at this issue?
>>
>> Can you elaborate what the tests are doing?  package-install-file works
>> fine for me on my end.
>>