emacs-devel
[Top][All Lists]
Advanced

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

Re: feature/package-vc has been merged


From: Eli Zaretskii
Subject: Re: feature/package-vc has been merged
Date: Mon, 07 Nov 2022 14:07:00 +0200

> From: Philip Kaludercic <philipk@posteo.net>
> Cc: monnier@iro.umontreal.ca,  rms@gnu.org,  emacs-devel@gnu.org
> Date: Mon, 07 Nov 2022 08:42:18 +0000
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Philip Kaludercic <philipk@posteo.net>
> >> Cc: monnier@iro.umontreal.ca,  rms@gnu.org,  emacs-devel@gnu.org
> >> Date: Sun, 06 Nov 2022 18:35:10 +0000
> >> 
> >> Eli Zaretskii <eliz@gnu.org> writes:
> >> 
> >> > And if you think many do, why not clone the repository directly into
> >> > ~/.emacs.d/elpa/?
> >> 
> >> Because that won't take care of scraping for autoloads, byte
> >> compilation and installing missing dependencies.
> >
> > I don't see why.  Please elaborate how having the repository inside
> > ~/.emacs.d gets in the way of these activities.
> 
> It doesn't get in the way, the issue just is that if you were to just
> clone a package right into .emacs.d, you would still have to do all
> these steps individually and manually.

Which steps are those, and why do we have to do it manually?

> >> You mean as in only allowing for packages to distribute lisp code in the
> >> root directory of the repository?  That would pointlessly break too many
> >> packages that decide to structure their file hierarchy for whatever
> >> reason.
> >
> > Is that what :lisp-dir is about? then the doc strings in package-vc.el
> > doesn't even hint about that.  In particular, there's nothing there
> > about the root directory of the repository.  
> 
> The docstring for `package-vc--archive-spec-alist' has the following
> (I'm still looking for a better way to document this):
> 
>  `:lisp-dir' (string)
>     The repository-relative name of the directory to use for loading the Lisp
>     sources.  If not given, the value defaults to the root directory
>     of the repository.

Ah, it's a misunderstanding.  See below.

> >                                              (Not that I understand
> > why having Lisp files in a subdirectory of the repository would be a
> > problem that needs an explicit configuration of the package, probably
> > missing something else again.)
> 
> Maybe I am mistaken, but having a directory in `load-path' doesn't mean
> all sub-directories are automatically indexed, right?

We have a standard solution for that:
normal-top-level-add-subdirs-to-load-path.  We install in any
directory that needs this a file called subdirs.el with the following
contents:

  (if (fboundp 'normal-top-level-add-subdirs-to-load-path)
      (normal-top-level-add-subdirs-to-load-path))

Example of directories which need this is the site-lisp directory.

Why cannot we do something like this in this case?



reply via email to

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