]>
Commit | Line | Data |
---|---|---|
1 | diff -ur mksh-40.org//eval.c mksh-40/eval.c | |
2 | --- mksh-40.org//eval.c 2011-06-12 16:45:57.000000000 +0200 | |
3 | +++ mksh-40/eval.c 2011-07-07 18:27:58.891492090 +0200 | |
4 | @@ -887,6 +887,7 @@ | |
5 | switch (c) { | |
6 | case '[': | |
7 | case NOT: | |
8 | + case NOT2: | |
9 | case '-': | |
10 | case ']': | |
11 | /* | |
12 | diff -ur mksh-40.org//misc.c mksh-40/misc.c | |
13 | --- mksh-40.org//misc.c 2011-06-12 16:45:58.000000000 +0200 | |
14 | +++ mksh-40/misc.c 2011-07-07 18:28:39.015826686 +0200 | |
15 | @@ -652,7 +652,7 @@ | |
16 | if (!in_bracket) { | |
17 | saw_glob = true; | |
18 | in_bracket = true; | |
19 | - if (ISMAGIC(p[1]) && p[2] == NOT) | |
20 | + if (ISMAGIC(p[1]) && (p[2] == NOT || p[2] == NOT2)) | |
21 | p += 2; | |
22 | if (ISMAGIC(p[1]) && p[2] == ']') | |
23 | p += 2; | |
24 | @@ -831,7 +831,7 @@ | |
25 | int c, d, notp, found = 0; | |
26 | const unsigned char *orig_p = p; | |
27 | ||
28 | - if ((notp = (ISMAGIC(*p) && *++p == NOT))) | |
29 | + if ((notp = (ISMAGIC(*p) && (*++p == NOT || *p == NOT2)))) | |
30 | p++; | |
31 | do { | |
32 | c = *p++; | |
33 | diff -ur mksh-40.org//sh.h mksh-40/sh.h | |
34 | --- mksh-40.org//sh.h 2011-06-12 16:59:09.000000000 +0200 | |
35 | +++ mksh-40/sh.h 2011-07-07 18:29:16.346761511 +0200 | |
36 | @@ -380,6 +380,7 @@ | |
37 | #define MAGIC (7) /* prefix for *?[!{,} during expand */ | |
38 | #define ISMAGIC(c) ((unsigned char)(c) == MAGIC) | |
39 | #define NOT '!' /* might use ^ (ie, [!...] vs [^..]) */ | |
40 | +#define NOT2 '^' | |
41 | ||
42 | #define LINE 4096 /* input line size */ | |
43 | ||
44 | diff -ur mksh-40.org//tree.c mksh-40/tree.c | |
45 | --- mksh-40.org//tree.c 2011-05-29 04:19:21.000000000 +0200 | |
46 | +++ mksh-40/tree.c 2011-07-07 18:30:12.088149284 +0200 | |
47 | @@ -289,7 +289,7 @@ | |
48 | case CHAR: | |
49 | c = *wp++; | |
50 | if ((opmode & WDS_MAGIC) && | |
51 | - (ISMAGIC(c) || c == '[' || c == NOT || | |
52 | + (ISMAGIC(c) || c == '[' || c == NOT || c == NOT2 || | |
53 | c == '-' || c == ']' || c == '*' || c == '?')) | |
54 | shf_putc(MAGIC, shf); | |
55 | shf_putc(c, shf); |