]> git.wh0rd.org Git - nano.git/commitdiff
add DB's similar simplification of do_prev_word() too
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Sun, 14 Mar 2004 01:42:17 +0000 (01:42 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Sun, 14 Mar 2004 01:42:17 +0000 (01:42 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1693 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/nano.c

index 909038cb4a434e71acfab3c09b62c7a9da2df0a8..3ffc950ad2f201fc660ee8d4c3d040f490f432d7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -69,6 +69,8 @@ CVS code -
   do_next_word()
        - Simplify and remove references to editbot so as to avoid a
          segfault. (David Benbennick)
+  do_prev_word()
+       - Simplify and remove references to edittop. (David Benbennick)
   do_int_speller(), do_alt_speller(), do_spell()
        - Modify to write only the current selection from a file to the
          temporary file used for spell checking when the mark is on,
index 43847e8b605829fcdb16e624afafdcc6e863b83b..01a69bf2c5e15a82ceca1f3cddcb46f3357b4128 100644 (file)
@@ -1205,8 +1205,6 @@ int do_next_word(void)
 /* The same thing for backwards. */
 int do_prev_word(void)
 {
-    filestruct *old = current;
-
     assert(current != NULL && current->data != NULL);
 
     /* Skip letters in this word first. */
@@ -1234,31 +1232,10 @@ int do_prev_word(void)
 
     placewewant = xplustabs();
 
-    if (current->lineno <= edittop->lineno) {
-       /* If we're on the first line, don't center the screen. */
-       if (current->lineno == fileage->lineno)
-           edit_refresh();
-       else
-           edit_update(current, CENTER);
-    }
-    else {
-       /* If we've jumped lines, refresh the old line.  We can't just
-          use current->prev here, because we may have skipped over some
-          blank lines, in which case the previous line is the wrong
-          one. */
-       if (current != old) {
-           update_line(old, 0);
-           /* If the mark was set, then the lines between old and
-              current have to be updated too. */
-           if (ISSET(MARK_ISSET)) {
-               while (old->prev != current) {
-                   old = old->prev;
-                   update_line(old, 0);
-               }
-           }
-       }
-       update_line(current, current_x);
-    }
+    /* Refresh the screen.  If current has run off the top, this call
+     * puts it at the center line. */
+    edit_refresh();
+
     return 0;
 }
 #endif /* !NANO_SMALL */