From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#17453: Framework extending window functions for Follow Mode (etc.). Date: Fri, 27 Nov 2015 01:03:43 +0200 Organization: LINKOV.NET Message-ID: <8737vs8isw.fsf@mail.linkov.net> References: <20151110110823.GB2626@acm.fritz.box> <876119s7fu.fsf@mail.linkov.net> <20151111161914.GB5669@acm.fritz.box> <87egfwca3b.fsf@mail.linkov.net> <56444C48.5000609@gmx.at> <8737wbx9ep.fsf@mail.linkov.net> <20151117225558.GC5054@acm.fritz.box> <878u5w3zf2.fsf@mail.linkov.net> <20151118175814.GA1690@acm.fritz.box> <87egfmkea0.fsf@mail.linkov.net> <20151125193301.GI2007@acm.fritz.box> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1448580079 14118 80.91.229.3 (26 Nov 2015 23:21:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 26 Nov 2015 23:21:19 +0000 (UTC) Cc: 17453@debbugs.gnu.org To: Alan Mackenzie Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 27 00:21:05 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a25qa-0000TR-GF for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 Nov 2015 00:21:04 +0100 Original-Received: from localhost ([::1]:53507 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a25qc-0004AN-TO for geb-bug-gnu-emacs@m.gmane.org; Thu, 26 Nov 2015 18:21:06 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43135) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a25qZ-0004AI-Vo for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2015 18:21:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a25qZ-0007L1-7E for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2015 18:21:04 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36794) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a25qZ-0007Ko-1Q for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2015 18:21:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1a25qY-00019H-Ln for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2015 18:21:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Nov 2015 23:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17453 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17453-submit@debbugs.gnu.org id=B17453.14485800414376 (code B ref 17453); Thu, 26 Nov 2015 23:21:02 +0000 Original-Received: (at 17453) by debbugs.gnu.org; 26 Nov 2015 23:20:41 +0000 Original-Received: from localhost ([127.0.0.1]:54735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a25qC-00018U-Ut for submit@debbugs.gnu.org; Thu, 26 Nov 2015 18:20:41 -0500 Original-Received: from sub3.mail.dreamhost.com ([69.163.253.7]:60157 helo=homiemail-a11.g.dreamhost.com) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a25q7-00018I-O7 for 17453@debbugs.gnu.org; Thu, 26 Nov 2015 18:20:36 -0500 Original-Received: from homiemail-a11.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a11.g.dreamhost.com (Postfix) with ESMTP id AFB856E06C; Thu, 26 Nov 2015 15:20:34 -0800 (PST) Original-Received: from localhost.linkov.net (m212-53-115-218.cust.tele2.ee [212.53.115.218]) (Authenticated sender: jurta@jurta.org) by homiemail-a11.g.dreamhost.com (Postfix) with ESMTPA id 8E7F56E06A; Thu, 26 Nov 2015 15:20:33 -0800 (PST) In-Reply-To: <20151125193301.GI2007@acm.fritz.box> (Alan Mackenzie's message of "Wed, 25 Nov 2015 19:33:01 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (x86_64-pc-linux-gnu) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:109312 Archived-At: > This means the use of `query-replace' whilst Follow Mode is enabled is > not going to work properly, without some radical change in replace.el. > > Probably the smallest change would be to invoke new hooks > `pre-replace-command-hook' and `post-replace-command-hook' from > `query-replace''s command loop. > > A more satisfying change would be to get rid of `perform-replace' and > use Emacs's command loop the way Isearch does. This would probably not > be all that difficult. Do you know if there's any special reason > `query-replace' implements its own command loop? The patch in bug#20430 awaits the possibility of helping to fix this problem. It adds a new hook replace-update-post-hook that is like its isearch counterpart hook isearch-update-post-hook is the right way to handle display updates like syncing follow windows, etc. Together with changing the order of calling isearch-update-post-hook and isearch-lazy-highlight-new-loop in isearch-update, adding follow-post-command-hook to isearch-update-post-hook, and adding follow-post-command-hook to replace-update-post-hook to handle follow-mode in query-replace will comprise the least radical change just before the next release. Do you see a shortcoming of this course of action?