where it was when the cut was made.
Patch by Mark Majeres, edited by Benno Schulenberg.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4966
35c25a1d-7b9e-4130-9fde-
d3aeb78583b8
+2014-06-14 Mark Majeres <mark@engine12.com>
+ * src/nano.h, src/text.c (undo_cut, update_undo): When undoing a
+ backwards cut, put the cursor back in front of it, where it was.
+
2014-06-13 Benno Schulenberg <bensberg@justemail.net>
* src/nano.c (do_input): Repositioning the cursor with the mouse
(result == 0) should break a series of ^Ks.
/* Extra bits for the undo function. */
#define UNdel_del (1<<0)
#define UNdel_backspace (1<<1)
-#define UNsplit_completed (1<<2)
+#define UNcut_marked_backwards (1<<2)
#define UNcut_cutline (1<<3)
#endif /* !NANO_TINY */
free_filestruct(cutbuffer);
cutbuffer = NULL;
- if (u->xflags == UNcut_cutline)
+ if (u->xflags == UNcut_cutline || u->xflags == UNcut_marked_backwards)
goto_line_posx(u->mark_begin_lineno, u->mark_begin_x);
}
ssize_t line = u->lineno;
u->lineno = u->mark_begin_lineno;
u->mark_begin_lineno = line;
+ u->xflags = UNcut_marked_backwards;
}
} else if (!ISSET(CUT_TO_END)) {
/* Compute cutbottom for the uncut using our copy. */