From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: Make scroll-{up, down} move point to {start, end} of newly visible text Date: Wed, 16 Aug 2023 21:33:01 +0300 Message-ID: <83msyq7s82.fsf@gnu.org> References: <83mszb0w9l.fsf@gnu.org> <83sf8j6i9m.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32438"; mail-complaints-to="usenet@ciao.gmane.io" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 16 20:33:40 2023 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qWLKq-00088D-Sn for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 16 Aug 2023 20:33:37 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qWLKH-0008BG-89; Wed, 16 Aug 2023 14:33:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qWLKD-00089U-Sd for help-gnu-emacs@gnu.org; Wed, 16 Aug 2023 14:32:57 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qWLKD-0008VA-2j for help-gnu-emacs@gnu.org; Wed, 16 Aug 2023 14:32:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=TcDg0mPsn92mKx/U55kDP4tbA408M4aj1Ax8cULcXnE=; b=JfdHMEXPYfC5 lKXH3ZdAkx9bq0QQZzgvI9ymPRqQdPwpESVntOGmWpEDzvqQuc0FqTp32rLkJaBL+/0ZRkZ5cwSLP rD05thK983c/kIx4xa2jdqHFk2rGYpNKvyF+Rl1piuzKFx4z6jQDG5T6XJbQSCo2FTtgWfHKzaqJK vQXM6BJ2M43sCqsgvyUJLFUlmdJbA+T7R0q0DfTTdgF/SPkY4n/l5y1nCj6tjCXXwK09KvBnoIZmq +cAJn/lrmIpwMlTktd07hUXXoX+AlJ0OezsHPdiM5Y80beQxYUBdKOZw5VorutxIHu/+L0B9FnV4q KtMXo5s0uUQv5YJBQeSO3g==; In-Reply-To: (message from Spencer Baugh on Wed, 16 Aug 2023 13:55:42 -0400) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:144837 Archived-At: > From: Spencer Baugh > Date: Wed, 16 Aug 2023 13:55:42 -0400 > > Eli Zaretskii writes: > > >> (defun my-scroll-up-command (&optional arg) > >> (interactive "^P") > >> (move-to-window-line -1) > >> (scroll-up-command arg)) > >> > >> (defun my-scroll-down-command (&optional arg) > >> (interactive "^P") > >> (move-to-window-line 0) > >> (scroll-down-command arg)) > >> > >> except of course this implementation moves point even if it's not > >> necessary. > >> > >> Does this seem like a reasonable feature to add to the scrolling code? > > > > I don't understand what you have in mind. The above commands seem to > > do what you want only when ARG is 1. Or what did I miss? > > They're actually wrong when ARG is 1, because they move point without > needing to. They mostly only work when ARG is nil. That's what I meant: only 1 widow-full scroll. > See the prose description of what I want, the commands are close to but > not exactly right because they move point unnecessarily: > > >> When point is off-screen after scroll-up, we should first try to move > >> point to "window-end before we scrolled", and only if that position is > >> also off-screen should we move point to window-start. (Currently we > >> unconditionally move point to window-start) > > > For scrolling just one window-full, setting next-screen-context-lines > > to 1 should do what you want. For scrolling more than that, I don't > > understand how to generalize what you want. > > The prose description I gave generalizes just fine, doesn't it? The > prose description is completely invariant to how much scrolling is done. Either setting next-screen-context-lines to 1 should do what you want, or I still don't understand what you want when scrolling by more than one window-full.