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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59226 in the body.
You can then email your comments to 59226 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#59226
; Package emacs
.
(Sat, 12 Nov 2022 21:14:02 GMT) Full text and rfc822 format available.emacs18 <at> gmail.com
:bug-gnu-emacs <at> gnu.org
.
(Sat, 12 Nov 2022 21:14:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Richard Kim <emacs18 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Date: Sat, 12 Nov 2022 13:12:53 -0800
[Message part 1 (text/plain, inline)]
#+LINK: cl https://navigator/SWE_NAVIGATOR/perforce/view_changelist.nhtml?port=1777&changelist=%s #+LINK: jira https://jira.internal.synopsys.com/browse/%s 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 Following shows some background information. #+begin_example In GNU Emacs 29.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0) of 2022-11-12 built on kimr-dell Repository revision: f8c11b5a92e78801d71e88cb4ac419e02d85953f Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12201001 System Description: Ubuntu 22.04.1 LTS Configured using: 'configure '--program-transform-name=s/^ctags$/ctags.emacs/' --with-dbus --with-file-notification=yes --with-gif=yes --with-gnutls=yes --with-imagemagick --with-jansson --with-mailutils --with-modules --with-nativecomp --with-pdumper=yes --with-png=yes --with-rsvg --with-sound=yes --with-tiff=yes --with-x-toolkit=yes --with-xml2 --with-xwidgets --without-compress-install --prefix /home/kimr/opt/emacs29/20221112' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB #+end_example If above test file is loaded via emacs as follows #+begin_src shell $ emacs -q -l ~/demo-package-vc-issue #+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
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#59226
; Package emacs
.
(Mon, 14 Nov 2022 11:32:01 GMT) Full text and rfc822 format available.Message #8 received at 59226 <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Richard Kim <emacs18 <at> gmail.com> Cc: 59226 <at> debbugs.gnu.org Subject: Re: 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.
bug-gnu-emacs <at> gnu.org
:bug#59226
; Package emacs
.
(Tue, 15 Nov 2022 23:06:02 GMT) Full text and rfc822 format available.Message #11 received at 59226 <at> debbugs.gnu.org (full text, mbox):
From: Richard Kim <emacs18 <at> gmail.com> To: Philip Kaludercic <philipk <at> posteo.net> Cc: 59226 <at> debbugs.gnu.org Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Date: Tue, 15 Nov 2022 15:04:47 -0800
Thanks Philip. I built scratch/package-vc-fixes branch, and verified that the problem reported by me is gone. I would like to ask a follow-up question. I'm trying to use package-vc as a replacement for straight.el in my setup. I've been using straight.el within spacemacs for some time. If you are interested, the details can be found at https://github.com/emacs18/spacemacs/tree/sm-straight The key thing I have not yet figured out is how to activate packages installed by package-vc when emacs starts up. Package activation is done by the latter part of package-vc--unpack-1 function. Would it be possible to split out activation as a separate function? On Mon, 14 Nov 2022 at 03:31, Philip Kaludercic <philipk <at> posteo.net> wrote: > > 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.
bug-gnu-emacs <at> gnu.org
:bug#59226
; Package emacs
.
(Wed, 16 Nov 2022 07:48:02 GMT) Full text and rfc822 format available.Message #14 received at 59226 <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Richard Kim <emacs18 <at> gmail.com> Cc: 59226 <at> debbugs.gnu.org Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Date: Wed, 16 Nov 2022 07:47:22 +0000
Richard Kim <emacs18 <at> gmail.com> writes: > Thanks Philip. I built scratch/package-vc-fixes branch, and verified > that the problem reported by me is gone. Splendid. > I would like to ask a follow-up question. I'm trying to use > package-vc as a replacement for straight.el in my setup. > I've been using straight.el within spacemacs for some time. If you > are interested, the details can be found at > https://github.com/emacs18/spacemacs/tree/sm-straight I am unfamiliar with both spacemacs and straight, so I'd be lost on my own. Could you point me to some specific example in the repository? > The key thing I have not yet figured out is how to activate packages > installed by package-vc when emacs starts up. > Package activation is done by the latter part of package-vc--unpack-1 > function. Would it be possible to split out > activation as a separate function? Package "activation" (in the sense of `package-activate', checking for dependencies, adding the right directories to the load path, loading the info manuals, ...) is still handled by package.el. package-vc.el is firmly based on package.el, but just provides an alternative to fetching source code. That is also why package-vc doesn't need to be loaded for source packages to be usable -- which speeds up the initialisation. The functionality of `package-vc--unpack-1' is exposed via `package-vc-rebuild', but I don't think that that is what you need. If you are having issues with the activation of source packages, then that is a bug we have to understand and resolve.
bug-gnu-emacs <at> gnu.org
:bug#59226
; Package emacs
.
(Sat, 19 Nov 2022 17:25:01 GMT) Full text and rfc822 format available.Message #17 received at 59226 <at> debbugs.gnu.org (full text, mbox):
From: Richard Kim <emacs18 <at> gmail.com> To: Philip Kaludercic <philipk <at> posteo.net> Cc: 59226 <at> debbugs.gnu.org Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Date: Sat, 19 Nov 2022 09:23:50 -0800
Spacemacs <https://github.com/syl20bnr/spacemacs> is one large emacs setup designed to be the initialization code, i.e., emacs --init-directory spacemacs-directory. It uses use-package to install typically hundreds of packages. straight.el <https://github.com/radian-software/straight.el> is an alternative to package.el where packages are installed by cloning git (or other) repositories and building packages from source directly. This is similar to package-vc.el. The key difference is that the git clone directories are not added to load-path. Rather a new directory is created where symlinks to *.el files are used plus byte compiled files, e.g., following would be added to load-path: $ cd .../spacemacs/.local/straight/build-29.0-102921/dash/ $ ls -l total 360 -rw-rw-r-- 1 kimr kimr 2936 Oct 29 22:04 dash-autoloads.el lrwxrwxrwx 1 kimr kimr 63 Oct 29 22:04 dash.el -> /home/kimr/.emacs.d/sm-ms/.local/straight/repos/dash.el/dash.el -rw-rw-r-- 1 kimr kimr 147632 Oct 29 22:04 dash.elc -rw-rw-r-- 1 kimr kimr 198812 Oct 29 22:04 dash.info lrwxrwxrwx 1 kimr kimr 65 Oct 29 22:04 dash.texi -> /home/kimr/.emacs.d/sm-ms/.local/straight/repos/dash.el/dash.texi -rw-rw-r-- 1 kimr kimr 617 Oct 29 22:04 dir $ I have an update to my previous email. I think I'm understanding better how package-vc is supposed to work. So please disregard my previous question on activation. Instead I would like to share that package-vc seems to work fine except for packages that house *.el files within a sub-directory, e.g., magit or git-commit packages which use lisp sub-directories. For these packages I either have to install magit package using package.el (even though I installed it via package-vc) or I would have to manually add the lisp sub-directory to load-path in my startup file. If I do that, then magit and git-commit packages installed via package-vc work. Following is what I currently have in my startup file to be able to use package-vc installed magit and git-commit packages. (add-to-list 'load-path "~/.emacs.d/sm-my/elpa/29.0/site/git-commit/lisp") (add-to-list 'load-path "~/.emacs.d/sm-my/elpa/29.0/site/magit/lisp") In my typical spacemacs setup, I have between 300 and 400 hundred packages installed. I think more than half were installed via package-vc and rest were installed via pacakge.el. I'm trying to see if I can use package-vc to install all packages.
bug-gnu-emacs <at> gnu.org
:bug#59226
; Package emacs
.
(Sun, 20 Nov 2022 11:58:02 GMT) Full text and rfc822 format available.Message #20 received at 59226 <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Richard Kim <emacs18 <at> gmail.com> Cc: 59226 <at> debbugs.gnu.org Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Date: Sun, 20 Nov 2022 11:57:36 +0000
Richard Kim <emacs18 <at> gmail.com> writes: > Spacemacs <https://github.com/syl20bnr/spacemacs> is one large emacs > setup designed to be the initialization code, i.e., emacs > --init-directory spacemacs-directory. It uses use-package to install > typically hundreds of packages. > > straight.el <https://github.com/radian-software/straight.el> is an > alternative to package.el where packages are installed by cloning git > (or other) repositories and building packages from source directly. > This is similar to package-vc.el. The key difference is that the git > clone directories are not added to load-path. Rather a new directory > is created where symlinks to *.el files are used plus byte compiled > files, e.g., following would be added to load-path: > > $ cd .../spacemacs/.local/straight/build-29.0-102921/dash/ > $ ls -l > total 360 > -rw-rw-r-- 1 kimr kimr 2936 Oct 29 22:04 dash-autoloads.el > lrwxrwxrwx 1 kimr kimr 63 Oct 29 22:04 dash.el -> > /home/kimr/.emacs.d/sm-ms/.local/straight/repos/dash.el/dash.el > -rw-rw-r-- 1 kimr kimr 147632 Oct 29 22:04 dash.elc > -rw-rw-r-- 1 kimr kimr 198812 Oct 29 22:04 dash.info > lrwxrwxrwx 1 kimr kimr 65 Oct 29 22:04 dash.texi -> > /home/kimr/.emacs.d/sm-ms/.local/straight/repos/dash.el/dash.texi > -rw-rw-r-- 1 kimr kimr 617 Oct 29 22:04 dir > $ Thanks for this explanation, I wasn't familiar with this detail. > I have an update to my previous email. I think I'm understanding > better how package-vc is supposed to work. So please disregard my > previous question on activation. Instead I would like to share that > package-vc seems to work fine except for packages that house *.el > files within a sub-directory, e.g., magit or git-commit packages which > use lisp sub-directories. For these packages I either have to install > magit package using package.el (even though I installed it via > package-vc) or I would have to manually add the lisp sub-directory to > load-path in my startup file. If I do that, then magit and git-commit > packages installed via package-vc work. Following is what I currently > have in my startup file to be able to use package-vc installed magit > and git-commit packages. > > (add-to-list 'load-path "~/.emacs.d/sm-my/elpa/29.0/site/git-commit/lisp") > (add-to-list 'load-path "~/.emacs.d/sm-my/elpa/29.0/site/magit/lisp") This _is_ handled, if the package specification has a `:lisp-dir' entry pointing to the right directory. If I had to guess, I'd say you are using MELPA and it is probably the first entry in `package-archives'? If so, the issue would be that MELPA doesn't provide any public package specifications, the way GNU ELPA and NonGNU ELPA do. What is probably required is some kind of a heuristic to detect a lisp directory, but I haven't come up with a good solution to that yet. > In my typical spacemacs setup, I have between 300 and 400 hundred > packages installed. I think more than half were installed via > package-vc and rest were installed via pacakge.el. I'm trying to see > if I can use package-vc to install all packages. It would be possible in theory, but note that package-vc installs dependencies using regular tarballs installations.
Philip Kaludercic <philipk <at> posteo.net>
:emacs18 <at> gmail.com
:Message #25 received at 59226-done <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Richard Kim <emacs18 <at> gmail.com> Cc: 59226-done <at> debbugs.gnu.org Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Date: Sun, 27 Nov 2022 14:11:44 +0000
Richard Kim <emacs18 <at> gmail.com> writes: > Thanks Philip. I built scratch/package-vc-fixes branch, and verified > that the problem reported by me is gone. As the changes have been applied onto master, I'll be closing the report.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 26 Dec 2022 12:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.