tg
c4e88acd83
Correct mistake when doing hashtable lookup collision resolution… oops
2012-12-07 23:46:38 +00:00
tg
98b6cd9b8d
add testcase for basic I/O redir which RT had issues with on Linux 0.11
2012-12-07 23:43:09 +00:00
tg
f654a3dea4
fix libFirm/cparser -Wsign-compare
2012-12-05 19:38:25 +00:00
tg
75af4e244a
add -fno-asynchronous-unwind-tables for all GCC builds, as suggested by dalias and chris2
2012-12-05 19:38:05 +00:00
tg
d8a6ce41de
shuffle declarations around (all shared between even only two files go into sh.h even if they’re not supposed to be used elsewhere) and make some static; libFirm/cparser has -Wmissing-declarations against it
2012-12-05 18:54:10 +00:00
tg
cf807eb83a
Add assertions and shuffle code around for LLVM+Clang scan-build.
2012-12-04 01:18:34 +00:00
tg
68c4dae6ef
Rewrite the getn function (again) to fix any remaining issues.
2012-12-04 01:12:11 +00:00
tg
9d2fefeac4
Be more careful with string array bounds! Found by LLVM+Clang scan-build.
2012-12-04 01:11:17 +00:00
tg
5a70000aaf
Keep LLVM+Clang from nagging about “"foo" + 1 ≠ "foo1"” warning.
2012-12-04 01:10:35 +00:00
tg
7fc9e1b492
revert cid 100506499941EC578A6: musl has _ALL_SOURCE now, aliased to
...
_GNU_SOURCE which we already define for convenience; thanks to dalias
and chris2 on IRC for discussion and being accomodating!
2012-12-03 22:10:02 +00:00
tg
2213c5887a
how many times can you botch a gettimeofday mirtoconf check?
2012-12-03 13:07:11 +00:00
tg
6e41c9c2ee
catch MSYS dash printf builtin not working
2012-12-01 14:22:09 +00:00
tg
b868c517b7
remove *all* nonnull assertions and other workarounds for clang scan-build
...
this beast evolved in the last 2½ years, and we’ve had trouble with
some of them earlier
2012-12-01 01:36:30 +00:00
tg
f6728353bd
fix “null argument where non-null required” warning
2012-11-30 22:17:32 +00:00
tg
ce6cdb96f2
regenerate Makefiles
2012-11-30 20:49:18 +00:00
tg
0f3071a8b2
MKSH_DISABLE_EXPERIMENTAL is a NOP again; use ${ precmd;} in dot.mkshrc
2012-11-30 20:19:16 +00:00
tg
f63bcae02c
… oh well, but MidnightBSD gcc picks on "" too, so just stick to NULL, it’s cheapest
2012-11-30 19:58:48 +00:00
tg
0f46c5e321
so’s clang…
2012-11-30 19:57:35 +00:00
tg
9a6ebef8ca
The MidnightBSD/amd64 system compiler (Target: amd64-undermydesk-freebsd)
...
gcc version 4.2.1 20070719 [MidnightBSD] has stricter -Wformat checking
2012-11-30 19:51:25 +00:00
tg
77c4cb88e4
implement tty tracking and bump to R41 for feature completeness
...
• tty_fd is now never closed
• new tty_hasstate tracks tty_state (cf. thread around
http://article.gmane.org/gmane.os.miros.mksh/79 and PLD bug)
• as users requested, importing COLUMNS or LINES from the environment
now removes its special-ness as does unsetting it
• otherwise, setting COLUMNS or LINES is honoured until the next SIGWINCH
arrives or change_winsz is otherwise run (e.g. before displaying the
prompt in the interactive command line editing modes)
• SIGWINCH is now honoured before each reading of $COLUMNS and $LINES too
• change the Uhr to match – it no longer calls stty(1) ☺
2012-11-30 19:25:08 +00:00
tg
730bc915bd
tty_close() before exec() is not necessary, it’s FD_CLOEXEC anyway
...
only tty_close() left are now after the early init in main, which
is new, and when not FTALKING…
2012-11-30 19:20:01 +00:00
tg
80e364b7ad
use proper parenthesēs; int → bool; use same var (eno) for temp. errno
2012-11-30 19:02:10 +00:00
tg
e36075e58d
open distinguishes between >=0 and ==-1 but <-1 is undef, make it error
2012-11-30 17:34:46 +00:00
tg
63863a90d8
oops, this list is s’pos’ta be sorted
2012-11-30 16:45:25 +00:00
tg
cbf1cea38a
sync clog
2012-11-26 23:14:46 +00:00
tg
007cf09db6
use EPOCHREALTIME as variable, somewhat compatible with “zmodload zsh/datetime”, as ormaaj belatedly found out
2012-11-26 22:49:51 +00:00
tg
b58d7b8053
fix regression wrt. pdksh (introduced between R40e and R40f)
...
about how and when the display is redrawn by reverting one
bool back to an int, as it’s used as a counter (hm, should
be an unsigned I guess but…)
on the other hand, xlp_valid should’ve been a bool, make it so
2012-11-26 22:39:14 +00:00
tg
9f15657f7b
make cats more flexible
2012-11-26 16:39:43 +00:00
tg
c9970fb7ba
make regression testsuite once again safe to run with -DMKSH_NOPROSPECTOFWORK
2012-11-25 22:23:31 +00:00
tg
2fc5aa487b
RT tells me Minix 2 (i386) also doesn’t have gettimeofday(2)
2012-11-20 18:50:46 +00:00
tg
f284261018
• update documentation and references
...
• say R41, we’re almost feature-complete, and the missing one
will not require documentation updates
2012-11-20 18:25:12 +00:00
tg
13da062f92
add MKSH_UNIXTIME
2012-11-20 18:07:45 +00:00
tg
2f41503f8e
make more internal consistency checks #ifndef MKSH_SMALL
2012-11-20 18:06:53 +00:00
tg
435bc124ef
introduce $BASHPID for ormaaj from #ksh
2012-11-20 17:42:32 +00:00
tg
bfda9858f1
sort
2012-11-20 17:34:42 +00:00
tg
68d8d83e67
add checks for ~+ and ~- (inspired by posh change) and bump date,
...
as I’m not likely to continue hacking tonight
2012-11-12 19:13:46 +00:00
tg
b7659199ca
fix a test
2012-11-12 18:48:29 +00:00
tg
222d50f1af
save some space for error-less error messages
...
inspired by a bugfix for posh for something that was not a bug in here
2012-11-12 18:28:40 +00:00
tg
bbc0702cdd
make “set -o nounset” friendly (even though people who use THAT are at own fault, IMO!)
2012-10-30 21:04:56 +00:00
tg
5aa7842d33
who would’ve thought proper ^C handling be so hard?
2012-10-30 20:49:44 +00:00
tg
8caee45c60
int → bool
2012-10-30 20:13:20 +00:00
tg
faa0a78df3
restore yyrecursive context in quitenv (LP#1069428)
2012-10-30 20:07:15 +00:00
tg
fc27886680
when ^C’ing out of an interactive shell, also throw away the here documents (probably leaks, maybe not due to quitenv, but not much)
2012-10-30 20:07:00 +00:00
tg
f5ccc2feb3
while we do not condone killing of cats, fix LP#1058815
2012-10-30 20:06:49 +00:00
tg
0ce7dcf856
maybe this makes gcc not bitch… again… anal-retentive arsecompiler…
...
found in opensuse buildservice logs for centos 5
2012-10-22 20:52:47 +00:00
tg
bfe7d78d40
bring back ${ foo;} sans dot.mkshrc patch, using a temporary file, and as experimental feature
2012-10-22 20:19:18 +00:00
tg
574c024635
introduce MKSH_DISABLE_EXPERIMENTAL and wrap the new feature introduced
...
in cid 1005084678C510CF7E4 in it
2012-10-22 16:53:22 +00:00
tg
c7419d9e6a
defer setting exstat for eval to 0 (the one used in case shell() is empty)
...
until after the stuff run in shell() has had a chance to toy with $?
bug forwarded by one of our packagers, found by one of their users
2012-10-21 21:55:05 +00:00
tg
31f24a4040
add some bounds, for a subsequent commit:
...
• all writers of exstat ensure the value is in [0; 0xFF]
• all readers of exstat AND it with 0xFF (not strictly needed thus)
• trap_exstat is “safe”, i.e. always either -1 or [0; 0xFF]
2012-10-21 21:39:06 +00:00
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