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: Richard Kim
Subject: Re: Adding the `prescient` packages to NonGNU ELPA?
Date: Fri, 09 Dec 2022 20:10:57 -0800
User-agent: Gnus/5.13 (Gnus v5.13)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> 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?

As far as I know straight does not do any copying at least not *.el
files. It creates symlinks to *.el and other files so that `C-h f' jumps
to VCS-controlled source. Following is how straight installs use-package
to a directory which is added to load-path and Info-directory-list. The
"install" directories are distinct from git repos. It shows that all
*.el are symlinks to the git repo. All files that are not symlinks are
generated files.


$ file * | head -5
dir:                      data
use-package-autoloads.el: Lisp/Scheme program, ASCII text
use-package-bind-key.el:  symbolic link to 
/home/kimr/.emacs.d/sm-ms/.local/straight/repos/use-package/use-package-bind-key.el
use-package-bind-key.elc: Emacs/XEmacs v28 byte-compiled Lisp data
use-package-core.el:      symbolic link to 
/home/kimr/.emacs.d/sm-ms/.local/straight/repos/use-package/use-package-core.el


Another example is magit shown below. Note that *.el files are located
in "lisp" sub-directory of the git repo. If I understood package-vc
correctly, it requires :lisp-dir to be set correctly for packages such
as magit which house lisp files in sub-directories. straight.el places
all *.el symlinks in the top level directory where packages are
installed.


$ file * | head -7
AUTHORS.md:                symbolic link to 
/home/kimr/.emacs.d/sm-ms/.local/straight/repos/magit/docs/AUTHORS.md
dir:                       data
git-rebase.el:             symbolic link to 
/home/kimr/.emacs.d/sm-ms/.local/straight/repos/magit/lisp/git-rebase.el
git-rebase.elc:            Emacs/XEmacs v28 byte-compiled Lisp data
LICENSE:                   symbolic link to 
/home/kimr/.emacs.d/sm-ms/.local/straight/repos/magit/LICENSE
magit-apply.el:            symbolic link to 
/home/kimr/.emacs.d/sm-ms/.local/straight/repos/magit/lisp/magit-apply.el
magit-apply.elc:           Emacs/XEmacs v28 byte-compiled Lisp data


https://github.com:emacs18/spacemacs is my fork of spacemacs. The branch
named sm-straight modifies spacemacs to use straight.el rather than
package.el. I've been using this for quite some time.

I'm curious whether I can share all my git clones of emacs packages for
both straight.el and package-vc.  I'll probably git this a shot soon.

Also a while ago I converted two more emacs setups to use straight.el
rather than package.el although I have not used either of these in a
while.

https://github.com/emacs18/purcell.git is a fork of
https://github.com/purcell/emacs.d. Branch named 'straight' uses
straight.el instead of package.el.

https://github.com/emacs18/scimax.git is a fork of
https://github.com/jkitchin/scimax.  Branch named 'straight' uses
straight.el instead of package.el





reply via email to

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