When using the various package-vc installation functions, Emacs byte-compiles the source (good). However, it doesn't ignore sources that match wildcards in ".elpaignore" (bad). That's because, even though 'byte-compile-ignore-files' is documented to be a list of regexps, 'byte-recompile-directory' treats it as a list of strings. To reproduce this, install a package via VC, for example via M-x package-vc-install RET https://github.com/jimporter/urgrep.git RET. Then notice how "urgrep-tests.el" got compiled, even though it matches a wildcard in ".elpaignore". Patch attached to fix this. Eli, would this be safe enough for 29.2? 'byte-compile-ignore-files' is a new feature in 29.1, so hopefully no one else is relying on its current semantics just yet.