dimitri/el-get

El-Get sees the repo of package as `nil`

Closed this issue · 1 comments

My Emacs version is 25.1.1. El-Get reads package-archive-contents, and expects that a repo is the last element of pkg-desc. However, the typical format of package is the following:

 [cl-struct-package-desc org-protocol-jekyll
                        (0 1)
                        "Jekyll's handler for org-protocol"
                        nil
                        single "marmalade" nil nil nil]

As a result, El-Get reads nil as the repo.

I have had a look into package.el, and it uses the following piece of code:

  (let* ((desc (or
                (if (package-desc-p pkg) pkg)
                (cadr (assq pkg package-alist))
                (let ((built-in (assq pkg package--builtins)))
                  (if built-in
                      (package--from-builtin built-in)
                    (cadr (assq pkg package-archive-contents))))))
         (name (if desc (package-desc-name desc) pkg))
         (pkg-dir (if desc (package-desc-dir desc)))
         (reqs (if desc (package-desc-reqs desc)))
         (required-by (if desc (package--used-elsewhere-p desc nil 'all)))
         (version (if desc (package-desc-version desc)))
         (archive (if desc (package-desc-archive desc)))
         (extras (and desc (package-desc-extras desc)))
         (homepage (cdr (assoc :url extras)))
         (keywords (if desc (package-desc--keywords desc)))
         (built-in (eq pkg-dir 'builtin))
         (installable (and archive (not built-in)))
         (status (if desc (package-desc-status desc) "orphan"))
         (incompatible-reason (package--incompatible-p desc))
         (signed (if desc (package-desc-signed desc))))

Hence, function package-desc-archive is the one that El-Get can use to extract the repo name.

Best regards,
Vladimir.

Ah, another one of those package.el changes, thanks for reporting. Should be fixed by #2508.