> What I cannot deduce from this snippet, is if the Dired buffer at PATH was previously 
> opened or had any marked files in it.

It wasn't previously opened. 

>  Could you check that (dired-get-marked-files) returns nil or call (dired-unmark-all-marks)
> before invoking `package-dir-info`?

(dired-get-marked-files) doesn't return nil. I tried using (dired-unmark-all-marks)
but (dired-get-marked-files) still returns the file—in this case, the path to the Eask file.  

The latest test code:

```elisp
(with-temp-buffer
  (dired path)
  (dired-unmark-all-marks)
  (eask--unsilent
    (message "? %s" (dired-get-marked-files))  ; This returns the Eask-file path for some reason.
    (eask-ignore-errors-silent (package-dir-info))))  ; still fail
```

The latest output:

```
0 marks removed
9? (/home/runner/work/cli/cli/test/jest/install/foo-mode/Eask)
10Package lacks a file header
```

Thanks!


On Sun, May 25, 2025 at 8:08 AM Philip Kaludercic <philipk@posteo.net> wrote:
Jen-Chieh Shen <jcs090218@gmail.com> 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 <philipk@posteo.net>
> wrote:
>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> From: Jen-Chieh Shen <jcs090218@gmail.com>
>> >> 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.
>>