nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

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:
Msrc/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)