From: Philip Kaludercic <philipk@posteo.net>
To: Richard Kim <emacs18@gmail.com>
Cc: 59226@debbugs.gnu.org
Subject: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil
Date: Mon, 14 Nov 2022 11:31:33 +0000 [thread overview]
Message-ID: <878rkd3h7u.fsf@posteo.net> (raw)
In-Reply-To: <87o7tbq3l6.fsf@gmail.com> (Richard Kim's message of "Sat, 12 Nov 2022 13:12:53 -0800")
Richard Kim <emacs18@gmail.com> writes:
> I would like to report what appears to be a bug in ~package-vc.el~ where emacs is
> unable to load this file if ~package-vc-selected-packages~ variable is
> ~not-nil~. To see this problem I created following simple test file:
>
> #+begin_src elisp
> $ cat ~/demo-package-vc-issue
>
> (setq package-vc-selected-packages
> '((treemacs-projectile
> :lisp-dir "src/extra"
> :main-file "treemacs-projectile.el"
> :url "https://github.com/Alexander-Miller/treemacs")))
>
> (setq debug-on-error t)
>
> (load-library "package-vc.el")
> #+end_src
> then following error is reported
>
> #+begin_example
> Debugger entered--Lisp error: (void-function package-vc--archives-initialize)
> (package-vc--archives-initialize)
> (cond ((null spec) (package-vc-install name)) ((stringp spec) (package-vc-install name nil spec)) ((listp spec) (package-vc--archives-initialize) (package-vc--unpack pkg-desc spec)))
> (if (and name (package-installed-p name) (eq (progn (or (progn (and (memq ... cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 5)) 'vc)) nil (cond ((null spec) (package-vc-install name)) ((stringp spec) (package-vc-install name nil spec)) ((listp spec) (package-vc--archives-initialize) (package-vc--unpack pkg-desc spec))))
> (let ((pkg-desc (car (cdr (assoc name package-alist #'string=))))) (if (and name (package-installed-p name) (eq (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... pkg-desc))) (aref pkg-desc 5)) 'vc)) nil (cond ((null spec) (package-vc-install name)) ((stringp spec) (package-vc-install name nil spec)) ((listp spec) (package-vc--archives-initialize) (package-vc--unpack pkg-desc spec)))))
> (let ((name x1) (spec x2)) (let ((pkg-desc (car (cdr (assoc name package-alist #'string=))))) (if (and name (package-installed-p name) (eq (progn (or (progn ...) (signal ... ...)) (aref pkg-desc 5)) 'vc)) nil (cond ((null spec) (package-vc-install name)) ((stringp spec) (package-vc-install name nil spec)) ((listp spec) (package-vc--archives-initialize) (package-vc--unpack pkg-desc spec))))))
> (let* ((x2 (cdr-safe x0))) (let ((name x1) (spec x2)) (let ((pkg-desc (car (cdr (assoc name package-alist ...))))) (if (and name (package-installed-p name) (eq (progn (or ... ...) (aref pkg-desc 5)) 'vc)) nil (cond ((null spec) (package-vc-install name)) ((stringp spec) (package-vc-install name nil spec)) ((listp spec) (package-vc--archives-initialize) (package-vc--unpack pkg-desc spec)))))))
> (progn (ignore (symbolp x1)) (let* ((x2 (cdr-safe x0))) (let ((name x1) (spec x2)) (let ((pkg-desc (car (cdr ...)))) (if (and name (package-installed-p name) (eq (progn ... ...) 'vc)) nil (cond ((null spec) (package-vc-install name)) ((stringp spec) (package-vc-install name nil spec)) ((listp spec) (package-vc--archives-initialize) (package-vc--unpack pkg-desc spec))))))))
> (let* ((x1 (car-safe x0))) (progn (ignore (symbolp x1)) (let* ((x2 (cdr-safe x0))) (let ((name x1) (spec x2)) (let ((pkg-desc (car ...))) (if (and name (package-installed-p name) (eq ... ...)) nil (cond (... ...) (... ...) (... ... ...))))))))
> (progn (ignore (consp x0)) (let* ((x1 (car-safe x0))) (progn (ignore (symbolp x1)) (let* ((x2 (cdr-safe x0))) (let ((name x1) (spec x2)) (let ((pkg-desc ...)) (if (and name ... ...) nil (cond ... ... ...))))))))
> (let ((x0 (car tail))) (progn (ignore (consp x0)) (let* ((x1 (car-safe x0))) (progn (ignore (symbolp x1)) (let* ((x2 (cdr-safe x0))) (let ((name x1) (spec x2)) (let (...) (if ... nil ...))))))) (setq tail (cdr tail)))
> (while tail (let ((x0 (car tail))) (progn (ignore (consp x0)) (let* ((x1 (car-safe x0))) (progn (ignore (symbolp x1)) (let* ((x2 ...)) (let (... ...) (let ... ...)))))) (setq tail (cdr tail))))
> (let ((tail package-vc-selected-packages)) (while tail (let ((x0 (car tail))) (progn (ignore (consp x0)) (let* ((x1 (car-safe x0))) (progn (ignore (symbolp x1)) (let* (...) (let ... ...))))) (setq tail (cdr tail)))))
> package-vc-ensure-packages()
> (closure (t) (sym val) (custom-set-default sym val) (package-vc-ensure-packages))(package-vc-selected-packages ((treemacs-projectile :lisp-dir "src/extra" :main-file "treemacs-projectile.el" :url "https://github.com/Alexander-Miller/treemacs")))
> custom-initialize-reset(package-vc-selected-packages (funcall #'(closure (t) nil "" 'nil)))
> custom-declare-variable(package-vc-selected-packages (funcall #'(closure (t) nil "" 'nil)) "List of packages that must be installed.\nEach memb..." :type (alist :tag "List of packages you want to be installed" :key-type (symbol :tag "Package") :value-type (choice (const :tag "Any revision" nil) (string :tag "Specific revision") (plist :options ((:url string) (:branch string) (:lisp-dir string) (:main-file string) (:vc-backend symbol))))) :set (closure (t) (sym val) (custom-set-default sym val) (package-vc-ensure-packages)) :version "29.1")
> eval-buffer(#<buffer *load*-179493> nil "/home/kimr/opt/emacs29/20221112/share/emacs/29.0.5..." nil t) ; Reading at buffer position 6633
> load-with-code-conversion("/home/kimr/opt/emacs29/20221112/share/emacs/29.0.5..." "/home/kimr/opt/emacs29/20221112/share/emacs/29.0.5..." nil nil)
> load("package-vc.el")
> load-library("package-vc.el")
> eval-buffer(#<buffer *load*> nil "/home/kimr/.emacs-debug-1" nil t) ; Reading at buffer position 262
> load-with-code-conversion("/home/kimr/.emacs-debug-1" "/home/kimr/.emacs-debug-1" nil t)
> load("/home/kimr/.emacs-debug-1" nil t)
> command-line-1(("-l" "/home/kimr/.emacs-debug-1"))
> command-line()
> normal-top-level()
> #+end_example
Can you try the scratch/package-vc-fixes branch. I haven't merged it
yet, because I might need to revise some commits and I don't want to be
pushing minor fixes to master all the time.
next prev parent reply other threads:[~2022-11-14 11:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-12 21:12 bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Richard Kim
2022-11-14 11:31 ` Philip Kaludercic [this message]
2022-11-15 23:04 ` Richard Kim
2022-11-16 7:47 ` Philip Kaludercic
2022-11-19 17:23 ` Richard Kim
2022-11-20 11:57 ` Philip Kaludercic
2022-11-27 14:11 ` Philip Kaludercic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878rkd3h7u.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=59226@debbugs.gnu.org \
--cc=emacs18@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.