unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Spencer Baugh <sbaugh@janestreet.com>
To: help-gnu-emacs@gnu.org
Subject: Re: Make scroll-{up, down} move point to {start, end} of newly visible text
Date: Tue, 01 Aug 2023 14:43:16 -0400	[thread overview]
Message-ID: <ier8raua9iz.fsf@janestreet.com> (raw)
In-Reply-To: 834jli1uhb.fsf@gnu.org

Eli Zaretskii <eliz@gnu.org> writes:
>> From: Spencer Baugh <sbaugh@janestreet.com>
>> Date: Tue, 01 Aug 2023 14:09:47 -0400
>> 
>> An issue with a solution based on scroll-margin is that scroll-margin
>> applies even when at the end of the buffer.  I'd like to be able to have
>> the end of the buffer at the end of the window, to maximize the amount
>> of content on-screen at a time.
>> 
>> In particular comint buffers, like async-shell-command and compilation
>> and shell-mode, become quite ugly with scroll-margin on, since in such
>> buffers one is generally always at the end of the buffer.
>> 
>> Is there a way to teach scroll-margin to not do automatic scrolling when
>> point is near the end of the buffer?
>
> You _can_ have EOB at the end of the window, you just cannot move
> point into the margin without causing a scroll.

Sure.  So I can have either point at EOB, or EOB at the end of the
window, but not both at the same time.  Which is bad for comint buffers,
since they usually have point at EOB.

I think this would be a good thing to improve: supporting this
capability in scroll-margin.  Unless, it already exists somehow?

>> > IOW, scrolling by single lines or a small number of lines is very
>> > similar to scrolling with down-arrow or up-arrow, and those already
>> > behave like you want.  So why not use arrows instead?
>> 
>> With the arrows I would have to move point to the top or end of the
>> screen before scrolling, which is annoying.
>
> Nothing 2 or 3 C-l's cannot fix, right?

M-r rather than C-l, (C-l would defeat the point), but nevertheless
having to hit M-r 2 or 3 times before scrolling for just a few lines is
annoying.

>> Also, arrows move point, and it might be nice to be able to scroll
>> without moving point.
>
> Scrolling by a small number of lines will eventually move point as
> well.
>
>> scroll-up-line and scroll-down-line would work well for me, but they
>> don't have key bindings by default.  If they did, I'd use them.
>
> I have these since about forever:
>
>   (global-set-key "\M-z" (function (lambda () (interactive) (scroll-down 1))))
>   (global-set-key "\C-z" (function (lambda () (interactive) (scroll-up 1))))
>
> But I don't see a need to force my preferences on everyone else,
> especially since C-z has a useful binding which many prefer to keep.




  reply	other threads:[~2023-08-01 18:43 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-31 20:18 Make scroll-{up, down} move point to {start, end} of newly visible text Spencer Baugh
2023-08-01  1:26 ` [External] : " Drew Adams
2023-08-01 11:44   ` hw
2023-08-01  5:11 ` Michael Heerdegen
2023-08-01 14:49   ` [External] : " Drew Adams
2023-08-01 11:28 ` hw
2023-08-01 14:45   ` Spencer Baugh
2023-08-01 16:05     ` hw
2023-08-01 12:42 ` Eli Zaretskii
2023-08-01 14:50   ` Spencer Baugh
2023-08-01 15:44     ` Eli Zaretskii
2023-08-01 18:09       ` Spencer Baugh
2023-08-01 18:35         ` Eli Zaretskii
2023-08-01 18:43           ` Spencer Baugh [this message]
2023-08-03 19:58             ` Spencer Baugh
2023-08-04  5:31               ` Eli Zaretskii
2023-08-06 20:02                 ` Emanuel Berg
2023-08-08 12:41                   ` Eli Zaretskii
2023-08-09 20:59                     ` Emanuel Berg
2023-08-10 17:33                       ` Eli Zaretskii
2023-08-10 18:06                         ` Emanuel Berg
2023-08-11 11:30                           ` Eli Zaretskii
2023-08-11 12:19                             ` Emanuel Berg
2023-08-11 18:40                               ` Eli Zaretskii
2023-08-11 19:00                                 ` Emanuel Berg
2023-08-12 13:30                                   ` Eli Zaretskii
2023-08-11 19:04                                 ` Emanuel Berg
2023-08-12 13:31                                   ` Eli Zaretskii
2023-08-12 15:35                                     ` Emanuel Berg
2023-08-13 13:23                                       ` Eli Zaretskii
2023-08-20  3:38                                         ` Emanuel Berg
2023-08-22 12:29                                           ` Eli Zaretskii
2023-08-22 19:41                                             ` Emanuel Berg
2023-08-24  4:43                                               ` Eli Zaretskii
2023-08-24  5:13                                                 ` Emanuel Berg
2023-08-16 16:20   ` Spencer Baugh
2023-08-16 16:53     ` Eli Zaretskii
2023-08-16 17:55       ` Spencer Baugh
2023-08-16 18:33         ` Eli Zaretskii
2023-08-16 20:32           ` Spencer Baugh
2023-08-17  5:18             ` Eli Zaretskii
2023-08-17 12:19               ` Spencer Baugh
2023-08-17 12:30                 ` Eli Zaretskii
2023-08-02 10:06 ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ier8raua9iz.fsf@janestreet.com \
    --to=sbaugh@janestreet.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).