commit eb4f90e182e1ecbd0d3a719bea4669779c1d4b56 parent aa4dc9596f13c1aad5e954e29df40aeadb318227 Author: David Lawrence Ramsey <pooka109@gmail.com> Date: Fri, 5 May 2006 14:22:42 +0000 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 Diffstat:
M | src/text.c | | | 18 | ++++++++++++------ |
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git 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)