Commit Graph

2787 Commits

Author SHA1 Message Date
tg 4a21365067 yyrecursive needs its own and empty heres[]
fixes http://thread.gmane.org/gmane.comp.shells.dash/1241/focus=1245
2016-02-26 21:24:58 +00:00
tg 3b5f9c744c I didn’t like the code behind command -[Vv] and whence, so I rewrote it.
Bugreport by Martijn Dekker <martijn@inlv.org> about POSIX non-compliance
2016-02-26 20:56:45 +00:00
tg 143c2aa69c bring documentation of command up to date wrt. POSIX and whence wrt. command
(inspired from a bugreport by Martijn Dekker who noted this is currently broken)
2016-02-26 19:38:42 +00:00
tg 9c1568a8cc fix trimming with ? on $* and $@; missed by Todd Miller in r2.2 in ncvs
where it was fixed for ${foo[@]} and ${foo[*]}
2016-02-26 19:05:21 +00:00
tg a3c28ebd67 plug a few display problems with special parameter name expansions
reported by Stéphane Chazelas
2016-02-26 18:48:14 +00:00
tg c8da180d60 fix substitution error message 2016-02-26 18:05:10 +00:00
tg 80027c9e53 legibility 2016-02-26 17:58:30 +00:00
tg 2a3773b70b share structures better, less (void *) casts when we can stay typed 2016-02-24 02:08:39 +00:00
tg 08e1c6a9ea ADELIM can be ‘}’ too, not just ‘/’, in code that checks for / vs. //
caught by new code after segfault report by bef0rd on IRC (thanks!)
2016-02-24 01:47:32 +00:00
tg e9fc158472 plug a buffer underflow read we executed with *every* testsuite run and
*every* interactive shell session (history didn’t contain anything when
we tested for ignoredups)… first caught by the new code… d’uuuuuuuuuuh!
2016-02-24 01:45:59 +00:00
tg f0a042f070 implement mmap-using mechanism to catch buffer underruns inside mksh
(pulls stdio, is rather BSD-specific and memory-hungry and a bit slow)
2016-02-24 01:44:46 +00:00
tg 8e7abc48eb head(1) is not portable (-n 1 not præ-POSIX/ancient, -1 not busybox)
⇒ use sed(1)

bug spotted by wbx@
2016-02-11 20:19:44 +00:00
tg af94276ea7 merge most recent portmdoc into a̲l̲l̲ of its users; fixup .\& into \&. like
in mksh(1), for Schillix ditroff
2016-02-11 20:12:09 +00:00
tg 19ab699100 fix working with ditroff on Schillix, confirmed by Jvrg 2016-02-11 19:00:50 +00:00
tg 7c58621bc7 so, GCC is a real bitch 2016-01-21 19:58:13 +00:00
tg 27179454a9 hotfix for newer GCC 2016-01-21 19:38:09 +00:00
tg 188691d285 save 200 bytes off .text by revisiting string pooling
also, forgotten version bump
2016-01-21 18:24:45 +00:00
tg 91ae6ad199 update 2016-01-20 22:04:54 +00:00
tg 61f7661b92 fix errno in print/echo builtin; optimise (with partial rewrite) 2016-01-20 21:34:13 +00:00
tg 9167be0584 handle SIGPIPE in built-in cat correctly (LP#1532621) 2016-01-20 20:29:48 +00:00
tg 046d8e5b7a align with future POSIX on http://austingroupbugs.net/view.php?id=351
with accepted interpretation (*sigh*); merge VARASN|ARRAYVAR→CMDASN
2016-01-19 23:12:15 +00:00
tg 44be0bdb0b deliberately revert from POSIX to classical behaviour for "…`…\"…\"…`…"
until http://austingroupbugs.net/view.php?id=1015 is resolved (either way),
mksh R52 regression; cf. Debian #810846, #811092
2016-01-19 23:09:48 +00:00
tg 7181c9e40c somewhat surprisingly, we can do bashisms better than GNU bash now ☺ 2016-01-14 23:19:12 +00:00
tg c51e067e62 incorporate more feedback from schily 2016-01-14 23:18:11 +00:00
tg 1b0e4f54cb permit 'read -A/-a arr[idx]' as long as only one element is read;
fix corruption of array indicēs with this construct (LP#1533396)
2016-01-14 22:49:33 +00:00
tg 0141794c2e correctly handle nested ADELIM parsing: ADELIM doubles as CSUBST (LP#1453827) 2016-01-14 22:30:43 +00:00
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