diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-03-03 10:28:17 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-03-03 10:28:17 +0000 |
commit | d99093fb4bb5652015c06274d64083daa2439e4f (patch) | |
tree | cf61513204d97974179580065e85df5c8009087c /app-editors/nano/files | |
parent | 463397cf1e064185110fe57c568d73f99a06f5d1 (diff) |
gentoo resync : 03.03.2021
Diffstat (limited to 'app-editors/nano/files')
-rw-r--r-- | app-editors/nano/files/nano-4.9.3-disable-speller_build_fix.patch | 342 | ||||
-rw-r--r-- | app-editors/nano/files/nano-4.9.3-minimal_build_fix.patch | 46 |
2 files changed, 0 insertions, 388 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 - diff --git a/app-editors/nano/files/nano-4.9.3-minimal_build_fix.patch b/app-editors/nano/files/nano-4.9.3-minimal_build_fix.patch deleted file mode 100644 index 52112bab7235..000000000000 --- a/app-editors/nano/files/nano-4.9.3-minimal_build_fix.patch +++ /dev/null @@ -1,46 +0,0 @@ -From a98f48b4e82db7d30aa04925fb28344f5bce8c7c Mon Sep 17 00:00:00 2001 -From: Benno Schulenberg <bensberg@telfort.nl> -Date: Mon, 22 Jun 2020 14:00:23 +0200 -Subject: [PATCH] build: fix compilation for --enable-tiny --enable-color - --enable-nanorc - -Backported to v4.9.3 -Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> ---- - src/nano.c | 2 +- - src/text.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/nano.c b/src/nano.c -index be80a073..3ac81ba4 100644 ---- a/src/nano.c -+++ b/src/nano.c -@@ -1079,7 +1079,7 @@ RETSIGTYPE do_continue(int signal) - ungetch(KEY_FLUSH); - } - --#if !defined(NANO_TINY) || defined(ENABLE_SPELLER) -+#if !defined(NANO_TINY) || defined(ENABLE_SPELLER) || defined(ENABLE_COLOR) - /* Block or unblock the SIGWINCH signal, depending on the blockit parameter. */ - void block_sigwinch(bool blockit) - { -diff --git a/src/text.c b/src/text.c -index c7690fd0..32727946 100644 ---- a/src/text.c -+++ b/src/text.c -@@ -2032,10 +2032,10 @@ bool replace_buffer(const char *filename, undo_type action, const char *operatio - - /* 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); -+#else -+ do_snip(FALSE, TRUE, FALSE, FALSE); - #endif - - /* Discard what was cut. */ --- -2.28.0 - |