]>
Commit | Line | Data |
---|---|---|
7438aa93 JP |
1 | diff -ur mksh-56.orig/eval.c mksh-56/eval.c |
2 | --- mksh-56.orig/eval.c 2017-08-12 22:10:26.321676398 +0200 | |
3 | +++ mksh-56/eval.c 2017-08-12 22:40:32.672676143 +0200 | |
4 | @@ -1005,6 +1005,7 @@ | |
5 | switch (ord(c)) { | |
17021960 JP |
6 | case ORD('['): |
7 | case ORD('!'): | |
8 | + case ORD(NOT2): | |
9 | case ORD('-'): | |
10 | case ORD(']'): | |
118a1201 | 11 | /* |
7438aa93 JP |
12 | diff -ur mksh-56.orig/misc.c mksh-56/misc.c |
13 | --- mksh-56.orig/misc.c 2017-08-12 22:10:26.321676398 +0200 | |
14 | +++ mksh-56/misc.c 2017-08-12 22:40:32.672676143 +0200 | |
15 | @@ -966,7 +966,7 @@ | |
16 | char *subp; | |
118a1201 | 17 | |
7438aa93 | 18 | /* check for negation */ |
17021960 JP |
19 | - if (ISMAGIC(p[0]) && ord(p[1]) == ORD('!')) { |
20 | + if (ISMAGIC(p[0]) && (ord(p[1]) == ORD('!') || ord(p[1]) == ORD(NOT2))) { | |
7438aa93 JP |
21 | p += 2; |
22 | negated = true; | |
23 | } | |
24 | diff -ur mksh-56.orig/sh.h mksh-56/sh.h | |
25 | --- mksh-56.orig/sh.h 2017-08-12 22:10:26.325009789 +0200 | |
26 | +++ mksh-56/sh.h 2017-08-12 22:40:32.696009488 +0200 | |
27 | @@ -550,6 +550,7 @@ | |
28 | */ | |
29 | #define MAGIC KSH_BEL /* prefix for *?[!{,} during expand */ | |
17021960 | 30 | #define ISMAGIC(c) (ord(c) == ORD(MAGIC)) |
118a1201 AM |
31 | +#define NOT2 '^' |
32 | ||
7438aa93 | 33 | EXTERN const char *safe_prompt; /* safe prompt if PS1 substitution fails */ |
118a1201 | 34 | |
7438aa93 JP |
35 | diff -ur mksh-56.orig/check.t mksh-56/check.t |
36 | --- mksh-56.orig/check.t 2017-08-12 22:10:26.321676398 +0200 | |
37 | +++ mksh-56/check.t 2017-08-12 22:41:46.886083258 +0200 | |
38 | @@ -2438,7 +2438,7 @@ | |
39 | !bc +bc ,bc 0bc 1bc ^bc cbc | |
40 | !bc +bc ,bc -bc 0bc 1bc ^bc cbc | |
a07aa890 AM |
41 | abc bbc |
42 | - ^bc abc bbc | |
7438aa93 JP |
43 | + !bc +bc ,bc -bc 0bc 1bc ^bc cbc |
44 | +bc ,bc -bc | |
45 | -bc 0bc 1bc | |
a07aa890 | 46 | --- |