|Subject:||bug#23179: 25.0.92; Restore `M-,' to continue etags search|
|Date:||Mon, 4 Apr 2016 10:21:31 +0200|
I think that we would be making a big mistake if we would release Emacs
25 with an "xref" without searching and query-replace, but with key
bindings that, for most tags users, break existing use patterns.
As already mentioned, we have multiple solutions for searching, and one unified command for query-replace, invoked from the xref buffer.
Today, many people use "tags" as a simple project file. They don't want
to redo this process with another tool ("project") and a dired approach
might not match a project layout at all.
project-or-external-find-regexp will take the tags files into account, as long as the current major mode hasn't overridden project-vc-external-roots-function, or the current project implementation hasn't overridden project-vc-external-roots-function.
"redo this process"? Which one?
Maybe I'm being naive, but a tags file (and presumably all other xref
backends) must represent a list of files. A free text search and
query-replace across those files would be very straight forward to
specify, wouldn't it?
An xref backend aims to represent the current coding environment; it could combine the source files in the current project, the library files external to the project (which could be compiled, zipped, etc), the information available in the currently running REPL.
Yes, there probably is a list of files in there a backend could search, but it should be specified better than that. Search only inside source code, but not documentation, resources, etc? Including any external files that do not belong to this project (try imagining a different xref backend for C code; it would probably include the installed libraries)?
And again, what do you see as the main advantage of the new command over project-or-external-find-regexp?
I have given this some thought -- if we decide to really do make a
change, maybe we should try to make the xref search command more
isearch-like, so that a user could be able to continue an xref search
using `C-s' rather than `M-,'.
That doesn't sound clear to me at all. You mean pressing C-s in an xref buffer? The place where you can currently use `n', `p', or `,' and `.'?
If you mean in a source buffer, what about next-error and previous-error?
|[Prev in Thread]||Current Thread||[Next in Thread]|