unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: charles@aurox.ch (Charles A. Roelli)
To: Eli Zaretskii <eliz@gnu.org>
Cc: 29325@debbugs.gnu.org
Subject: bug#29325: 26.0.90: Info scrolling stuck
Date: Wed, 22 Nov 2017 19:56:31 +0100	[thread overview]
Message-ID: <m2zi7euops.fsf@aurox.ch> (raw)
In-Reply-To: <837eujcta4.fsf@gnu.org> (message from Eli Zaretskii on Tue, 21 Nov 2017 21:42:59 +0200)

> Date: Tue, 21 Nov 2017 21:42:59 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> 
> > Date: Tue, 21 Nov 2017 20:24:05 +0100
> > From: charles@aurox.ch (Charles A. Roelli)
> > CC: 29325@debbugs.gnu.org
> > 
> > > Then I'd expect the same behavior to happen if you do "M-5 M-v"
> > > instead of turning the wheel.  Does it?
> > 
> > It does.
> 
> Then let's abandon the wheel, and continue only with "M-5 M-v" from
> now on.

Ok.

> > redisplay_internal 0 <= START FIRST SCROLL
> > 0x1360330 (*info*): forced window start
> > redisplay_preserve_echo_area (8)
> > redisplay_internal 0
> > redisplay_preserve_echo_area (8)
> > redisplay_internal 0
> > redisplay_internal 0
> > redisplay_internal 0 <= START SECOND SCROLL
> > 0x1360330 (*info*): forced window start
> > redisplay_preserve_echo_area (8)
> > redisplay_internal 0
> > redisplay_preserve_echo_area (8)
> > redisplay_internal 0
> > redisplay_internal 0 <= START THIRD SCROLL (BROKEN)
> > redisplay_internal 0
> > 0x1360330 (*info*): recenter
> > redisplay_preserve_echo_area (8)
> > redisplay_internal 0
> > redisplay_preserve_echo_area (8)
> > redisplay_internal 0
> > redisplay_internal 0
> > 
> > The third scroll should have reached the start of the buffer, but
> > recenters instead of doing so.
> 
> Were you typing "M-5 M-v" or were you turning the mouse wheel?

This was with the wheel.  But the output when using "M-5 M-v" three
times in a row is equal, modulo some "redisplay_internal 0" lines.

> > When causing the problematic behavior, redisplay_window reaches
> > try_to_scroll via this if statement:
> > 
> >        if (!cursor_row_fully_visible_p (w, false, false))
> > 	{
> > 	  /* Point does appear, but on a line partly visible at end of window.
> > 	     Move it back to a fully-visible line.  */
> > 	  new_vpos = window_box_height (w);
> > 	  /* But if window_box_height suggests a Y coordinate that is
> > 	     not less than we already have, that line will clearly not
> > 	     be fully visible, so give up and scroll the display.
> > 	     This can happen when the default face uses a font whose
> > 	     dimensions are different from the frame's default
> > 	     font.  */
> > 	  if (new_vpos >= w->cursor.y)
> > 	    {
> > 	      w->cursor.vpos = -1;
> > 	      clear_glyph_matrix (w->desired_matrix);
> > 	      goto try_to_scroll;
> > 	    }
> > 	}
> > 
> > That is, (!cursor_row_fully_visible_p (w, false, false)) and
> > (new_vpos >= w->cursor.y) evaluate to true.
> 
> And what are the values of new_vpos and w->cursor.y in this case?  And
> what is w->cursor.vpos?

Before the last line here is executed:

 > 	  if (new_vpos >= w->cursor.y)
 > 	    {
 > 	      w->cursor.vpos = -1;

we have,

(gdb) p new_vpos
$1 = 561
(gdb) p w->cursor.y
$2 = 557
(gdb) p w->cursor.vpos
$3 = 27





  parent reply	other threads:[~2017-11-22 18:56 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-16 19:41 bug#29325: 26.0.90: Info scrolling stuck Charles A. Roelli
2017-11-16 19:47 ` Eli Zaretskii
2017-11-16 20:45   ` Charles A. Roelli
2017-11-17  7:11     ` Eli Zaretskii
2017-11-19 16:49       ` Charles A. Roelli
2017-11-19 17:12         ` Eli Zaretskii
2017-11-20 19:52           ` Charles A. Roelli
2017-11-20 20:25             ` Eli Zaretskii
2017-11-21 19:24               ` Charles A. Roelli
2017-11-21 19:42                 ` Eli Zaretskii
2017-11-21 19:58                   ` Eli Zaretskii
2017-11-22 15:38                   ` Eli Zaretskii
2017-11-22 19:04                     ` Charles A. Roelli
2017-11-23 20:08                     ` Charles A. Roelli
2017-11-23 20:31                       ` Eli Zaretskii
2017-11-22 18:56                   ` Charles A. Roelli [this message]
     [not found] <<m2efoyvwoa.fsf@aurox.ch>
2017-11-16 22:35 ` Drew Adams

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=m2zi7euops.fsf@aurox.ch \
    --to=charles@aurox.ch \
    --cc=29325@debbugs.gnu.org \
    --cc=eliz@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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).