on SuSE and causes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=408850
so I'll assume it's a gcc bug
thanks to Pascal “loki” Bleser (yaloki), darix, Martin Zobel-Helas, Steve
Langasek (vorlon) for tracking this bug down in two different instances
XXX u_int32_t is not ISO C99, but seems to work well enough
XXX if it fails anywhere, we'll see in the build logs
XXX apple doesn't have the standard uint32_t and API doesn't specify it
• sys_siglist_defn: rename to sys_siglist_decl as we're really checking
for the declaration in the headers; change wording to “check if … does
not need to be declared” since we don't need to declare if we don't use
• scan for arc4random, arc4random_push, confstr declarations too
• sh.h: confstr declaration is no longer #ifdef __sun__; sort
• mention Darwin failure in R29c, fix in -current
• also clean up core dump file
• on HP-UX 11i v2, <stdint.h> requires <stdarg.h> because it pulls in
a <wchar.h> generated from gcc's fixincludes… dunno, but it works…
• HP-UX 11i v2 on ia64 only works with -mlp64; the default seems to be
-milp32 which generates SIGBUS due to misalignment (due to optimisation?)
-> in theory, HP-UX works on both PA-RISC and IA64 in R29c
-> R29c doesn't contain support for AIX or Mac OSX though…
HP-UX td192 B.11.11 U 9000/800 1839940656 unlimited-user license
gcc version 3.4.2
@(#)MIRBSD KSH R29 2007/04/17
it apparently works, but there's no POSIX.pm, and the backspace
key acts as abort key (probably all things that can be fixed)
helps to at least not get messages like
| sysop@odem2k:~/mb $ ./foo.sh
| : No such file or directory
| 127|sysop@odem2k:~/mb $ _
if you forgot to convert CR-LF into LF (of course only if the
kernel fails with ENOEXEC – an ENOENT would not help in these
cases), but of course other things will fail
we already do not 'function\nfoo\n{' for shell, like style(9) requires for
C programming, but 'function foo\n{' instead. however, we could treat the
function keyword as indentation initialiser and use 'function foo {' (on a
line for itself) – it looks different, unusual, but acceptable, and mksh's
own output (dumping with the “functions” builtin) does that too (although,
its indentation style sucks, but is legible enough)
place most stuff from /etc/profile in /etc/skel/.mkshrc; admins must make
sure to copy this file to users' homes on upgrade (benefit: non-login but
interactive shells also get all the goodies); fix some quoting; simplify,
reformat, change comments
• from an mksh point of view:
slight internal changes in dot.mkshrc; external commands are now prefixed
with “ulimit -c 0”; $TERM is defined; improvement in determining the host
name (e.g. on Debian if a FQDN is not given); declare locals as such both
in $PS1 and outside; remove superfluous quoting, quote properly; simplify
hd alias, add rot13 alias; place RCS ID at the bottom
do not start with a "#!shell" sequence” part of mksh(1) true again; this
was probably lost in mksh R21 or so when I decided/saw that our kernel
always parses shebang lines (code written myself, not taken from pdksh
again or MirBSD kernel, but verified against both)
• bom+shebang execution now works, no need setting EXECSHELL in the test
• bump version
starting with an UTF-8 BOM before the shebang can be executed correctly;
this would succeed if either mksh parses the shebang line instead of re-
lying on $EXECSHELL or the kernel supports it
bsiegert@ ok's my attempts to fix this
given to execute, standard input (interactive or not), via -c command line
argument, or after “eval”, but not for $(…) comsubs, at the beginning of a
subsequent line, or within a line, etc.); regression test for it
idea during my “week off” (despite the pain), bsiegert@ thinks it's good –
and utf-8 capable tools ought to be able to do this anyway
• if it's in x_literal() (“quote” / ^V) mode, it's accepted like now
• if it's a mb sequence start, it's rejected with a beep
• if it's a mb continuation, the whole sequence is silently rejected
this makes command line editing when accidentally hitting, e.g. with
my mircvs://contrib/samples/dot.Xmodmap, Mode_switch-x much more ro-
bust.
the same as ASCII control characters (U+0001..U+001F), i.e. with a ctrl ca-
ret and its value XOR U+0040; treat their width as 2
fixes crash+cpu hog on 'meta-tab backspace'