From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Unknown Newsgroups: gmane.emacs.bugs Subject: bug#44905: 27.1; Packages that customize xref-show-xrefs-function can break Dired's dired-do-find-regexp-and-replace Date: Sun, 29 Nov 2020 13:57:14 +0100 Message-ID: References: <7ab2afb1-33ec-bca0-4014-131130e71a04@yandex.ru> Reply-To: =?UTF-8?Q?Reply-to=3A_Daniel_Mart=C3=83=C2=ADn_=3Cmardani29=40yahoo=2Ees?= =?UTF-8?Q?=3E=0A?= Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33828"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (darwin) Cc: 44905@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 29 13:58:11 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kjMHK-0008gd-FD for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 29 Nov 2020 13:58:10 +0100 Original-Received: from localhost ([::1]:59524 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjMHJ-0004xj-1q for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 29 Nov 2020 07:58:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33836) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjMHC-0004xY-Qw for bug-gnu-emacs@gnu.org; Sun, 29 Nov 2020 07:58:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38424) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kjMHC-0000GZ-IY for bug-gnu-emacs@gnu.org; Sun, 29 Nov 2020 07:58:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kjMHC-0007S2-GJ for bug-gnu-emacs@gnu.org; Sun, 29 Nov 2020 07:58:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Daniel =?UTF-8?Q?Mart=C3=ADn?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 29 Nov 2020 12:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44905 X-GNU-PR-Package: emacs Original-Received: via spool by 44905-submit@debbugs.gnu.org id=B44905.160665465528596 (code B ref 44905); Sun, 29 Nov 2020 12:58:02 +0000 Original-Received: (at 44905) by debbugs.gnu.org; 29 Nov 2020 12:57:35 +0000 Original-Received: from localhost ([127.0.0.1]:49970 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kjMGl-0007RA-45 for submit@debbugs.gnu.org; Sun, 29 Nov 2020 07:57:35 -0500 Original-Received: from sonic314-19.consmr.mail.ir2.yahoo.com ([77.238.177.145]:43440) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kjMGf-0007Qo-LE for 44905@debbugs.gnu.org; Sun, 29 Nov 2020 07:57:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1606654640; bh=Kjz9zKzVRqplkcqfQq/k9iaPuXq9QGUKp9WYeOoRW6s=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject; b=M8AMWJti1EE850/xXzhk1ZGBaoA2uAyrFLYzFrmoeTazWvP8aMe4cMsii3fS4+1BIhMa+rn6BwFhxJCThYnUuImaYFASxod79HGCHY0lBGYQ++8HtoUd8XxSiaBSnfb2j7TusEb2Rj+AVOAfQD1eyYGNon81m6EKlGLlH3vkCT0OWlF06L+qDB69iRTvUgCtt7WInqZvnhZDbV27qtc0d6AwheZFYDYrWeJg7jA9/njQ3i0ozz6xphEUlEvMWOjqWca25+2AdhpnGqUWUzJHqlr8hrmQB1Ec5zIXMwFUyMQxqif6X8UNptPTBWpAklak7RK3pdnel1dj81oL3jvlew== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1606654640; bh=eCqQq9kHl0nCIDwS96Bhh3e0g5w3Ga+jh+MGcvVqNw0=; h=From:To:Subject:Date:From:Subject; b=qKTVHlmqYXmlUvKdu5CYpBUZebtrZaL9fNAUYea/l5VQu3m4uoMccOSDvcinIJ4cNtsRndp09LlBkBvZ7UKKPdWLPdwGEGB28rC+w8xpjKCVGZ0jDbs6jYgP/cxu6E3WnXPVxEqjexz/Bezz7itW3hIdp91QLmGGPUEC0nZUAN4Wvif8HJZodPTWBNMRMezVxqB3DAoaYv8PIwW03AA7a0/baiVKBGoqbhCkg6ih6s/IgZiqAhS0IYMU/a7zkpvU8NSLR5PpHRRkAM87QBfM/e8dEOiBZEYFoCjeAtZv18DGDYtf1e8Yu1QYaDPUMJEPSGjulOpVYdkWOK+bMnlwZQ== X-YMail-OSG: C4qQqBoVM1lCVBRnetXyiYPLEicE77KO8YYP6gJRbdk216JB5mC4_f7Qu0A9LO8 Hb2NwUMDNxijuSv1aYdzyecp2kQaAIB2o9NZKfdgJNb_R1YA8n7reb7_jjzTB3d3gbkJgrAQQsJ3 GqcTRBXn_Gd2QP5OmymuucJScZg7EJVj4qGBoYQ.rqiW.taiToX3OP3HX4tzlrqLNzohJ14LH3se 8o8k8Cwa6KMT7i1RykFLdRuKU5_1VpV_pI9yhXtnfNYd7pS..R1TTHA0_N2pRxIfaldwUiRn7JLC Xw9LqyBmEx6srgAzu8.dOurAUbquj.b92Cy6Ced2LYuTPqOCfGIGcFKk2OTusnjK2Q_7J7qI0pFz sWURVqqT7ZkVs6frzi_zYRe9WwRjglzoJe3Sewfu9f72FYrxvazG4zUTXo.cLeLvBQYWS6JzlFEk yOuQ.F4IFxkVrVkBIsZcmCd3WL8ue7ciSYX.1i5Xn.QsrtJNPbLW_DlpqgZ9hFpIjHjG_M1Cj4VG cailfx5LmGT0v0eXbLOsyoID2Osxw_uhGf21vOJ_Im5XGeaCEaMBUks2luereFdN4rWEqy14j5ww 9KEg5qh3gsCvjq.cdSZF6vA.L9Y7SRshFLyqMyrh1HprWjkPIs5L6jY8fzKbWXeE37JjWFEs9FzH 6Hwxi5Y.EZ5MrRYKeAqtXhRwpJTTr0lNLnQ73dsA9aLRemKB9gIxT3bxbz8SxlPXtWRkUY8sPsTA Nw8pBYv2jumYuSNhG2GdgrmCtOEI9qMlWVLer9rUAnp5BUnUA2hAJH8GeeArfF4sGwDK5A1Gg8Kz gZGVqWHH4H2S1Cpsyma837tSyjWwF5_zfeTnnzf8NC Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.ir2.yahoo.com with HTTP; Sun, 29 Nov 2020 12:57:20 +0000 Original-Received: by smtp422.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 96c09036ea587be88910fd55e0287144; Sun, 29 Nov 2020 12:57:14 +0000 (UTC) In-Reply-To: <7ab2afb1-33ec-bca0-4014-131130e71a04@yandex.ru> (Dmitry Gutov's message of "Sat, 28 Nov 2020 21:04:53 +0200") X-Mailer: WebService/1.1.17111 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Apache-HttpAsyncClient/4.1.4 (Java/11.0.8) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Original-From: Xref: news.gmane.io gmane.emacs.bugs:194552 Archived-At: Dmitry Gutov writes: > > While this change in the Right Thing(tm), I have to question the > wisdom of setting xref-show-xrefs-function to an Ivy or Helm-based > function, though. Those UIs serve to help you choose one item, whereas > commands like dired-do-find-regexp and project-find-regexp show the > user a list of matches, to interact with (usually) several of them. I agree with you, Ivy/Helm may not be the best UX for Xref, but this particular problem can still happen even if the user returns a buffer that represents the Xref data in a different way. I think that xref-query-replace-in-results assumes certain invariants from the original *xref* buffer that are not documented. > > diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el > index 94a2bbf1f3..4caafc8df6 100644 > --- a/lisp/dired-aux.el > +++ b/lisp/dired-aux.el > @@ -3140,7 +3140,10 @@ dired-do-find-regexp-and-replace > (query-replace-read-args > "Query replace regexp in marked files" t t))) > (list (nth 0 common) (nth 1 common)))) > - (with-current-buffer (dired-do-find-regexp from) > + (defvar xref-show-xrefs-function) > + (with-current-buffer > + (let ((xref-show-xrefs-function 'xref--show-xref-buffer)) > + (dired-do-find-regexp from)) > (xref-query-replace-in-results from to))) > > (defun dired-nondirectory-p (file) LGTM, thanks.