From unknown Sun Aug 17 04:19:02 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#59226 <59226@debbugs.gnu.org> To: bug#59226 <59226@debbugs.gnu.org> Subject: Status: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil Reply-To: bug#59226 <59226@debbugs.gnu.org> Date: Sun, 17 Aug 2025 11:19:02 +0000 retitle 59226 29.0.50; unable to load package-vc.el if package-vc-selected-= packages is non-nil reassign 59226 emacs submitter 59226 emacs18@gmail.com severity 59226 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 12 16:13:06 2022 Received: (at submit) by debbugs.gnu.org; 12 Nov 2022 21:13:06 +0000 Received: from localhost ([127.0.0.1]:49450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1otxoG-000276-W7 for submit@debbugs.gnu.org; Sat, 12 Nov 2022 16:13:05 -0500 Received: from lists.gnu.org ([209.51.188.17]:39016) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1otxoF-00026z-2b for submit@debbugs.gnu.org; Sat, 12 Nov 2022 16:13:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1otxoE-0005Lo-Fl for bug-gnu-emacs@gnu.org; Sat, 12 Nov 2022 16:13:02 -0500 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1otxo9-0007En-Mj for bug-gnu-emacs@gnu.org; Sat, 12 Nov 2022 16:12:59 -0500 Received: by mail-pf1-x436.google.com with SMTP id q9so7759015pfg.5 for ; Sat, 12 Nov 2022 13:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:reply-to:subject:to:from:from:to:cc :subject:date:message-id:reply-to; bh=Jc2lCiweWTsomdLoD3x0bS7+UHqcK9c6YsGYUf9JTkA=; b=CeVjO8f1BqqHBdZ5gNKIbpt/O8TTMBupzT01VaJMzWnndPciIP3CfZkKRrEKzFNhJz Q6imMCtWHqBV3bXDgTr3pgPdxE76CcUnm8Xo78QSwopw0QwlT7aRiwzsWLyzmfv4sYdN dcW9LkAg4b81xFci2XA/M7GiRw5KO5umOQ0QDTWbNNGULGhaMuogdwb7RUogGQTK9+bf sd4oejp1abaqsuOhQ4/fCg+h11sjqeH9XSudK3+/DZxK/4ijS0orj6Tdoq0QMWoencVb O43xRpYvoLJEspH6SQ779qH3mKULwwT8NadjRbZYlEMwp4x/FD42mkpJycghYHb0qPUj iFbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:reply-to:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Jc2lCiweWTsomdLoD3x0bS7+UHqcK9c6YsGYUf9JTkA=; b=tXmJE/ZsuiagWgCk94xm0VdexoojRE3Q3qcuXzcQekVBpJ/ZfDrP3V9SH3CAGHMiJg QY8Y9/e3bN1hTW6rzemS4QxUztMXMFGCq3GdD65wVr8/TIVksLpsyCjJh/M+8nGmZ33L NCLO8jJI44AZJbRAyaVAOL8R+4O6xPeKRVFd9lTafxZOd9jpTC31ULWh5o2LqSf6X1KT +kLxmCAnywNpQ3XMQxq5h8wAXcQ0HG8qxG6YEsgfSvc6Rp7hfCvF5HvELgpAm6WjwoFp MeoRGuuhy585Sw3NXWlTa/WffhdT32PO42CzZMV1oSrCctXxqSeqy8Ik7zyUcZ0oXo6K mGJA== X-Gm-Message-State: ANoB5pkzFc3mb6ALmfXePsWCSrQ+CiMjQdKkL7YTtyW0IFohDhngx73H 028DVJeKdx3Qp+GwkLuiH7S0d+uftCE= X-Google-Smtp-Source: AA0mqf7Owsx9//V7fqnxfFaRA0Xo41IxsbTpmTXoRa5bAcF0P+n9rDMa/xvAN4XdLJLqdahK/6fCjg== X-Received: by 2002:a63:4d5d:0:b0:46e:9bb2:f0f7 with SMTP id n29-20020a634d5d000000b0046e9bb2f0f7mr6391758pgl.203.1668287575740; Sat, 12 Nov 2022 13:12:55 -0800 (PST) Received: from kimr-dell ([50.39.230.238]) by smtp.gmail.com with ESMTPSA id k4-20020a170902c40400b00186a68ec086sm4083296plk.193.2022.11.12.13.12.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Nov 2022 13:12:55 -0800 (PST) From: Richard Kim To: bug-gnu-emacs@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-ID: <87o7tbq3l6.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::436; envelope-from=emacs18@gmail.com; helo=mail-pf1-x436.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, FREEMAIL_REPLYTO_END_DIGIT=0.25, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.8 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: emacs18@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) --=-=-= Content-Type: text/plain #+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(# 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(# 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 --=-=-= Content-Type: text/html

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:

$ 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")

Following shows some background information.

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

If above test file is loaded via emacs as follows

$ emacs -q -l ~/demo-package-vc-issue

then following error is reported

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()
--=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 14 06:31:43 2022 Received: (at 59226) by debbugs.gnu.org; 14 Nov 2022 11:31:43 +0000 Received: from localhost ([127.0.0.1]:49057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ouXgl-00016e-4Q for submit@debbugs.gnu.org; Mon, 14 Nov 2022 06:31:43 -0500 Received: from mout02.posteo.de ([185.67.36.66]:38335) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ouXgi-00016M-My for 59226@debbugs.gnu.org; Mon, 14 Nov 2022 06:31:41 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id A7561240105 for <59226@debbugs.gnu.org>; Mon, 14 Nov 2022 12:31:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1668425494; bh=vT9vA1Y3ItjmgdaUr5+YGXMv+sUeEabIJVbed5hJ2Wo=; h=From:To:Cc:Subject:Date:From; b=CEHdyCBuWdRKy/bKkyA/2P1qmJwGilhWkltLBc7cUX8ZLzasTvctFYkOLGckQEfxO dZVaMMJVTQLk3gmTUXS4F6MGzw5FDTcllFcE/nizLaQ+Zw/HZ39MIEcV1WxliSJ6rP N6D2laj/Kcpvvk0+KNfBiLQIze9ZOzP1BVJRVGRr0yUyW/xc+dNnAAseF8cBImgxaV TjW5sBcynxWtdc8rbsRIrvnHapbieidttHR5UlpUoGowlpLNRybKHClsfXOi3yCxK2 O0cT/iHBWXCJcNX9iWETkbVD/+5dYjiTMFtgl5GF3qsXFW0EfamknS9nwiB52kRRvc Jd64GwNwwN9Xw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4N9nFd2XbDz9rxF; Mon, 14 Nov 2022 12:31:33 +0100 (CET) From: Philip Kaludercic To: Richard Kim Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil In-Reply-To: <87o7tbq3l6.fsf@gmail.com> (Richard Kim's message of "Sat, 12 Nov 2022 13:12:53 -0800") References: <87o7tbq3l6.fsf@gmail.com> Date: Mon, 14 Nov 2022 11:31:33 +0000 Message-ID: <878rkd3h7u.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 59226 Cc: 59226@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Richard Kim 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(# 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(# 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. From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 15 18:05:09 2022 Received: (at 59226) by debbugs.gnu.org; 15 Nov 2022 23:05:09 +0000 Received: from localhost ([127.0.0.1]:55480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ov4zM-0005EI-PK for submit@debbugs.gnu.org; Tue, 15 Nov 2022 18:05:09 -0500 Received: from mail-ej1-f54.google.com ([209.85.218.54]:46918) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ov4zK-0005Di-IR for 59226@debbugs.gnu.org; Tue, 15 Nov 2022 18:05:07 -0500 Received: by mail-ej1-f54.google.com with SMTP id bj12so39885152ejb.13 for <59226@debbugs.gnu.org>; Tue, 15 Nov 2022 15:05:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=S+Ax8V0AY6SeUYhBQSisS6Ok7sk2896l2IXFHZ9yT/o=; b=qRExACx1YJ+LDSurfuaFT45jwB0o2QoscpHKgPpH5NK6sZXnLVLdjktAhP032AUGzO CibFSRIN0yaa4vMtIzWjzP5e7cJThtZHtUq+OUthG6/BfFzMNiMSyX6zu98rYNFIVH9B ceyqcCQUWV3/j/QFhPmGqKlRSj/oVy28kg0FFHrbzDrsimk5m518X8HyEy0FgxRaUy0Y eAdfzXot9biz9J5bG3obPbleUc+6D8K6VMkLrto2jMVsYGObe+Z/1iLSbi4j4gUKFjFg WBRa6C83Pu+27F9A2RSbMUM0sHrwWvR3CoEVOpE1xNOqVggcKUov5JdBJjKJgFozW3XW Mr7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=S+Ax8V0AY6SeUYhBQSisS6Ok7sk2896l2IXFHZ9yT/o=; b=EZHFvxCNVTExbLnDV6nLO7DUytq9ace8bgU6YCDDwDFFrbjkKwG2jvkJ/0hom3Cs4f PDrW5v5RgvrPbuSnLK7HFydUT8Lz3sNm2o9efGF+un3XUJurfp39GkvBA/KpFMYbz7mm Thl8FvMiaK05twnqAmEIx7I/ofidG69dfMfuUPoVUsl3cImfJe8fK92L/mEqPTOliXwe n5vzeDRTo42p5+JswLfKKjk0fbFqaqR8ZhZi0I866Irn0e4aNRzdq4CHPF1LrgnnPhlU 9IHdljp2aIxqQvYiB6nwjuB0SCbImIWwo2Zr4Np1Z2lgL7/PiyhOs8QrhAUvZ88Bx0S8 w40Q== X-Gm-Message-State: ANoB5plcGDtEwHtkGc51zDRC15eobCfBLc6yR6CTlcQx3/jsaugss/uA tx3UEzEDN534vP3PwNs9pYNPEtDvt+CIpY4YVv4= X-Google-Smtp-Source: AA0mqf4I4oswdOavTs68TJGa2LwhT6W6HK68w60VlJ9o1DTTaEjtvis0O86SRdHyRfT5X2tPTMPN6Ss0lxAPw9vyTSg= X-Received: by 2002:a17:906:1416:b0:78d:e869:f328 with SMTP id p22-20020a170906141600b0078de869f328mr14874025ejc.696.1668553499489; Tue, 15 Nov 2022 15:04:59 -0800 (PST) MIME-Version: 1.0 References: <87o7tbq3l6.fsf@gmail.com> <878rkd3h7u.fsf@posteo.net> In-Reply-To: <878rkd3h7u.fsf@posteo.net> From: Richard Kim Date: Tue, 15 Nov 2022 15:04:47 -0800 Message-ID: Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil To: Philip Kaludercic Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 59226 Cc: 59226@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) 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 wrote: > > Richard Kim writes: > > > I would like to report what appears to be a bug in ~package-vc.el~ wher= e 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-initi= alize) > > (package-vc--archives-initialize) > > (cond ((null spec) (package-vc-install name)) ((stringp spec) (packag= e-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 (lis= t 'package-desc pkg-desc))) (aref pkg-desc 5)) 'vc)) nil (cond ((null spec)= (package-vc-install name)) ((stringp spec) (package-vc-install name nil sp= ec)) ((listp spec) (package-vc--archives-initialize) (package-vc--unpack pk= g-desc spec)))) > > (let ((pkg-desc (car (cdr (assoc name package-alist #'string=3D))))) = (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) (packag= e-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 pack= age-alist #'string=3D))))) (if (and name (package-installed-p name) (eq (pr= ogn (or (progn ...) (signal ... ...)) (aref pkg-desc 5)) 'vc)) nil (cond ((= null spec) (package-vc-install name)) ((stringp spec) (package-vc-install n= ame 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-instal= led-p name) (eq (progn (or ... ...) (aref pkg-desc 5)) 'vc)) nil (cond ((nu= ll spec) (package-vc-install name)) ((stringp spec) (package-vc-install nam= e nil spec)) ((listp spec) (package-vc--archives-initialize) (package-vc--u= npack pkg-desc spec))))))) > > (progn (ignore (symbolp x1)) (let* ((x2 (cdr-safe x0))) (let ((name x= 1) (spec x2)) (let ((pkg-desc (car (cdr ...)))) (if (and name (package-inst= alled-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 (c= dr-safe x0))) (let ((name x1) (spec x2)) (let ((pkg-desc (car ...))) (if (a= nd 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-saf= e 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 (igno= re (symbolp x1)) (let* (...) (let ... ...))))) (setq tail (cdr tail))))) > > package-vc-ensure-packages() > > (closure (t) (sym val) (custom-set-default sym val) (package-vc-ensur= e-packages))(package-vc-selected-packages ((treemacs-projectile :lisp-dir "= src/extra" :main-file "treemacs-projectile.el" :url "https://github.com/Ale= xander-Miller/treemacs"))) > > custom-initialize-reset(package-vc-selected-packages (funcall #'(clos= ure (t) nil "" 'nil))) > > custom-declare-variable(package-vc-selected-packages (funcall #'(clos= ure (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))))) :s= et (closure (t) (sym val) (custom-set-default sym val) (package-vc-ensure-p= ackages)) :version "29.1") > > eval-buffer(# nil "/home/kimr/opt/emacs29/2022= 1112/share/emacs/29.0.5..." nil t) ; Reading at buffer position 6633 > > load-with-code-conversion("/home/kimr/opt/emacs29/20221112/share/emac= s/29.0.5..." "/home/kimr/opt/emacs29/20221112/share/emacs/29.0.5..." nil ni= l) > > load("package-vc.el") > > load-library("package-vc.el") > > eval-buffer(# nil "/home/kimr/.emacs-debug-1" nil t) = ; Reading at buffer position 262 > > load-with-code-conversion("/home/kimr/.emacs-debug-1" "/home/kimr/.em= acs-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. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 16 02:47:34 2022 Received: (at 59226) by debbugs.gnu.org; 16 Nov 2022 07:47:34 +0000 Received: from localhost ([127.0.0.1]:55895 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ovD8w-0003j2-91 for submit@debbugs.gnu.org; Wed, 16 Nov 2022 02:47:34 -0500 Received: from mout01.posteo.de ([185.67.36.65]:39195) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ovD8t-0003ij-9N for 59226@debbugs.gnu.org; Wed, 16 Nov 2022 02:47:33 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 12FEB240028 for <59226@debbugs.gnu.org>; Wed, 16 Nov 2022 08:47:24 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1668584845; bh=N0lSV1gt5liv8ClEsuJxLge/ECm+kNAIrCopJ9Y4+QA=; h=From:To:Cc:Subject:Date:From; b=l0QmhvVciKumnL34TMnRBfRt7yY9zxhE4BrlhFDT63yr0CIibdfqKnlQTSr702sBS cVeKBDUymOa7iZR2mshx37ltTgY01RXqEyW49tWWQBEfCgM6Jlt0yr0Tp1pgix/6KC sZKXahmgbGMtkB+CDSQe/vwft0qMgs3H8DgC8bXC9je9aKyK4NzYj6UTJmKgIRVofu jNcC0GFKtBmOJd+NHXQ0TTyKae2LUfAcpyXy49wugYlF24mjfyooAZPAsXZ26hsua1 3UoR+1NAhxfjjxisLqANO48mFL4RjroATk6QgRN5GXZ5n5toUxXV9sEW8UiDIpDd+3 1U0v/uOHfzGDg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NBwB42F5Kz6tn9; Wed, 16 Nov 2022 08:47:21 +0100 (CET) From: Philip Kaludercic To: Richard Kim Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil In-Reply-To: (Richard Kim's message of "Tue, 15 Nov 2022 15:04:47 -0800") References: <87o7tbq3l6.fsf@gmail.com> <878rkd3h7u.fsf@posteo.net> Date: Wed, 16 Nov 2022 07:47:22 +0000 Message-ID: <87iljf8ho5.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59226 Cc: 59226@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Richard Kim 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. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 19 12:24:10 2022 Received: (at 59226) by debbugs.gnu.org; 19 Nov 2022 17:24:10 +0000 Received: from localhost ([127.0.0.1]:41043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1owRZZ-0003Pc-Mw for submit@debbugs.gnu.org; Sat, 19 Nov 2022 12:24:10 -0500 Received: from mail-ej1-f47.google.com ([209.85.218.47]:43761) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1owRZY-0003PP-6T for 59226@debbugs.gnu.org; Sat, 19 Nov 2022 12:24:09 -0500 Received: by mail-ej1-f47.google.com with SMTP id m22so19983047eji.10 for <59226@debbugs.gnu.org>; Sat, 19 Nov 2022 09:24:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=s7dBBe86Ewox7OACk+YljqrDPRfgmYA2nZYgp7AvOfI=; b=V3ZiKz1TJtVqvZFPCZCMscaLERNGpXkzxYQlXv+OsoznIdBzi56WzXWLNbySl4UJOR 66do1ExfuKZbvuc76oc6ndb5uCJ1h8U8SUv3ATWzk4EjRLw6Jkynms+4d0SQPtG+fODx W8iKCrRHFuz38u5BnKiSC7Hzmdv3ZZuhd6kK6wZatbhh8hg5grBslNLz0HT2fdYXg3sb r65nSw1WtxTm5Wq33/C6QeEQQP2bysnW3d97WSqoNswXaP+O9LCYSVqRXekr/miuauCn +7xQKyni98Im5dfiB//npKnuubbszRIaygL7iax1xwy+2FvL4tvKEfV24eHCBKHx1Qwm 5NDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=s7dBBe86Ewox7OACk+YljqrDPRfgmYA2nZYgp7AvOfI=; b=chmY58jD7269pD+ylRAVceDVcKtrJHMd9DhxVrBMyYOxkUzVzzBXimEYcxfF9+E4ei U1TEU69dZtL+dblAiIaFLeariuNzWC2Ywqpos86pjldFFvkFvkcz1VBcDvocvi5q9zE9 4kZVo7CKivqsmvIDJ7jkwsdWDvMA1pYwjE6V07rxWcwqy1RU3p9/CaRxTa0T85vcEzF0 n9X6LTDObXUPYsb8/x/Kb0VTqGkNQ8i0b8EMHTExDfta8VoCVqRuqG+Gq1PeDq2ho5g2 5GgaTbnrekRGDX18REkWpsQErUU/iTyNRfLEETekP5qVN6HHg2NT+GkrxfE8HUEx3u7S 1vaA== X-Gm-Message-State: ANoB5pksEdSMSiqj4tCfa3vwnrqfeIAF2hB9P9kq07A3RqTq3YIsaQvP XTzpftJYFIwdxBOmUxh00KDI7BGgef+2k4jy/Uo= X-Google-Smtp-Source: AA0mqf4qPS8seio1mXFfFe4koq+bkWIzZM9Hyc028U7vohOSykFFdJN6nI3QLyGTeXI36MdP2qDX7KH63GSYG6NINfs= X-Received: by 2002:a17:906:3c12:b0:7ad:7e81:1409 with SMTP id h18-20020a1709063c1200b007ad7e811409mr10127140ejg.326.1668878642204; Sat, 19 Nov 2022 09:24:02 -0800 (PST) MIME-Version: 1.0 References: <87o7tbq3l6.fsf@gmail.com> <878rkd3h7u.fsf@posteo.net> <87iljf8ho5.fsf@posteo.net> In-Reply-To: <87iljf8ho5.fsf@posteo.net> From: Richard Kim Date: Sat, 19 Nov 2022 09:23:50 -0800 Message-ID: Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil To: Philip Kaludercic Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 59226 Cc: 59226@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) 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 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. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 20 06:57:49 2022 Received: (at 59226) by debbugs.gnu.org; 20 Nov 2022 11:57:49 +0000 Received: from localhost ([127.0.0.1]:42531 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1owixJ-0008Kq-DF for submit@debbugs.gnu.org; Sun, 20 Nov 2022 06:57:49 -0500 Received: from mout02.posteo.de ([185.67.36.66]:56535) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1owixG-0008Ka-Ns for 59226@debbugs.gnu.org; Sun, 20 Nov 2022 06:57:49 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id B2A15240104 for <59226@debbugs.gnu.org>; Sun, 20 Nov 2022 12:57:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1668945460; bh=pIOrFRq1Hh3qZ7dacngB/30x/4/NkagdVQ7CWwjpoxc=; h=From:To:Cc:Subject:Date:From; b=iPb7SGhgpK7h7SJ2VgQC+vOXLhXwgz3tvl9913OTqeIDnarHicVG8AOh0gXbaia0w F5swdpMDUhKOzBBdWm5EKJgNe+fMViRGBAutG4cUHSehf0bZUAV/Tp0YqgHXlxo2yQ +4I7kWakeSjIP+ii0o/0hBIzzjjf28pUQcsaDBAPyZfC+lbYl5E1BsjtQXh6LeycaW UHoMEoZwTHwqu4H6e8mjeRGmbsO+klbfXrj1xdD1MlXfC0yg8f+R/YscatLmiuynOz gjbZC0IB6Lwt/cVkqD0S4clCGqdFosx2uNXoz+9L20MuwTXWwvEHwk5paxFNk3CsAs FOn2qsvgKd/WA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NFTXy3j6Gz6tqx; Sun, 20 Nov 2022 12:57:36 +0100 (CET) From: Philip Kaludercic To: Richard Kim Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil In-Reply-To: (Richard Kim's message of "Sat, 19 Nov 2022 09:23:50 -0800") References: <87o7tbq3l6.fsf@gmail.com> <878rkd3h7u.fsf@posteo.net> <87iljf8ho5.fsf@posteo.net> Date: Sun, 20 Nov 2022 11:57:36 +0000 Message-ID: <87o7t1dej3.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 59226 Cc: 59226@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Richard Kim writes: > 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 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. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 27 09:11:53 2022 Received: (at 59226-done) by debbugs.gnu.org; 27 Nov 2022 14:11:53 +0000 Received: from localhost ([127.0.0.1]:42329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ozINt-00058I-0P for submit@debbugs.gnu.org; Sun, 27 Nov 2022 09:11:53 -0500 Received: from mout01.posteo.de ([185.67.36.65]:43239) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ozINr-00058B-3w for 59226-done@debbugs.gnu.org; Sun, 27 Nov 2022 09:11:51 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 76DC7240026 for <59226-done@debbugs.gnu.org>; Sun, 27 Nov 2022 15:11:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1669558305; bh=Y6tWMeqfMeerIGiyxnJD2cuxyJ5ajLIE8KSugUZmfQk=; h=From:To:Cc:Subject:Date:From; b=JvGmNA5ESHAmPvGtAJTtZ453JWldAjExThFKFh5ByQNk290Yywj3gHxGS+U3JQNLg Vttei4u2KX5gvvjqFHzReqDlDzs8z2SNdCV2EyqKbOF7Ti6UM9qRv7yZsnV2xoZ2MR znDQBmsK/kcEMKD+4GTkYpRHOTNDzLl9pePYoDmjb97dCvcpvuRjmJmETyjLSsQZRX 2zueRg7+35CNwYTxig4wPFGq37SRHMTjdF9zHBuhgOxhQQxy5AY5nPhL11lc8Y1y/Y vas76v5A3gGjJy8BBPEvgqLnvTtMa14nPOkYSE+KIiERUWpKEQ+pLR+5l6YdmQg37M QVC17bFZkZe8A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NKrBS5jNtz9rxL; Sun, 27 Nov 2022 15:11:42 +0100 (CET) From: Philip Kaludercic To: Richard Kim Subject: Re: bug#59226: 29.0.50; unable to load package-vc.el if package-vc-selected-packages is non-nil In-Reply-To: (Richard Kim's message of "Tue, 15 Nov 2022 15:04:47 -0800") References: <87o7tbq3l6.fsf@gmail.com> <878rkd3h7u.fsf@posteo.net> Date: Sun, 27 Nov 2022 14:11:44 +0000 Message-ID: <87edto4hcv.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 59226-done Cc: 59226-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Richard Kim 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. From unknown Sun Aug 17 04:19:02 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 26 Dec 2022 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator