unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Anders Lindgren <andlind@gmail.com>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 23179@debbugs.gnu.org
Subject: bug#23179: 25.0.92; Restore `M-,' to continue etags search
Date: Mon, 4 Apr 2016 10:21:31 +0200	[thread overview]
Message-ID: <CABr8ebYahZx5BRB0survbw5_4nXKo1nkGBa5V02R=9BU8uwp2g@mail.gmail.com> (raw)
In-Reply-To: <d099777f-d9ec-9594-f0b3-e1eac724ca32@yandex.ru>

[-- Attachment #1: Type: text/plain, Size: 3589 bytes --]

Hi!

Dmitry:

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.


I have tried all the the functions you have suggested, but I didn't get any
of them to perform like I wanted to. Of course, I didn't have time to dig
into each one of them, so that, for example,
`project-or-external-find-regexp' asked for a new project root directory
and then failed to turn up any matches I put it aside. Likewise, the
"dired" command is not what I was looking for, as it would require me to
mark a number of directories manually before starting.



> 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?


The process of deciding which files and directories should be included in a
"project". If you use TAGS, you typically do that from an external script
cherry-picking directories and files. You don't want to do that a second
time using some other kind of project manager.



> 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?


The advantage over `tags-search' (which I use today) is that I would be
able to use another, more powerful, underlying database. E.g. TAGS does not
manage references to objects whereas systems like "kythe" does.

Apart from that, I rather like the way etags handles search and query
replace -- incrementally and without opening a UI window.


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?
>

I mean the source buffer. Yes, `next-error' is a good candidate. (It's key
binding is somewhat clumsy though, if you need to skip past several
matches.)

    -- Anders

[-- Attachment #2: Type: text/html, Size: 5711 bytes --]

  reply	other threads:[~2016-04-04  8:21 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-01  8:55 bug#23179: 25.0.92; Restore `M-,' to continue etags search Anders Lindgren
2016-04-01  9:02 ` Dmitry Gutov
2016-04-01 10:35   ` Anders Lindgren
2016-04-01 11:03     ` Eli Zaretskii
2016-04-01 23:44       ` Dmitry Gutov
2016-04-02  6:58         ` Eli Zaretskii
2016-04-02 23:39           ` Dmitry Gutov
2016-04-03 15:32             ` Eli Zaretskii
2016-04-03 17:21               ` Dmitry Gutov
2016-04-03 17:28                 ` Eli Zaretskii
2016-04-03 18:32             ` Anders Lindgren
2016-04-03 18:42               ` Eli Zaretskii
2016-04-03 18:49                 ` Anders Lindgren
2016-04-03 18:59                   ` Eli Zaretskii
2016-04-03 19:11                     ` Anders Lindgren
2016-04-03 19:15                       ` Eli Zaretskii
2016-04-03 20:15                         ` Andy Moreton
2016-04-04  2:46                           ` Eli Zaretskii
2016-04-04  8:46                             ` Andy Moreton
2016-04-04 14:57                               ` Eli Zaretskii
2016-04-03 20:30                         ` Anders Lindgren
2016-04-04  2:48                           ` Eli Zaretskii
2016-04-04  4:22                             ` Anders Lindgren
2016-04-04 15:49                               ` Eli Zaretskii
2016-04-04 16:53                                 ` Dmitry Gutov
2016-04-05 15:12                                   ` Eli Zaretskii
2016-04-05 15:27                                     ` Dmitry Gutov
2016-04-05 15:56                                       ` Eli Zaretskii
2016-04-05 16:00                                         ` Dmitry Gutov
2016-04-05 16:18                                           ` Eli Zaretskii
2016-04-05 17:40                                             ` Dmitry Gutov
2016-04-05 18:10                                               ` John Wiegley
2016-04-05 18:12                                                 ` Dmitry Gutov
2016-04-05 19:32                                                   ` John Wiegley
2016-04-05 20:34                                                     ` Dmitry Gutov
2016-04-06  0:55                                                       ` John Wiegley
2016-04-06 10:23                                                         ` Dmitry Gutov
2016-04-05 19:23                                               ` Eli Zaretskii
2016-04-05 20:19                                                 ` Dmitry Gutov
2016-04-08  8:17                                     ` Eli Zaretskii
2016-04-08  8:56                                       ` Anders Lindgren
2016-04-08  9:18                                         ` Eli Zaretskii
2016-04-08 10:28                                           ` Anders Lindgren
2016-04-08 10:32                                             ` Eli Zaretskii
2016-04-08 10:38                                               ` Dmitry Gutov
2016-04-08 10:53                                               ` Anders Lindgren
2016-04-08 13:13                                                 ` Dmitry Gutov
2016-04-09  7:40                                                 ` Eli Zaretskii
2016-04-03 19:36               ` Eli Zaretskii
2016-04-03 20:59               ` Dmitry Gutov
2016-04-03 22:44                 ` John Wiegley
2016-04-03 23:00                   ` Dmitry Gutov
2016-04-04  8:43                 ` Anders Lindgren
2016-04-04 10:41                   ` Dmitry Gutov
2016-04-04 16:58                     ` Anders Lindgren
2016-04-04 17:25                       ` Dmitry Gutov
2016-04-04 17:54                         ` Eli Zaretskii
2016-04-04 20:19                           ` Dmitry Gutov
2016-04-04 17:47                       ` Eli Zaretskii
2016-04-05  5:43                     ` Anders Lindgren
2016-04-05 12:54                       ` Dmitry Gutov
2016-04-05 14:41                         ` Eli Zaretskii
2016-04-05 15:30                           ` Dmitry Gutov
2016-04-05 15:57                             ` Eli Zaretskii
2016-04-04  8:54                 ` Anders Lindgren
2016-04-04 10:46                   ` Dmitry Gutov
2016-04-04 15:03                     ` Eli Zaretskii
2016-04-04 15:00                   ` Eli Zaretskii
2016-04-01 23:48     ` Dmitry Gutov
2019-04-01  6:40   ` pklammer
2019-04-01  9:36     ` Eli Zaretskii
2019-04-02 14:47       ` pklammer
2019-04-02 15:20         ` Eli Zaretskii
2019-04-02 15:35           ` Dmitry Gutov
2019-04-06 21:12             ` Juri Linkov
2019-04-07  0:38               ` Dmitry Gutov
2019-04-07 20:27                 ` Juri Linkov
2019-04-07 23:07                   ` Dmitry Gutov
2019-04-08 19:55                     ` Juri Linkov
2019-04-08 23:34                       ` Dmitry Gutov
2019-04-11 20:40                 ` Juri Linkov
2019-04-12  1:11                   ` Dmitry Gutov
2019-04-13 21:57                     ` Juri Linkov
2019-04-14 12:52                       ` Dmitry Gutov
2019-04-14 19:55                         ` Juri Linkov
2019-04-14 21:41                           ` Dmitry Gutov
2019-04-24 20:33                 ` Juri Linkov
2019-04-24 23:31                   ` Dmitry Gutov
2019-04-29 19:32                     ` Juri Linkov
2016-04-01  9:23 ` Eli Zaretskii
2016-04-01 10:13   ` Anders Lindgren
2016-04-01 10:59     ` Eli Zaretskii
2016-04-02 19:46       ` Anders Lindgren
2016-04-02 19:58         ` Eli Zaretskii
2016-04-02 21:42         ` John Wiegley
2016-04-02 22:28           ` Dmitry Gutov
2016-04-03 17:31             ` John Wiegley
2016-04-03 17:40               ` Dmitry Gutov
2016-04-03 18:04                 ` John Wiegley
2016-04-03 18:10                   ` Dmitry Gutov
2016-04-04  2:39                   ` Eli Zaretskii
2016-04-03 18:22               ` Eli Zaretskii
2016-04-02 22:54         ` Dmitry Gutov
2016-04-04  8:21           ` Anders Lindgren [this message]
2016-04-04 11:00             ` Dmitry Gutov
2020-08-24 18:18 ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABr8ebYahZx5BRB0survbw5_4nXKo1nkGBa5V02R=9BU8uwp2g@mail.gmail.com' \
    --to=andlind@gmail.com \
    --cc=23179@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).