On 4/19/23 17:49, Dmitry Gutov wrote:
On 19/04/2023 18:46, Daniel Mendler wrote:
IIUC the issue is that is has (added) special handling for file name
completion, and predicates that on the name of the history variable. It
can/should be combined with an extra check which makes sure that the
completion table uses '/' as field separators. Maybe using the
`completion-boundaries` thingy. Or just straight calling
`completion-boundaries` on the history elements to extract the first
segment instead of hardcoding '/'.
Vertico already handles completion boundaries. This is how the base
string `vertico--base` is computed. But as already mentioned, this is
unfortunately not the only issue. The issue is also that
`project-find-file` removes the base directory. The entries in the
history hash would need the same treatment.
But they do: the dynamically bound value of file-name-history at the
moment when completing-read is called contain only the relative file
names (with base directory removed).
That was the recent change in project.el we are referring to.
Ok okay, thanks! I didn't understand that. This makes a lot of sense
since then the history only contains valid values. Then you are right
that it is actually quite easy to repair the completion boundary issue
in `vertico--history-hash`.