nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 2456dd2a8561c9a0f424884906b1275882a4da4c
parent a44cf41d3773b313ae17eff3b8aa56c7ad2a5f95
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Sun, 22 Mar 2015 13:23:42 +0000

Not centering the current line when smooth scrolling is used.
This fixes Savannah bug #42654.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5149 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 2++
Msrc/winio.c | 12++++++------
2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -6,6 +6,8 @@ one byte but one character (possibly multibyte). Fixes Savannah bug #42175, reported by myself, and the finding of ghosts seen in https://lists.gnu.org/archive/html/nano-devel/2015-03/msg00055.html. + * src/winio.c (edit_redraw): Do not center the current line when + smooth scrolling is used. This fixes Savannah bug #42654. 2015-03-21 Benno Schulenberg <bensberg@justemail.net> * src/text.c (do_alt_speller): Remove some leftovers. diff --git a/src/winio.c b/src/winio.c @@ -3160,10 +3160,11 @@ void edit_redraw(filestruct *old_current, size_t pww_save) } #endif /* !NANO_TINY */ - /* Put edittop in range of current, get the difference in lines - * between the original edittop and the current edittop, and - * then restore the original edittop. */ - edit_update(CENTER); + /* Make sure the current line is on the screen. */ + if (ISSET(SMOOTH_SCROLL)) + edit_update(NONE); + else + edit_update(CENTER); /* Update old_current if we're not on the same page as * before. */ @@ -3229,8 +3230,7 @@ void edit_refresh(void) (long)openfile->current->lineno, (long)openfile->edittop->lineno, maxrows); #endif - /* Put the top line of the edit window in range of the current - * line. */ + /* Make sure the current line is on the screen. */ edit_update(CENTER); }