]> git.wh0rd.org Git - nano.git/commitdiff
fix more do_indent_marked() breakage
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Sat, 29 Apr 2006 15:44:58 +0000 (15:44 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Sat, 29 Apr 2006 15:44:58 +0000 (15:44 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3456 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

src/text.c

index 48717958d02dd0ca054e9dd8dbc035583e6f6506..00a892830a4afd66c3be19cfc5c746be1ecaa076 100644 (file)
@@ -278,12 +278,13 @@ void do_indent_marked(ssize_t len)
                null_at(&f->data, line_len - indent_len + 1);
                openfile->totsize -= indent_len;
 
-               /* If this is the current line, keep track of the change
-                * in it. */
-               if (f == openfile->current) {
+               /* Keep track of the change in the current line. */
+               if (f == openfile->current)
                    openfile->current_x -= indent_len;
+
+               if (f == openfile->mark_begin &&
+                       openfile->mark_begin_x >= indent_len)
                    openfile->mark_begin_x -= indent_len;
-               }
 
                /* We've unindented, so set indent_changed to TRUE. */
                if (!indent_changed)
@@ -298,12 +299,12 @@ void do_indent_marked(ssize_t len)
            strncpy(f->data, line_indent, line_indent_len);
            openfile->totsize += line_indent_len;
 
-           /* If this is the current line, keep track of the change in
-            * it. */
-           if (f == openfile->current) {
+           /* Keep track of the change in the current line. */
+           if (f == openfile->current)
                openfile->current_x += line_indent_len;
+
+           if (f == openfile->mark_begin)
                openfile->mark_begin_x += line_indent_len;
-           }
 
            /* If the NO_NEWLINES flag isn't set, and this is the
             * magicline, add a new magicline. */