tg
5db583cd81
handle drive-qualified nōn-absolute pathnames in do_realpath(), untested
...
the idea here is that:
- /foo/bar and a:/foo/bar are absolute
- foo/bar is relative
- a:foo/bar needs to be handled specially,
mostly per making it into an absolute (“a:/” + getcwd(a:) + “foo/bar”)
2017-10-11 23:23:03 +00:00
tg
d5a29d5e60
mksh_abspath() on OS/2 now requires a dir separator after the drive letter
...
and colon for it to recognise a pathname as absolute, as it should be
XXX make_path() unreviewed wrt this change
2017-10-11 21:52:46 +00:00
tg
af61fd186a
all uses of mksh_vdirsep should exclude “\builtin” from triggering it
2017-10-11 21:09:24 +00:00
tg
f578d7cd10
eval.c has the only mksh_sdirsep caller and uses it on substrings,
...
so OS/2 drive letter checks are not correct there
2017-10-11 20:55:06 +00:00
tg
99db3ecb5c
inline OS/2’s mksh_sdirsep() into its mksh_vdirsep()
...
because we must separate these two
2017-10-11 20:50:46 +00:00
tg
2b329c9343
introduce mksh_drvltr(s) short-hand macro
2017-10-11 20:29:05 +00:00
tg
4d23a65454
monkey-patch offsetof for a klibc/dietlibc warning; bump to R56b (bugfixes)
2017-08-29 13:38:31 +00:00
tg
bee53eb667
bump
2017-08-08 21:11:20 +00:00
tg
5f58b04c54
fix a GCC 7 pointer target signedness warning
2017-08-07 21:56:54 +00:00
tg
de7e092ad7
release
2017-08-07 21:39:26 +00:00
tg
b903a5e66a
make readonly idempotent; spotted by selk from Dragora
2017-07-26 23:02:28 +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
86f45be109
nuke unused stuff
2017-05-01 19:44:16 +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
55d20ee9d2
instead of disabling, make it work
2017-04-29 14:20:24 +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
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
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
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
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
9db3cb57b9
allow : and [ in alias names (but forbid [[ explicitly)
...
to make 'enable' completely work again
2017-04-27 23:33:22 +00:00
tg
13e91621ca
fixup the remaining issues and last optimisations
2017-04-27 23:12:49 +00:00
tg
d54d4aab50
batch of optimisations
2017-04-27 20:22:28 +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
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
c35a5db0ac
restore ‘.’ as allowed char in alias names
2017-04-20 20:50:14 +00:00
tg
cb7280db1d
amend MAGIC comment
2017-04-20 16:50:48 +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
833cb27f5c
add test -v, initially from Martijn Dekker
2017-04-12 17:38:46 +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
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
e00f693cba
limit alias characters to what POSIX requires
2017-04-06 00:53:35 +00:00
tg
bcde17a8fc
streamline some error messages
2017-04-06 00:41:42 +00:00
tg
fa5cfa12ed
string pooling, and more consistent look for error messages
2017-04-02 16:47:43 +00:00
tg
718d397fff
merge mksh-os2 by KO Myung-Hun <komh@chollian.net> from https://github.com/komh/mksh-os2
2017-04-02 15:00:45 +00:00
mirabilos
a6619d1ef2
use new MKSH_WITH_TEXTMODE for several of the #ifdefs
2017-04-02 16:41:01 +02:00
mirabilos
7fb9d283c5
Merge mksh CVS HEAD
2017-04-02 16:32:16 +02:00
tg
8bf6cad8bc
introduce the -T flag to set TEXTMODE (ASCII CR+LF newline support)
2017-04-02 14:14:08 +00:00