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:
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(). */