>>>>> Eli Zaretskii writes: > What do you mean by "isn't a directory"? FILE is supposed to be a > documentation file, not a directory, see the doc string of this > function. Do you mean that FILE is a relative file name so that > file-name-directory returns nil for it? If so, I think the > correct fix would be to reverse the order: > (docs-directory (file-name-directory (expand-file-name file))) Yeah, you're completely right, this was a misunderstanding on my part; my fix just happened to also work so I made some incorrect assumptions. After some further testing, this seems to happen for packages for which the doc file is in the base directory of the package (which causes 'file-name-directory' to return nil as the doc file name is relative to the package dir). I attached an updated patch. > Can you show a recipe to reproduce this problem, preferably > starting from "emacs -Q"? 1. $ emacs -Q 2. M-x package-vc-install RET eat RET 3. A few seconds later, "package-vc--unpack-1: Wrong type argument: stringp, nil" > And finally, this issue exists on the emacs-29 release branch as > well, doesn't it? I haven't tested it, but I don't see a reason it wont.