summaryrefslogtreecommitdiff
path: root/dev-libs/libedit/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /dev-libs/libedit/files
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'dev-libs/libedit/files')
-rw-r--r--dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch249
-rw-r--r--dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch10
2 files changed, 0 insertions, 259 deletions
diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch b/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch
deleted file mode 100644
index c54f27600e34..000000000000
--- a/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch
+++ /dev/null
@@ -1,249 +0,0 @@
---- libedit-20170329-3.1/src/filecomplete.c 2017-03-29 21:15:04.000000000 +0300
-+++ libedit-20170329-3.1/src/filecomplete.c 2017-05-21 02:23:16.000000000 +0300
-@@ -51,6 +51,7 @@
- #include "filecomplete.h"
-
- static const wchar_t break_chars[] = L" \t\n\"\\'`@$><=;|&{(";
-+static const wchar_t extra_quote_chars[] = L")}*?[$\0";
-
- /********************************/
- /* completion functions */
-@@ -405,10 +406,14 @@
- char **(*attempted_completion_function)(const char *, int, int),
- const wchar_t *word_break, const wchar_t *special_prefixes,
- const char *(*app_func)(const char *), size_t query_items,
-- int *completion_type, int *over, int *point, int *end)
-+ int *completion_type, int *over, int *point, int *end,
-+ const char *(*find_word_start_func)(const char *, const char *),
-+ char *(*dequoting_func)(const char *),
-+ char *(*quoting_func)(const char *))
- {
- const LineInfoW *li;
- wchar_t *temp;
-+ char *dequoted_temp;
- char **matches;
- const wchar_t *ctemp;
- size_t len;
-@@ -429,17 +434,28 @@
-
- /* We now look backwards for the start of a filename/variable word */
- li = el_wline(el);
-+ if (find_word_start_func)
-+ ctemp = ct_decode_string(find_word_start_func(ct_encode_string(li->buffer,&el->el_scratch), ct_encode_string(li->cursor,&el->el_scratch)),&el->el_scratch);
-+ else {
- ctemp = li->cursor;
- while (ctemp > li->buffer
- && !wcschr(word_break, ctemp[-1])
- && (!special_prefixes || !wcschr(special_prefixes, ctemp[-1]) ) )
- ctemp--;
-+ }
-
- len = (size_t)(li->cursor - ctemp);
- temp = el_malloc((len + 1) * sizeof(*temp));
- (void)wcsncpy(temp, ctemp, len);
- temp[len] = '\0';
-
-+ if (dequoting_func) {
-+ dequoted_temp = dequoting_func(ct_encode_string(temp,&el->el_scratch));
-+ if (dequoted_temp == NULL)
-+ return retval;
-+ } else
-+ dequoted_temp = NULL;
-+
- /* these can be used by function called in completion_matches() */
- /* or (*attempted_completion_function)() */
- if (point != NULL)
-@@ -450,14 +466,14 @@
- if (attempted_completion_function) {
- int cur_off = (int)(li->cursor - li->buffer);
- matches = (*attempted_completion_function)(
-- ct_encode_string(temp, &el->el_scratch),
-+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch),
- cur_off - (int)len, cur_off);
- } else
- matches = NULL;
- if (!attempted_completion_function ||
- (over != NULL && !*over && !matches))
- matches = completion_matches(
-- ct_encode_string(temp, &el->el_scratch), complet_func);
-+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch), complet_func);
-
- if (over != NULL)
- *over = 0;
-@@ -472,9 +488,18 @@
- * possible matches if there is possible completion.
- */
- if (matches[0][0] != '\0') {
-+ char *quoted_match;
-+ if (quoting_func) {
-+ quoted_match = quoting_func(matches[0]);
-+ if (quoted_match == NULL)
-+ goto free_matches;
-+ } else
-+ quoted_match = NULL;
-+
- el_deletestr(el, (int) len);
- el_winsertstr(el,
-- ct_decode_string(matches[0], &el->el_scratch));
-+ ct_decode_string(quoted_match? quoted_match : matches[0], &el->el_scratch));
-+ free(quoted_match);
- }
-
-
-@@ -545,12 +570,14 @@
- retval = CC_NORM;
- }
-
-+free_matches:
- /* free elements of array and the array itself */
- for (i = 0; matches[i]; i++)
- el_free(matches[i]);
- el_free(matches);
- matches = NULL;
- }
-+ el_free(dequoted_temp);
- el_free(temp);
- return retval;
- }
-@@ -564,5 +591,102 @@
- {
- return (unsigned char)fn_complete(el, NULL, NULL,
- break_chars, NULL, NULL, (size_t)100,
-- NULL, NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL,
-+ NULL, NULL, NULL);
-+}
-+
-+static const char *
-+sh_find_word_start(const char *buffer, const char *cursor)
-+{
-+ const char *word_start = buffer;
-+
-+ while (buffer < cursor) {
-+ if (*buffer == '\\')
-+ buffer++;
-+ else if (strchr(break_chars, *buffer))
-+ word_start = buffer + 1;
-+
-+ buffer++;
-+ }
-+
-+ return word_start;
-+}
-+
-+
-+static char *
-+sh_quote(const char *str)
-+{
-+ const char *src;
-+ int extra_len = 0;
-+ char *quoted_str, *dst;
-+
-+ if (*str == '-' || *str == '+')
-+ extra_len += 2;
-+ for (src = str; *src != '\0'; src++)
-+ if (strchr(break_chars, *src) ||
-+ strchr(extra_quote_chars, *src))
-+ extra_len++;
-+
-+ quoted_str = malloc(sizeof(*quoted_str) *
-+ (strlen(str) + extra_len + 1));
-+ if (quoted_str == NULL)
-+ return NULL;
-+
-+ dst = quoted_str;
-+ if (*str == '-' || *str == '+')
-+ *dst++ = '.', *dst++ = '/';
-+ for (src = str; *src != '\0'; src++) {
-+ if (strchr(break_chars, *src) ||
-+ strchr(extra_quote_chars, *src))
-+ *dst++ = '\\';
-+ *dst++ = *src;
-+ }
-+ *dst = '\0';
-+
-+ return quoted_str;
-+}
-+
-+
-+static char *
-+sh_dequote(const char *str)
-+{
-+ char *dequoted_str, *dst;
-+
-+ /* save extra space to replace \~ with ./~ */
-+ dequoted_str = malloc(sizeof(*dequoted_str) * (strlen(str) + 1 + 1));
-+ if (dequoted_str == NULL)
-+ return NULL;
-+
-+ dst = dequoted_str;
-+
-+ /* dequote \~ at start as ./~ */
-+ if (*str == '\\' && str[1] == '~') {
-+ str++;
-+ *dst++ = '.';
-+ *dst++ = '/';
-+ }
-+
-+ while (*str) {
-+ if (*str == '\\')
-+ str++;
-+ if (*str)
-+ *dst++ = *str++;
-+ }
-+ *dst = '\0';
-+
-+ return dequoted_str;
-+}
-+
-+
-+/*
-+ * completion function using sh quoting rules; for key binding
-+ */
-+/* ARGSUSED */
-+unsigned char
-+_el_fn_sh_complete(EditLine *el, int ch __attribute__((__unused__)))
-+{
-+ return (unsigned char)fn_complete(el, NULL, NULL,
-+ break_chars, NULL, NULL, 100,
-+ NULL, NULL, NULL, NULL,
-+ sh_find_word_start, sh_dequote, sh_quote);
- }
-
---- libedit-20170329-3.1/src/readline.c 2017-03-29 21:15:04.000000000 +0300
-+++ libedit-20170329-3.1/src/readline.c 2017-05-21 02:24:57.000000000 +0300
-@@ -1869,7 +1869,7 @@
- _rl_completion_append_character_function,
- (size_t)rl_completion_query_items,
- &rl_completion_type, &rl_attempted_completion_over,
-- &rl_point, &rl_end);
-+ &rl_point, &rl_end, NULL, NULL, NULL);
-
-
- }
-
---- libedit-20170329-3.1/src/histedit.h 2017-03-29 21:08:21.000000000 +0300
-+++ libedit-20170329-3.1/src/histedit.h 2017-05-21 02:32:04.000000000 +0300
-@@ -113,6 +113,7 @@
- int el_set(EditLine *, int, ...);
- int el_get(EditLine *, int, ...);
- unsigned char _el_fn_complete(EditLine *, int);
-+unsigned char _el_fn_sh_complete(EditLine *, int);
-
- /*
- * el_set/el_get parameters
-
---- libedit-20170329-3.1/src/filecomplete.h 2017-03-29 21:08:21.000000000 +0300
-+++ libedit-20170329-3.1/src/filecomplete.h 2017-05-21 02:32:27.000000000 +0300
-@@ -35,7 +35,10 @@
- char *(*)(const char *, int),
- char **(*)(const char *, int, int),
- const wchar_t *, const wchar_t *, const char *(*)(const char *), size_t,
-- int *, int *, int *, int *);
-+ int *, int *, int *, int *,
-+ const char *(*)(const char *, const char *),
-+ char *(*)(const char *),
-+ char *(*)(const char *));
-
- void fn_display_match_list(EditLine *, char **, size_t, size_t);
- char *fn_tilde_expand(const char *);
diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch b/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch
deleted file mode 100644
index 1d5432fac0be..000000000000
--- a/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libedit-20170329-3.1/libedit.pc.in 2017-03-29 21:08:21.000000000 +0300
-+++ libedit-20170329-3.1/libedit.pc.in 2017-05-21 01:28:55.000000000 +0300
-@@ -7,5 +7,6 @@
- Description: command line editor library provides generic line editing, history, and tokenization functions.
- Version: @VERSION@
- Requires:
--Libs: -L${libdir} -ledit @LIBS@
-+Libs: -L${libdir} -ledit
-+Libs.private: @LIBS@
- Cflags: -I${includedir} -I${includedir}/editline