From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#18545: 24.4.50: Bug - forward-line inside with-selected-window Date: Fri, 26 Sep 2014 15:32:11 -0400 Message-ID: References: <1532440199.73121411675536923.JavaMail.www@wwinf7125> <83wq8qu9bt.fsf@gnu.org> <83k34qtsqh.fsf@gnu.org> <83h9zutnlb.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1411760481 32388 80.91.229.3 (26 Sep 2014 19:41:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 26 Sep 2014 19:41:21 +0000 (UTC) Cc: lompik@voila.fr, 18545@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Sep 26 21:41:13 2014 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 1XXbOD-0005gl-Cb for geb-bug-gnu-emacs@m.gmane.org; Fri, 26 Sep 2014 21:41:13 +0200 Original-Received: from localhost ([::1]:51531 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXbOD-00044z-01 for geb-bug-gnu-emacs@m.gmane.org; Fri, 26 Sep 2014 15:41:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35129) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXbO2-00041U-55 for bug-gnu-emacs@gnu.org; Fri, 26 Sep 2014 15:41:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XXbNs-0005tm-RF for bug-gnu-emacs@gnu.org; Fri, 26 Sep 2014 15:41:02 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33525) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXbNs-0005t3-IO for bug-gnu-emacs@gnu.org; Fri, 26 Sep 2014 15:40:52 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XXbGI-0001Mh-0x for bug-gnu-emacs@gnu.org; Fri, 26 Sep 2014 15:33:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 26 Sep 2014 19:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18545 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18545-submit@debbugs.gnu.org id=B18545.14117599435195 (code B ref 18545); Fri, 26 Sep 2014 19:33:01 +0000 Original-Received: (at 18545) by debbugs.gnu.org; 26 Sep 2014 19:32:23 +0000 Original-Received: from localhost ([127.0.0.1]:53313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XXbFa-0001La-O2 for submit@debbugs.gnu.org; Fri, 26 Sep 2014 15:32:23 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:64340) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XXbFU-0001LK-8U for 18545@debbugs.gnu.org; Fri, 26 Sep 2014 15:32:17 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArYGAIDvNVNFxKjo/2dsb2JhbABZgwaDSr0vgw6BFxd0giUBAQEBAgEnLyMQCzQSFBgNJIgECNIZF456B4Q4BKkZgWqDTCE X-IPAS-Result: ArYGAIDvNVNFxKjo/2dsb2JhbABZgwaDSr0vgw6BFxd0giUBAQEBAgEnLyMQCzQSFBgNJIgECNIZF456B4Q4BKkZgWqDTCE X-IronPort-AV: E=Sophos;i="4.97,753,1389762000"; d="scan'208";a="90978349" Original-Received: from 69-196-168-232.dsl.teksavvy.com (HELO pastel.home) ([69.196.168.232]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 Sep 2014 15:32:11 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 3F3F5653F; Fri, 26 Sep 2014 15:32:11 -0400 (EDT) In-Reply-To: <83h9zutnlb.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 26 Sep 2014 18:20:48 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) 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: 140.186.70.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:93779 Archived-At: >> >> Why does >> >> (with-selected-window (get-buffer-window "*Completions*") >> >> (recenter 5)) >> >> require an explicit call to wset_redisplay from recenter, whereas >> >> (with-selected-window (get-buffer-window "*Completions*") >> >> (forward-line 1)) >> >> doesn't need an explicit call to wset_redisplay (or bset_redisplay) from >> >> forward-line? >> > I think that's because forward-line moves point, while recenter >> > doesn't. >> But I don't see why moving point would help: calling wset_redisplay >> should only change the fact that this window is considered for >> redisplay > There are redisplay optimizations that don't depend on whether we > consider a window for redisplay; see around line 13700 in xdisp.c from > emacs-24. You will see a little ways below that place that we test > point against its recorded value in w->last_point, for example. Right, but these are only for the current-buffer/selected-window, whereas the example modifies another window (and another buffer), so they first need to be considered (via [bwf]set_redisplay) before anything else will look at them. >> so if it's needed for the recenter case, that means that >> without it, the window would not be considered at all > 'with-selected-window makes' the offending window selected, and the > selected window is always considered for redisplay, right? No. If it were the wset_redisplay you added would have been a no-op. Oh, wait I see it now. We do test if point changed, in redisplay_window:15965: if (!just_this_one_p && REDISPLAY_SOME_P () && !w->redisplay && !f->redisplay && !buffer->text->redisplay && BUF_PT (buffer) == w->last_point) return; So indeed changing point ends up doing the moral equivalent of bset_redisplay. Stefan