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: Philip Kaludercic
Subject: Re: feature/package-vc has been merged
Date: Wed, 16 Nov 2022 22:09:23 +0000

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

>> As mentioned below, I think the harm is that unintended error could
>> appear.  But I get your argument too, that mistakes should be fixed in
>> general and having these pop up during byte compilation is a good way to
>> make these more noticeable...
>
> Either way is fine by me, every use of `lisp-dir` should come with
> a comment justifying it, IMO.

I've decided to remove the function entirely.

>>>>>> -(defun package-generate-autoloads (name pkg-dir)
>>>>>> -  "Generate autoloads in PKG-DIR for package named NAME."
>>>>>> -  (let* ((auto-name (format "%s-autoloads.el" name))
>>>>>> +(defun package-generate-autoloads (pkg-desc pkg-dir)
>>>>>> +  "Generate autoloads for PKG-DESC in PKG-DIR."
>>>>>> +  (let* ((name (package-desc-name pkg-desc))
>>>>>> +         (auto-name (format "%s-autoloads.el" name))
>>>>>>           ;;(ignore-name (concat name "-pkg.el"))
>>>>>>           (output-file (expand-file-name auto-name pkg-dir))
>>>>>>           ;; We don't need 'em, and this makes the output reproducible.
>>>>>
>>>>> I thought an alternative was for `package-vc.el` to call this function
>>>>> with the `:lisp-dir` as `pkg-dir`, so we don't need to change this part
>>>>> of the code.
>>>>
>>>> I might be missing something, but the previous signature was missing a
>>>> package description object that the change required.
>>>
>>> No, I mean that the change should not be needed (and hence the change
>>> in signature shouldn't be needed either).
>>
>> If there is any place where :lisp-dir this is needed, then here, because
>> this is the place where the auto-load is generated containing the
>> `load-path' modification.  If I don't have the package description, then
>> I cannot infer the right sub-directory.
>
> I don't understand: in my mental model, package-vc would call
> (package-generate-autoloads 'org "/foo/bar/org/lisp/") and that would
> generate the right autoloads file with the right modification of
> `load-path`, and then `package-vc` would just need to create an
> additional /foo/bar/org/org-autoloads.el file which simply loads
> /foo/bar/org/lisp/org-autoloads.el.

I wanted to place the autoload file in top-level package directory, but
I guess if make sure :lisp-dir gets respected during activation, then
this could be reverted.  I'd have to check how reliable this is.



reply via email to

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