From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#18739: 24.3; Request for a hook to be provided when scrolling will move the cursor Date: Thu, 16 Oct 2014 18:54:00 +0300 Message-ID: <83r3y82ep3.fsf@gnu.org> References: <83wq813vyx.fsf@gnu.org> <83r3y84iuv.fsf@gnu.org> <831tq83xwq.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1413474924 16489 80.91.229.3 (16 Oct 2014 15:55:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 16 Oct 2014 15:55:24 +0000 (UTC) Cc: josh+gnu@nispio.net, 18739@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 16 17:55:17 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 1XenOU-0004Ue-Oe for geb-bug-gnu-emacs@m.gmane.org; Thu, 16 Oct 2014 17:55:14 +0200 Original-Received: from localhost ([::1]:50980 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XenOU-0007O8-Dg for geb-bug-gnu-emacs@m.gmane.org; Thu, 16 Oct 2014 11:55:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57282) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XenON-0007L8-8r for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 11:55:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XenOI-0001q2-IJ for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 11:55:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:54573) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XenOI-0001pI-Fc for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 11:55:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XenOH-00022z-LS for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 11:55:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Oct 2014 15:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18739 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18739-submit@debbugs.gnu.org id=B18739.14134748447787 (code B ref 18739); Thu, 16 Oct 2014 15:55:01 +0000 Original-Received: (at 18739) by debbugs.gnu.org; 16 Oct 2014 15:54:04 +0000 Original-Received: from localhost ([127.0.0.1]:46137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenNL-00021X-Oy for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:54:04 -0400 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:54324) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenNH-000215-P7 for 18739@debbugs.gnu.org; Thu, 16 Oct 2014 11:54:01 -0400 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NDJ00N00NL3FL00@mtaout29.012.net.il> for 18739@debbugs.gnu.org; Thu, 16 Oct 2014 18:52:56 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NDJ00J7GO48VF50@mtaout29.012.net.il>; Thu, 16 Oct 2014 18:52:56 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il 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:94633 > From: Stefan Monnier > Cc: josh+gnu@nispio.net, 18739@debbugs.gnu.org > Date: Thu, 16 Oct 2014 11:13:59 -0400 > > >> Does that include the case where window-start is changed > >> so as to follow point or is it only the cases where window-start was > >> changed explicitly by a scrolling command? > > Both. > > So, could we say that this hook is supposed to be run if and only if > the window-start marker is changed? I don't think so, because set-window-buffer and split-window-internal run the hook unconditionally, i.e. they don't check whether the window-start changed. > E.g. it is not called if the only change is that text has been > inserted before window-start (hence the numeric value of > window-start would be changed, but the marker still points to the > same place). As long as the old window-start is valid and point is in view, I don't think the hook will be called, no. But note that inserting text before window-start could cause scrolling, if window-start was originally in a continued line, or if text was added at the beginning of the line that was the window-start. > And as for "when" it is run: any time after the marker's modification > and before updating the glyph matrices? Yes. > Is it run before or after computing the new mode-line Before. > >> - how could a window-scroll-function distinguish the 3 cases: > >> "set-window-buffer", "used a scroll command", "moved point out of viewport". > > I have no idea (but this is not exactly a question about the doc > > string). > > So, w.r.t the original question in the bug-report, we still don't have > an answer. I actually don't really understand what was the question anymore, see the other thread of discussion. > Do you happen to know where is the C code that changes point > (in response to scrolling) in the redisplay? The part that begins under the force_start label in redisplay_window, and is conditioned by the window's force_start flag. > > Did the above clarifications help you? > > Yes, thanks. I still don't really understand how/why follow-mode and > em-smart.el work, tho. Who does? ;-)