to strcasestr, it was used in a wrong way (reverse logic error in
checking its return value), turning to mis-detection of UTF-8 locale.
* sh.h, check.t: bump version
* copyright: bump year
twkm (from #ksh on freenode), that $RANDOM is always an unsigned
15-bit decimal integer.
(RANDOM << 15 | RANDOM) thusly yields 30 bit, which is still more
than 36^5, so we can use it on the baselife CD to speed things up
* edit.c: remove debug stuff again; next time better use shl.c functions ;)
* sh.h: add format attributes to a few shf functions
* histrap.c, var.c: fix format string mistakes
* main.c, sh.h: error_prefix and warningf take bool not int
* misc.c: make chvt() stuff use shf_* functions
* misc.c: rewrite the TIOCSTTY stuff to be better integrated in mksh,
since it originally was an external patch
* misc.c: chvt() no longer fails if e.g. chown fails due to e.g. R/O / fs
* var.c: fix typeset padding for right-justified zero-filled
17:38⎜«hondza:#mksh» fail ../mksh/check.t:IFS-space-colon-3 (as expected)
17:38⎜«hondza:#mksh» FAIL ../mksh/check.t:integer-base-5
17:39⎜<mirabile:#mksh> interesting
17:40⎜<mirabile:#mksh> why does integer-base-5 fail?
17:40⎜«hondza:#mksh» j=~3
17:40⎜«hondza:#mksh» ~3 expands to /tmp/3
17:40⎜<mirabile:#mksh> aah, nice catch
17:40⎜<mirabile:#mksh> that must be quoted of course. bug in the test.
17:41⎜<mirabile:#mksh> can you try with j='~3'
17:41⎜<mirabile:#mksh> I'll commit that in an instant then
17:42⎜«hondza:#mksh» yeah, quoting it worked
17:42⎜<mirabile:#mksh> thanks
17:42⎜«hondza:#mksh» :)
* integrate compat.h, version.h into sh.h (dependency trick didn't work anyway)
* mention #ksh in mksh(1) since the founder (twkm) said it's on topic too
(don't remove mention of #mksh despite it's usually empty because of control)
* mksh.1: rework prompt ($PS1) section, simplify example,
point to packaged dot.mkshrc example
* mksh.1: fix description of 'redraw' regarding redrawal
of prompts longer than one screen line
* all: bump version/date
* MirOS HEAD (i386, gcc 3.4)
* Debian GNU/Linux 3.1 (i386, gcc 3.3)
* Interix 3.5 (i386, gcc 3.3) - perl too old for regression tests
* GNU/Cygwin 2006-03-* (i386, gcc 3.4) - no perl installed
* Solaris 8 (sparc64, gcc 3.4)
no testing been done on
* Mac
* other BSDs
* gcc 4.1.1
* Solaris 10
because I asked for community feedback but...
have been read, for non-priviledgued shells only. If $ENV is
set, ~/.mkshrc is ignored (even if the file pointed to by $ENV
does not exist in the first place).
Feature requested by Jari Aalto for portable mksh because some
operating systems' vendors do not allow touching the profile.
Initial diff and manual page addition by Jari Aalto <jari.aalto@cante.net>
Code changes and manual page correctness by me.
according to SUSv3 and other modern shells (POSIX allows both).
Idea for the patch (add another lex state) from OpenBSD, but the
implementation differs slightly (and is better in quality).
Also add two testcases (/bin/sh passes both, old mksh only one),
and document the change in the manual page. Sync RCS IDs with OBSD.
but write a good chunk of that code myself (better structured, better error
handling, more gotos, less function calls, int -> bool)
passes all tests on mirbsd; this will become mksh R25 once tested on other
supported OSes