From 28ae8440c62c71da2ef7e30c73333bc5a51efba6 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Sat, 12 Aug 2023 03:58:53 +0300 Subject: [PATCH] Unbreak project-find-file's future history when cpd is not root * lisp/progmodes/project.el (project-find-file): Pass in buffer-file-name as absolute name (bug#63829). (project--read-file-cpd-relative): Make it relative to the appropriate common parent dir. --- lisp/progmodes/project.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 24531d9d02e..fe13f4ab114 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1005,7 +1005,7 @@ for VCS directories listed in `vc-directory-exclusion-list'." (dirs (list root))) (project-find-file-in (or (thing-at-point 'filename) - (and buffer-file-name (file-relative-name buffer-file-name root))) + buffer-file-name) dirs pr include-all))) ;;;###autoload @@ -1058,6 +1058,11 @@ by the user at will." (setq all-files (delete common-parent-directory all-files)) t)) + (mb-default (if (and common-parent-directory + mb-default + (file-name-absolute-p mb-default)) + (file-relative-name mb-default common-parent-directory) + mb-default)) (substrings (mapcar (lambda (s) (substring s cpd-length)) all-files)) (_ (when included-cpd (setq substrings (cons "./" substrings)))) -- 2.39.2