Package: emacs;
Reported by: emacs18 <at> gmail.com
Date: Sat, 12 Nov 2022 21:14:02 UTC
Severity: normal
Found in version 29.0.50
Done: Philip Kaludercic <philipk <at> posteo.net>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Philip Kaludercic <philipk <at> posteo.net> To: Richard Kim <emacs18 <at> gmail.com> Cc: 59226 <at> 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
Richard Kim <emacs18 <at> 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.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.