Commit Graph

797 Commits

Author SHA1 Message Date
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 36dcaf624b fuck POSIX 2017-08-07 21:16:32 +00:00
tg b903a5e66a make readonly idempotent; spotted by selk from Dragora 2017-07-26 23:02:28 +00:00
tg 4acbb48229 exclude nōn-HPFS-safe pathname-using test from OS/2 (thanks komh)
also exclude on cygwin/msys as not FAT/NTFS-safe
2017-05-14 19:05:44 +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 e2dcf35cf5 catch z/OS not having $Config not filling in the __perlpath env correctly 2017-05-05 21:17:31 +00:00
tg 6dc1ab0379 some more small EBCDIC fixes 2017-05-05 19:43:52 +00:00
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 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 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 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 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 fba6940ba4 control character madness, but more compiler-friendly 2017-04-28 03:28:19 +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 2231ff566d commit the optimisation result from the new fast character classes 2017-04-28 00:38:33 +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 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 15e4861f71 disambiguate $((…)) vs. $((…)…) in “typeset -f” output 2017-04-11 12:34:04 +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 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 bcde17a8fc streamline some error messages 2017-04-06 00:41:42 +00:00
tg 95b7fcb4fc komh reports that OS/2 has no chance of supporting UTF-8 (like MSYS) 2017-04-03 02:08:57 +00:00
tg 0e2c9e55f8 fix typeset -p x[2] 2017-04-02 16:25:23 +00:00
tg 8bf6cad8bc introduce the -T flag to set TEXTMODE (ASCII CR+LF newline support) 2017-04-02 14:14:08 +00:00
tg 7529e350cf small character classes overhaul:
• make fast character classes even faster by removing the C_SUBOP2 hack
  in favour of a separate seldom-used ksh_issubop2 macro (which also
  makes ctype() side-effect-safe) which is a slower class (no change there)
• optimise cases of ksh_isalphx followed by a ksh_isalnux loop
  (used parsing variable names)
• remove a misleading comment in initctypes() about \0 from pdksh
• rename C_ALPHA to C_ALPHX to make it more clear the underscore is included
• sprinkle a few ord() in there
• add new ksh_isalpha() which tests for [A-Za-z] (slow character class)
• there is no '_:\' drive on OS/2 (which inspired the whole changeset)
2017-03-26 00:10:26 +00:00
tg e991806f2b fixup LINENO in eval and alias; patch and initial testcase
From: Martijn Dekker <martijn@inlv.org>
2017-03-22 00:20:43 +00:00
tg 9466b49fe8 add standard variable PATHSEP, for better and easier OS/2 support 2017-03-19 22:31:29 +00:00
tg 06b2d53ea2 use \\builtin ipv \let] and \set internally 2017-03-19 20:59:29 +00:00
tg 73dca6e90f use the new “\builtin” builtin for quoting, everywhere 2017-03-19 20:36:08 +00:00
tg c3fe9d5fb5 Haiku-related ulimit overhaul:
• print ulimit -a with the flag, like most other shells do
• move ulimit-1 regression test to ulimit-2 and exclude on Haiku:
  it can only set the -n and -V limits AFAICT
• document that some OSes (here: Haiku) can only set the soft limits
  (so “ulimit -nS 1024” is okay but -S is required)
• check “ulimit -c 0”, which dot.mkshrc uses, everywhere
  (if it errors out, hack around it or stub it out with MKSH_NO_LIMITS)
2017-03-19 18:05:29 +00:00
tg 5b63e5dcb6 implement “typeset -g”, From: Martijn Dekker <martijn@inlv.org>
also deprecate “global”; thanks!
2017-03-17 22:45:53 +00:00
tg a7654b2657 update testsuite accordingly 2017-03-12 02:35:32 +00:00
tg 2584cd0634 fixup relation between lksh and mksh (somewhat minimal delta) 2017-02-18 02:33:15 +00:00
tg 7b02f1ec8d in ${foo=bar}, “bar” must be scalar context; spotted by Martijn Dekker 2017-02-17 22:40:13 +00:00
tg 7b4bee7e58 collective R54 release preparation multi-merger:
install both lksh and mksh manpages from Build.sh (Martijn Dekker)
spelling fixes (Larry Hynes)
manpage improvements (Martijn Dekker)
initial port to Harvey-OS’ APEX (Ronald G. Minnich, Elbing Miss, Álvaro Jurado)
more from komh’s OS/2 port (KO Myung-Hun)
2016-11-11 23:31:39 +00:00
tg 5ee8ba10b3 fix lazy evaluation with side effects; spotted by ormaaj via IRC 2016-11-07 16:58:48 +00:00
tg 56bdf24e54 fix error propagation in TAND/TOR constructs, noted by Martijn Dekker
still a bit unsure about the whole XERROK and *xerrok stuff, but…
it seems to work
2016-10-02 22:21:47 +00:00
tg d18f9133c8 fix English (thanks to Andreas Buschka); TIL:
• to start ⇒ a start
• to begin ⇒ a beginning
2016-09-01 12:59:12 +00:00
tg e5e3fb3fc7 outstanding bumps 2016-08-25 16:21:34 +00:00
tg 879c6a0911 fix refactoro, spotted by Natureshadow; add (working) testsuite for all operators 2016-08-12 16:48:05 +00:00
tg bb7226277b fixes 2016-08-10 18:20:05 +00:00
tg f26cf0562b fixup a bad OpenBSD reaction on a bug afl showed:
set source to NULL only if the memory backing source is actually reclaimed;
fixes segfault due to NULL(+24) pointer dereference reported by Score_Under
(simplified testcase added; thanks!)
2016-08-04 20:51:35 +00:00
tg 757e25fb21 implement $KSH_MATCH and, to make it usable, ${foo@/bar/baz};
add a real-life example (for slagtc’s programmable tab completion)
to the manpage
2016-08-01 21:38:07 +00:00