Subject: bug#49731: 28.0.50; Filter xref results by filename

From: Juri Linkov <[email-masked]>
Date: Thu, 29 Jul 2021 20:43:00 +0300

>> 1. while xref-find-references works fine in `emacs -Q`,
>> I don't know why with my customization typing e.g.
>> 'M-? isearch-lazy-highlight RET' reports
>> "No references found for: isearch-lazy-highlight".
>
> Try and see which of the "tools" semantic-symref-perform-search ends
> up using.

Thanks for the pointers to semantic-symref-perform-search.
It prepends "-n " to my customized pattern "rg -nH",
so the arg "-n" is duplicated on the command line:

  `rg -n -nH`

and signals the error:

  error: The argument '--line-number' was provided more than once, but cannot be used multiple times

This error is caused by the bug in the command line parser used by ripgrep:

  https://github.com/clap-rs/clap/issues/2171

that was fixed only 6 months ago, so it will take much time
before this fix will reach ripgrep, and this bug will be closed:

  https://github.com/BurntSushi/ripgrep/issues/1701

But even without duplicated "-n" semantic-symref-perform-search
doesn't work with ripgrep because it doesn't find such pattern:

  \\\\\\(\\^\\\\\\|\\\\W\\\\\\)isearch-lazy-highlight\\\\\\(\\\\W\\\\\\|\\$\\\\\\)

Maybe semantic-symref-perform-search could be improved to support ripgrep?
Because without these two problems it works fine with ripgrep.

>> 2. xref-find-apropos doesn't offer the identifier at point as its
>> default, and after using it e.g. from the buffer isearch.el with
>> 'C-M-. isearch-lazy-highlight RET' all its lines are concatenated
>> on the same line in `emacs -Q`:
>
> Thanks for the report, should be fixed now.

I confirm it's fixed, thanks.  I suppose xref-find-apropos doesn't offer
the identifier at point as its default because 'apropos' doesn't offer
the default?  But this is not a big problem.