speller: block the resizing signal also during an integrated spell check
Because somehow something goes wrong when SIGWINCHes are handled while
reading from a pipe.
This fixes https://savannah.gnu.org/bugs/?56011.
Bug existed since version 2.4.2, commit 75d64e67
.
master
parent
19c82e6a43
commit
b0c9809a2e
|
@ -2545,7 +2545,9 @@ const char *do_int_speller(const char *tempfile_name)
|
|||
return _("Could not get size of pipe buffer");
|
||||
}
|
||||
|
||||
/* Read in the returned spelling errors. */
|
||||
/* Block SIGWINCHes while reading misspelled words from the pipe. */
|
||||
block_sigwinch(TRUE);
|
||||
|
||||
totalread = 0;
|
||||
buffersize = blocksize + 1;
|
||||
misspellings = charalloc(buffersize);
|
||||
|
@ -2561,6 +2563,8 @@ const char *do_int_speller(const char *tempfile_name)
|
|||
*pointer = '\0';
|
||||
close(uniq_fd[0]);
|
||||
|
||||
block_sigwinch(FALSE);
|
||||
|
||||
/* Do any replacements case sensitive, forward, and without regexes. */
|
||||
SET(CASE_SENSITIVE);
|
||||
UNSET(BACKWARDS_SEARCH);
|
||||
|
|
Loading…
Reference in New Issue