Commit Graph

2614 Commits

Author SHA1 Message Date
tg
1248a0a521 basically unbreak use of $*/$@ in here documents
a bit funny:
with NUL IFS, $* behaves like dash ('ab') and $@ like bash/ksh93 ('a b')

with WS or NWS IFS, all shells behave alike though
2015-02-19 22:00:03 +00:00
tg
ab683420df fix use of $*/$@ in scalar context in [[ … ]] and case; spotted by Stéphane Chazelas 2015-02-19 21:58:19 +00:00
tg
61cea6b71b another oksh rcsid-only sync 2015-02-16 15:10:15 +00:00
tg
4157cca352 oksh sync; unsure if it applies (with us using old_source and all) but
better be safe than sorry; it at least passes our testsuite

NOTE: people who can figure out how afl can be used for mksh welcome! ;-)
2015-02-13 12:51:33 +00:00
tg
f6f49a119b add getopts for exec (unbreaks “exec -- /bin/ls”) and steal -a and -c from ksh93 2015-02-06 10:56:49 +00:00
tg
b94b2e363a stop (ab)using the OS symbolic constant EOF, always use -1; plus misc fixes 2015-02-06 10:09:07 +00:00
tg
f235766a3d int → bool 2015-02-06 09:42:46 +00:00
tg
3be80b75ed remove dead code: this can no longer happen since exec.c,v 1.67 2015-02-06 09:42:08 +00:00
tg
6f3d362785 rewrite the code a bit to avoid GCC -Wstrict-overflow triggering in one case…
most of it is utterly useless though as the line indicated is usually the
closing curly brace of a function, often not even the reported one…
2015-02-06 09:33:41 +00:00
tg
934929c2ee rcsid sync from obsd; misc sync; small improvements
• mksh testsuite no longer uses printf, again
• use MAXPATHLEN from <sys/param.h> as PATH_MAX fallback
2015-01-25 15:23:43 +00:00
tg
d5bdd0e364 fixup mergo from cid 10054762AC33B0CB0D0 2015-01-22 16:54:29 +00:00
tg
59fcff27ae • fix bug spotted by geirha: typeset args are glob-prone
• ormaaj suggested adding gsf’s homepage (still no new ast-ksh)
2015-01-11 00:23:06 +00:00
tg
d048818dfa • when using typeset to change the type of an array,
use arrname[*] to denote changing it of all array elements
• optimise a bit: group local invocations
2015-01-06 20:54:53 +00:00
tg
e49d7bc3c6 better 2015-01-04 21:08:10 +00:00
tg
a56f5ccbc4 fix mksh regression: empty line after “whence -v” with not found
spotted by Ypnose via IRC
2015-01-04 20:37:59 +00:00
tg
8f40b65df9 add an Ohcount modeline to recognise this as sh file 2015-01-04 20:23:51 +00:00
tg
51c370459e bump version and, also, year… I hate this… 2014 is gonna follow us for a while… 2015-01-02 13:21:28 +00:00
tg
7b4951c58f apparently, we’re supposed to setuid() before seteuid()
cf. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772597
also, groups before users, methinks…
2015-01-02 08:18:44 +00:00
tg
e60f3e494b future directions 2014-12-18 20:51:12 +00:00
tg
f66c194f29 oksh sync RCSIDs only:
• expr.c long done already
• mksh.1 does not apply to us (no character classes)
2014-12-15 23:26:36 +00:00
tg
5650b03590 OpenBSD RCSID merge, and logical follow one change:
handle unknown bases as ksh93 does: larger downgrade to 10
(although our max will stay 36, as ksh93 doesn’t have upper/lowecase)
and smaller downgrade for typeset -i, but not for arithmetics
2014-12-15 23:18:47 +00:00
tg
dcdc828c41 fix here string parsing problem found by Stéphane Chazelas 2014-12-15 22:50:11 +00:00
tg
5cf460cc07 「if + comment(!) + label(!!) + one statement」 ← shouldn’t that get braces, style(9)? 2014-12-15 22:08:55 +00:00
tg
b5d3b38cb1 port this to GNU bash 1.12.1 from http://www.qemu-advent-calendar.org/#day-1 2014-12-08 12:20:40 +00:00
tg
287d4bc216 int → bool 2014-12-05 15:14:23 +00:00
tg
41144d022b oksh RCSID sync (nop because we are portable and thus still require <sys/file.h>) 2014-11-26 19:32:12 +00:00
tg
2f26836ed1 fix shebang/magic decoding 2014-11-25 22:46:58 +00:00
tg
93448bdf66 bit more on POSIX 2014-11-25 22:46:47 +00:00
tg
643bbe7c60 no need for this explicit one, emacsfn.h already defines them 2014-11-25 22:38:53 +00:00
tg
2f52b993a1 • Build.sh: fix NSIG detection for gcc-snapshot
• all: bump version to R50-current; add more comments; whitespace
• all: remove all mkssert(); we’ll do full re-runs of scan-build and,
  hopefully, Coverity Scan/Prevent
• check.t: fix a testcase (sed could exit false, but we don’t care)
• eval.c: fix tilde_ok data type (only unsigned may shl constantly)
• exec.c: fix shebang buf array accesses to always go via uint8_t *
2014-11-25 21:13:31 +00:00
tg
371ee4af07 kill a Clang 3.2 scan-build workaround (completely; tested by valgrind and
gcc-snapshot’s sanitisers to never be a problem)
2014-11-25 21:01:14 +00:00
tg
d25612b4b0 stop using ptrdiff_t 2014-11-25 20:00:39 +00:00
tg
0d9b36daa3 prototype for a static function used before it’s defined
XXX add protos for all static functions (just: hard to find them)
2014-11-19 21:52:16 +00:00
tg
517bd63fe5 rename the “tilde” function; apparently, some system headers define it 2014-11-19 21:49:12 +00:00
tg
9b31399aec fix buffer overflow found by zacts from IRC (bad length calculation)
now zsh and mksh are even… :|
2014-11-19 18:44:11 +00:00
tg
8d9d86ceab mark two ($@/$* expansion-related) testcases as expected-fail, with more to come ☹ 2014-11-14 20:21:29 +00:00
tg
0432fc1a87 Get rid of left over NULL elements in x_ftab as NELEM() is used instead.
From Martin Natano. Also get rid of related checks.
2014-11-14 20:00:40 +00:00
tg
5ff0646bc6 printf is the wrong tool, use showargs
XXX probably not all right, discussion ongoing:
    http://thread.gmane.org/gmane.comp.standards.posix.austin.general/9972
XXX change all tests to not use printf again
2014-10-24 12:13:52 +00:00
tg
111b055660 oh well, new test location (10x jilles) 2014-10-19 22:26:13 +00:00
tg
44dc99cb35 first cut at LP#1381993 (probably incomplete) plus test coverage
also remove fbsd testsuite link, it’s gone during cvs→svn of theirs ☹
2014-10-19 21:53:08 +00:00
tg
cf2609f3fa better fix 2014-10-19 21:39:37 +00:00
tg
67d8c69353 IFS_IWS, but doesn’t really change much… 2014-10-19 21:04:47 +00:00
tg
612d92add6 erm yes, committed the wrong patch… 2014-10-19 20:59:43 +00:00
tg
2fd0482761 commit patch from LP#1381965 and two testcases, one showing this is fixed,
another showing deeper problems (probably LP#1381993 “non-list contexts” or
the IFS_WS/IFS_IWS story, perhaps *all* IFS_WS (not just ternaries) really
should be IFS_IWS instead?)
2014-10-19 20:56:33 +00:00
tg
996e05548a POSIX says “command” loses SPEC_BI and means it too
reported by ormaaj, who even asked on the austin ML
http://thread.gmane.org/gmane.comp.standards.posix.austin.general/9907/focus=9931
clarified by jilles; also make errorlevels match ksh93
2014-10-12 21:58:53 +00:00
tg
49c2e7a999 fix size calculations; prefer memleak over segfault; see LP#1380389 for more 2014-10-12 20:32:09 +00:00
tg
4afe543fa0 fix x+=<< 2014-10-12 19:55:01 +00:00
tg
1971bb2ad4 indeed, GNU bash (at least bash2 from MirPorts which I have at hand)
fails this test I found debugging https://bugs.gentoo.org/500942
2014-10-10 22:10:19 +00:00
tg
f491c25cab add a warning about not using tainted user input in arithmetics;
Stéphane Chazelas may write something more detailed we can then link to
2014-10-07 15:30:12 +00:00
tg
0cf0658a0d fix severe regression in field splitting (LP#1378208) 2014-10-07 15:22:17 +00:00