Commit Graph

2761 Commits

Author SHA1 Message Date
tg 000580ca8f fix buffer overrun (LP#1533394) 2016-01-14 21:17:50 +00:00
tg 5be0ec410e leak less memory 2016-01-14 20:21:39 +00:00
tg 0a1f594503 parse “$( (( … ) … ) … )” correctly (LP#1532621) 2016-01-14 19:52:20 +00:00
tg 2492c5692b incorporate suggestions by J�rg Schilling 2016-01-13 17:20:52 +00:00
tg 678fd25b36 be clearer on what we do to the array on read -a other than clearing it 2016-01-12 16:33:17 +00:00
tg 7771c3b7d2 glibc now causes warnings with set[ug]id also on kFreeBSD and Hurd 2016-01-02 20:11:31 +00:00
tg fd5360903d don’t use unset in portable code either, thanks autoconf texinfo manual 2015-12-31 21:16:20 +00:00
tg 4059e105a2 fstat(2) after open(2) for set -C case when initial stat(2) was !S_ISREG
to fix race condition as suggested by jilles
2015-12-31 21:03:47 +00:00
tg c56d848a10 set -U after LANG/LC_*, for future compatibility, cf. commitid 10056858F3B37548534 2015-12-31 21:00:12 +00:00
tg 54e31ce562 plug EEXIST 2015-12-31 20:38:59 +00:00
tg f0b83e194a future directions; izabera’s got a point and we’ll need two locales (C and
C.UTF-8), but we’ll need this in MirBSD a̲n̲d̲ audit its scripts first
2015-12-31 20:25:48 +00:00
tg f6d937cc67 also recognise ksh93 compiled binaries and LZIP compressed files 2015-12-31 12:58:43 +00:00
tg d83f63ac1c sync with reality; clog already says:
* [tg] Drop “stop” alias, [203]lksh(1) functionality to auto-unalias
2015-12-12 23:31:15 +00:00
tg b2b0c0bbb6 update for recent changes 2015-12-12 22:25:15 +00:00
tg 489fb7e845 further bring ${x/y/z} closer to GNU bash behaviour, we now only miss
recursive extglobs
2015-12-12 22:24:07 +00:00
tg ff90f3a050 add explicit licence 2015-12-12 21:08:44 +00:00
tg f08d596163 make (( … )) into a compound command, as ormaaj says was originally intended 2015-12-12 21:03:53 +00:00
tg 3b2ad0f9d9 fix ${*:+x} constructs; bug reported by carstenh via IRC 2015-12-12 20:38:56 +00:00
tg 66ace7e647 fix regression introduced with test(1) rewrite in R40d:
evaluation errors were not returned any more

Bug spotted and patch by Martijn Dekker <martijn@inlv.org>
2015-12-12 19:27:36 +00:00
tg aa4ad0c2e4 now WDS_KEEPQ and WDS_MAGIC are both no longer needed 2015-12-12 19:08:58 +00:00
tg 305599031d improve reparsing of ((…) |…) as ( (…) |…) 2015-12-12 19:05:52 +00:00
tg ceb98d7558 we must quote a tilde in substitutions now 2015-12-12 18:47:40 +00:00
tg 8d22d9226f use evalstr instead of wdstrip+substitute and drop home-grown backslash removal 2015-12-12 18:47:22 +00:00
tg d4aa35212c fix a few expansion substitutions to do tilde expansion
issue spotted by izabera and confirmed by Geoff Clare
2015-12-12 17:28:10 +00:00
tg c10a8b5809 move tests that logically belong together; no change 2015-12-12 16:37:44 +00:00
tg 4e036f26d1 easy portability fix from Jilles Tjoelker <jilles@stack.nl>; reason:
> In the Bourne shell, ksh93 and FreeBSD sh, the double-quote directly
> after the question mark starts an unquoted part inside the message.
2015-12-11 16:55:55 +00:00
tg 61726fd124 while fgrep’s easier on the eyes, grep -F’s more well-known 2015-12-08 20:59:33 +00:00
tg 124e6693e9 janitorial work 2015-11-29 17:05:02 +00:00
tg 7a47656efe fix \u0000 and \x00 being ignored in $'…' and print +r expansion 2015-10-24 19:46:10 +00:00
tg 1a4f644d6e save ~1½K from the bootfloppy by reusing MirBSD libkern wcwidth(3)
but don’t bother for this for the regular /bin/mksh either
to keep the generic code path tested well
2015-10-24 19:45:23 +00:00
tg 5018e4a21b another testcase, before I go changing the way let] is handled 2015-10-13 21:39:53 +00:00
tg cef386fb60 make “source” into a built-in command (keepasn, to match ksh93 and “dot”);
remove the “stop” alias and drop old Android and OS/2 hacks and auto-unalias
2015-10-09 21:36:59 +00:00
tg 52b0370973 some doc overhaul/bugfixes; TODO: document all of FPOSIX, FSH deltas
(after working through lksh.1 and deciding on them)
2015-10-09 20:43:11 +00:00
tg 7a5a9c9ea0 move some information off mksh.1; harmonise 2015-10-09 20:33:49 +00:00
tg fc48729336 tweak some iop/conservative_fds-related things I picked up while thinking lksh 2015-10-09 19:29:50 +00:00
tg 22fff17047 comments for future directions (keep delta lower, make lksh-as-ksh doable)
oksh synching will be more work than I can continue while being ill still…
2015-10-09 19:28:20 +00:00
tg af35e9a6de revert most of commitid 3ec342c92b3a8874 and fixup the rest;
this should bring us closer to POSIX again
2015-10-09 17:48:53 +00:00
tg 3fc8b5eb94 partial oksh sync, up to commit 80be547da108d5c241ae068290ca3e331446aa41? 2015-10-09 16:11:19 +00:00
tg e32f7d933b clean up ifdefs; some errnos are mandatory anyway; add one of those 2015-10-09 15:38:36 +00:00
tg 59e7366036 a bit more careful, even if probably unnecessary 2015-10-09 15:28:20 +00:00
tg eb9050b8f8 stop using issetugid(2) for ±p check as it’s probably not the right tool 2015-10-05 17:59:00 +00:00
tg ed5cb56849 replace the code related to << changes and <<< with cleaner code,
fixing a few bugs also (including new testcases, except x=<< issue)
2015-09-06 19:47:01 +00:00
tg 0f6aa7eaab fix more int vs. size_t mismatches 2015-09-06 13:10:48 +00:00
tg edc2acd61d fix tree printing multiple heredocs in one command, bug found by izabera 2015-09-05 20:20:48 +00:00
tg 4adcfe8b58 oksh sync, simplify *all* if(x)free(x); constructs, simplify x_push() and sync boilerplate while here 2015-09-05 19:19:12 +00:00
tg 719778193a add missing colon to two error msgs (no effect on dedup) 2015-09-05 17:20:19 +00:00
tg 8a11d7a6a2 we have longer fds now, plus add 1 for a space just to be sure 2015-09-05 17:17:47 +00:00
tg 92978953b2 ; on OS/2 2015-08-13 22:09:10 +00:00
tg 1b8b792b7e quote path separator if ; in some cases; pointed out by komh 2015-08-13 22:06:23 +00:00
tg c674e71377 be more careful with signals and errorlevels; bounds-check them better;
don’t trust the OS as POSuX comes up with more-than-8-bit exit codes now;
also, one more int → bool
2015-08-13 21:38:19 +00:00