[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65704: 29.1; Most code of `project-ignores' seems to be dead code
From: |
Dmitry Gutov |
Subject: |
bug#65704: 29.1; Most code of `project-ignores' seems to be dead code |
Date: |
Tue, 5 Sep 2023 17:09:45 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 |
Hi Damien,
On 05/09/2023 10:58, Damien Cassou wrote:
Hi Dmitry,
Dmitry Gutov<dmitry@gutov.dev> writes:
Perhaps you have an older version installed somewhere?
I think I experimented a bit too much 😄, thanks for noticing. I
restarted Emacs and am now using project 0.9.8 from elpa. The expression
(project-current) now returns (vc nil "…/client/") in my client/
directory.
I'm still not sure about the relative path in the 3rd element, but if it
doesn't cause problems, let's set it aside for now.
Notice the nil in the second position. This means that
`project-files' for 'vc will set nil as backend. As a result, the
optimized `project--vc-list-files' isn't used. This means the files
listed in client/.gitignore are not ignored.
I'm certainly doing something wrong again.
And that... is a geniune bug. ;-(
Or an omission compared to the design I had in my head (mentioned
upthread), but at least not a regression compared to the previous
behavior or to what people did with adding to project-find-functions.
So I'm not 100% sure about changing that in Emacs 29, but here's a
patch, please try it out:
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index 29a81c7e151..2eea0ef72e0 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -566,6 +566,12 @@ project-try-vc
(project--submodule-p root))
(let* ((parent (file-name-directory (directory-file-name
root))))
(setq root (vc-call-backend 'Git 'root parent))))
+ (when (not backend)
+ (let* ((project-vc-extra-root-markers nil)
+ ;; Avoid submodules scan.
+ (enable-dir-local-variables nil)
+ (parent (project-try-vc root)))
+ (and parent (setq backend (nth 1 parent)))))
(when root
(setq project (list 'vc backend root))
;; FIXME: Cache for a shorter time.
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Damien Cassou, 2023/09/02
- bug#65704: [PATCH] project.el: Fix bug in project-ignores, Damien Cassou, 2023/09/02
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Dmitry Gutov, 2023/09/02
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Damien Cassou, 2023/09/04
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Dmitry Gutov, 2023/09/04
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Damien Cassou, 2023/09/04
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Dmitry Gutov, 2023/09/04
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Damien Cassou, 2023/09/05
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code,
Dmitry Gutov <=
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Damien Cassou, 2023/09/05
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Damien Cassou, 2023/09/06
- bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Dmitry Gutov, 2023/09/06
bug#65704: 29.1; Most code of `project-ignores' seems to be dead code, Dmitry Gutov, 2023/09/04