tg
ed36b0956d
merge commit b0a2ea76327760a7ecf35172fe525f8aa39320b2 from Harvey-OS:
...
“Until sigsuspend could work propery”[sic]
2017-05-15 13:35:38 +00:00
tg
4acbb48229
exclude nōn-HPFS-safe pathname-using test from OS/2 (thanks komh)
...
also exclude on cygwin/msys as not FAT/NTFS-safe
2017-05-14 19:05:44 +00:00
tg
fa5eb879c4
oops, reverted not enough in commitid 1005909EE7C16B07DC3
2017-05-05 22:59:36 +00:00
tg
868d982efb
sprinkle tons more ord() around
...
this is really not funny… mksh-ng will use even more “unsigned only”
2017-05-05 22:53:32 +00:00
tg
5c72925bf3
add EBCDIC primer and attribution for iSKUNK
2017-05-05 22:45:58 +00:00
tg
e2dcf35cf5
catch z/OS not having $Config not filling in the __perlpath env correctly
2017-05-05 21:17:31 +00:00
tg
cc725e67ca
switch EBCDIC to “nega-UTF8”
2017-05-05 20:36:03 +00:00
tg
6dc1ab0379
some more small EBCDIC fixes
2017-05-05 19:43:52 +00:00
tg
01b0c107b5
we absolutely require unambiguous mapping between EBCDIC and extended ASCII
...
to be able to provide a global stronly monotonous order for comparisons and
bracket expression ranges
2017-05-03 21:50:33 +00:00
tg
efa4d0d2cf
ensure NUL in ASCII and EBCDIC both always occurs ordinal 0
2017-05-03 17:51:06 +00:00
tg
c03372e8a4
first cut at the new matching code, IT WORKS!!! in the FIRST try!
...
missing:
- tons of new testcases
- EBCDIC support with ASCII ordering for POSIX ranges
2017-05-03 17:48:08 +00:00
tg
515df6ab7c
split and adapt some testcases for EBCDIC
2017-05-03 16:17:08 +00:00
tg
46865d7fc8
move the constants to an EBCDIC-friendly range
2017-05-03 15:36:12 +00:00
tg
c4bcfd944e
move magic constants into definitions
2017-05-03 15:33:16 +00:00
tg
4c5d033f75
sprinkle a few ord() and add an indicator of why some code fails on EBCDIC
2017-05-03 14:51:25 +00:00
tg
0ee37a982d
move more EBCDIC logic into check.pl
2017-05-03 14:51:15 +00:00
tg
d8bd19e23e
handle EBCDIC in the testsuite runner (error display)
...
- move categories for that to test.sh, simplifying it
- $ebcdic in Build.sh is now for the target, not the buildhost
2017-05-03 13:00:10 +00:00
tg
60a9292b2f
add -U to test.sh as well, oops…
2017-05-01 20:03:25 +00:00
tg
241b072099
commit my WIP for the Beltane Snapshot of the Mainframe Korn Shell, not going to make finishing it tonight ☹
2017-05-01 19:44:29 +00:00
tg
86f45be109
nuke unused stuff
2017-05-01 19:44:16 +00:00
tg
7a68ad12d2
require Config only if it exists, which it reportedly doesn’t on OS/390
2017-05-01 19:43:23 +00:00
tg
1b3ef94b7d
clarify; default to xlc(1) as $CC on z/OS
2017-05-01 19:22:53 +00:00
tg
7c433ba94b
add BSDish [[:<:]] and [[:>:]] matching (angle brackets must be escaped)
2017-05-01 15:59:45 +00:00
tg
e6395046df
use strnul(); optimise
2017-04-29 22:04:31 +00:00
tg
f2de19c41f
reimplement has_globbing() with proper bracket expression parsing,
...
and take ahead parsing collating symbols, equivalence classes and
character classes already (heck my first draft of this already did
better than GNU bash, ksh93 I still don’t grok its code at all)
2017-04-29 21:49:07 +00:00
tg
bcf3130230
clean up OS exclusions somewhat: have Perl substitute the UTF-8 locale
2017-04-29 15:18:25 +00:00
tg
a6686cfec5
handle expected utf8opt-2a failures better (i.e. don’t even try)
2017-04-29 14:36:13 +00:00
tg
55d20ee9d2
instead of disabling, make it work
2017-04-29 14:20:24 +00:00
tg
12988793b1
optimise <0x20/>0x7E into !C_PRINT
2017-04-28 21:43:30 +00:00
tg
53ae897e1b
since we have -DMKSH_ASSUME_UTF8=0 on z/OS, omit the known-to-fail check on OS/390
2017-04-28 21:43:02 +00:00
tg
bf0404e331
add C_ASCII (0x01 .. 0x7F: 7-bit ASCII except NUL)
2017-04-28 12:02:41 +00:00
tg
1e763eeb7b
move three variables into common data, meaning .bss (hopefully)
2017-04-28 11:51:40 +00:00
tg
c7f9c5a201
const
2017-04-28 11:48:46 +00:00
tg
cb4bac0615
keep ksh_ctypes[] array keys in EBCDIC
...
we set $IFS massively less often than use ctype()
2017-04-28 11:31:53 +00:00
tg
7ff7821d6a
fill the map backwards (to use first occurrence of duplicates);
...
add a cache to ensure basic ASCII mapping is bijective
2017-04-28 11:27:58 +00:00
tg
5743c00a5b
add -DMKSH_FAUX_EBCDIC to test the codepaths better
...
waking up to: Lanfear - Just Another Broken Shell
2017-04-28 11:13:49 +00:00
tg
5c2a0a1efc
fix C array arithmetics
2017-04-28 04:13:19 +00:00
tg
dba2efa290
oops, ctypes are indexed by ASCII value even on EBCDIC systems
2017-04-28 03:51:14 +00:00
tg
d905bd16e1
rename asc() to asciibetical() to make clear it’s for POSIX ordering only
...
and switch remaining consumers, except the allowed one, to rtt2asc()
2017-04-28 03:46:50 +00:00
tg
1c6b2d1cb8
allow backslash escapes for bind for ^ and \ o̲n̲l̲y̲; also more EBCDIC-friendly
2017-04-28 03:37:44 +00:00
tg
fba6940ba4
control character madness, but more compiler-friendly
2017-04-28 03:28:19 +00:00
tg
2482c8b73d
fill two complete round-trip maps EBCDIC <-> ASCII
2017-04-28 02:40:26 +00:00
tg
1289bc69fb
apply most of the remaining parts of the EBCDIC patch, sans the CTRL() changes
2017-04-28 02:24:58 +00:00
tg
d658ad626b
commit the EBCDIC run-time table conversion code, so it can be reviewed
...
XXX there’s still the issue of compile-time character conversion, and
XXX that runtime m̲u̲s̲t̲ use a compatible codepage, which we cannot check,
XXX and that we need the POSIX portable character set mapped, which we
XXX decide to not check (due to the above, mostly)
2017-04-28 01:15:51 +00:00
tg
8df7c0c94a
BEL was, and Vi mode is, not EBCDIC-safe
2017-04-28 00:49:33 +00:00
tg
2231ff566d
commit the optimisation result from the new fast character classes
2017-04-28 00:38:33 +00:00
tg
4405a995ad
adjust
2017-04-28 00:33:15 +00:00
tg
884153131d
prepare for EBCDIC target environments (with -E option)
...
this differs from EBCDIC build hosts which can be autodetected
2017-04-28 00:27:48 +00:00
tg
d3ffed0331
remove debugging code again
2017-04-27 23:35:09 +00:00
tg
394a8507e8
fix return value to signed
2017-04-27 23:34:20 +00:00