Subject: bug#21080: closed (Re: bug#21080: Scrolling bug)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 18 Jul 2015 10:08:02 +0000

Your bug report

#21080: Scrolling bug

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
21080: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21080
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#21080: Scrolling bug
From: Eli Zaretskii <[email-masked]>
To: Bru Rom <[email-masked]>
Cc: [email-masked]
Date: Sat, 18 Jul 2015 13:07:20 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Sat, 18 Jul 2015 00:58:14 +0300
> From: Bru Rom <[email-masked]>
> 
> It can be any file with long enough lines.
> 
> For standard terminal 80x24, let the part of wikipedia article on Emacs be our
> "sample file". Emacs history from it:
> [...]

> Copy text to file, open it in Emacs with emacs -nw -Q
> 
> Next, exact sequence of commands:
> 
> alt-x customize-option
> scroll-conservatively
> Set there 10000, tab into state, enter state, press 0 = Set for Current Session
> Press 'q' to exit
> 
> Then alt-x visual-line-mode
> 
> Then C-End to go to end of buffer. Then scroll up line-by-line with Up. It
> scrolls by 2 over warped lines, but if you go down from start of buffer -
> everything will be ok.

Thanks.  This bug is now fixed in the development sources with the
simple change below (which you could probably easily apply to 24.5 or
previous versions, as that code was in Emacs since Mar 2002).

commit d3816bf8ad1fcfed2a32d23216a55850ee4325b5
Author: Eli Zaretskii <[email-masked]>
Date:   Sat Jul 18 13:02:06 2015 +0300

    Fix scrolling backwards on TTY frames under scroll-conservatively
    
    * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
    in moving backwards on TTY frames.  (Bug#21080)

diff --git a/src/xdisp.c b/src/xdisp.c
index 5bef44c..16a7a64 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9428,7 +9428,7 @@ struct overlay_entry
 	     treating terminal frames specially here.  */
 
 	  if (!FRAME_WINDOW_P (it->f))
-	    move_it_vertically (it, target_y - (it->current_y + line_height));
+	    move_it_vertically (it, target_y - it->current_y);
 	  else
 	    {
 	      do

Subject: Scrolling bug
From: Bru Rom <[email-masked]>
To: [email-masked]
Date: Fri, 17 Jul 2015 19:51:12 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

I work in terminal on Ubuntu 15.04 (xterm, GNOME terminal) with very big
text files, very long lines and warping (via global-visual-line). I want to
scroll by one line, so i set scroll-conservatively to
most-positive-fixnum. When i read text and scroll down everything is fine,
but when i want to return back and scroll up *over warped lines*, cursor
jumps on the second line from the top of window. According to manual, faq,
wiki and google i try to play with other scroll-related settings, such as
margin, aggressiveness, step, but with no result. Cursor still jump by two
lines when moving up. Looks like a bug. In GUI version everything is good
and scrolls by one line. This bug is only in terminals. Confirm with 24.4.1
and 24.5.