Commit Graph

961 Commits

Author SHA1 Message Date
tg 9e708d91b8 mksh R30 will no longer build a statically linked shell by default;
does not try, nor provide any means; user has to use LDFLAGS instead.
2007-04-30 19:50:09 +00:00
tg 8ca51f5ff3 retain Build.sh path for test.sh (e.g. if /bin/ed != /usr/xpg4/bin/ed – on
Solaris some tools are weird, I recommend to prefix /usr/xpg4/bin to $PATH
even for dot.mkshrc because /usr/bin/id sucks, /usr/xpg4/bin/id works…)
2007-04-30 19:18:37 +00:00
tg c9991d996f • change version number to “R29 and up” so
that I don't have to bump it every time…
• amend description of emacs-mode “redraw”
2007-04-30 19:16:30 +00:00
tg 8d1ede2697 do not “-fwhole-program --combine” since it at least breaks FORTIFY_SOURCE
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
2007-04-30 19:12:18 +00:00
tg c0e5c09351 optimisation: #ifdef MKSH_ASSUME_UTF8, don't bother to “Flag(FUTFHACK) = 1;” on UTF-8 BOM encounter, it's always on (unless manually set to off) – saves a few bytes, I guess 2007-04-26 11:58:53 +00:00
tg 7a775ab0cf some wording and #if 0 cleanup 2007-04-24 10:44:58 +00:00
tg 1a0b51b697 • arc4random, arc4random_push: use our own protos to check
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
2007-04-24 10:42:02 +00:00
tg 2cf5695f69 • mention HP-UX, AIX success
• 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…
2007-04-23 22:33:20 +00:00
tg e35eed3687 mksh R29c was indeed broken on HFS+ filesystems thanks to Darwin/Mac OSX
brain-deadness
2007-04-23 21:46:12 +00:00
tg c3d8ca7f82 fix multi-rcsid test broken in 100462D18E37B6B8D16 2007-04-23 21:36:02 +00:00
tg eb6e4d4bbb fix case matching 2007-04-23 21:31:58 +00:00
tg 03488df380 clean up used files better 2007-04-23 21:15:44 +00:00
tg c4826b28b8 possibly fix the last issue on AIX: NSIG is (63 +1) 2007-04-23 20:57:50 +00:00
tg 615a7794a6 AIX has sys_siglist[] but doesn't define it anywhere, so add a means to
scan for defns and use it here; bug reported by Kurt Telep
2007-04-23 20:37:16 +00:00
tg 24f650213a according to Kurt Telep, AIX _does_ require -lcrypt, and, when using
it, apps are expected to export certain symbols; thanks for the help
2007-04-23 20:17:58 +00:00
tg d38897a75d when we're starting to talk sensible default values, begin here:
if $LIBS is empty (i.e. not " " or so), use "-lcrypt" on Interix

AIX seems to require some too…
2007-04-23 14:06:47 +00:00
tg a823a03370 part of the AIX clean-up
with help of <Gurft> on freenode (Kurt)
2007-04-23 14:04:38 +00:00
tg ec4dea6cfa $ uname -a; (gcc -v) 2>&1 | tail -1; echo $KSH_VERSION
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)
2007-04-23 12:13:03 +00:00
tg fe04b78310 oops, this of course documents mksh R29c (and up) 2007-04-23 11:41:47 +00:00
tg 4c9511e7a4 • strlcpy.c: remove superfluous rcs ids in comments
• Build.sh: NetBSD® gives an ignorable link-time warning in mirtoconf
• Build.sh: GNU (HURD) and GNU/kFreeBSD are no longer experimental, I think
2007-04-23 11:33:26 +00:00
tg f60ee4f2be if internal error, tell what failed 2007-04-19 12:07:46 +00:00
tg 0dba495c4b • MKSH_SMALL users want to trade off size vs functionality,
they thusly don't deserve shebang processing
• fix a comment (spelling; technical correctness)
2007-04-18 00:59:20 +00:00
tg 002904664e version bump here, too (CR-LF shebang) 2007-04-17 23:51:32 +00:00
tg 12b2011a96 also accept a carriage return as end of shebang line;
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
2007-04-17 21:26:34 +00:00
tg dc71f9b775 • remove an unneeded pair of double quotes
• convert another pair of 'em to “…”
2007-04-17 20:07:09 +00:00
tg b2d0d57468 change our coding style for shell:
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)
2007-04-17 20:04:08 +00:00
tg 9cbff5af67 escape the quoting hell, use a function
tested on Interix
2007-04-17 20:00:37 +00:00
tg 1d6ae7d16b GNU/Cygwin32 sucks, as operating environment. Plain sucks. 2007-04-17 14:00:00 +00:00
tg c79cacdfa5 • from a MirOS point of view:
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
2007-04-16 18:54:37 +00:00
tg 680e8ebd3f if we read an utf-8 BOM, enable the utf8-hack flag (we can test for that on
mirbsd even because the main.c enabling is only run for interactive shells)
2007-04-15 12:28:38 +00:00
tg 2785ce3de4 • (re)implement shebang execution file parsing; this makes the “and which
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
2007-04-15 12:09:57 +00:00
tg 40be0d9f04 commit a test (which mksh on MirOS BSD currently fails) to test if files
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
2007-04-15 10:58:55 +00:00
tg 1692a6da66 ignore the UTF-8 Byte Order Mark at the beginning of the input (via a file
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
2007-04-15 10:45:59 +00:00
tg 67addd064f support crazy ones that still haven't gotten rid of zsh 2007-04-01 01:48:31 +00:00
tg e867a4c669 mirtoconf for large file support vars, requested by bsiegert@ 2007-03-19 22:58:19 +00:00
tg 7071cada42 • use wdcopy() not str_save() to duplicate an “encoded string”, whatever
• prevent out-of-bounds memory access, cought by glibc malloc on IA-64
2007-03-14 02:41:09 +00:00
tg dbf38a152d fix a typo and shrink it to 39 DIN A4 pages 2007-03-10 21:14:07 +00:00
tg b08848c7ff • improve description why we use -fno-tree-vrp; this is thanks
to http://blog.fefe.de/?ts=bb2654d4 by the way
• simplify a.out / a.exe distinguishation
2007-03-10 19:19:12 +00:00
tg 219bc99362 check for -fno-tree-vrp (existence and if it is required to würg around a gcc 4.1.1 bug) 2007-03-10 18:51:59 +00:00
tg 377dbe464a some gcc 4.1.2pre warning shutup 2007-03-10 18:16:28 +00:00
tg 95eaf0c9bb try to add -fstack-protector-all – it's in gcc 4.1+, so why not… 2007-03-10 17:29:53 +00:00
tg c61deaea27 remove unused utf_width(); bump vsn 2007-03-10 00:42:00 +00:00
tg db81d72dea in the utf-8 mode, invalid multibytes are now handled more strongly:
• 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.
2007-03-10 00:36:44 +00:00
tg d306d5a9e4 fix setlocale check descr 2007-03-10 00:34:54 +00:00
tg 08ccbacdf6 bugfix: display UTF-8 control characters (U+0080..U+009F, i.e. width == -1)
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'
2007-03-10 00:23:31 +00:00
tg 2edb96e663 add a 'true' at the end, to not start with an errorlevel >0 2007-03-04 06:20:48 +00:00
tg e0e432347b Minix 3 has no S_ISSOCK (probably not even UNIX® domain sockets)
and lacks other things (rlimit stuff), so it won't make it today
2007-03-04 05:14:10 +00:00
tg 17d0fd1e23 more NSIG 2007-03-04 05:04:54 +00:00
tg 95632ee53b better tr, better descr 2007-03-04 05:03:57 +00:00
tg 2e11e89d8b • _NSIG seems to be more standard than NSIG (non-POSIX)
• allow off-by-one (sigmax eq NSIG not NSIG-1)
2007-03-04 04:53:06 +00:00