[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63829: 29.0.90; project-find-file's future history breaks with commo
From: |
Juri Linkov |
Subject: |
bug#63829: 29.0.90; project-find-file's future history breaks with common-parent-directory |
Date: |
Sun, 04 Jun 2023 19:36:25 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) |
> 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)))
But we are going to remove project-current-directory-override in bug#63648
where default-directory will be changed to next-default-directory.
BTW, I asked about this before in https://debbugs.gnu.org/58447#127
and then it was deemed to be not too general to handle, so I backed it out
in https://debbugs.gnu.org/58447#160 with such conclusion:
OTOH, `C-x p f M-p' in another project is not my primary workflow.
But if someone wants to keep a plain history, this could be added
later in master, e.g. by a new value of project-read-file-name-function
and a function that is mostly a copy of project--read-file-cpd-relative.
So maybe this could be implemented in master now?