From: David Lawrence Ramsey Date: Fri, 5 May 2006 14:22:42 +0000 (+0000) Subject: better handle position shifting when unindenting marked text X-Git-Tag: v1.3.12~212 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=eb4f90e182e1ecbd0d3a719bea4669779c1d4b56;p=nano.git better handle position shifting when unindenting marked text git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3468 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/src/text.c b/src/text.c index dedde3a1..409479fe 100644 --- a/src/text.c +++ b/src/text.c @@ -286,14 +286,20 @@ void do_indent_marked(ssize_t cols) /* Keep track of the change in the current line. */ if (f == openfile->mark_begin && - openfile->mark_begin_x > indent_new && - openfile->mark_begin_x >= indent_shift) - openfile->mark_begin_x -= indent_shift; + openfile->mark_begin_x > indent_new) { + if (openfile->mark_begin_x <= indent_len) + openfile->mark_begin_x = indent_new; + else + openfile->mark_begin_x -= indent_shift; + } if (f == openfile->current && openfile->current_x > - indent_new && openfile->current_x >= - indent_shift) - openfile->current_x -= indent_shift; + indent_new) { + if (openfile->current_x <= indent_len) + openfile->current_x = indent_new; + else + openfile->current_x -= indent_shift; + } /* We've unindented, so set indent_changed to TRUE. */ if (!indent_changed)