summaryrefslogtreecommitdiff
path: root/dev-libs/libedit
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:57:42 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:57:42 +0100
commit1798c4aeca70ac8d0a243684d6a798fbc65735f8 (patch)
treee48e19cb6fa03de18e1c63e1a93371b7ebc4eb56 /dev-libs/libedit
parentd87262dd706fec50cd150aab3e93883b6337466d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libedit')
-rw-r--r--dev-libs/libedit/Manifest12
-rw-r--r--dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch13
-rw-r--r--dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch20
-rw-r--r--dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch258
-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
-rw-r--r--dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch30
-rw-r--r--dev-libs/libedit/files/libedit-ncursesprivate.patch13
-rw-r--r--dev-libs/libedit/libedit-20130712.3.1.ebuild49
-rw-r--r--dev-libs/libedit/libedit-20170329.3.1.ebuild54
-rw-r--r--dev-libs/libedit/metadata.xml16
11 files changed, 0 insertions, 724 deletions
diff --git a/dev-libs/libedit/Manifest b/dev-libs/libedit/Manifest
deleted file mode 100644
index 1d503cf49470..000000000000
--- a/dev-libs/libedit/Manifest
+++ /dev/null
@@ -1,12 +0,0 @@
-AUX libedit-20100424.3.0-bsd.patch 724 BLAKE2B a0129c3f1597dc1f79887b9b13352f0261cd3fc450f7ca617025d7bcc8dac8169285c9b16ce4efdee9f2d5e9d29e3c5bb3a8075564b6ebe3d9143f2c7d0757e5 SHA512 67e0316db39b581b40dcfc15cfc308398d7865d29adc31e43159a30d8b94f50b486aa5da2a9599154138c1c8ae56fa9f6dca663eff174559f8896f50f973eefb
-AUX libedit-20110709.3.0-weak-reference.patch 651 BLAKE2B 87e5bb61e3298a3dfe5553d1ea402eacbf0781c130c44581beeb53c1983e72d5c8ca26549792e6cc6ac357c1731c4cf150d99c6774cc0c71dc810a1c51c75454 SHA512 6f905d4254be6a11a135315346e41579e30c496d7d28caef1daa89079574be081c092d653034fd89a1ce84495f1566ef85d50b274cb87b249b4706e954c40420
-AUX libedit-20120311-3.0-el_fn_sh_complete.patch 7724 BLAKE2B 7edebf657e91334cc71dbeb20bba577f0fc9d65d92cf47de9c070021ad63874c1756508b8d37940d8b50d7e1580616dc9458e1d229b53a3c938e14ecd61558fb SHA512 c62490079ff73a14310c6840d379d950699cd178e5e4a15231a79ea06600ba7bb805630e032d5d49ea5479e4919514ee79b035bf7d00e20b6e8512c84920bba3
-AUX libedit-20170329.3.1-el_fn_sh_complete.patch 6942 BLAKE2B 121f410a3ea6c075873ad303e46bb2086925f4650032a8cb7ab634c77791805666aef344137063cf0f4215c28199181d17c65881dac84fd9e3ca91f7111fb679 SHA512 7715cbaaf38c09f62a885cc66edc416b26ae49cef627a7d22a256b787d7ad3784f90e49e906dead009ad86576894c25a839a96dfe26ab9d2ee5e0a8cba71732d
-AUX libedit-20170329.3.1-ncursesprivate.patch 438 BLAKE2B bbef561b440e323fe5ce96c9f2cfc5183e68839b6911dff251c323b1db32b0fe5fb8ecf64c799ab137f786c5be4570eddac0255aed379a23fffd578020bcf94d SHA512 aa2b52b36050413941892eaf66fe7b66e992c14cda29ee2733e8359b5990eed9537fb0422fd3704b32a70f1b9e350a0b0f06aaff9a55bb89b764d57a6f0dbef1
-AUX libedit-20170329.3.1-tinfo.patch 954 BLAKE2B 1ec89a124ebfa5b96b8b14ef44008b50263f297db16bd838dd31b571ee69f0f15056542be533115d92115963e49b357e0caddcb34a0e5a9eb7160fddecb9ca5c SHA512 e03cef80831c8982705e9ba3448a379e48a443b3b09b4c6f6be56ca2d0ac594f4569b76739551cc945bef27fc0fac2ffea3ad532355933a528753338f4094172
-AUX libedit-ncursesprivate.patch 497 BLAKE2B c333a5d914047fd13faab9a9782c18893edc8cef17c0825d4aa6046da2456b5429f48de056211d050c77fa40689baa1f0eb56259dfaf2f93a778f10720d7006a SHA512 41175b20f7b925e347db008d5e8a535b8326cd2c010a67b9db3a59131fce77a7791b7940e7eea9d68e82dbd3731efaa503d4bd218d78b29f946152dd56bd9b14
-DIST libedit-20130712-3.1.tar.gz 483857 BLAKE2B 9120e9ac2f0d20841fea7d3a41fbfe2c1e79392d3b6dcfcd44517ee61d662427ea6cda312d2ec47ac92d61b9292684b8bbd8f92de0832909fadfb1b0cbbb4f81 SHA512 9fb3173a65ea2cd2ffa9af0666aa3e227b7d6be26f3e84f30ea3449b0c80fc5e91b618e939f7047bf885b96689ede93733f7eba614d4fdd1a4baff3f130b432e
-DIST libedit-20170329-3.1.tar.gz 508504 BLAKE2B 83857f2e56c1f3857e981556c4d5bb90580293a1b9b038bd08beaa2b3954ccee0b30ccdd716cca95d1811841ab8ada010084ec5cd9ab8407e996c713d0991cd8 SHA512 597ed2282240be6dc3c4a7bb8b4ade31fe16ebfeb2229e3aec58643a65882653cc91deb300343d1b1cc588959dbf95698122c4005e47dfb947efa3e6b134bb82
-EBUILD libedit-20130712.3.1.ebuild 1261 BLAKE2B 51dd1e5fd520ea9e26ef766c45482f2321cef3e98fd8733d32a07ddf8da31fd7b9eee1bc118304e111566e9ffbdd882a7dadb599836984c3613368e335f199f0 SHA512 94d5067ba06fce95e621c4d8655a38092eca85480f2dab71ba4bc69248f568730544766db6ecce6f702c8ec58b7caf7b10a3202dc44f7ee829e3a14cdd43e6a4
-EBUILD libedit-20170329.3.1.ebuild 1287 BLAKE2B b0f471401ef723d7cfdda142bf783df4c3815295db710335f21f044219c77be35472f66b03305689c174c4dc8550f0a34d726a0893fa9c96b79c50049e05471c SHA512 3ac1976986d06f0d79eaa1f5a53c6f715bae5dd768d98182631c0351654dbdbdf553ab5e3dc4c1cbdde41f691ddff28b44be2e3fd4351b30ade4ce5586e58a0e
-MISC metadata.xml 636 BLAKE2B 22880383d39383e11fad886d88db603fe58db1e52f36528f71db2bdec95c74dd50fe7c76bce52f5f3eea47fe61d1dfd0cb7264cfd9458fd8b5db40d38a1adb86 SHA512 c335a652424f91f1ae79f907870bcd826cee21365b594353b3c52fb7fef51f637e9a65275c11f033b6bd7b6d918733904efc320b547999ee5b88a7b36ccb9389
diff --git a/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch b/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch
deleted file mode 100644
index e230a76d709f..000000000000
--- a/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/chartype.h b/src/chartype.h
-index c35825c..be5aac0 100644
---- a/src/chartype.h
-+++ b/src/chartype.h
-@@ -44,7 +44,7 @@
- * supports non-BMP code points without requiring UTF-16, but nothing
- * seems to actually advertise this properly, despite Unicode 3.1 having
- * been around since 2001... */
--#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__))
-+#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__DragonFly__) && !defined(__FreeBSD__)
- #ifndef __STDC_ISO_10646__
- /* In many places it is assumed that the first 127 code points are ASCII
- * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch b/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch
deleted file mode 100644
index a4399593d636..000000000000
--- a/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- libedit-20110709-3.0/src/vi.c.old 2011-07-11 18:21:16.000000000 +0000
-+++ libedit-20110709-3.0/src/vi.c 2011-07-11 18:24:29.000000000 +0000
-@@ -918,7 +918,7 @@
- * NB: posix implies that we should enter insert mode, however
- * this is against historical precedent...
- */
--#ifdef __weak_reference
-+#if defined(__weak_reference) && defined(__NetBSD__)
- __weakref_visible char *my_get_alias_text(const char *)
- __weak_reference(get_alias_text);
- #endif
-@@ -926,7 +926,7 @@
- /*ARGSUSED*/
- vi_alias(EditLine *el, Int c)
- {
--#ifdef __weak_reference
-+#if defined(__weak_reference) && defined(__NetBSD__)
- char alias_name[3];
- char *alias_text;
-
diff --git a/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch b/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch
deleted file mode 100644
index b0b157a24fda..000000000000
--- a/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-Port the el_fn_sh_complete from FreeBSD.
-This function is required by FreeBSD-9.0's sh.
-So that we can drop the bundled version in FreeBSD-9.0
-
-diff -uNr libedit-20120311-3.0/src/filecomplete.c libedit-20120311-3.0.freebsd/src/filecomplete.c
---- libedit-20120311-3.0/src/filecomplete.c 2012-03-11 09:54:58.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/filecomplete.c 2012-04-23 12:14:25.000000000 +0000
-@@ -56,6 +56,9 @@
-
- static const Char break_chars[] = { ' ', '\t', '\n', '"', '\\', '\'', '`', '@',
- '$', '>', '<', '=', ';', '|', '&', '{', '(', '\0' };
-+/* Tilde is deliberately omitted here, we treat it specially. */
-+static const Char extra_quote_chars[] = { ')', '}', '*', '?', '[', '$', '\0' };
-+
-
-
- /********************************/
-@@ -411,10 +414,14 @@
- char **(*attempted_completion_function)(const char *, int, int),
- const Char *word_break, const Char *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 TYPE(LineInfo) *li;
- Char *temp;
-+ char *dequoted_temp;
- char **matches;
- const Char *ctemp;
- size_t len;
-@@ -435,17 +442,28 @@
-
- /* We now look backwards for the start of a filename/variable word */
- li = FUN(el,line)(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
- && !Strchr(word_break, ctemp[-1])
- && (!special_prefixes || !Strchr(special_prefixes, ctemp[-1]) ) )
- ctemp--;
-+ }
-
- len = (size_t)(li->cursor - ctemp);
- temp = el_malloc((len + 1) * sizeof(*temp));
- (void)Strncpy(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 != 0)
-@@ -456,14 +474,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 = 0;
- 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;
-@@ -478,9 +496,19 @@
- * 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);
- FUN(el,insertstr)(el,
-- ct_decode_string(matches[0], &el->el_scratch));
-+ ct_decode_string(quoted_match? quoted_match : matches[0], &el->el_scratch));
-+
-+ free(quoted_match);
- }
-
- if (what_to_do == '?')
-@@ -553,12 +581,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;
- }
-@@ -572,5 +602,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);
- }
-diff -uNr libedit-20120311-3.0/src/filecomplete.h libedit-20120311-3.0.freebsd/src/filecomplete.h
---- libedit-20120311-3.0/src/filecomplete.h 2010-04-22 19:13:17.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/filecomplete.h 2012-04-23 12:04:12.000000000 +0000
-@@ -35,7 +35,10 @@
- char *(*)(const char *, int),
- char **(*)(const char *, int, int),
- const Char *, const Char *, 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 *);
-Binary files libedit-20120311-3.0/src/filecomplete.o and libedit-20120311-3.0.freebsd/src/filecomplete.o differ
-diff -uNr libedit-20120311-3.0/src/histedit.h libedit-20120311-3.0.freebsd/src/histedit.h
---- libedit-20120311-3.0/src/histedit.h 2011-08-02 06:52:08.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/histedit.h 2012-04-23 11:44:33.000000000 +0000
-@@ -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
-diff -ur libedit-20120311-3.0/src/readline.c libedit-20120311-3.0.freebsd/src/readline.c
---- libedit-20120311-3.0/src/readline.c 2012-03-11 09:54:58.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/readline.c 2012-04-23 12:20:11.000000000 +0000
-@@ -1773,7 +1773,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);
-
-
- }
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
diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch b/dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch
deleted file mode 100644
index e52b2559aa75..000000000000
--- a/dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7aa660fd9d446567d3280765ba2a50a46b2a9159 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 12 Jun 2017 21:36:54 +0200
-Subject: [PATCH] configure: Support -ltinfo as split in newer ncurses
-
-The newer versions of ncurses support building terminfo routines
-as a split -ltinfo library. Account for that by adding this library
-to the search list.
----
- configure.ac | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9a571b2..5d714b5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -49,7 +49,9 @@ EL_MANTYPE
- AC_CHECK_LIB(ncurses, tgetent,,
- [AC_CHECK_LIB(curses, tgetent,,
- [AC_CHECK_LIB(termcap, tgetent,,
-- [AC_MSG_ERROR([libncurses, libcurses, or libtermcap is required!])]
-+ [AC_CHECK_LIB(tinfo, tgetent,,
-+ [AC_MSG_ERROR([libncurses, libcurses, libtermcap or libtinfo is required!])]
-+ )]
- )]
- )]
- )
---
-2.13.1
-
diff --git a/dev-libs/libedit/files/libedit-ncursesprivate.patch b/dev-libs/libedit/files/libedit-ncursesprivate.patch
deleted file mode 100644
index 0af9b1b882a3..000000000000
--- a/dev-libs/libedit/files/libedit-ncursesprivate.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: libedit-20110709-3.0/libedit.pc.in
-===================================================================
---- libedit-20110709-3.0.orig/libedit.pc.in
-+++ libedit-20110709-3.0/libedit.pc.in
-@@ -7,6 +7,7 @@ Name: libedit
- 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
-
diff --git a/dev-libs/libedit/libedit-20130712.3.1.ebuild b/dev-libs/libedit/libedit-20130712.3.1.ebuild
deleted file mode 100644
index 6bf68ac10f6f..000000000000
--- a/dev-libs/libedit/libedit-20130712.3.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils toolchain-funcs versionator base multilib-minimal
-
-MY_PV=$(get_major_version)-$(get_after_major_version)
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="BSD replacement for libreadline"
-HOMEPAGE="https://thrysoee.dk/editline/"
-SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs"
-
-DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
- !<=sys-freebsd/freebsd-lib-6.2_rc1"
-
-RDEPEND=${DEPEND}
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-ncursesprivate.patch"
- "${FILESDIR}/${PN}-20100424.3.0-bsd.patch"
- "${FILESDIR}/${PN}-20110709.3.0-weak-reference.patch"
- "${FILESDIR}/${PN}-20120311-3.0-el_fn_sh_complete.patch"
- )
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable static-libs static) \
- --enable-widec \
- --enable-fast-install
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- gen_usr_ldscript -a edit
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
-}
diff --git a/dev-libs/libedit/libedit-20170329.3.1.ebuild b/dev-libs/libedit/libedit-20170329.3.1.ebuild
deleted file mode 100644
index 5b54982ca09b..000000000000
--- a/dev-libs/libedit/libedit-20170329.3.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-inherit autotools multilib-minimal toolchain-funcs
-
-MY_PV=${PV/./-}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="BSD replacement for libreadline"
-HOMEPAGE="https://thrysoee.dk/editline/"
-SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs"
-
-DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
- !<=sys-freebsd/freebsd-lib-6.2_rc1"
-
-RDEPEND=${DEPEND}
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${P}-ncursesprivate.patch"
- "${FILESDIR}/${P}-el_fn_sh_complete.patch"
- "${FILESDIR}/${P}-tinfo.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable static-libs static) \
- --enable-widec \
- --enable-fast-install
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- gen_usr_ldscript -a edit
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
- # file collission with sys-libs/readline
- rm "${ED%/}/usr/share/man/man3/history.3" || die
-}
diff --git a/dev-libs/libedit/metadata.xml b/dev-libs/libedit/metadata.xml
deleted file mode 100644
index 21c15532409c..000000000000
--- a/dev-libs/libedit/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>bsd@gentoo.org</email>
- <name>BSD Project</name>
-</maintainer>
-<longdescription>
-GNU Readline is cool, but BSD Readline is cooler :)
-Thus here is libedit by the NetBSD folks!
-The glibc/bsdlibc stuff comes from the debian tarball, thanks to them too :)
-The patch is handcrafted with a few ideas from libedit.sf.net and a few ideas
-from the debian package. This patch aims to be as small as possible (so as
-to make future cvs snapshots cake).
-</longdescription>
-</pkgmetadata>