commit d948edc4f31f2c7ec91ea94d8f4c1ad3ca059eb7
parent 222a0863fabdd4d27bb9ea924b153e6039addcc9
Author: Chris Allegretta <chrisa@asty.org>
Date: Tue, 2 Oct 2001 00:38:56 +0000
DLR's latest smooth scroll fix, case where there's not a full half page up from the cursor to fileage screws up the cursor position
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@806 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -17,7 +17,7 @@ CVS code -
- Mac file writing supported too. Flag -M, --mac. Toggle
Meta-O (MacOS? OS-X? =-)
- New smooth scroll code by Ken Tyler. New flag -S, --smooth,
- changes to page_up() and page_down(). Fixes to paging by
+ changes to page_up() and page_down(). Many fixes to paging by
David Lawrence Ramsey.
- Bracket (brace, parens, etc) matching code by Ken Tyler.
New functions do_find_bracket(), changes to findnextstr(),
diff --git a/move.c b/move.c
@@ -143,7 +143,15 @@ void page_up(void)
if (edittop != fileage) {
if (!ISSET(SMOOTHSCROLL)) {
edit_update(edittop, CENTER);
- center_cursor();
+ /* Now that we've updated the edit window, edittop might be
+ at the top of the file; if so, just move the cursor up one
+ line and don't center it. */
+ if (edittop != fileage)
+ center_cursor();
+ else {
+ current = current->prev;
+ reset_cursor();
+ }
} else {
edit_update(edittop->prev, NONE);
}