commit 4527da5e9bda19b2e08e04efe7d1af7a469a6a7c
parent 8bf39a38fe9a1ad68a2083be93579d11089e2a26
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Fri, 28 Apr 2006 13:37:42 +0000
when indenting lines, properly keep track of the mark coordinates
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3449 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/text.c b/src/text.c
@@ -278,10 +278,12 @@ 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, adjust the x-coordinate
- * to compensate for the change in it. */
- if (f == openfile->current)
+ /* If this is the current line, keep track of the change
+ * in it. */
+ if (f == openfile->current) {
openfile->current_x -= indent_len;
+ openfile->mark_begin_x -= indent_len;
+ }
/* We've unindented, so set indent_changed to TRUE. */
if (!indent_changed)
@@ -296,10 +298,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, adjust the x-coordinate to
- * compensate for the change in it. */
- if (f == openfile->current)
+ /* If this is the current line, keep track of the change in
+ * it. */
+ if (f == openfile->current) {
openfile->current_x += line_indent_len;
+ openfile->mark_begin_x += line_indent_len;
+ }
/* If the NO_NEWLINES flag isn't set, and this is the
* magicline, add a new magicline. */