diff options
author | Daniel LEVAI <leva@ecentrum.hu> | 2011-07-12 05:07:53 -0400 |
---|---|---|
committer | Niels Horn <niels.horn@slackbuilds.org> | 2011-07-14 21:54:05 -0300 |
commit | 1891d18636da5960a401d38c0c88eb80502a94b7 (patch) | |
tree | 85568990caabc27c57dd0fc410c61a6c3d5404d7 /system/ksh/patches/00_completion.diff | |
parent | b83a950cb2b175c849b15c8aa478dff504e072be (diff) | |
download | slackbuilds-1891d18636da5960a401d38c0c88eb80502a94b7.tar.gz slackbuilds-1891d18636da5960a401d38c0c88eb80502a94b7.tar.xz |
system/ksh: Updated for new patches.
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
Diffstat (limited to '')
-rw-r--r-- | system/ksh/patches/00_completion.diff | 117 |
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" - |