From 4527da5e9bda19b2e08e04efe7d1af7a469a6a7c Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Fri, 28 Apr 2006 13:37:42 +0000 Subject: [PATCH] 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 --- src/text.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/text.c b/src/text.c index 495e985f..1e074ce5 100644 --- 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. */