emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adding the `prescient` packages to NonGNU ELPA?


From: Stefan Monnier
Subject: Re: Adding the `prescient` packages to NonGNU ELPA?
Date: Fri, 09 Dec 2022 10:08:25 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

> If you are asking whether I add the Git repository itself to the load
> path for testing packages, I do not. Instead, I have been using
> Straight.el (https://github.com/radian-software/straight.el) to install
> development versions of packages, which can download the repository once
> but only install the files and needed dependencies (according to a
> specification) by linking/copying those compiled files to another
> directory, which is then added to the load path.

Ah, so `straight` relies on linking/copying the files.
Do things like `C-h f` still jump to the actual VCS-controlled source?

How does it make sure the copies are updated/sync'd when you edit the
VCS-controlled sources?

> For Prescient in particular, it makes sense to have the files in a
> single repository, since a change in the main file can mean changes in
> the extension files and vice versa (as a single conceptual step in
> development). However, testing the development version of an extension
> for one UI (such as for Vertico) doesn't necessarily mean wanting to use
> the development version of another UI's extension (such as for Company)
> or wanting to install another extension's dependee UI package (such as
> Selectrum, which was soft-deprecated in favor of Vertico).

I think in the context of `package-vc` the cleanest way to support some
of that would be to require that the different subpackages's files live
in different subdirectories of the repository (so we can add/remove them
from `load-path` independently).

[ I also note a tension here: on the one hand you say that the
  development is sufficiently tightly linked that you may want to change
  several subpackages in a single commit , but on the other you want to
  be able to use different versions of different subpackages at the same
  time which requires a looser coupling.  ]

> Is this what you are asking?

Yes, exactly, thank you.

> Really, I was wanting to ask whether package-vc installs all of the
> ELisp files in a repository or whether it installs the files according

It does a `git clone`, creates the *-pkg.el and *-autoloads.el files,
compiles the files and adds them to `load-path`.  So you run your code
straight :-) from the VCS clone.

> to the ELPA spec or a provided spec. I see that the user option
> `package-vc-selected-packages` does not mention the `:ignored-files`
> entry that the ELPA spec uses, so I was wondering.

Indeed, it does not support things like `:ignored-files` or
`.elpaignore` or `:renames`.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]