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
tg
9db3cb57b9
allow : and [ in alias names (but forbid [[ explicitly)
...
to make 'enable' completely work again
2017-04-27 23:33:22 +00:00
tg
8db6d22188
refactor
2017-04-27 23:18:05 +00:00
tg
13e91621ca
fixup the remaining issues and last optimisations
2017-04-27 23:12:49 +00:00
tg
8bd529a08c
debugging bugs in optimising
2017-04-27 22:38:49 +00:00
tg
d54d4aab50
batch of optimisations
2017-04-27 20:22:28 +00:00
tg
1080008a8f
eliminate legacy macros
2017-04-27 19:33:53 +00:00
tg
91a3d6751e
fix C_LEX1 which does STILL N̲O̲T̲ include the NUL…
2017-04-27 19:19:05 +00:00
tg
b228c59895
convert to the new fast character classes
2017-04-27 19:16:10 +00:00
tg
5c6936ddc8
debugging 1/2
2017-04-27 18:44:35 +00:00
tg
3dff460cde
prepare the new fast character classes, not live yet: need sanity check
...
unfortunately we need at least 21 or so, maybe 19, classes, so sizing
things down to short is not possible; we can splurge with 32 bit thus
2017-04-22 00:07:10 +00:00