]>
Commit | Line | Data |
---|---|---|
118a1201 AM |
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 '[': | |
cdde4aae | 7 | case '!': |
118a1201 AM |
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; | |
cdde4aae KK |
19 | - if (ISMAGIC(p[1]) && p[2] == '!') |
20 | + if (ISMAGIC(p[1]) && (p[2] == '!' || p[2] == NOT2)) | |
118a1201 AM |
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 | ||
cdde4aae KK |
28 | - if ((notp = (ISMAGIC(*p) && *++p == '!'))) |
29 | + if ((notp = (ISMAGIC(*p) && (*++p == '!' || *p == NOT2)))) | |
118a1201 AM |
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 | |
cdde4aae | 36 | @@ -380,5 +380,6 @@ |
118a1201 AM |
37 | #define MAGIC (7) /* prefix for *?[!{,} during expand */ |
38 | #define ISMAGIC(c) ((unsigned char)(c) == MAGIC) | |
118a1201 AM |
39 | +#define NOT2 '^' |
40 | ||
41 | #define LINE 4096 /* input line size */ | |
42 | ||
43 | diff -ur mksh-40.org//tree.c mksh-40/tree.c | |
44 | --- mksh-40.org//tree.c 2011-05-29 04:19:21.000000000 +0200 | |
45 | +++ mksh-40/tree.c 2011-07-07 18:30:12.088149284 +0200 | |
46 | @@ -289,7 +289,7 @@ | |
47 | case CHAR: | |
48 | c = *wp++; | |
49 | if ((opmode & WDS_MAGIC) && | |
cdde4aae KK |
50 | - (ISMAGIC(c) || c == '[' || c == '!' || |
51 | + (ISMAGIC(c) || c == '[' || c == '!' || c == NOT2 || | |
118a1201 AM |
52 | c == '-' || c == ']' || c == '*' || c == '?')) |
53 | shf_putc(MAGIC, shf); | |
54 | shf_putc(c, shf); |