[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#62741: 30.0.50; Eglot jdtls project test: pass on emacs-29, fail on
From: |
Basil Contovounesios |
Subject: |
bug#62741: 30.0.50; Eglot jdtls project test: pass on emacs-29, fail on master |
Date: |
Mon, 10 Apr 2023 10:11:23 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
close 62741 30.1
severity 62741 minor
quit
João Távora [2023-04-10 09:17 +0100] wrote:
> Pasting the backtrace here for Dmitry to have a look.
>
> Test eglot-test-eclipse-connect backtrace:
> string-match("\0" nil 0)
> split-string(nil "\0" t)
> project--vc-list-files("/tmp/eglot--fixturernYTOR/project/" Git nil)
> #f(compiled-function (dir) #<bytecode
> -0xa5be45661654310>)("/tmp/eglot--fixturernYTOR/project/")
> mapcan(#f(compiled-function (dir) #<bytecode -0xa5be45661654310>)
> ("/tmp/eglot--fixturernYTOR/project/"))
> #f(compiled-function (project &optional dirs) #<bytecode
> 0x114f4cd06dfc2088>)((vc Git "/tmp/eglot--fixturernYTOR/project/"))
> apply(#f(compiled-function (project &optional dirs) #<bytecode
> 0x114f4cd06dfc2088>) (vc Git "/tmp/eglot--fixturernYTOR/project/") nil)
> project-files((vc Git "/tmp/eglot--fixturernYTOR/project/"))
>
> It would seem that the problem here is there are no files versioned yet,
> so this expression in project--vc-list-files
>
> (apply #'vc-git--run-command-string nil "ls-files" args)
>
> Returns nil.
>
> But I cannot reproduce this locally.
It's easy to reproduce the backtrace without Eglot, and it happens both
on master and emacs-29. From emacs -Q:
(let ((dir (make-nearby-temp-file "my-" t)))
(unwind-protect
(let ((default-directory (file-name-as-directory dir)))
(make-directory ".git")
(make-empty-file "file") ; Optional.
(require 'project)
(project-files (project-current)))
(delete-directory dir t)))
C-x C-e
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-match("\0" nil 0)
split-string(nil "\0" t)
project--vc-list-files("/tmp/my-VHbIUg/" Git nil)
#f(compiled-function (dir) #<bytecode
0x12e526b1f733674a>)("/tmp/my-VHbIUg/")
mapcan(#f(compiled-function (dir) #<bytecode 0x12e526b1f733674a>)
("/tmp/my-VHbIUg/"))
#f(compiled-function (project &optional dirs) #<bytecode
0xea2b226a1860ab9>)((vc Git "/tmp/my-VHbIUg/"))
apply(#f(compiled-function (project &optional dirs) #<bytecode
0xea2b226a1860ab9>)
(vc Git "/tmp/my-VHbIUg/") nil)
project-files((vc Git "/tmp/my-VHbIUg/"))
> I'll leave it up to you, Basil, to decide whether to close or leave this
> bug open.
Closing, since the difference between master and emacs-29 materialised
in the context of Eglot.
If Dmitry thinks project-files is doing something unexpected, we can
open a new ticket if necessary.
Thanks,
--
Basil