nano

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

commit a37ebcf2f88ad9eadec7fc9221c8443e05edaa81
parent 92142bed346950ebd883d71a982a8a652f6af0db
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Mon, 23 Mar 2015 17:12:49 +0000

Not unsetting the mark before the possible bailout for zero size.


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

Diffstat:
MChangeLog | 2++
Msrc/text.c | 16+++++++++-------
2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -3,6 +3,8 @@ an error when the marked region is zero bytes long. The message is not needed -- it gets printed by the caller. This generalizes the fix for Savannah bug #29393. + * src/text.c (do_alt_speller): Do not unset the mark before the + possible bailout because of a zero-sized region. 2015-03-22 Chris Allegretta <chrisa@asty.org> * src/text.c (do_alt_speller): timestamp can just be a __time_t. diff --git a/src/text.c b/src/text.c @@ -2683,13 +2683,6 @@ const char *do_alt_speller(char *tempfile_name) size_t totsize_save = openfile->totsize; /* Our saved value of totsize, used when we spell-check a marked * selection. */ - - if (old_mark_set) { - /* If the mark is on, save the number of the line it starts on, - * and then turn the mark off. */ - mb_lineno_save = openfile->mark_begin->lineno; - openfile->mark_set = FALSE; - } #endif /* Get the timestamp and the size of the temporary file. */ @@ -2700,6 +2693,15 @@ const char *do_alt_speller(char *tempfile_name) if (spellfileinfo.st_size == 0) return NULL; +#ifndef NANO_TINY + if (old_mark_set) { + /* If the mark is on, save the number of the line it starts on, + * and then turn the mark off. */ + mb_lineno_save = openfile->mark_begin->lineno; + openfile->mark_set = FALSE; + } +#endif + endwin(); /* Set up an argument list to pass execvp(). */