tg
5a8d3175cb
just rcsid-sync oksh; their change was to add /* XXX 2038 */ comment
...
to $SECONDS (tbh, in 2038 we’ll have more problems than just that,
which is why 64-bit arithmetics, or unlimited-precision ones, are
on the “plans” list)
2013-04-07 14:11:54 +00:00
tg
1a21176cac
Tonnerre Lombard’s contribution:
...
[17:27:44] Tonnerre: csh: alias doch sudo \!-1 bash: alias doch='sudo $(history -p !-1)' zsh: alias doch='sudo $(fc -ln -1)'
[17:28:03] mirabilos: ?
[17:28:34] Tonnerre: Na ganz einfach:
[17:28:36] Tonnerre: % ls /root
[17:28:39] Tonnerre: ls: cannot open directory /root: Permission denied
[17:28:42] Tonnerre: % doch
[17:28:45] Tonnerre: [sudo] password for tonnerre:
[17:28:49] Tonnerre: anaconda-ks.cfg cgminer-1.6.2-1.rf.src.rpm rpmbuild upgrade.log upgrade.log.syslog
[17:28:53] Tonnerre: %
This is one of two mksh variants; the other uses a tmpfile:
alias doch='sudo mksh -c "${ fc -ln -1;}"'
Both quote correctly, unlike the above.
Maybe use $MKSH instead? (Quoted or unquoted? Hm. Probably quoted.)
Input on that welcome…
2013-04-05 15:39:52 +00:00
tg
7cce9de0bc
one can’t cast an unsigned int to a signed int portably either, if the value
...
is larger than the positive range of the latter (implementation-defined), so
avoid them in all explicit cases and rearrange stuff and check for it
(I’m gonna have to revise lots more code…)
2013-04-01 02:37:53 +00:00
tg
fb3555d7f5
got an SAR, thanks to dalias on IRC
2013-04-01 02:28:35 +00:00
tg
e1a4c3ed28
do use val.u on the RHS of a shift
2013-04-01 01:29:47 +00:00
tg
0f417614dd
ugh, signed >> on negative values is implementation-defined
...
(but, at least, not undefined, and usually right; regress-test for it)
2013-04-01 01:16:37 +00:00
tg
d96c733069
looks like multiplication is also the same between signed and unsigned
2013-04-01 01:02:09 +00:00
tg
6a745a01fa
begin using unsigned arithmetics internally as much as possible
...
(i.e. where signedness doesn’t matter, given -fwrapv) and note
where there’s work to do; note future improvements and additions;
optimise a little
mostly untested
2013-03-31 18:33:13 +00:00
tg
ece1b28eaf
fix bug in comment
2013-03-31 18:30:05 +00:00
tg
c59707edd8
sync clog
2013-03-30 23:31:04 +00:00
tg
fc2ec318c1
use nicer (and same as in other places!) error message for typeset
2013-03-30 15:39:36 +00:00
tg
57e4c1a19f
catch missing variable names in typeset, to avoid confusing Hugues Moretto-Viry with bogus “read-only” messages
2013-03-30 15:39:26 +00:00
tg
5c2f250abc
make "%#s" into print_value_quoted (ignoring field width and precision), if you can get it around gcc’s __printf__ __format__ attribute that is…
2013-03-30 15:39:16 +00:00
tg
ea657bd4d9
also do not, ever, use &> bashiop in lksh
2013-03-29 17:33:56 +00:00
tg
41ae60bb55
now that funsub() is a separate function, and we don’t have the clobber
...
issue from longjmp any more, and that I thought to rewind the fd, finally
implement ${ …;} on deleted-after-open tempfiles without the need to reopen
2013-03-29 17:33:07 +00:00
tg
24b81b5969
RCSID-only sync: oksh found out about idivwrapv
2013-03-29 16:54:05 +00:00
tg
94dfda0be0
RCSID sync w/ oksh; whitespace (KNF)
2013-03-24 21:34:14 +00:00
tg
a3b5e77c6c
disable parsing of &> as GNU bash iop if -o posix or -o sh, based on IRC discussion where jilles(IIRC) pointed out it breaks existing valid scripts
2013-03-24 15:01:50 +00:00
tg
8697048c2c
set (but never export!) PS4 to something timestamped by default, as an example
2013-03-24 15:01:35 +00:00
tg
4b2e17b828
• let mksh “set -x” print whole TCOM trees
...
• plug some memory leaks in debug (“set -x”) and warning paths while here
• one from Florian (friend of Natureshadow) for WTF
2013-03-24 00:56:27 +00:00
tg
d99e470a64
bump
2013-03-05 15:41:41 +00:00
tg
d7c28d90f9
optimise prefer_cols print_columns display
2013-02-24 14:22:44 +00:00
tg
9a8cb6fbf6
why’s there a space before the newline?
2013-02-24 14:10:04 +00:00
tg
817aeb8fdb
both mksh(1) and POSIX say: "$@" should always generate multiple words
...
issue in pdksh reported in IRC by engla, thanks!
2013-02-23 20:03:31 +00:00
tg
74e2ef8b0b
one more int → bool; mention “set -o sh” may (on raare OSes) be enabled
...
automatically (and it differs between targets); test MidnightBSD 0.1 ash
compat code and adjust the testsuite so it passes with it enabled
2013-02-19 18:45:22 +00:00
tg
dffb1ab915
put list of check_categories into Makefrag.inc generated; bump patchlevel
2013-02-18 22:55:40 +00:00
tg
0a3fe06229
another MidnightBSD /bin/sh kludge: classic BSD echo
2013-02-18 22:47:32 +00:00
tg
84189faad4
fix an oversight that allowed invalid variable names to be entered
...
(not even at an increase in code, as I could just move a check and
slightly adapt it)
2013-02-18 22:24:52 +00:00
tg
576b7f21b3
eval is evil
...
Proper quoting is hard
Bugs galore
2013-02-17 15:58:26 +00:00
tg
e141cab1ac
revert cid 10050DD0C8519194AE9 and 100511FC81525949AF7
...
AT&T SVR4 broke 'cc -c -o foo.o foo.c' totally
switch to an alternative method of finding out the prototypes
provided in IRC by dalias (thanks); RT says this fixes his
issues on SVR4 – let’s just ignore the ominous message from
cid 1004713D70A5362BACF about needing to be a compile-time
check unless something else pops up, I can’t think of something
that isn’t already covered
2013-02-17 07:06:15 +00:00
tg
e21a2166f7
use a different approach to the $"…" problem:
...
take the states that may open a string, only permit them by virtue of
moving the code out of Subst: to handle $+" and $+' at all; then add
S[Q]BRACE to that
side benefits:
• clearer, cleaner code flow
• smaller code
• better “business logic” ☺
• defuses one heavy use of duff’s device a bit
2013-02-17 06:05:02 +00:00
tg
b684a7c6bd
backpedal with $'…' and $"…" interpolation
...
it turns out this breaks more legacy scripts than anticipated
2013-02-17 05:40:17 +00:00
tg
47f8a21e3c
SVR4 cc doesn’t like -c -o conftest.o when conftest.o already exists:
...
it errors out with “-o would overwrite conftest.o” (thanks RT for reporting)
2013-02-16 17:55:51 +00:00
tg
85d7059c48
… I fsck’d up and built R42b from MAIN ipv mksh-R42stable… oh well.
...
TODO: convert enum to something like uint8_t to save even more space
2013-02-16 00:21:57 +00:00
tg
ec883318d1
fix too strict fix for LP#1104543 (Debian #700526 )
2013-02-15 18:50:14 +00:00
tg
12f0ff60d2
prevent more access to invalid memories (Debian #700604 )
2013-02-15 18:36:48 +00:00
tg
2c76875ea3
• Document invalid ${a/b/c} patterns in manpage (Debian #698678 )
...
• add speed hints and misc improvements; bump version
2013-02-11 17:17:59 +00:00
tg
6b797a7bc8
• test.sh now is -v (verbose) by default, new option -Q to quieten (like Build.sh)
...
• test.sh handles +P, +Q, +S, +v properly
2013-02-11 16:27:56 +00:00
tg
117bb02e6a
check at least *one* of our “Duff’s Device” heavy occurrences
...
to make sure the compiler doesn’t frag it
2013-02-11 13:06:54 +00:00
tg
fb370a30c6
fix set -e with and/or inside functions regression (LP#1104543)
...
cause was that use of && or || inside function switched it to xerrok
2013-02-10 23:59:28 +00:00
tg
63cf38eca7
sync description for funsubs
2013-02-10 23:58:19 +00:00
tg
738f5f54fa
get rid of unneeded variables ⇒ error handling (that wasn’t there
...
previously) ⇒ code ⇒ simplify!
2013-02-10 23:43:59 +00:00
tg
19cbb1ab78
regression test for: return works in funsub (like AT&T ksh93), local works in funsub (like in functions), exit does not work in funsub (sadly unlike ksh93, like in functions)
2013-02-10 23:36:21 +00:00
tg
c95d0ad11e
missed in cid 10050B914D41435E735
2013-02-10 23:32:18 +00:00
tg
9bf0509829
provide a layer of locality to FUNSUBs; get rid of a fork for each PS1 thus
2013-02-10 23:30:47 +00:00
tg
1df0cb4093
as a more general solution to fd leak detection, just do CLOEXEC manually
...
(this also allows us to see “real” leaks)
2013-02-10 21:42:16 +00:00
tg
42e1bdc095
doc update
2013-02-10 21:20:57 +00:00
tg
f209a252bc
when leak debugging, free everything even in builtins
2013-02-10 21:17:07 +00:00
tg
51345bd33b
do not leak file descriptors on builtins
...
(this is for valgrind; we use close-on-exec on them in the normal case)
2013-02-10 21:08:35 +00:00
tg
2b06709bf3
improve DEBUG_LEAKS handling and fix freeing some locs
2013-02-10 19:05:37 +00:00