[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multilin
From: |
Juri Linkov |
Subject: |
bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps |
Date: |
Mon, 30 Nov 2020 10:49:58 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) |
> Now that I've dug in a little, the situation seems difficult.
>
> -Pz does work, but it forces Grep to consider the file as one long
> string. As a consequence, if we ask it to output the line number, the
> number will always be 1. That's not a helpful mode of operation.
>
> Even if it worked differently, -P imposes a significant performance penalty
> from what I see, even when the extra syntax is not actually used. So we
> couldn't enable it by default.
When a grep input pattern contains a newline, then xref could use
the same algorithm as is used for 'M-.', i.e. run 'grep -Pzl'
to get the file names that contain the pattern, then return
these file names without line numbers. This works exactly
like a new feature of extending xref-show-xrefs-function
with a new completion function was proposed recently on emacs-devel
(BTW, why it's not installed yet?)
So like this feature presenting such completions without line numbers:
lisp/progmodes/project.el:(cl-defgeneric project-root)
lisp/progmodes/project.el:(cl-defmethod project-root ((project (head
transient))))
lisp/progmodes/project.el:(cl-defmethod project-root ((project (head vc))))
xref for grep could work the same way without line numbers:
lisp/progmodes/project.el:names"^Jproject--read-file-cpd-relative)
lisp/progmodes/project.el:names"^Jproject--read-file-absolute)
Then visiting such grep hit should use Emacs search functions
to find the grep hit in the visited file.
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, (continued)
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Dmitry Gutov, 2020/11/23
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Andreas Abel, 2020/11/23
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Eli Zaretskii, 2020/11/24
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Dmitry Gutov, 2020/11/24
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Eli Zaretskii, 2020/11/24
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Dmitry Gutov, 2020/11/24
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Eli Zaretskii, 2020/11/24
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Dmitry Gutov, 2020/11/29
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps,
Juri Linkov <=
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Dmitry Gutov, 2020/11/30
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Eli Zaretskii, 2020/11/30
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Jean Louis, 2020/11/30
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Eli Zaretskii, 2020/11/30
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Jean Louis, 2020/11/30
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Dmitry Gutov, 2020/11/30
- bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Dmitry Gutov, 2020/11/30
bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps, Juri Linkov, 2020/11/24