GNU bug report logs -
#78877
31.0.50; Command `package-vc-rebuild' fails with error '(wrong-type-argument stringp nil)'
Previous Next
To reply to this bug, email your comments to 78877 AT debbugs.gnu.org.
There is no need to reopen the bug first.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
philipk <at> posteo.net, bug-gnu-emacs <at> gnu.org:
bug#78877; Package
emacs.
(Mon, 23 Jun 2025 16:51:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Roi Martin <jroi.martin <at> gmail.com>:
New bug report received and forwarded. Copy sent to
philipk <at> posteo.net, bug-gnu-emacs <at> gnu.org.
(Mon, 23 Jun 2025 16:51:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
After installing a package using `package-vc-install-from-checkout',
`package-vc-rebuild' fails with error '(wrong-type-argument stringp nil)'.
The error can be reproduced following these steps:
emacs -Q --init-directory=/tmp/package-vc-bug
M-x package-vc-install-from-checkout /path/to/pkg-foo RET
M-x package-vc-rebuild pkg-foo RET
Which produces the following backtrace:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
vc-file-getprop(nil vc-working-revision)
vc-working-revision(nil)
package-vc--unpack-1(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil) "/tmp/package-vc-bug/elpa/pkg-foo/")
package-vc-rebuild(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
funcall-interactively(package-vc-rebuild #s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
command-execute(package-vc-rebuild record)
execute-extended-command(nil "package-vc-rebuild" nil)
funcall-interactively(execute-extended-command nil "package-vc-rebuild" nil)
command-execute(execute-extended-command)
Where pkg-foo is a dummy package exposing a couple of functions.
I think this bug could be related to the changes installed as part of
Bug#78017.
Tested in:
GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.49, cairo version 1.18.2) of 2025-06-23 built on wopr
Repository revision: 1a8e8203a158f6bdc74e38f2cdb3214b6c06b9d8
Repository branch: master
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#78877; Package
emacs.
(Thu, 26 Jun 2025 20:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 78877 <at> debbugs.gnu.org (full text, mbox):
Roi Martin <jroi.martin <at> gmail.com> writes:
> After installing a package using `package-vc-install-from-checkout',
> `package-vc-rebuild' fails with error '(wrong-type-argument stringp nil)'.
>
> The error can be reproduced following these steps:
>
> emacs -Q --init-directory=/tmp/package-vc-bug
> M-x package-vc-install-from-checkout /path/to/pkg-foo RET
> M-x package-vc-rebuild pkg-foo RET
>
> Which produces the following backtrace:
>
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> vc-file-getprop(nil vc-working-revision)
> vc-working-revision(nil)
The critical issue seems to be this line, right? We didn't find a main
file, but wanted determine the revision of that file.
> package-vc--unpack-1(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil) "/tmp/package-vc-bug/elpa/pkg-foo/")
> package-vc-rebuild(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
> funcall-interactively(package-vc-rebuild #s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
> command-execute(package-vc-rebuild record)
> execute-extended-command(nil "package-vc-rebuild" nil)
> funcall-interactively(execute-extended-command nil "package-vc-rebuild" nil)
> command-execute(execute-extended-command)
>
> Where pkg-foo is a dummy package exposing a couple of functions.
What was the file structure of the package.
> I think this bug could be related to the changes installed as part of
> Bug#78017.
Could you elaborate your suspicion?
> Tested in:
>
> GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.49, cairo version 1.18.2) of 2025-06-23 built on wopr
> Repository revision: 1a8e8203a158f6bdc74e38f2cdb3214b6c06b9d8
> Repository branch: master
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#78877; Package
emacs.
(Thu, 26 Jun 2025 21:33:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 78877 <at> debbugs.gnu.org (full text, mbox):
Philip Kaludercic <philipk <at> posteo.net> writes:
>> I think this bug could be related to the changes installed as part of
>> Bug#78017.
>
> Could you elaborate your suspicion?
The commit 4226eb2b2040 "Avoid using symbolic links when installing
local VC packages" replaced symlinks with autoload indirections. So,
now the directory created by `package-vc-install-from-checkout' contains
the following files in my test:
<user-emacs-directory>/elpa/pkg-foo/pkg-foo-pkg.el
;;; Generated package description from pkg-foo.el -*- no-byte-compile: t -*-
(define-package "pkg-foo" "0" "No description available." 'nil :kind vc :commit "85d90568599b3716295fe44b4611b5b31cd3b611")
<user-emacs-directory>/elpa/pkg-foo/pkg-foo-autoloads.el
;; Autoload indirection for package-vc
(load (expand-file-name "/home/n/tmp/pkg-foo/pkg-foo-autoloads.el" (or (and load-file-name (file-name-directory load-file-name)) (car load-path))))
My suspicion is that after this change, `package-vc--main-file' cannot
find a main file in that directory anymore. Does it make sense?
Roi
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#78877; Package
emacs.
(Thu, 26 Jun 2025 21:40:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 78877 <at> debbugs.gnu.org (full text, mbox):
Roi Martin <jroi.martin <at> gmail.com> writes:
> Philip Kaludercic <philipk <at> posteo.net> writes:
>
>>> I think this bug could be related to the changes installed as part of
>>> Bug#78017.
>>
>> Could you elaborate your suspicion?
>
> The commit 4226eb2b2040 "Avoid using symbolic links when installing
> local VC packages" replaced symlinks with autoload indirections. So,
> now the directory created by `package-vc-install-from-checkout' contains
> the following files in my test:
>
> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-pkg.el
>
> ;;; Generated package description from pkg-foo.el -*- no-byte-compile: t -*-
> (define-package "pkg-foo" "0" "No description available." 'nil :kind vc :commit "85d90568599b3716295fe44b4611b5b31cd3b611")
>
> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-autoloads.el
>
> ;; Autoload indirection for package-vc
>
> (load (expand-file-name "/home/n/tmp/pkg-foo/pkg-foo-autoloads.el" (or (and load-file-name (file-name-directory load-file-name)) (car load-path))))
>
> My suspicion is that after this change, `package-vc--main-file' cannot
> find a main file in that directory anymore. Does it make sense?
Of course, that does make sense and is an issue that the change seems to
have introduced. I will take a look at how we can improve this,
probably by trying to follow the indirection when looking for a main
file...
> Roi
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#78877; Package
emacs.
(Mon, 15 Dec 2025 13:31:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 78877 <at> debbugs.gnu.org (full text, mbox):
Philip Kaludercic <philipk <at> posteo.net> writes:
>> The commit 4226eb2b2040 "Avoid using symbolic links when installing
>> local VC packages" replaced symlinks with autoload indirections. So,
>> now the directory created by `package-vc-install-from-checkout' contains
>> the following files in my test:
>>
>> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-pkg.el
>>
>> ;;; Generated package description from pkg-foo.el -*- no-byte-compile: t -*-
>> (define-package "pkg-foo" "0" "No description available." 'nil :kind vc :commit "85d90568599b3716295fe44b4611b5b31cd3b611")
>>
>> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-autoloads.el
>>
>> ;; Autoload indirection for package-vc
>>
>> (load (expand-file-name "/home/n/tmp/pkg-foo/pkg-foo-autoloads.el" (or (and load-file-name (file-name-directory load-file-name)) (car load-path))))
>>
>> My suspicion is that after this change, `package-vc--main-file' cannot
>> find a main file in that directory anymore. Does it make sense?
>
> Of course, that does make sense and is an issue that the change seems to
> have introduced. I will take a look at how we can improve this,
> probably by trying to follow the indirection when looking for a main
> file...
Now that the User Lisp directory changes have been installed and
`package-vc-install-from-checkout' has been marked as obsolete, can we
close this issue?
Roi
Reply sent
to
Philip Kaludercic <philipk <at> posteo.net>:
You have taken responsibility.
(Mon, 15 Dec 2025 17:09:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Roi Martin <jroi.martin <at> gmail.com>:
bug acknowledged by developer.
(Mon, 15 Dec 2025 17:09:03 GMT)
Full text and
rfc822 format available.
Message #22 received at 78877-done <at> debbugs.gnu.org (full text, mbox):
Roi Martin <jroi.martin <at> gmail.com> writes:
> Philip Kaludercic <philipk <at> posteo.net> writes:
>
>>> The commit 4226eb2b2040 "Avoid using symbolic links when installing
>>> local VC packages" replaced symlinks with autoload indirections. So,
>>> now the directory created by `package-vc-install-from-checkout' contains
>>> the following files in my test:
>>>
>>> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-pkg.el
>>>
>>> ;;; Generated package description from pkg-foo.el -*- no-byte-compile: t -*-
>>> (define-package "pkg-foo" "0" "No description available." 'nil :kind vc :commit "85d90568599b3716295fe44b4611b5b31cd3b611")
>>>
>>> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-autoloads.el
>>>
>>> ;; Autoload indirection for package-vc
>>>
>>> (load (expand-file-name "/home/n/tmp/pkg-foo/pkg-foo-autoloads.el" (or (and load-file-name (file-name-directory load-file-name)) (car load-path))))
>>>
>>> My suspicion is that after this change, `package-vc--main-file' cannot
>>> find a main file in that directory anymore. Does it make sense?
>>
>> Of course, that does make sense and is an issue that the change seems to
>> have introduced. I will take a look at how we can improve this,
>> probably by trying to follow the indirection when looking for a main
>> file...
>
> Now that the User Lisp directory changes have been installed and
> `package-vc-install-from-checkout' has been marked as obsolete, can we
> close this issue?
Right, closing the report. Feel free to close the reports yourself if
you think the issue has been resolved, btw.
> Roi
This bug report was last modified 12 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.