]>
Commit | Line | Data |
---|---|---|
1 | diff -urNp -x '*.orig' mksh-59c.org/check.t mksh-59c/check.t | |
2 | --- mksh-59c.org/check.t 2020-10-31 04:53:30.000000000 +0100 | |
3 | +++ mksh-59c/check.t 2021-03-20 19:53:40.714261839 +0100 | |
4 | @@ -2484,7 +2484,7 @@ expected-stdout: | |
5 | !bc +bc ,bc 0bc 1bc ^bc cbc | |
6 | !bc +bc ,bc -bc 0bc 1bc ^bc cbc | |
7 | abc bbc | |
8 | - ^bc abc bbc | |
9 | + !bc +bc ,bc -bc 0bc 1bc ^bc cbc | |
10 | +bc ,bc -bc | |
11 | -bc 0bc 1bc | |
12 | --- | |
13 | diff -urNp -x '*.orig' mksh-59c.org/eval.c mksh-59c/eval.c | |
14 | --- mksh-59c.org/eval.c 2020-05-05 23:34:54.000000000 +0200 | |
15 | +++ mksh-59c/eval.c 2021-03-20 19:53:40.717595272 +0100 | |
16 | @@ -1108,6 +1108,7 @@ expand( | |
17 | switch (ord(c)) { | |
18 | case ORD('['): | |
19 | case ORD('!'): | |
20 | + case ORD(NOT2): | |
21 | case ORD('-'): | |
22 | case ORD(']'): | |
23 | /* | |
24 | diff -urNp -x '*.orig' mksh-59c.org/misc.c mksh-59c/misc.c | |
25 | --- mksh-59c.org/misc.c 2020-08-27 21:53:12.000000000 +0200 | |
26 | +++ mksh-59c/misc.c 2021-03-20 19:53:40.717595272 +0100 | |
27 | @@ -1018,7 +1018,7 @@ gmatch_cclass(const unsigned char *pat, | |
28 | char *subp; | |
29 | ||
30 | /* check for negation */ | |
31 | - if (ISMAGIC(p[0]) && ord(p[1]) == ORD('!')) { | |
32 | + if (ISMAGIC(p[0]) && (ord(p[1]) == ORD('!') || ord(p[1]) == ORD(NOT2))) { | |
33 | p += 2; | |
34 | negated = true; | |
35 | } | |
36 | diff -urNp -x '*.orig' mksh-59c.org/sh.h mksh-59c/sh.h | |
37 | --- mksh-59c.org/sh.h 2020-10-31 04:53:33.000000000 +0100 | |
38 | +++ mksh-59c/sh.h 2021-03-20 19:53:40.717595272 +0100 | |
39 | @@ -580,6 +580,7 @@ extern int __cdecl setegid(gid_t); | |
40 | */ | |
41 | #define MAGIC KSH_BEL /* prefix for *?[!{,} during expand */ | |
42 | #define ISMAGIC(c) (ord(c) == ORD(MAGIC)) | |
43 | +#define NOT2 '^' | |
44 | ||
45 | EXTERN const char *safe_prompt; /* safe prompt if PS1 substitution fails */ | |
46 |