MirBSD Korn Shell for Jehanne
Go to file
tg bebb2d2254 EXPERIMENTAL optimisation for “sh -c 'foo'” to equal “sh -c 'exit foo'” iff
several conditions are met as outlined below; for more background, refer to
http://www.FreeBSD.org/cgi/query-pr.cgi?pr=113860

We don’t yet optimise 「% sh -c '{ echo a; sleep 10;}&'; sleep 1; ps T」 so
the FreeBSD® sh approach cannot work for us, but scanning the “sh -c” argu‐
ment for disallowed characters and, if not, setting a flag that enables the
shell to exec the tree when parsed as TCOM *and not c_trap()* was possible.

Disallowed characters are currently C_QUOTE except space, that is:
Tab Newline " # $ & ' ( ) * ; < = > ? [ \ ] ` |

This should catch all cases of magic, variables, subshells, pipelines, etc.
2012-10-21 21:26:41 +00:00
Build.sh this is now http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55009 2012-10-21 17:38:22 +00:00
Makefile add split-screen debugging; close-on-exec the logfile 2012-10-21 17:16:45 +00:00
check.pl rewrite the EINTR importing code with help of stsc from #nosec on IRC, 2012-04-06 12:22:14 +00:00
check.t this is now http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55009 2012-10-21 17:38:22 +00:00
dot.mkshrc remove ${ foo;} from mksh again due to buffering issues jilles found 2012-08-17 18:34:25 +00:00
edit.c fix backslash-asterisk glob noise for nōn-existant targets and tilde 2012-10-21 18:33:46 +00:00
emacsfn.h • merge printf from OpenBSD 2010-07-17 22:09:40 +00:00
eval.c related to LP#1025843 fix tab completion for tilde 2012-08-24 21:15:42 +00:00
exec.c EXPERIMENTAL optimisation for “sh -c 'foo'” to equal “sh -c 'exit foo'” iff 2012-10-21 21:26:41 +00:00
expr.c even more hacks to pass “-O666 -fstrict-overflow -Wstrict-overflow=9 -flto=jobserver” with “gcc version 4.8.0 20120930 (experimental) [trunk revision 191865] (Debian 20120930-1)” ☹ plus make the rtchecks mandatory 2012-10-03 17:24:23 +00:00
funcs.c even more hacks to pass “-O666 -fstrict-overflow -Wstrict-overflow=9 -flto=jobserver” with “gcc version 4.8.0 20120930 (experimental) [trunk revision 191865] (Debian 20120930-1)” ☹ plus make the rtchecks mandatory 2012-10-03 17:24:23 +00:00
histrap.c Coverity 703490: better zero out sigact 2012-06-24 19:47:11 +00:00
jobs.c new MKSH_DISABLE_TTY_WARNING for ports that just can’t help it 2012-05-04 22:34:51 +00:00
lalloc.c • access(2) is broken in at least kFreeBSD 9.0 as “modern” OS, so bring 2011-09-07 15:24:22 +00:00
lex.c even more hacks to pass “-O666 -fstrict-overflow -Wstrict-overflow=9 -flto=jobserver” with “gcc version 4.8.0 20120930 (experimental) [trunk revision 191865] (Debian 20120930-1)” ☹ plus make the rtchecks mandatory 2012-10-03 17:24:23 +00:00
main.c EXPERIMENTAL optimisation for “sh -c 'foo'” to equal “sh -c 'exit foo'” iff 2012-10-21 21:26:41 +00:00
misc.c even more hacks to pass “-O666 -fstrict-overflow -Wstrict-overflow=9 -flto=jobserver” with “gcc version 4.8.0 20120930 (experimental) [trunk revision 191865] (Debian 20120930-1)” ☹ plus make the rtchecks mandatory 2012-10-03 17:24:23 +00:00
mksh.1 point out the miros-mksh@ mailing list, thanks Andrew Kudryashov 2012-10-21 17:42:51 +00:00
sh.h EXPERIMENTAL optimisation for “sh -c 'foo'” to equal “sh -c 'exit foo'” iff 2012-10-21 21:26:41 +00:00
sh_flags.h fix emacs/vi lksh 2012-06-28 20:14:17 +00:00
shf.c rewrite some code to avoid gcc 4.8 complaining 2012-10-03 16:16:15 +00:00
strlcpy.c more KNF, mostly whitespace, this time more manual labour applying style(9) 2009-06-10 18:12:51 +00:00
syn.c rewrite XPtrV to use size_t instead of pointer arithmetic, for gcc-snapshot (20120930-1) -fstrict-overflow -Wstrict-overflow=9 2012-10-03 15:50:32 +00:00
tree.c remove ${ foo;} from mksh again due to buffering issues jilles found 2012-08-17 18:34:25 +00:00
var.c implement ksh93 feature ${ foo;} 2012-07-30 21:37:17 +00:00
var_spec.h • rework hash table interna to avoid gcc-4.1 on Debian etch bug 2011-06-05 19:58:21 +00:00