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#17678: 24.4.50; Feature Request -- calculate new `window-start` & `window-end` before visual redisplay Date: Fri, 13 Jun 2014 14:47:05 -0400 Message-ID: References: <831tuvz3n8.fsf@gnu.org> <83ha3qxbcc.fsf@gnu.org> <8361k5xra8.fsf@gnu.org> <83r42tvt0l.fsf@gnu.org> <83ha3ox3vk.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1402685309 27040 80.91.229.3 (13 Jun 2014 18:48:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 13 Jun 2014 18:48:29 +0000 (UTC) Cc: esq@lawlist.com, 17678@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jun 13 20:48:21 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 1WvWWT-0004l7-2w for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Jun 2014 20:48:21 +0200 Original-Received: from localhost ([::1]:60784 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WvWWS-0002pz-LL for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Jun 2014 14:48:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WvWWI-0002oS-Jc for bug-gnu-emacs@gnu.org; Fri, 13 Jun 2014 14:48:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WvWWA-0001c6-SV for bug-gnu-emacs@gnu.org; Fri, 13 Jun 2014 14:48:10 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:55790) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WvWWA-0001bz-PZ for bug-gnu-emacs@gnu.org; Fri, 13 Jun 2014 14:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WvWWA-0003Va-85 for bug-gnu-emacs@gnu.org; Fri, 13 Jun 2014 14:48: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, 13 Jun 2014 18:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17678 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17678-submit@debbugs.gnu.org id=B17678.140268523613400 (code B ref 17678); Fri, 13 Jun 2014 18:48:02 +0000 Original-Received: (at 17678) by debbugs.gnu.org; 13 Jun 2014 18:47:16 +0000 Original-Received: from localhost ([127.0.0.1]:46938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvWVP-0003U3-I3 for submit@debbugs.gnu.org; Fri, 13 Jun 2014 14:47:16 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:46329) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WvWVL-0003Tl-Ra for 17678@debbugs.gnu.org; Fri, 13 Jun 2014 14:47:12 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArYGAIDvNVNLd+D9/2dsb2JhbABZgwaDSr0vgw6BFxd0giUBAQEBAgEnLx4FEAs0BwsUGA0kiAQI0hkXjnoHhDgEqRmBaoFxgVsh X-IPAS-Result: ArYGAIDvNVNLd+D9/2dsb2JhbABZgwaDSr0vgw6BFxd0giUBAQEBAgEnLx4FEAs0BwsUGA0kiAQI0hkXjnoHhDgEqRmBaoFxgVsh X-IronPort-AV: E=Sophos;i="4.97,753,1389762000"; d="scan'208";a="66801324" Original-Received: from 75-119-224-253.dsl.teksavvy.com (HELO ceviche.home) ([75.119.224.253]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 13 Jun 2014 14:47:05 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id 61B57660D3; Fri, 13 Jun 2014 14:47:05 -0400 (EDT) In-Reply-To: <83ha3ox3vk.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 13 Jun 2014 17:47:59 +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:90354 Archived-At: >> > Not necessarily: there are the w->optional_new_start and >> > w-> force_start flags, which determine what redisplay does with >> > window-start in these cases. >> > Also, the window-start could be set to a value that leaves point out >> > of the displayed area, in which case it won't be in effect. >> Right, but these fall back into the case where redisplay performs >> a second pass trough the window/buffer, so it's similar to the scrolling >> case, right? > Not necessarily, AFAIR. Sometimes these situations are detected and > handled on the fly. Aha! Could you add comment somewhere in xdisp.c discussing the above issues about how/when is window-start obeyed and when it's not and when that causes a second pass and when that's handled on the fly? It doesn't have to be exhaustive, but at least mentioning the known cases, and ideally pointing to the corresponding code. >> Ah, right, I forgot about this. So maybe window-scroll-functions is the >> answer to the OP's needs! > Or maybe we should call them in more places during redisplay. Could be. But I already find it hard to know what can be done with window-scroll-functions because it's not clear exactly when it's called, in 2 sense: - it's not clear exactly when it is called and when it is not. - it's not clear exactly at which stage of redisplay it is called (e.g. what has already been processed, what hasn't; will any and all modifications caused by window-scroll-functions be reflected on screen at the end of the current redisplay, or will some of it only be handled by the next redisplay? If so, which do and which don't?) -- Stefan