emacs-devel
[Top][All Lists]
Advanced

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

Re: Changes to make in elpa-packages file for nongnu elpa


From: Thierry Volpiatto
Subject: Re: Changes to make in elpa-packages file for nongnu elpa
Date: Tue, 08 Aug 2023 06:17:52 +0000

Philip Kaludercic <philipk@posteo.net> writes:

> Thierry Volpiatto <thievol@posteo.net> writes:
>
>> Hello Philip,
>>
>> Philip Kaludercic <philipk@posteo.net> writes:
>>
>>> Thierry Volpiatto <thievol@posteo.net> writes:
>>>
>>>> Philip Kaludercic <philipk@posteo.net> writes:
>>>>
>>>>> Thierry Volpiatto <thievol@posteo.net> writes:
>>>>>
>>>>>> I see that Helm installation from nongnu elpa doesn't include
>>>>>> emacs-helm.sh script, would it be possible to modify this?
>>>>>>
>>>>>>         diff --git a/elpa-packages b/elpa-packages
>>>>>>         index 77d7a5409e..0923724b62 100644
>>>>>>         --- a/elpa-packages
>>>>>>         +++ b/elpa-packages
>>>>>>         @@ -312,11 +312,11 @@
>>>>>>            :ignored-files "COPYING")
>>>>>>          
>>>>>>           (helm                  :url 
>>>>>> "https://github.com/emacs-helm/helm";
>>>>>>         -  :ignored-files ("images" "Cask" "Makefile" "emacs-helm.sh" 
>>>>>> "helm-core.el" "helm.el"
>>>>>>         +  :ignored-files ("images" "Makefile" "helm-core.el" "helm.el"
>>>>>>                            "helm-lib.el" "helm-source.el" 
>>>>>> "helm-multi-match.el"))
>>>>>>          
>>>>>>           (helm-core             :url 
>>>>>> "https://github.com/emacs-helm/helm";
>>>>>>         -  :ignored-files ("images" "Cask" "Makefile" "emacs-helm.sh" 
>>>>>> "helm-adaptive.el"
>>>>>>         +  :ignored-files ("images" "Makefile" "emacs-helm.sh" 
>>>>>> "helm-adaptive.el"
>>>>>>                            "helm-bookmark.el" "helm-buffers.el" 
>>>>>> "helm-color.el" "helm-comint.el"
>>>>>>                            "helm-command.el" "helm-config.el" 
>>>>>> "helm-dabbrev.el" "helm-easymenu.el"
>>>>>>                            "helm-elisp.el" "helm-elisp-package.el" 
>>>>>> "helm-epa.el" "helm-eshell.el"
>>>>>
>>>>> There shouldn't be any issue in applying this patch, but could you
>>>>> explain the propose of this script?
>>>>
>>>> It is used specially for reproducing bugs in a clean environment, see it
>>>> as emacs -Q for Emacs when reporting bugs. This script starts Emacs -Q
>>>> with only Helm loaded, this ensure the bug if one comes from Helm and
>>>> not another package. This is important especially nowaday people are
>>>> using "Emacs distribution" with the world list of packages installed.
>>>> Apart that the script is useful to quickly launch Emacs with helm, one
>>>> can use it from the Helm directory or symlinked to e.g. ~/bin. 
>>>
>>> I see.  In that case is there any reason you implement this as a shell
>>> script?
>>
>> Well when I wrote the script, packages where not existing and from
>> outside emacs it is actually the only way to run a package isolated.
>>
>>> (It might be interesting to provide something like this for
>>> package.el, to test packages in a generic way.)
>>
>> Yes, this would be interesting, it would be something like this:
>>
>> Emacs -Q
>> M-x <A command that run a package alone, isolated from other
>> packages nuisances>
>
> I was actually thinking of a command like
>
> M-x package-isolate RET foo,bar,baz RET

Then you want completion on packages and return a list of packages, you
can involve helm without requiring it by using completing-read if
helm-mode is enabled otherwise fallback to completing-read-multiple.
You will have to let-bound (and declare it on top of your file)
helm-comp-read-use-marked.

Example from mu4e:

    (cond
       ((bound-and-true-p helm-mode)
        ;; tweaks for "helm"; it's not nice to have to special-case for
        ;; completion frameworks, but this has been supported for while.
        ;; basically, with helm, helm-comp-read-use-marked + completing-read
        ;; is preferred over completing-read-multiple
        (let ((helm-comp-read-use-marked t))
          (completing-read prompt candidates)))
       (multi
        (completing-read-multiple prompt candidates))
       (t
        (completing-read prompt candidates)))


> and a new instance of Emacs using -Q is spun up,

Yes much better.

> with all the packages you have listed loaded, and nothing
> else... Sounds like a fun little weekend project ;^)

Yes, nice.

>> Apart requiring a package just for the faces no, font-lock family
>> doesn't provide :background faces.
>
> I wasn't thinking just of font-lock, you could pick any face,
> eg. wfnames-modified could inherit from diff-refine-changed.

Yes, but I will have to require diff, right?

> That way themes don't have to add extra support, and the package looks
> more "native" without any additional effort.

Of course that would be nice.

>>>    "Provide filename completion in wfnames buffer."
>>>    (let ((beg (line-beginning-position))
>>>          (end (point)))
>>> +    ;; Does it make sense to extend beyond END to allow completing
>>> +    ;; file names mid-string?
>>
>> This one for now I don't know, I transformed your comment with a FIXME.
>
> That is fine, this is just a general thing I wonder about with CAP
> functions.

So yes, as explained in previous post it is what we want, i.e. get the
completion of the part of the line from bol to point.

> I am totally indifferent, they expand to almost the same code anyway:

Yes, I have no problems either to use dolist here.

> Great, I'll add the package then.

Great thanks!

-- 
Thierry

Attachment: signature.asc
Description: PGP signature


reply via email to

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