nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nano-devel] [PATCH 3/3] tweaks: adjust the indentation after the previo


From: Benno Schulenberg
Subject: [Nano-devel] [PATCH 3/3] tweaks: adjust the indentation after the previous change
Date: Mon, 14 Aug 2017 12:03:32 +0200

Also, trim or improve some comments.
---
 src/text.c | 59 ++++++++++++++++++++++++-----------------------------------
 1 file changed, 24 insertions(+), 35 deletions(-)

diff --git a/src/text.c b/src/text.c
index ad733d58..805e6b50 100644
--- a/src/text.c
+++ b/src/text.c
@@ -339,27 +339,22 @@ void do_indent(void)
 
        openfile->totsize += line_indent_len;
 
-       /* Keep track of the change in the current line. */
+       /* Compensate for the change in the current line. */
        if (openfile->mark_set && f == openfile->mark_begin)
            openfile->mark_begin_x += line_indent_len;
-
        if (f == openfile->current) {
            openfile->current_x += line_indent_len;
            openfile->placewewant = xplustabs();
        }
     }
 
-    /* Clean up. */
     free(line_indent);
 
     /* Throw away the undo stack, to prevent making mistakes when
      * the user tries to undo something in the indented text. */
     discard_until(NULL, openfile);
 
-    /* Mark the file as modified. */
     set_modified();
-
-    /* Update the screen. */
     refresh_needed = TRUE;
 }
 
@@ -421,39 +416,33 @@ void do_unindent(void)
        if (white_string(f->data) && indent_len < tabsize)
            continue;
 
-           /* If there's at least tabsize
-            * columns' worth of indentation at the beginning of the
-            * non-whitespace text of this line, remove it. */
-           charmove(f->data, &f->data[indent_len], line_len - indent_len + 1);
-           null_at(&f->data, line_len - indent_len + 1);
-           openfile->totsize -= indent_len;
-
-           /* Keep track of the change in the current line. */
-           if (openfile->mark_set && f == openfile->mark_begin) {
-               if (openfile->mark_begin_x <= indent_len)
-                   openfile->mark_begin_x = 0;
-               else
-                   openfile->mark_begin_x -= indent_len;
-           }
+       /* Remove the first tab's worth of whitespace from this line. */
+       charmove(f->data, &f->data[indent_len], line_len - indent_len + 1);
+       null_at(&f->data, line_len - indent_len + 1);
+       openfile->totsize -= indent_len;
 
-           if (f == openfile->current) {
-               if (openfile->current_x <= indent_len)
-                   openfile->current_x = 0;
-               else
-                   openfile->current_x -= indent_len;
-               openfile->placewewant = xplustabs();
-           }
+       /* Compensate for the change in the current line. */
+       if (openfile->mark_set && f == openfile->mark_begin) {
+           if (openfile->mark_begin_x <= indent_len)
+               openfile->mark_begin_x = 0;
+           else
+               openfile->mark_begin_x -= indent_len;
+       }
+       if (f == openfile->current) {
+           if (openfile->current_x <= indent_len)
+               openfile->current_x = 0;
+           else
+               openfile->current_x -= indent_len;
+           openfile->placewewant = xplustabs();
+       }
     }
 
-       /* Throw away the undo stack, to prevent making mistakes when
-        * the user tries to undo something in the unindented text. */
-       discard_until(NULL, openfile);
-
-       /* Mark the file as modified. */
-       set_modified();
+    /* Throw away the undo stack, to prevent making mistakes when
+     * the user tries to undo something in the unindented text. */
+    discard_until(NULL, openfile);
 
-       /* Update the screen. */
-       refresh_needed = TRUE;
+    set_modified();
+    refresh_needed = TRUE;
 }
 #endif /* !NANO_TINY */
 
-- 
2.14.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]