nano

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

commit a44cf41d3773b313ae17eff3b8aa56c7ad2a5f95
parent 76e7aaf51462b1fcaa6960c50bafe78a4279b4e5
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Sun, 22 Mar 2015 11:42:29 +0000

Stepping backward or forward not simply one byte
but one character (possibly multibyte).
This fixes Savannah bug #42175.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5148 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 4++++
Msrc/search.c | 4++--
2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -2,6 +2,10 @@ * src/chars.c (move_mbleft): Start looking for a multibyte char not at the start of the string, but only as far back as such a char can possibly be. Change suggested by Mark Majeres. + * src/search.c (findnextstr): Step backward or forward not simply + one byte but one character (possibly multibyte). Fixes Savannah + bug #42175, reported by myself, and the finding of ghosts seen in + https://lists.gnu.org/archive/html/nano-devel/2015-03/msg00055.html. 2015-03-21 Benno Schulenberg <bensberg@justemail.net> * src/text.c (do_alt_speller): Remove some leftovers. diff --git a/src/search.c b/src/search.c @@ -286,9 +286,9 @@ bool findnextstr( rev_start += #ifndef NANO_TINY ISSET(BACKWARDS_SEARCH) ? - openfile->current_x - 1 : + ((openfile->current_x == 0) ? -1 : move_mbleft(fileptr->data, openfile->current_x)) : #endif - openfile->current_x + 1; + move_mbright(fileptr->data, openfile->current_x); /* Look for needle in the current line we're searching. */ enable_nodelay();