+++ mksh-56/eval.c 2017-08-12 22:40:32.672676143 +0200
@@ -1005,6 +1005,7 @@
switch (ord(c)) {
- case ord('['):
- case ord('!'):
-+ case ord(NOT2):
- case ord('-'):
- case ord(']'):
+ case ORD('['):
+ case ORD('!'):
++ case ORD(NOT2):
+ case ORD('-'):
+ case ORD(']'):
/*
diff -ur mksh-56.orig/misc.c mksh-56/misc.c
--- mksh-56.orig/misc.c 2017-08-12 22:10:26.321676398 +0200
char *subp;
/* check for negation */
-- if (ISMAGIC(p[0]) && ord(p[1]) == ord('!')) {
-+ if (ISMAGIC(p[0]) && (ord(p[1]) == ord('!') || ord(p[1]) == ord(NOT2))) {
+- if (ISMAGIC(p[0]) && ord(p[1]) == ORD('!')) {
++ if (ISMAGIC(p[0]) && (ord(p[1]) == ORD('!') || ord(p[1]) == ORD(NOT2))) {
p += 2;
negated = true;
}
@@ -550,6 +550,7 @@
*/
#define MAGIC KSH_BEL /* prefix for *?[!{,} during expand */
- #define ISMAGIC(c) (ord(c) == ord(MAGIC))
+ #define ISMAGIC(c) (ord(c) == ORD(MAGIC))
+#define NOT2 '^'
EXTERN const char *safe_prompt; /* safe prompt if PS1 substitution fails */
--- mksh-50/main.c.orig 2014-08-21 18:13:38.072682886 +0200
+++ mksh-50/main.c 2014-08-21 18:29:13.715976954 +0200
-@@ -591,10 +591,14 @@
+@@ -591,9 +591,14 @@
if (Flag(FLOGIN))
include(substitute("$HOME/.profile", 0), 0, NULL, true);
if (Flag(FTALKING)) {
-- cp = substitute(substitute("${ENV:-" MKSHRC_PATH "}",
-- 0), DOTILDE);
-+ cp = substitute(substitute("${ENV}", 0), DOTILDE);
+- cp = substitute("${ENV:-" MKSHRC_PATH "}", DOTILDE);
++ cp = substitute("${ENV}", DOTILDE);
if (cp[0] != '\0')
include(cp, 0, NULL, true);
+ else {
Summary: MirBSD Korn Shell
Summary(pl.UTF-8): Powłoka Korna z MirBSD
Name: mksh
-Version: 56b
+Version: 56c
Release: 1
License: BSD
Group: Applications/Shells
Source0: https://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.tgz
-# Source0-md5: 6b65b3798f5f6a057fa541fc08cc2be9
+# Source0-md5: 4799a9ac6d55871d79ba66713d928663
Source1: %{name}-mkshrc
Source2: get-source.sh
Patch0: %{name}-mkshrc_support.patch