Subject: Re: bug#60923: 29.0.60; package-vc-install: Allow specifying directories

From: Philip Kaludercic <[email-masked]>
Date: Wed, 01 Mar 2023 14:03:02 +0000

Mohammed Sadiq <[email-masked]> writes:

> On 2023-02-14 21:29, Philip Kaludercic wrote:
>> But perhaps I am misunderstanding you.  What would be the point of
>> removing the files from the installation directory?
>
> My need was to avoid letting the code in test files never available
> in Emacs (as defuns and such are not namespace separated, functions
> written in tests may confuse with other functions)
>
> But given that the entire source including the vc history is kept
> as such, I don't think removing the file is for this purpose is
> worth.

OK, I'll go ahead and mark the report as done then?

>>>> package.el already supports ignoring the contents of a .elpaignore
>>>> file,
>>>> but all that does is remove a few files from the byte-compilation
>>>> process.
>>> I tried installing pareedit, and it doesn't seem to work. I tried:
>>> emacs --batch --eval='(package-vc-install
>>> "https://github.com/emacsmirror/paredit.git")'
>> (Is there a reason you specified a URL instead of the package?)
>
> I just chose the URL of a popular project that has a .elpaignore file.

The reason I was asking is that you could have also invoked
`package-vc-install' using just a symbol, and it would have used the
default specification that the package archive (in this case NonGNU
ELPA) also uses to build the package:

  (package-vc-install 'paredit)

>>>                                                      Also, since
>>> it is installed, I'm able to access functions like
>>> `paredit-test-failed'.
>> Just like that or after loading the file?
>
> After loading the file.  `paredit-test-failed` is no big problem.
> But some projects may define functions like `load-test-file` etc,
> which may not be obvious where the function is defined unless the
> documentation or its code is inspected.
>
> But anyway, as suggested, I don't think it's worth to have a way to
> remove specified files as the entire vc history is cloned and kept
> locally.  So please close the issue.

Package-vc is just an alternative backend for package, the loading is
still taken care of by package.el.  And if the package doesn't autoload
these definitions, then they shouldn't appear.  One could contact the
maintainer and suggest them to be more hygienic in regard to tests or
other miscellaneous files, but considering that hacking on packages is
one of the main use-cases of package-vc, it shouldn't be prevented.

> Sorry for the delayed response.  I was away last month.

No problem, I hope I could help :).

> cheers,
> Mohammed Sadiq

-- 
Philip Kaludercic