bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#64139: 28.2; Scrolling problems in miniwindow


From: Al Petrofsky
Subject: bug#64139: 28.2; Scrolling problems in miniwindow
Date: Sun, 18 Jun 2023 05:07:52 -0400

> > I'm seeing some weird scrolling bugs in the miniwindow when the
> > minibuffer contains more lines than the window.  I think these
> > problems exist on ttys and graphical terminals of all sizes, but for
> > ease of reproducibility use an 80x24 tty.
> >
> >    emacs-28.2 -Q -nw
> >    M-: C-@ C-x ( C-x C-k TAB C-q C-j C-u 9 9 C-x e C-x C-x C-v
> >
> > The C-v, instead of scrolling a few lines, scrolls all the way down to
> > line 97.
>
> I tried to use this recipe, but it produces weird results, and I don't
> see what you describe.  Would you like to show an easier to understand
> recipe, or describe what should be in the min-window as result of the
> recipe?  And what exactly are your expectations from C-v/M-v in this
> case?

After the C-x e, the minibuffer contains 100 lines, each with a number
"0" to "99".  After the C-x C-x, the miniwindow contents are, as
expected, this:

   Eval: 0
   1
   2
   3
   4

After the C-v, I expect to see this:

   3
   4
   5
   6
   7

Instead I see this:

   96
   97 [cursor is at start of this line]
   98
   99
   [empty line]

> I tried this:
>
>   M-x C-u 99 C-q C-j M-<
>
> after that, C-v scrolls the mini-window as expected, so that I get to
> the end in 13 C-v keypresses.  Which looks reasonable to me.

I don't think 13 is right.  The miniwindow is only 5 lines (if tty is
80x24), so C-v should only be scrolling 3 lines at a time.

Try this:

   M-x C-@ C-u 9 9 C-q C-j C-x C-x C-v C-v C-v C-v

I get "scroll-up-command: End of buffer" on only the fourth C-v.

> > Also, if you now repeatedly M-v, the buffer will just scroll up and
> > down three lines.  When I use a large X frame, repeated M-v will
> > scroll up to the top of the buffer, but then glitch and cycle around
> > back to the bottom.

(By "scroll up" there I meant the window contents scroll down,
i.e. the thing the PC keyboard key labeled "Page Up" does, which Emacs
calls scroll-down.)

> M-v in the minibuffer is bound to switch-to-completions, so I'm unsure
> what you expected here.

M-: doesn't do completion (although you can complete symbols within
the _expression_ with C-M-i), and leaves M-v bound to
scroll-down-command. 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]