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
tg
d3be19ac69
now actually do comparisons for sorting ASCIIbetically
2017-04-21 20:06:06 +00:00
tg
e18a509a80
make ord() result unsigned int; add asc() which is:
...
• not designed to be emitted, only used in comparisons with
other asc() results
• on EBCDIC platforms, the mapping of an EBCDIC octet to their
corresponding ASCII or Unicode/UCS-4 codepoint or, if there
is no mapping, a distinct value above all valid Unicode codepoints
• on nōn-EBCDIC platforms, just the identity mapping of the input
octet into their ord() value
Intended use are ASCII-ish character ops, including ranges (“A-Z”),
mapping from those to the corresponding digit offset, and sorting
of things in an ASCIIbetical way
2017-04-21 19:50:09 +00:00
tg
36ea8e6171
on ^C (INTR, QUIT edchars), shove input line into history
2017-04-21 19:08:18 +00:00
tg
74bd8b61a3
fix accidentally defanged PATHSEP test
2017-04-20 21:43:43 +00:00
tg
c35a5db0ac
restore ‘.’ as allowed char in alias names
2017-04-20 20:50:14 +00:00
tg
efc7856c46
useful testcase from POSIX
2017-04-20 18:44:07 +00:00
tg
cb7280db1d
amend MAGIC comment
2017-04-20 16:50:48 +00:00
tg
b874c66f61
fix comment
2017-04-20 16:34:39 +00:00
tg
2699a0686e
do not apply alias name restrictions to directories or “hash”
...
reported by Seb <sbb@tuxfamily.org>
2017-04-17 19:51:47 +00:00
tg
f5c804d416
R55
2017-04-12 18:33:23 +00:00
tg
a0993c690c
finally document FPOSIX and FSH delta
2017-04-12 18:30:58 +00:00
tg
cad44b9f01
fix test operator comment descriptions
2017-04-12 17:46:29 +00:00
tg
833cb27f5c
add test -v, initially from Martijn Dekker
2017-04-12 17:38:46 +00:00
tg
1513145b0e
ok, you’ve got a point there
2017-04-12 17:08:49 +00:00
tg
30cae62468
(very few) fixes and a couple of workarounds for Coverity
2017-04-12 16:46:23 +00:00
tg
efe13f6942
now we have cheap cta move them into compile time
2017-04-12 16:01:45 +00:00
tg
86cb621c88
fix ^O if modified; LP#1675842
2017-04-12 15:54:47 +00:00
tg
0ec3cfee0d
make compile-time asserts simpler
2017-04-12 15:23:31 +00:00
tg
6cd65f7a6c
Clarify the effect of exit and return in a subshell
...
From: Jean Delvare <jdelvare@suse.de>
2017-04-11 17:40:41 +00:00