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.
This commit is contained in:
Dmitry Gutov 2023-08-12 03:58:53 +03:00
parent 0bd58dd2d6
commit 28ae8440c6

View file

@ -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))))