GNU bug report logs -
#63829
29.0.90; project-find-file's future history breaks with common-parent-directory
Previous Next
Full log
View this message in rfc822 format
Dmitry Gutov <dmitry <at> gutov.dev> writes:
> Try the patch at the end, please. It seems to fix the scenario you
> presented. Does it help with the feature you mention below, too?
Yes, your patch works great and solves the cases I care about!
On top of your patch, I can implement the feature I mentioned with the
patch at the end. This causes the following nice behavior:
1. Open ~/src/emacs/emacs-29/lisp/progmodes/project.el
2. C-x p p ~/src/emacs/trunk
3. f
4. M-n and the minibuffer contains "lisp/progmodes/project.el"
5. RET and we have now easily switched to the same file in another
project
Does the implementation seem OK?
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index ac7be8dcbb2..b1e01df5314 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -1008,7 +1008,12 @@ project-find-file
(dirs (list root)))
(project-find-file-in
(or (thing-at-point 'filename)
- buffer-file-name)
+ (and buffer-file-name
+ (if-let (buffer-proj (and project-current-directory-override
+ (project-current nil default-directory)))
+ (let ((buffer-root (project-root buffer-proj)))
+ (file-name-concat root (file-relative-name buffer-file-name buffer-root)))
+ buffer-file-name)))
dirs pr include-all)))
;;;###autoload
This bug report was last modified 1 year and 298 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.