Commit Graph

3142 Commits

Author SHA1 Message Date
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
tg 15e4861f71 disambiguate $((…)) vs. $((…)…) in “typeset -f” output 2017-04-11 12:34:04 +00:00
tg ca6bd1f99b make -masm=intel safe: don’t call a module-global variable “es” 2017-04-08 20:35:03 +00:00
tg fae945962b allow 'eval break', from Martijn Dekker
also, more string pooling, while here
2017-04-08 01:07:18 +00:00
tg cadc884008 put the hyphen-minus back into the allowed alias name characters, for
Steffen Nurpmeso <steffen@sdaoden.eu>, except disallow it at the start
2017-04-06 19:02:07 +00:00
tg 6f991beb90 last tweak, to demonstrate brokenness of the old code 2017-04-06 02:15:22 +00:00
tg 3909a42540 fix reentrancy of 'typeset -f' output in the face of aliases; also,
move alias handling for COMSUBs and friends to parse time by request
of Martijn Dekker (and for consistency with function definitions)
2017-04-06 01:59:58 +00:00
tg 094cce63c5 something comfy 2017-04-06 01:46:42 +00:00
tg e00f693cba limit alias characters to what POSIX requires 2017-04-06 00:53:35 +00:00