From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: show-enclosing-scopes Date: Fri, 18 May 2018 10:01:40 +0300 Message-ID: <83k1s1ih0r.fsf@gnu.org> References: <5cb3e5a6-310f-1f2a-ceb8-01b929158ebb@gmail.com> <594F9BDF-F041-4B8D-8425-0BE2AABAA448@gnu.org> <258be7dd-0bf6-f5b1-20d1-08ea65a177e8@gmail.com> <83wow2iamm.fsf@gnu.org> <83o9hehz3c.fsf@gnu.org> <0976c552-b2e7-4f5a-ab66-15dbfb05cbc6@gmail.com> <46170e5a-72d6-b7e2-4b42-40ceee8fca89@gmail.com> <8f2e1f29-caed-8565-3101-69d26e240d36@gmail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1526626820 23436 195.159.176.226 (18 May 2018 07:00:20 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 18 May 2018 07:00:20 +0000 (UTC) Cc: emacs-devel@gnu.org To: Jefferson Carpenter Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri May 18 09:00:16 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJZN7-0005yJ-HR for ged-emacs-devel@m.gmane.org; Fri, 18 May 2018 09:00:13 +0200 Original-Received: from localhost ([::1]:36980 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJZPE-00073g-Fc for ged-emacs-devel@m.gmane.org; Fri, 18 May 2018 03:02:24 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40253) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJZON-00073L-Gf for emacs-devel@gnu.org; Fri, 18 May 2018 03:01:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fJZOJ-0000In-JX for emacs-devel@gnu.org; Fri, 18 May 2018 03:01:31 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35355) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJZOJ-0000Ih-Fv; Fri, 18 May 2018 03:01:27 -0400 Original-Received: from [176.228.60.248] (port=3987 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fJZOI-0006nQ-Ox; Fri, 18 May 2018 03:01:27 -0400 In-reply-to: <8f2e1f29-caed-8565-3101-69d26e240d36@gmail.com> (message from Jefferson Carpenter on Fri, 18 May 2018 06:18:15 +0000) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:225393 Archived-At: > From: Jefferson Carpenter > Date: Fri, 18 May 2018 06:18:15 +0000 > > I do think it would make sense for as many state changes as possible to > happen during command execution, pending a redisplay once execution has > completely finished. (redisplay) shall not have to be added after > (scroll-up) and (scroll-down) in order to set point subsequently, and > functions that recenter point, alter the number of open windows, and so > on, don't needlessly redisplay the buffer while synchronous elisp code > is executing. With one exception, you describe what already happens. The exception is the scroll commands: they are special, because they need to tell redisplay where to put the window's starting point -- that's what scrolling commands do in Emacs. If you care about point position after scrolling, and if point position could move out of the visible portion as result of the scrolling, your best bet is not to use scrolling commands in your program at all, at least on those cases. (My advice is to stay away of scroll commands entirely in Lisp programs, except in commands whose explicit purpose is to scroll.)