nano

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

commit 5bc4abeefea06119a7bbfd138f6b916fd04abb78
parent ac726f08fa15256abb619533affc6bda4131ee6c
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Thu,  6 Jul 2017 22:10:37 -0500

text: update placewewant properly when indenting/unindenting

If the position of the cursor changes horizontally,
placewewant should change with it.

This fixes https://savannah.gnu.org/bugs/?51407.
Reported-by: David Lawrence Ramsey <pooka109@gmail.com>

Diffstat:
Msrc/text.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/text.c b/src/text.c @@ -363,8 +363,10 @@ void do_indent(ssize_t cols) openfile->mark_begin_x >= indent_len) openfile->mark_begin_x += line_indent_len; - if (f == openfile->current && openfile->current_x >= indent_len) + if (f == openfile->current && openfile->current_x >= indent_len) { openfile->current_x += line_indent_len; + openfile->placewewant = xplustabs(); + } /* If the NO_NEWLINES flag isn't set, and this is the * magicline, add a new magicline. */ @@ -405,6 +407,7 @@ void do_indent(ssize_t cols) openfile->current_x = indent_new; else openfile->current_x -= indent_shift; + openfile->placewewant = xplustabs(); } /* We've unindented, so the indentation changed. */