summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/nano/files/nano-4.9.3-disable-speller_build_fix.patch')
-rw-r--r--app-editors/nano/files/nano-4.9.3-disable-speller_build_fix.patch342
1 files changed, 0 insertions, 342 deletions
diff --git a/app-editors/nano/files/nano-4.9.3-disable-speller_build_fix.patch b/app-editors/nano/files/nano-4.9.3-disable-speller_build_fix.patch
deleted file mode 100644
index 978e24de805d..000000000000
--- a/app-editors/nano/files/nano-4.9.3-disable-speller_build_fix.patch
+++ /dev/null
@@ -1,342 +0,0 @@
-From 4b7f7a30c9ec593d68186b1dfef44d4e2bda735b Mon Sep 17 00:00:00 2001
-From: Benno Schulenberg <bensberg@telfort.nl>
-Date: Mon, 22 Jun 2020 08:39:59 +0200
-Subject: [PATCH] build: fix compilation when configured with
- --disable-speller
-
-Move two functions that are used by the formatter too
-to between the proper #ifdef.
-
-Problem existed since commit 8089f5ad from a month ago.
-
-Backported to v4.9.3
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- src/text.c | 302 ++++++++++++++++++++++++++---------------------------
- 1 file changed, 151 insertions(+), 151 deletions(-)
-
-diff --git a/src/text.c b/src/text.c
-index 93ad3704..c7690fd0 100644
---- a/src/text.c
-+++ b/src/text.c
-@@ -2011,8 +2011,159 @@ void construct_argument_list(char ***arguments, char *command, char *filename)
- (*arguments)[count - 2] = filename;
- (*arguments)[count - 1] = NULL;
- }
-+
-+/* Open the specified file, and if that succeeds, remove the text of the marked
-+ * region or of the entire buffer and read the file contents into its place. */
-+bool replace_buffer(const char *filename, undo_type action, const char *operation)
-+{
-+ linestruct *was_cutbuffer = cutbuffer;
-+ int descriptor;
-+ FILE *stream;
-+
-+ descriptor = open_file(filename, FALSE, &stream);
-+
-+ if (descriptor < 0)
-+ return FALSE;
-+
-+ cutbuffer = NULL;
-+
-+#ifndef NANO_TINY
-+ add_undo(COUPLE_BEGIN, operation);
-+
-+ /* Cut either the marked region or the whole buffer. */
-+ add_undo(action, NULL);
-+#endif
-+ do_snip(FALSE, openfile->mark, openfile->mark == NULL, FALSE);
-+#ifndef NANO_TINY
-+ update_undo(action);
- #endif
-
-+ /* Discard what was cut. */
-+ free_lines(cutbuffer);
-+ cutbuffer = was_cutbuffer;
-+
-+ /* Insert the spell-checked file into the cleared area. */
-+ read_file(stream, descriptor, filename, TRUE);
-+
-+#ifndef NANO_TINY
-+ add_undo(COUPLE_END, operation);
-+#endif
-+ return TRUE;
-+}
-+
-+/* Execute the given program, with the given temp file as last argument. */
-+const char *treat(char *tempfile_name, char *theprogram, bool spelling)
-+{
-+ ssize_t lineno_save = openfile->current->lineno;
-+ size_t current_x_save = openfile->current_x;
-+ size_t pww_save = openfile->placewewant;
-+ bool was_at_eol = (openfile->current->data[openfile->current_x] == '\0');
-+ struct stat fileinfo;
-+ long timestamp_sec, timestamp_nsec;
-+ static char **arguments = NULL;
-+ pid_t thepid;
-+ int program_status;
-+ bool replaced = FALSE;
-+
-+ /* Get the timestamp and the size of the temporary file. */
-+ stat(tempfile_name, &fileinfo);
-+ timestamp_sec = (long)fileinfo.st_mtim.tv_sec;
-+ timestamp_nsec = (long)fileinfo.st_mtim.tv_nsec;
-+
-+ /* If the number of bytes to check is zero, get out. */
-+ if (fileinfo.st_size == 0)
-+ return NULL;
-+
-+ /* Exit from curses mode to give the program control of the terminal. */
-+ endwin();
-+
-+ construct_argument_list(&arguments, theprogram, tempfile_name);
-+
-+ /* Fork a child process and run the given program in it. */
-+ if ((thepid = fork()) == 0) {
-+ execvp(arguments[0], arguments);
-+
-+ /* Terminate the child if the program is not found. */
-+ exit(9);
-+ } else if (thepid < 0)
-+ return _("Could not fork");
-+
-+ /* Block SIGWINCHes while waiting for the program to end,
-+ * so nano doesn't get pushed past the wait(). */
-+ block_sigwinch(TRUE);
-+ wait(&program_status);
-+ block_sigwinch(FALSE);
-+
-+ /* Restore the terminal state and reenter curses mode. */
-+ terminal_init();
-+ doupdate();
-+
-+ if (!WIFEXITED(program_status) || WEXITSTATUS(program_status) > 2) {
-+ statusline(ALERT, _("Error invoking '%s'"), arguments[0]);
-+ return NULL;
-+ } else if (WEXITSTATUS(program_status) != 0)
-+ statusline(ALERT, _("Program '%s' complained"), arguments[0]);
-+
-+ /* Stat the temporary file again. */
-+ stat(tempfile_name, &fileinfo);
-+
-+ /* When the temporary file wasn't touched, say so and leave. */
-+ if ((long)fileinfo.st_mtim.tv_sec == timestamp_sec &&
-+ (long)fileinfo.st_mtim.tv_nsec == timestamp_nsec) {
-+ statusbar(_("Nothing changed"));
-+ return NULL;
-+ }
-+
-+#ifndef NANO_TINY
-+ /* Replace the marked text (or entire text) with the corrected text. */
-+ if (spelling && openfile->mark) {
-+ ssize_t was_mark_lineno = openfile->mark->lineno;
-+ bool upright = mark_is_before_cursor();
-+
-+ replaced = replace_buffer(tempfile_name, CUT, "spelling correction");
-+
-+ /* Adjust the end point of the marked region for any change in
-+ * length of the region's last line. */
-+ if (upright)
-+ current_x_save = openfile->current_x;
-+ else
-+ openfile->mark_x = openfile->current_x;
-+
-+ /* Restore the mark. */
-+ openfile->mark = line_from_number(was_mark_lineno);
-+ } else
-+#endif
-+ {
-+ openfile->current = openfile->filetop;
-+ openfile->current_x = 0;
-+
-+ replaced = replace_buffer(tempfile_name, CUT_TO_EOF,
-+ /* TRANSLATORS: The next two go with Undid/Redid messages. */
-+ (spelling ? N_("spelling correction") : N_("formatting")));
-+ }
-+
-+ /* Go back to the old position. */
-+ goto_line_posx(lineno_save, current_x_save);
-+ if (was_at_eol || openfile->current_x > strlen(openfile->current->data))
-+ openfile->current_x = strlen(openfile->current->data);
-+
-+#ifndef NANO_TINY
-+ if (replaced)
-+ update_undo(COUPLE_END);
-+#endif
-+
-+ openfile->placewewant = pww_save;
-+ adjust_viewport(STATIONARY);
-+
-+ if (spelling)
-+ statusbar(_("Finished checking spelling"));
-+ else
-+ statusbar(_("Buffer has been processed"));
-+
-+ return NULL;
-+}
-+#endif /* ENABLE_SPELLER || ENABLE_COLOR */
-+
- #ifdef ENABLE_SPELLER
- /* Let the user edit the misspelled word. Return FALSE if the user cancels. */
- bool fix_spello(const char *word)
-@@ -2307,157 +2458,6 @@ const char *do_int_speller(const char *tempfile_name)
- return NULL;
- }
-
--/* Open the specified file, and if that succeeds, remove the text of the marked
-- * region or of the entire buffer and read the file contents into its place. */
--bool replace_buffer(const char *filename, undo_type action, const char *operation)
--{
-- linestruct *was_cutbuffer = cutbuffer;
-- int descriptor;
-- FILE *stream;
--
-- descriptor = open_file(filename, FALSE, &stream);
--
-- if (descriptor < 0)
-- return FALSE;
--
-- cutbuffer = NULL;
--
--#ifndef NANO_TINY
-- add_undo(COUPLE_BEGIN, operation);
--
-- /* Cut either the marked region or the whole buffer. */
-- add_undo(action, NULL);
--#endif
-- do_snip(FALSE, openfile->mark, openfile->mark == NULL, FALSE);
--#ifndef NANO_TINY
-- update_undo(action);
--#endif
--
-- /* Discard what was cut. */
-- free_lines(cutbuffer);
-- cutbuffer = was_cutbuffer;
--
-- /* Insert the spell-checked file into the cleared area. */
-- read_file(stream, descriptor, filename, TRUE);
--
--#ifndef NANO_TINY
-- add_undo(COUPLE_END, operation);
--#endif
-- return TRUE;
--}
--
--/* Execute the given program, with the given temp file as last argument. */
--const char *treat(char *tempfile_name, char *theprogram, bool spelling)
--{
-- ssize_t lineno_save = openfile->current->lineno;
-- size_t current_x_save = openfile->current_x;
-- size_t pww_save = openfile->placewewant;
-- bool was_at_eol = (openfile->current->data[openfile->current_x] == '\0');
-- struct stat fileinfo;
-- long timestamp_sec, timestamp_nsec;
-- static char **arguments = NULL;
-- pid_t thepid;
-- int program_status;
-- bool replaced = FALSE;
--
-- /* Get the timestamp and the size of the temporary file. */
-- stat(tempfile_name, &fileinfo);
-- timestamp_sec = (long)fileinfo.st_mtim.tv_sec;
-- timestamp_nsec = (long)fileinfo.st_mtim.tv_nsec;
--
-- /* If the number of bytes to check is zero, get out. */
-- if (fileinfo.st_size == 0)
-- return NULL;
--
-- /* Exit from curses mode to give the program control of the terminal. */
-- endwin();
--
-- construct_argument_list(&arguments, theprogram, tempfile_name);
--
-- /* Fork a child process and run the given program in it. */
-- if ((thepid = fork()) == 0) {
-- execvp(arguments[0], arguments);
--
-- /* Terminate the child if the program is not found. */
-- exit(9);
-- } else if (thepid < 0)
-- return _("Could not fork");
--
-- /* Block SIGWINCHes while waiting for the program to end,
-- * so nano doesn't get pushed past the wait(). */
-- block_sigwinch(TRUE);
-- wait(&program_status);
-- block_sigwinch(FALSE);
--
-- /* Restore the terminal state and reenter curses mode. */
-- terminal_init();
-- doupdate();
--
-- if (!WIFEXITED(program_status) || WEXITSTATUS(program_status) > 2) {
-- statusline(ALERT, _("Error invoking '%s'"), arguments[0]);
-- return NULL;
-- } else if (WEXITSTATUS(program_status) != 0)
-- statusline(ALERT, _("Program '%s' complained"), arguments[0]);
--
-- /* Stat the temporary file again. */
-- stat(tempfile_name, &fileinfo);
--
-- /* When the temporary file wasn't touched, say so and leave. */
-- if ((long)fileinfo.st_mtim.tv_sec == timestamp_sec &&
-- (long)fileinfo.st_mtim.tv_nsec == timestamp_nsec) {
-- statusbar(_("Nothing changed"));
-- return NULL;
-- }
--
--#ifndef NANO_TINY
-- /* Replace the marked text (or entire text) with the corrected text. */
-- if (spelling && openfile->mark) {
-- ssize_t was_mark_lineno = openfile->mark->lineno;
-- bool upright = mark_is_before_cursor();
--
-- replaced = replace_buffer(tempfile_name, CUT, "spelling correction");
--
-- /* Adjust the end point of the marked region for any change in
-- * length of the region's last line. */
-- if (upright)
-- current_x_save = openfile->current_x;
-- else
-- openfile->mark_x = openfile->current_x;
--
-- /* Restore the mark. */
-- openfile->mark = line_from_number(was_mark_lineno);
-- } else
--#endif
-- {
-- openfile->current = openfile->filetop;
-- openfile->current_x = 0;
--
-- replaced = replace_buffer(tempfile_name, CUT_TO_EOF,
-- /* TRANSLATORS: The next two go with Undid/Redid messages. */
-- (spelling ? N_("spelling correction") : N_("formatting")));
-- }
--
-- /* Go back to the old position. */
-- goto_line_posx(lineno_save, current_x_save);
-- if (was_at_eol || openfile->current_x > strlen(openfile->current->data))
-- openfile->current_x = strlen(openfile->current->data);
--
--#ifndef NANO_TINY
-- if (replaced)
-- update_undo(COUPLE_END);
--#endif
--
-- openfile->placewewant = pww_save;
-- adjust_viewport(STATIONARY);
--
-- if (spelling)
-- statusbar(_("Finished checking spelling"));
-- else
-- statusbar(_("Buffer has been processed"));
--
-- return NULL;
--}
--
- /* Spell check the current file. If an alternate spell checker is
- * specified, use it. Otherwise, use the internal spell checker. */
- void do_spell(void)
---
-2.28.0
-