The notion of current project is very common in most editors
But Emacs is more than just an IDE, it can be and is used for many
other jobs. For example, I customary take a break from my development
work to read email, and when doing so I might issue some Grep command
that I need for some email message I'm writing. I don't think it's
right for Emacs to assume that every Grep I do is necessarily related
to the last project I was working on (which could be days in the past,
btw). This way, we would need a command to "get out of" (or "close")
the project, which I think would be both a nuisance and absurd.
The use case is 'M-x xref-find-refereces' and xref backends which don't
override xref-backend-references. In which case this command searches
the current project using general purpose tools (one of semantic symref
tools, or Grep).
But xref backend != current project. They're technically and
theoretically independent.
So you are saying that it might bring me the wrong references once in
a while? That's not good, is it?