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: Thu, 10 Nov 2022 18:18:50 +0000

Rudolf Adamkovič <salutis@me.com> writes:

> Philip Kaludercic <philipk@posteo.net> writes:
>
>> To avoid unnecessary an back and forth, pushing commits and reverting
>> them, I have pushed the proposed changes to the
>> "scratch/package-vc-fixes" branch, that I will rebase onto master when
>> the changes are ready.  If you have the time, try it out and see if
>> the issues you had were resolved.
>
> I have just tried it, and below, I summarize my experience.
>
> Please note that I have not read any source code, nor followed the
> dicussion word for word.  Thus, I write my reports as a new user.
> Hopefully, you find them useful.
>
> 1. Simplify the configuration.
>    
>    (add-hook 'after-init-hook
>              #'package-vc-install-selected-packages
>              -99)
>    
>    No `require', no `closure', no nothing.  Beautiful.
>
>    Restart Emacs.
>
> 2. Try "refreshing" (no) packages.
>
>    M-x package-vc-refresh

As we seem to use package.el in different ways, can you clarify what
your intention is when invoking `package-vc-refresh'?  The documentation
string tries to clarify what is does, but perhaps the name is confusing:

      "Refresh the installation for package given by PKG-DESC.
    Refreshing an installation means scraping for new autoload
    cookies, re-compiling Emacs Lisp files, building and installing
    any documentation, downloading any missing dependencies.  This
    command does not fetch new revisions from a remote server.  That
    is the responsibility of `package-vc-update'.  Interactively,
    prompt for the name of the package to refresh."

Reload?  Regenerate?  Redo?

>    Got:
>
>      completing-read-default: Wrong type argument: stringp, t

Found an fixed the bug:

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 726e21ee6d..70fb6ac399 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -534,7 +534,7 @@ package-vc--read-package-name
                            (and-let* ((extras (package-desc-extras (cadr pkg)))
                                       (url (alist-get :url extras))
                                       ((package-vc--guess-backend url)))))))
-                   nil (not allow-url)))
+                   (not allow-url)))
 
 (defun package-vc--read-package-desc (prompt &optional installed)
   "Query the user for a source package and return a description with PROMPT.
(Btw, I am trying to force-push to the scratch branch but this appears
not to work.  Wasn't that the point of a scratch branch?)

> 3. Try to install Modus Themes
>
>    Update the configuration from `package' to `package-vc':
>    
>      (with-eval-after-load 'package-vc
>        (add-to-list 'package-vc-selected-packages 'modus-themes))
>    
>    Delete `modus-themes-<version>' from `~/.emacs.d/elpa'.
>    
>    Restart Emacs.
>
>    Got:
>    
>      user-error: Unknown package to fetch: nil
>    
>    *scratches head*
>    
>    Oh, the list!  Change the configuration again:
>    
>      (with-eval-after-load 'package-vc
>        (add-to-list 'package-vc-selected-packages '(modus-themes)))
>    
>    Restart Emacs.
>
>    Got:
>    
>      run-hooks: Symbol’s function definition is void:
>      modus-themes-load-operandi
>    
>    Check `~/.emacs.d/elpa' to see if it contains `modus-themes'.
>
>    It does.
>    
>    *scratches head*
>    
>    Check `package-vc-selected-packages':
>
>      Its value is ((modus-themes))
>    
>    Try `M-x package-vc-update'.
>
>    Got:
>    
>      completing-read-default: Wrong type argument: stringp, t
>    
>    Check `load-path' if it contains `modus-themes'.
>
>    It does.
>    
>    Execute `M-: (require 'modus-themes)' followed by `M-x
>    modus-themes-load-operandi'.
>
>    The theme loads.
>
>    *scatches head*
>    
>    Think: "It seems that Emacs needs to process auto-loads."
>    
>    Tries `package-refresh' again.
>
>    Got:
>    
>      completing-read-default: Wrong type argument: stringp, t
>
> 4. Give up and report back.
>
>    :)
>
> Amost there!
>
>> Ah ok, but that is to be excepted for now.  I am not part of the MELPA
>> project, so I can't "force" them to provide package specifications.
>> If they are missing, then we must rely on heuristics to download
>> source packages.  My hope is that they will add the file too at some
>> point.
>
> I see.  One can still install MELPA packages via a URL, right?
>
> P.S. 1
>
> I remain unsure what `refresh' means.  According to the documentation,
> it "refresh[es] the installation for [the] package".  But what does it
> mean?  The command needs a more detailed documentation and perhaps also
> a more descriptive name.  I understand the `update', but not the
> `refresh'.
>
> P.S. 2
>
> I could not find `package-vc-update-all' akin `package-update-all'.  Not
> that I needed it, but I looked for it in the case I manage to install
> more packages.
>
> P.S. 3
>
> The `package-vc-selected-packages' documentation still does not link the
> `package-vc-archive-spec-alist' variable.  But I noticed that the
> variable has a new name, with a double dash for private use.  Either
> way, I just wanted to mention this fact for completness.
>
> Rudy

reply via email to

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