Package: emacs;
To reply to this bug, email your comments to 79447 AT debbugs.gnu.org.
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#79447; Package emacs.
(Sun, 14 Sep 2025 14:31:02 GMT) Full text and rfc822 format available.Ankit Gadiya <ankit <at> argp.in>:bug-gnu-emacs <at> gnu.org.
(Sun, 14 Sep 2025 14:31:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ankit Gadiya <ankit <at> argp.in> To: bug-gnu-emacs <at> gnu.org Subject: Package installed with package-vc and :lisp-dir breaks list-packages Date: Sun, 14 Sep 2025 19:59:50 +0530
[Message part 1 (text/plain, inline)]
After installing a package using package-vc with the :lisp-dir parameter, the
subsequent M-x list-packages fail with this message:
package-menu--print-info-simple: Opening directory: No such file or
directory, /home/ankit/lisp
Steps to reproduce:
1. Evaluate the following expression or load any package using package-vc with
:lisp-dir specified.
(use-package rio
:vc ( :url "https://github.com/rapyuta-robotics/rapyuta-io-cli"
:rev :latest
:lisp-dir "./lisp")
:bind
("C-c r" . rio-transient))
2. List packages using M-x list-packages
Analysis:
The `package-vc-commit' function assumes :lisp-dir as the full path instead of
expanding it relative to the package-desc-dir. I've attached a patch to fix
this. The logic is similar to the one used in package-vc--main-file function.
(cl-loop with dir = (let ((pkg-spec (package-vc--desc->spec pkg-desc)))
(or (plist-get pkg-spec :lisp-dir)
(package-desc-dir pkg-desc)))
In GNU Emacs 31.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.49, cairo version 1.18.4) of 2025-08-19 built on thinkpad
Repository revision: 2df20f8da0a9db0555cafea434dfc0bc237cc685
Repository branch: feat/go-test-coverage
System Description: Debian GNU/Linux 13 (trixie)
Configured using:
'configure --prefix=/usr/local/ --localstatedir=/var/local/
--libdir=/usr/local/lib/ --sysconfdir=/usr/local/etc/
--mandir=/usr/local/share/man/ --with-gameuser=:games --with-modules
--without-libotf --without-m17n-flt --without-gconf --without-gsettings
--without-m17n-flt --with-native-compilation=aot --with-pgtk
--with-sound=yes --with-mailutils --with-tree-sitter 'CFLAGS=-O2 -pipe
-march=native -fomit-frame-pointer''
Configured features:
CAIRO DBUS FREETYPE GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBSELINUX
LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
WEBP XIM GTK3 ZLIB
Important settings:
value of $LANG: en_GB.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
windmove-mode: t
global-git-commit-mode: t
magit-auto-revert-mode: t
electric-pair-mode: t
server-mode: t
auth-source-xoauth2-plugin-mode: t
gcmh-mode: t
savehist-mode: t
marginalia-mode: t
vertico-mode: t
which-key-mode: t
corfu-popupinfo-mode: t
global-corfu-mode: t
corfu-mode: t
global-auto-revert-mode: t
evil-commentary-mode: t
global-evil-collection-unimpaired-mode: t
evil-collection-unimpaired-mode: t
evil-mode: t
evil-local-mode: t
pixel-scroll-precision-mode: t
zoom-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tab-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
context-menu-mode: t
global-font-lock-mode: t
font-lock-mode: t
minibuffer-regexp-mode: t
column-number-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/ankit/.config/emacs/elpa/modus-themes-4.8.1/theme-loaddefs hides
/usr/local/share/emacs/31.0.50/lisp/theme-loaddefs
Features:
(shadow sort mail-extr emacsbug lisp-mnt whitespace vertico-directory
magit-patch magit-subtree magit-extras magit-gitignore magit-ediff
evil-collection-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff
ediff-help ediff-init ediff-util goto-addr ispell
evil-collection-consult consult-xref evil-collection-xref xref consult
windmove misearch multi-isearch emacs-news-mode emacsql-sqlite-builtin
face-remap evil-collection-forge forge-repos forge-tablist forge-topics
forge-commands forge-semi forge-bitbucket forge-gogs forge-gitea
forge-gitlab forge-github forge-client forge-forgejo forge-notify
forge-revnote forge-pullreq forge-issue forge-discussion forge-topic
yaml eieio-custom magit-bookmark evil-collection-bookmark bookmark
forge-post evil-collection-markdown-mode markdown-mode
evil-collection-outline noutline outline forge-repo forge forge-core
ghub-legacy ghub-graphql treepy gsexp ghub let-alist gnutls forge-db
closql emacsql-sqlite emacsql emacsql-compiler eieio-base
evil-collection-magit magit-submodule magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit evil-collection-magit-repos magit-repos magit-apply
magit-wip magit-log which-func magit-diff evil-collection-smerge-mode
smerge-mode diff git-commit evil-collection-log-edit log-edit message
yank-media evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec
evil-collection-epa epa mm-decode mm-bodies mm-encode mailabbrev
gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert
magit-margin magit-transient magit-process evil-collection-with-editor
with-editor magit-mode benchmark magit-git magit-base
evil-collection-magit-section magit-section cursor-sensor crm llama
cond-let bug-reference display-line-numbers hl-line hideshow mule-util
elec-pair yasnippet evil-collection-vc-git vc-git
evil-collection-diff-mode diff-mode track-changes vc-dispatcher
vertico-sort vertico-repeat tramp-cache time-stamp tramp-sh project
evil-collection-compile compile server auth-source-xoauth2-plugin
smtpmail sendmail oauth2 url-http url-auth mail-parse rfc2231 rfc2047
rfc2045 ietf-drums url-gw nsm puny plstore epg rfc6068 epg-config gcmh
savehist evil-collection-vertico marginalia vertico
evil-collection-which-key which-key corfu-popupinfo
evil-collection-corfu kind-icon svg-lib color svg dom xml corfu
autorevert filenotify evil-commentary evil-commentary-integration
kubed-transient transient derived kubed evil-collection-daemons daemons
kubed-tramp kubed-common tramp trampver tramp-integration files-x
tramp-message tramp-compat shell parse-time iso8601 format-spec
tramp-loaddefs evil-collection-gnus gnus nnheader gnus-util
text-property-search time-date mail-utils range mm-util mail-prsvr
evil-collection-custom cus-edit pp cus-start cus-load wid-edit just-mode
c++-ts-mode c-ts-mode c-ts-common treesit pcomplete
evil-collection-comint comint ansi-osc ansi-color
evil-collection-unimpaired evil-collection-tabulated-list
evil-collection-tab-bar evil-collection-simple evil-collection-replace
evil-collection-process-menu evil-collection-package-menu
evil-collection-kmacro evil-collection-info evil-collection-indent
evil-collection-imenu evil-collection-helpful evil-collection-help
evil-collection-elisp-refs evil-collection-elisp-mode
evil-collection-eldoc evil-collection-edebug evil-collection-debug
evil-collection-buff-menu evil-collection annalist evil evil-integration
evil-maps evil-commands reveal evil-jumps evil-command-window evil-types
evil-search evil-ex evil-macros evil-repeat evil-states evil-core comp
comp-cstr comp-run comp-common rx evil-common thingatpt rect evil-vars
helpful cc-langs cc-vars cc-defs imenu trace cl-print edebug debug
backtrace info-look find-func f help-fns radix-tree elisp-refs s dash
modus-vivendi-theme modus-themes fontaine pixel-scroll cua-base ring
orderless zoom no-littering compat exec-path-from-shell
use-package-ensure edmacro kmacro use-package-bind-key bind-key
easy-mmode cl-extra help-mode use-package-core
auth-source-xoauth2-plugin-autoloads caddyfile-mode-autoloads
corfu-autoloads daemons-autoloads dape-autoloads debbugs-autoloads
eat-autoloads embark-consult-autoloads consult-autoloads
embark-autoloads empv-autoloads evil-collection-autoloads
annalist-autoloads evil-commentary-autoloads evil-autoloads
exec-path-from-shell-autoloads fish-mode-autoloads fontaine-autoloads
gcmh-autoloads geiser-guile-autoloads geiser-autoloads
goto-chg-autoloads gptel-autoloads hcl-mode-autoloads helpful-autoloads
elisp-refs-autoloads f-autoloads dash-autoloads hurl-mode-autoloads
just-mode-autoloads keycast-autoloads kind-icon-autoloads
kubed-autoloads logos-autoloads loop-autoloads marginalia-autoloads
mcp-autoloads modus-themes-autoloads no-littering-autoloads
oauth2-autoloads olivetti-autoloads orderless-autoloads
org-pomodoro-autoloads alert-autoloads log4e-autoloads gntp-autoloads
orgit-forge-autoloads orgit-autoloads forge-autoloads
markdown-mode-autoloads magit-autoloads pcase magit-section-autoloads
ghub-autoloads llama-autoloads closql-autoloads emacsql-autoloads
cond-let-autoloads pikchr-mode-autoloads finder-inf popper-autoloads
rfc-mode-autoloads rio-autoloads s-autoloads sly-autoloads warnings
svg-lib-autoloads system-packages-autoloads treepy-autoloads
vertico-autoloads vundo-autoloads info with-editor-autoloads
yaml-autoloads yasnippet-autoloads zoom-autoloads package browse-url xdg
url url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs icons password-cache json
subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting font-render-setting cairo gtk pgtk lcms2 multi-tty
move-toolbar make-network-process tty-child-frames native-compile emacs)
Memory information:
((conses 16 786379 832415) (symbols 48 45102 8) (strings 32 212558 41642)
(string-bytes 1 6551797) (vectors 16 82670) (vector-slots 8 961609 376369)
(floats 8 468 6644) (intervals 56 1155 1521) (buffers 1064 17))
[0001-Fix-bug-where-VC-packages-with-lisp-dir-were-breakin.patch (text/x-patch, attachment)]
bug-gnu-emacs <at> gnu.org:bug#79447; Package emacs.
(Sun, 14 Sep 2025 17:43:06 GMT) Full text and rfc822 format available.Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Ankit Gadiya via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> Cc: Ankit Gadiya <ankit <at> argp.in>, 79447 <at> debbugs.gnu.org Subject: Re: bug#79447: Package installed with package-vc and :lisp-dir breaks list-packages Date: Sun, 14 Sep 2025 17:42:01 +0000
Ankit Gadiya via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs <at> gnu.org> writes:
> After installing a package using package-vc with the :lisp-dir parameter, the
> subsequent M-x list-packages fail with this message:
>
> package-menu--print-info-simple: Opening directory: No such file or
> directory, /home/ankit/lisp
>
> Steps to reproduce:
>
> 1. Evaluate the following expression or load any package using package-vc with
> :lisp-dir specified.
>
> (use-package rio
> :vc ( :url "https://github.com/rapyuta-robotics/rapyuta-io-cli"
> :rev :latest
> :lisp-dir "./lisp")
> :bind
> ("C-c r" . rio-transient))
>
> 2. List packages using M-x list-packages
>
>
> Analysis:
>
> The `package-vc-commit' function assumes :lisp-dir as the full path instead of
> expanding it relative to the package-desc-dir. I've attached a patch to fix
> this. The logic is similar to the one used in package-vc--main-file function.
>
> (cl-loop with dir = (let ((pkg-spec (package-vc--desc->spec pkg-desc)))
> (or (plist-get pkg-spec :lisp-dir)
> (package-desc-dir pkg-desc)))
This appears to be a duplicate of bug#79188? Can you take a look at it
and confirm that?
>
> In GNU Emacs 31.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.49, cairo version 1.18.4) of 2025-08-19 built on thinkpad
> Repository revision: 2df20f8da0a9db0555cafea434dfc0bc237cc685
> Repository branch: feat/go-test-coverage
> System Description: Debian GNU/Linux 13 (trixie)
>
> Configured using:
> 'configure --prefix=/usr/local/ --localstatedir=/var/local/
> --libdir=/usr/local/lib/ --sysconfdir=/usr/local/etc/
> --mandir=/usr/local/share/man/ --with-gameuser=:games --with-modules
> --without-libotf --without-m17n-flt --without-gconf --without-gsettings
> --without-m17n-flt --with-native-compilation=aot --with-pgtk
> --with-sound=yes --with-mailutils --with-tree-sitter 'CFLAGS=-O2 -pipe
> -march=native -fomit-frame-pointer''
>
> Configured features:
> CAIRO DBUS FREETYPE GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBSELINUX
> LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG
> RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
> WEBP XIM GTK3 ZLIB
>
> Important settings:
> value of $LANG: en_GB.UTF-8
> value of $XMODIFIERS: @im=ibus
> locale-coding-system: utf-8-unix
>
> Major mode: Fundamental
>
> Minor modes in effect:
> windmove-mode: t
> global-git-commit-mode: t
> magit-auto-revert-mode: t
> electric-pair-mode: t
> server-mode: t
> auth-source-xoauth2-plugin-mode: t
> gcmh-mode: t
> savehist-mode: t
> marginalia-mode: t
> vertico-mode: t
> which-key-mode: t
> corfu-popupinfo-mode: t
> global-corfu-mode: t
> corfu-mode: t
> global-auto-revert-mode: t
> evil-commentary-mode: t
> global-evil-collection-unimpaired-mode: t
> evil-collection-unimpaired-mode: t
> evil-mode: t
> evil-local-mode: t
> pixel-scroll-precision-mode: t
> zoom-mode: t
> override-global-mode: t
> tooltip-mode: t
> global-eldoc-mode: t
> eldoc-mode: t
> show-paren-mode: t
> electric-indent-mode: t
> mouse-wheel-mode: t
> tab-bar-mode: t
> menu-bar-mode: t
> file-name-shadow-mode: t
> context-menu-mode: t
> global-font-lock-mode: t
> font-lock-mode: t
> minibuffer-regexp-mode: t
> column-number-mode: t
> line-number-mode: t
> indent-tabs-mode: t
> transient-mark-mode: t
> auto-composition-mode: t
> auto-encryption-mode: t
> auto-compression-mode: t
>
> Load-path shadows:
> /home/ankit/.config/emacs/elpa/modus-themes-4.8.1/theme-loaddefs hides
> /usr/local/share/emacs/31.0.50/lisp/theme-loaddefs
>
> Features:
> (shadow sort mail-extr emacsbug lisp-mnt whitespace vertico-directory
> magit-patch magit-subtree magit-extras magit-gitignore magit-ediff
> evil-collection-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff
> ediff-help ediff-init ediff-util goto-addr ispell
> evil-collection-consult consult-xref evil-collection-xref xref consult
> windmove misearch multi-isearch emacs-news-mode emacsql-sqlite-builtin
> face-remap evil-collection-forge forge-repos forge-tablist forge-topics
> forge-commands forge-semi forge-bitbucket forge-gogs forge-gitea
> forge-gitlab forge-github forge-client forge-forgejo forge-notify
> forge-revnote forge-pullreq forge-issue forge-discussion forge-topic
> yaml eieio-custom magit-bookmark evil-collection-bookmark bookmark
> forge-post evil-collection-markdown-mode markdown-mode
> evil-collection-outline noutline outline forge-repo forge forge-core
> ghub-legacy ghub-graphql treepy gsexp ghub let-alist gnutls forge-db
> closql emacsql-sqlite emacsql emacsql-compiler eieio-base
> evil-collection-magit magit-submodule magit-blame magit-stash
> magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
> magit-remote magit-commit magit-sequence magit-notes magit-worktree
> magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
> magit-status magit evil-collection-magit-repos magit-repos magit-apply
> magit-wip magit-log which-func magit-diff evil-collection-smerge-mode
> smerge-mode diff git-commit evil-collection-log-edit log-edit message
> yank-media evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec
> evil-collection-epa epa mm-decode mm-bodies mm-encode mailabbrev
> gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert
> magit-margin magit-transient magit-process evil-collection-with-editor
> with-editor magit-mode benchmark magit-git magit-base
> evil-collection-magit-section magit-section cursor-sensor crm llama
> cond-let bug-reference display-line-numbers hl-line hideshow mule-util
> elec-pair yasnippet evil-collection-vc-git vc-git
> evil-collection-diff-mode diff-mode track-changes vc-dispatcher
> vertico-sort vertico-repeat tramp-cache time-stamp tramp-sh project
> evil-collection-compile compile server auth-source-xoauth2-plugin
> smtpmail sendmail oauth2 url-http url-auth mail-parse rfc2231 rfc2047
> rfc2045 ietf-drums url-gw nsm puny plstore epg rfc6068 epg-config gcmh
> savehist evil-collection-vertico marginalia vertico
> evil-collection-which-key which-key corfu-popupinfo
> evil-collection-corfu kind-icon svg-lib color svg dom xml corfu
> autorevert filenotify evil-commentary evil-commentary-integration
> kubed-transient transient derived kubed evil-collection-daemons daemons
> kubed-tramp kubed-common tramp trampver tramp-integration files-x
> tramp-message tramp-compat shell parse-time iso8601 format-spec
> tramp-loaddefs evil-collection-gnus gnus nnheader gnus-util
> text-property-search time-date mail-utils range mm-util mail-prsvr
> evil-collection-custom cus-edit pp cus-start cus-load wid-edit just-mode
> c++-ts-mode c-ts-mode c-ts-common treesit pcomplete
> evil-collection-comint comint ansi-osc ansi-color
> evil-collection-unimpaired evil-collection-tabulated-list
> evil-collection-tab-bar evil-collection-simple evil-collection-replace
> evil-collection-process-menu evil-collection-package-menu
> evil-collection-kmacro evil-collection-info evil-collection-indent
> evil-collection-imenu evil-collection-helpful evil-collection-help
> evil-collection-elisp-refs evil-collection-elisp-mode
> evil-collection-eldoc evil-collection-edebug evil-collection-debug
> evil-collection-buff-menu evil-collection annalist evil evil-integration
> evil-maps evil-commands reveal evil-jumps evil-command-window evil-types
> evil-search evil-ex evil-macros evil-repeat evil-states evil-core comp
> comp-cstr comp-run comp-common rx evil-common thingatpt rect evil-vars
> helpful cc-langs cc-vars cc-defs imenu trace cl-print edebug debug
> backtrace info-look find-func f help-fns radix-tree elisp-refs s dash
> modus-vivendi-theme modus-themes fontaine pixel-scroll cua-base ring
> orderless zoom no-littering compat exec-path-from-shell
> use-package-ensure edmacro kmacro use-package-bind-key bind-key
> easy-mmode cl-extra help-mode use-package-core
> auth-source-xoauth2-plugin-autoloads caddyfile-mode-autoloads
> corfu-autoloads daemons-autoloads dape-autoloads debbugs-autoloads
> eat-autoloads embark-consult-autoloads consult-autoloads
> embark-autoloads empv-autoloads evil-collection-autoloads
> annalist-autoloads evil-commentary-autoloads evil-autoloads
> exec-path-from-shell-autoloads fish-mode-autoloads fontaine-autoloads
> gcmh-autoloads geiser-guile-autoloads geiser-autoloads
> goto-chg-autoloads gptel-autoloads hcl-mode-autoloads helpful-autoloads
> elisp-refs-autoloads f-autoloads dash-autoloads hurl-mode-autoloads
> just-mode-autoloads keycast-autoloads kind-icon-autoloads
> kubed-autoloads logos-autoloads loop-autoloads marginalia-autoloads
> mcp-autoloads modus-themes-autoloads no-littering-autoloads
> oauth2-autoloads olivetti-autoloads orderless-autoloads
> org-pomodoro-autoloads alert-autoloads log4e-autoloads gntp-autoloads
> orgit-forge-autoloads orgit-autoloads forge-autoloads
> markdown-mode-autoloads magit-autoloads pcase magit-section-autoloads
> ghub-autoloads llama-autoloads closql-autoloads emacsql-autoloads
> cond-let-autoloads pikchr-mode-autoloads finder-inf popper-autoloads
> rfc-mode-autoloads rio-autoloads s-autoloads sly-autoloads warnings
> svg-lib-autoloads system-packages-autoloads treepy-autoloads
> vertico-autoloads vundo-autoloads info with-editor-autoloads
> yaml-autoloads yasnippet-autoloads zoom-autoloads package browse-url xdg
> url url-proxy url-privacy url-expand url-methods url-history url-cookie
> generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
> auth-source cl-seq eieio eieio-core cl-macs icons password-cache json
> subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
> rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
> vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
> term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image
> regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
> prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
> timer select scroll-bar mouse jit-lock font-lock syntax font-core
> term/tty-colors frame minibuffer nadvice seq simple cl-generic
> indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
> tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
> romanian slovak czech european ethiopic indian cyrillic chinese
> composite emoji-zwj charscript charprop case-table epa-hook
> jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
> theme-loaddefs faces cus-face macroexp files window text-properties
> overlay sha1 md5 base64 format env code-pages mule custom widget keymap
> hashtable-print-readable backquote threads dbusbind inotify
> dynamic-setting font-render-setting cairo gtk pgtk lcms2 multi-tty
> move-toolbar make-network-process tty-child-frames native-compile emacs)
>
> Memory information:
> ((conses 16 786379 832415) (symbols 48 45102 8) (strings 32 212558 41642)
> (string-bytes 1 6551797) (vectors 16 82670) (vector-slots 8 961609 376369)
> (floats 8 468 6644) (intervals 56 1155 1521) (buffers 1064 17))
bug-gnu-emacs <at> gnu.org:bug#79447; Package emacs.
(Sun, 14 Sep 2025 17:43:09 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org:bug#79447; Package emacs.
(Mon, 15 Sep 2025 15:55:02 GMT) Full text and rfc822 format available.Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ankit Gadiya <ankit <at> argp.in> To: Philip Kaludercic <philipk <at> posteo.net> Cc: "Ankit Gadiya via Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>, 79447 <at> debbugs.gnu.org Subject: Re: bug#79447: Package installed with package-vc and :lisp-dir breaks list-packages Date: Mon, 15 Sep 2025 21:23:38 +0530
On Sun, 14 Sept 2025 at 23:12, Philip Kaludercic <philipk <at> posteo.net> wrote:
>
> Ankit Gadiya via "Bug reports for GNU Emacs, the Swiss army knife of
> text editors" <bug-gnu-emacs <at> gnu.org> writes:
>
> > After installing a package using package-vc with the :lisp-dir parameter, the
> > subsequent M-x list-packages fail with this message:
> >
> > package-menu--print-info-simple: Opening directory: No such file or
> > directory, /home/ankit/lisp
> >
> > Steps to reproduce:
> >
> > 1. Evaluate the following expression or load any package using package-vc with
> > :lisp-dir specified.
> >
> > (use-package rio
> > :vc ( :url "https://github.com/rapyuta-robotics/rapyuta-io-cli"
> > :rev :latest
> > :lisp-dir "./lisp")
> > :bind
> > ("C-c r" . rio-transient))
> >
> > 2. List packages using M-x list-packages
> >
> >
> > Analysis:
> >
> > The `package-vc-commit' function assumes :lisp-dir as the full path instead of
> > expanding it relative to the package-desc-dir. I've attached a patch to fix
> > this. The logic is similar to the one used in package-vc--main-file function.
> >
> > (cl-loop with dir = (let ((pkg-spec (package-vc--desc->spec pkg-desc)))
> > (or (plist-get pkg-spec :lisp-dir)
> > (package-desc-dir pkg-desc)))
>
> This appears to be a duplicate of bug#79188? Can you take a look at it
> and confirm that?
The bug#79188 is a different issue. In my case, the package installed through
package-vc is built properly with both elc and eln files. I don't see any issues
with the package itself. Rather in my case the M-x list-packages broke due to
that one package.
To add some more context, I do have more than one package installed through
package-vc. But the only one with the :lisp-dir parameter triggered
this issue. All
other packages don't break it.
--
Ankit
bug-gnu-emacs <at> gnu.org:bug#79447; Package emacs.
(Mon, 15 Sep 2025 15:55:02 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.