[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal for 'package-isolate' command
|
From: |
Philip Kaludercic |
|
Subject: |
Re: Proposal for 'package-isolate' command |
|
Date: |
Thu, 17 Aug 2023 14:18:02 +0000 |
Thierry Volpiatto <thievol@posteo.net> writes:
> Philip Kaludercic <philipk@posteo.net> writes:
>
>> Thierry Volpiatto <thievol@posteo.net> writes:
>>
>>> Philip Kaludercic <philipk@posteo.net> writes:
>>>
>>>>> No don't worry, helm will work in any cases, thanks.
>>>>
>>>> OK, in that case I'd prefer to keep it the way it is.
>>>
>>> Ok, fair enough.
>>>
>>>>>> Mainly to avoid issues with packages that might place files in the
>>>>>> configuration directory, which might hinder the reproduction of bugs.
>>>>>
>>>>> Hmm, maybe, I don't have an example in mind though.
>>>>
>>>> It might not be the best example, but my package autocrypt generates a
>>>> file in the `user-emacs-directory'. If we don't use --init-directory,
>>>> the existing file would be re-used.
>>>
>>> Ok, for such case it is easy to either rename the file temporarily to
>>> foo_ori or foo_save or to set the variable handling the file (generally
>>> it is not harcoded) to something else. But another issue is if your
>>> isolated package needs the history file or tramp file or whatever file
>>> ~/.emacs.d is handling; e.g. a package providing completion on history.
>>> I still think it is more handy to reuse user-emacs-directory and its
>>> elpa directory where the packages are already installed.
>>
>> How about this patch, that will use a temporary directory when
>> `package-isolate' is invoked with a prefix argument (not sure what the
>> default should be, I guess reusing `user-emacs-directory' is less
>> surprising):
>
> However it is not working properly:
>
> Tried to isolate two packages, osm and w3m, and osm use compat as
> dependency:
>
> Unable to activate package ‘osm’.
> Required package ‘compat-29.1.4.0’ is unavailable
Sadly I cannot reproduce it, w3m is not in GNU or NonGNU ELPA, so unless
that is causing the issue, something like M-x package-isolate RET
avy-0.5.0,osm-0.13 RET shouldn't make an issue when it comes to
resolving dependencies, as the scratch message indicates:
--8<---------------cut here---------------start------------->8---
;; This is an isolated testing environment, with these packages enabled:
;; - avy-0.5.0
;; - compat-29.1.4.2 (dependency)
;; - osm-0.13
--8<---------------cut here---------------end--------------->8---
And M-x load-library RET compat RET works as well.
> With my simple version of package-isolate I have not this error, both
> osm w3m are installed correctly.
>
> (defun package-isolate (packages)
> "Start an uncustomised Emacs and only load a set of PACKAGES."
> (interactive
> (list (completing-read-multiple
> "Packages: " (mapcar #'car (package--alist)))))
> (let* ((name (concat "package-isolate-" (mapconcat #'identity packages
> ",")))
> (deps (cl-loop for p in packages
> for sym = (intern p)
> nconc (package--dependencies sym))))
> (apply #'start-process (concat "*" name "*") nil
> (list (file-truename (expand-file-name
> invocation-name invocation-directory))
> "--quick" "--debug-init"
> (format "--eval=%S"
> `(progn
> (require 'package)
> (setq package-load-list
> ',(append (mapcar (lambda (p) (list (intern p) t))
> packages)
> (mapcar (lambda (p) (list p t)) deps)))
> (package-initialize)))))))
>
>> [2. text/x-diff;
>> 0001-Add-command-to-start-Emacs-with-specific-packages.patch]...
- Re: Proposal for 'package-isolate' command, (continued)
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/17
- Re: Proposal for 'package-isolate' command, Philip Kaludercic, 2023/08/17
- Re: Proposal for 'package-isolate' command, Eshel Yaron, 2023/08/17
- Re: Proposal for 'package-isolate' command, Philip Kaludercic, 2023/08/17
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/17
- Re: Proposal for 'package-isolate' command, Philip Kaludercic, 2023/08/17
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/17
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/17
- Re: Proposal for 'package-isolate' command,
Philip Kaludercic <=
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/17
- Re: Proposal for 'package-isolate' command, Philip Kaludercic, 2023/08/17
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/18
- Re: Proposal for 'package-isolate' command, Eli Zaretskii, 2023/08/18
- Re: Proposal for 'package-isolate' command, Philip Kaludercic, 2023/08/18
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/18
- Re: Adding package and package-vc to ELPA, Philip Kaludercic, 2023/08/18
- Re: Adding package and package-vc to ELPA, Thierry Volpiatto, 2023/08/19
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/20
- Re: Proposal for 'package-isolate' command, Thierry Volpiatto, 2023/08/20