]> git.wh0rd.org Git - nano.git/commitdiff
page_up() - Rewritten with a loop to make screen updates work when mark is set ...
authorChris Allegretta <chrisa@asty.org>
Sun, 29 Apr 2001 02:25:41 +0000 (02:25 +0000)
committerChris Allegretta <chrisa@asty.org>
Sun, 29 Apr 2001 02:25:41 +0000 (02:25 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/branches/nano_1_0_branch/nano@617 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

BUGS
ChangeLog
move.c

diff --git a/BUGS b/BUGS
index 4f3acded41fb7c85de6f3f1e711c3e341ed405b2..1749f61915d83ba63ca286aa5a67584e1584fbf4 100644 (file)
--- a/BUGS
+++ b/BUGS
   Matthias Andree) (58) [FIXED].
 - Can modify the current file in view mode with ^W^R (discovered by Rocco
   Corsi) (58) [FIXED].
+- When page up is used after two page down's, the screen doesn't update
+  properly (discovered by David Lawrence Ramsey) (59) [FIXED].
 
 ** Open BUGS **
 
index fb84f8c66a7710340258aca1626d68745b475ab1..f711d588f616a16d16e77989fea7ed3ac42b5324 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
 Cvs code -
 - General:
        - Moved config.h up in all .c files #include list (Albert Chin).
+- move.c:
+  page_up()
+       - Rewritten with a loop to make screen updates work when
+         mark is set (fixes bug #59).
 - nano.c:
   ABCD(), main()
        - Add Alt-whatever-[a-d] support as well as Alt-whatever-[A-D].
diff --git a/move.c b/move.c
index f7a9efa85b198ed2a6474cfd0412140f9ddc7743..071ea8d6208ab53d02e9818337b5eaf1f203b16e 100644 (file)
--- a/move.c
+++ b/move.c
@@ -146,7 +146,8 @@ void page_up_center(void)
 
 int page_up(void)
 {
-    filestruct *fileptr = edittop;
+   int i;
+
     wrap_reset();
     current_x = 0;
     placewewant = 0;
@@ -155,13 +156,11 @@ int page_up(void)
        return 0;
 
     current_y = 0;
-    if (fileptr->next != NULL)
-       fileptr = fileptr->next;
-    if (fileptr->next != NULL)
-       fileptr = fileptr->next;
-
     current = edittop;
-    edit_update(fileptr, BOTTOM);
+    for (i = 0; i <= editwinrows - 3 && current->prev != NULL; i++)
+       current = current->prev;
+
+    edit_update(current, TOP);
     update_cursor();
 
     UNSET(KEEP_CUTBUFFER);