tg
886aee865d
fixup high-bit7 chars to be dumped (XXX probably want M- there)
2018-10-20 18:46:00 +00:00
tg
6cea111ef1
same as in commitid 1005B6CF36E3932B560, plus assorted cleanup
2018-08-10 02:53:39 +00:00
tg
2e1150c8e8
against better judgement, allow unsetting COLUMNS:
...
• GNU coreutils’ test suite insists on it, even despite it can run
successfully without doing it (WTF‽)…
• we already unspecial, explicitly commented as “hands-off” it,
when imported from the environment
• it was already changeable (though that didn’t unspecial it on the
command line)
2018-07-15 17:21:24 +00:00
tg
3d08263d69
Unicode 11.0.0
2018-06-26 21:22:24 +00:00
tg
28637e55fd
fix using “-m” on the command line; spotted by G.raud <graud@gmx.com> on ML
2018-05-08 17:37:37 +00:00
tg
3560784571
fix typeset -L vs. Unicode: snprintf second arg was wrong
2018-05-07 00:07:23 +00:00
tg
09c8df8058
fix allexport for arrays; add testcase that also catches exporting arrays
2018-04-28 07:07:39 +00:00
tg
4abbaa0400
make ${foo#'bar'} in here document behave like ksh93
...
reported by Martijn Dekker <martijn@inlv.org>
2018-03-09 01:29:11 +00:00
tg
1474437b57
bump; add testcase provided by @mvdan on github
2018-01-14 01:47:36 +00:00
tg
5c920fe4db
clean up
2018-01-14 01:44:02 +00:00
tg
f7b0277504
shf_getc{,har} need to return properly casted
2018-01-14 01:28:16 +00:00
tg
9691e330b9
after literally HOURS of debugging, I got a working-ish expression…
2018-01-14 00:47:11 +00:00
tg
609f5c2256
plug the first couple of ctype bugs
2018-01-14 00:22:30 +00:00
tg
9e4868fb06
oops, casting negative char to size_t is… not nice
2018-01-14 00:09:34 +00:00
tg
c763e7b0e9
revert the CORD debugging aid
...
(introduced so that ORD could eval its args twice in !DEBUG)
2018-01-14 00:03:05 +00:00
tg
dde8500a24
some ord() debugging; CORD for case, ORD evaluates twice, for debugging
2018-01-13 23:55:15 +00:00
tg
aa530d4343
implement early (mediæval) locale tracking, as a compile-time option,
...
for SuSE; slightly inspired by the original patch submitted by
From: Dr. Werner Fink <werner@suse.de>
2018-01-13 21:38:10 +00:00
tg
0e478dceae
tentatively fix Debian #878947 by putting an end to (some) nesting
...
‣ also makes the error message nicer:
tg@blau:/usr/obj/bin/mksh $ mksh -n -c '${0$(($(o[))&$(($(p[))&)'
internal error: can't allocate 8388628 data bytes
tg@blau:/usr/obj/bin/mksh $ mksh -n -c '${0$(($(o[))&$(($(p[))&)^J'
mksh: no closing quote
1|tg@blau:/usr/obj/bin/mksh $ ./mksh -n -c '${0$(($(o[))&$(($(p[))&)'
./mksh: syntax error: unmatched '('
1|tg@blau:/usr/obj/bin/mksh $ ./mksh -n -c '${0$(($(o[))&$(($(p[))&)^J'
./mksh: syntax error: unmatched '('
‣ alternative fix would be to keep the block and do…
- } else {
+ } else if (source->type != SEOF) {
… but that would keep “no closing quote” for the case with newline,
and since this seems to not break… nuking unused code is always good ☻
2017-10-17 23:45:19 +00:00
tg
cfa08b1c3f
move getdrvwd() declaration out of OS/2-specific part:
...
each MKSH_DOSPATH port is required to define it (and, later, others)
2017-10-14 21:09:48 +00:00
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