summaryrefslogtreecommitdiffstats
path: root/system/ksh/patches/00_completion.diff
diff options
context:
space:
mode:
Diffstat (limited to 'system/ksh/patches/00_completion.diff')
-rw-r--r--system/ksh/patches/00_completion.diff117
1 files changed, 0 insertions, 117 deletions
diff --git a/system/ksh/patches/00_completion.diff b/system/ksh/patches/00_completion.diff
deleted file mode 100644
index ee843032ca..0000000000
--- a/system/ksh/patches/00_completion.diff
+++ /dev/null
@@ -1,117 +0,0 @@
-Index: bin/ksh/edit.c
-===================================================================
-RCS file: /cvs/src/bin/ksh/edit.c,v
-retrieving revision 1.34
-diff -u -r1.34 edit.c
---- ksh/edit.c 20 May 2010 01:13:07 -0000 1.34
-+++ ksh/edit.c 9 May 2011 19:44:06 -0000
-@@ -357,20 +357,6 @@
-
- toglob = add_glob(str, slen);
-
-- /* remove all escaping backward slashes */
-- escaping = 0;
-- for (i = 0, idx = 0; toglob[i]; i++) {
-- if (toglob[i] == '\\' && !escaping) {
-- escaping = 1;
-- continue;
-- }
--
-- toglob[idx] = toglob[i];
-- idx++;
-- if (escaping) escaping = 0;
-- }
-- toglob[idx] = '\0';
--
- /*
- * Convert "foo*" (toglob) to an array of strings (words)
- */
-@@ -378,7 +364,7 @@
- s = pushs(SWSTR, ATEMP);
- s->start = s->str = toglob;
- source = s;
-- if (yylex(ONEWORD) != LWORD) {
-+ if (yylex(ONEWORD|RMBKSLSH) != LWORD) {
- source = sold;
- internal_errorf(0, "fileglob: substitute error");
- return 0;
-@@ -394,6 +380,20 @@
- if (nwords == 1) {
- struct stat statb;
-
-+ /* remove all escaping backward slashes (see below) */
-+ escaping = 0;
-+ for (i = 0, idx = 0; toglob[i]; i++) {
-+ if (toglob[i] == '\\' && !escaping) {
-+ escaping = 1;
-+ continue;
-+ }
-+
-+ toglob[idx] = toglob[i];
-+ idx++;
-+ if (escaping) escaping = 0;
-+ }
-+ toglob[idx] = '\0';
-+
- /* Check if globbing failed (returned glob pattern),
- * but be careful (E.g. toglob == "ab*" when the file
- * "ab*" exists is not an error).
-@@ -821,7 +821,7 @@
- int rval = 0;
-
- for (add = 0, wlen = len; wlen - add > 0; add++) {
-- if (strchr("\"#$&'()*;<=>?[\\]`{|}", s[add]) ||
-+ if (strchr(ESCAPEDCHARS, s[add]) ||
- strchr(ifs, s[add])) {
- if (putbuf_func(s, add) != 0) {
- rval = -1;
-Index: bin/ksh/lex.c
-===================================================================
-RCS file: /cvs/src/bin/ksh/lex.c,v
-retrieving revision 1.45
-diff -u -r1.45 lex.c
---- ksh/lex.c 9 Mar 2011 09:30:39 -0000 1.45
-+++ ksh/lex.c 9 May 2011 19:44:07 -0000
-@@ -299,6 +299,10 @@
- }
- /* FALLTHROUGH */
- default:
-+ if ((cf & RMBKSLSH) && strchr(" " ESCAPEDCHARS, c)) {
-+ *wp++ = QCHAR, *wp++ = c;
-+ break;
-+ }
- Xcheck(ws, wp);
- if (c) { /* trailing \ is lost */
- *wp++ = CHAR, *wp++ = '\\';
-Index: bin/ksh/lex.h
-===================================================================
-RCS file: /cvs/src/bin/ksh/lex.h,v
-retrieving revision 1.11
-diff -u -r1.11 lex.h
---- ksh/lex.h 29 May 2006 18:22:24 -0000 1.11
-+++ ksh/lex.h 9 May 2011 19:44:07 -0000
-@@ -113,6 +113,7 @@
- #define CMDWORD BIT(8) /* parsing simple command (alias related) */
- #define HEREDELIM BIT(9) /* parsing <<,<<- delimiter */
- #define HEREDOC BIT(10) /* parsing heredoc */
-+#define RMBKSLSH BIT(11) /* remove backslashes */
-
- #define HERES 10 /* max << in line */
-
-Index: bin/ksh/sh.h
-===================================================================
-RCS file: /cvs/src/bin/ksh/sh.h,v
-retrieving revision 1.30
-diff -u -r1.30 sh.h
---- ksh/sh.h 4 Jan 2010 18:07:11 -0000 1.30
-+++ ksh/sh.h 9 May 2011 19:44:07 -0000
-@@ -398,6 +398,9 @@
- #define OBRACE '{'
- #define CBRACE '}'
-
-+/* Characters to be escaped */
-+#define ESCAPEDCHARS "\"#$&'()*;<=>?[\\]`{|}"
-+
- /* Determine the location of the system (common) profile */
- #define KSH_SYSTEM_PROFILE "/etc/profile"
-