Mon Oct 6 21:22:31 2008 UTC ()
Update mksh to R35b.

mksh R35b comes with the following bug fixes:
IRIX also has no UTF-8 locale at all, confirmed by Elias Pipping
Fix regression test suite for MKSH_SMALL
Bring in latest changes from oksh (OpenBSD ksh, not DeliLinux crap)
Fix abuse and unsafe use of str_save() and str_nsave()
Optimise the implementations of str_save() and str_nsave()
If MKSH_AFREE_DEBUG is defined, guard against afree()ing a pointer which has not been allocated from the given pool, from Todd C. Miller
Fix attempt to free a pointer to stack (function-local) storage when redefining a function containing a call to the “time” built-in, discovered by Elias Pipping, patch by Jared Yanovich, help from Todd C. Miller
Protect a little against people not running “./test.sh -v” but calling it with, for instance, GNU bash (as homsn did…)
Honour $PERL environment variable in test.sh, improve scanning for Perl, do not use potentially undefined $^O, print Perl version
Add <sys/types.h> as <ulimit.h> requirement (dietlibc)
Work around bug in BSD/OS 3.1 /bin/ksh (PD KSH v5.2.8 96/08/19)
Add regression tests from OpenBSD’s <bsd.regress.mk> suite
Use better CPPFLAGS for AIX, Minix 3 (from pdksh)
Expose the “s ≠ NULL” str_[n]save_() API and use it where the string can never be NULL (local stack storage), from gcc-4.2 warnings
Clean up pointer-to-integer-cast warnings in the mirtoconf process

mksh R35 comes with helluva changes:
Simplify and refactor the ulimit builtin, partially from oksh
Some style cleanup; use appropriate integer types
Fix a bug in table (e.g. kill -l, tab completion) display: the width of non-ASCII characters is now honoured in the utf8-hack mode
Improve handling of invalid UTF-8 in certain areas, and multibyte (UTF-8 / CESU-8) in general
When using “typeset -Z«n»” on an integer variable with a base other than ten, zero-pad the value instead of the base – pdksh, oksh, zsh, and AT&T ksh93 are wrong here; GNU bash doesn’t even have typeset
Improve parsing of “set +o” output where done (dot.mkshrc, check.t)
Improve regression tests
Support for base-1 numbers: in non-utf8-hack mode, ‘1#x’ means the same as the ASCII code for ‘x’ (e.g. 78hex), where ‘x’ is any single octet (byte); in utf8-hack mode, ‘x’ is either a valid and minimalistically encoded UTF-8 multibyte character in the range 0000‥FFFD, or a single octet with no trailing octets (bytes), which will then be converted as if it were an ASCII value, or, if bit7 is set, be mapped into the PUA range of EF80‥EFFF assigned by CSUR for this purpose; this mapping is, in both cases, bidirectional; the planned base-0 number support is not possible with the code, so use base-1 (with utf8-hack disabled, or & 0xFF) instead (while it is recommended to parse only single octets, there is a regression test showing correct and safe multibyte parsing, which however is error-prone to implement and thusly not recommended) – “genial” replaced@TNG, “this sounds fun” ggergely, agreed bsiegert@ and others
Pull in more current versions of supplied files; use Unicode 5.0
Clean up unused definitions in build system; document MKSH_CLS_STRING
Remove advertising clause from copyright file; while we’d be pleased to be mentioned if something contains our code, tg@ will no longer enforce the requirement to advertise with that specific formula, and we’d prefer if people remember the OpenHAL vs ath5k incident and that they cannot simply change licencing of existing code; patches sent to the MirOS Project for inclusion shall be accepted if they’re agreed to match this licence
Simplify dot.mkshrc sample file: licence is merged into the main copyright file; AT&T ksh93 compatibility was improved
Fix a display problem regarding fullwidth characters (e.g. CJK)
Set the “C” locale in Build.sh for tool execution; otherwise, certain OEs behave strange; thanks to Adam “replaced” Hoka for spotting
Use en_US.utf8 as UTF-8 locale for the testsuite for now
If setlocale(LC_CTYPE, "") is not available, look at the environment variables ourselves – brings UTF-8 support to poor OSes
Remove some now-dead code; speed up configuration process; shrink
Default to no setlocale(3) due to stubbed or missing locale support on GNU/Cygwin, OpenBSD, OSF/1 in Build.sh; a few more that are quite unlikely to have a UTF-8 locale: BSD/OS, Interix, Minix, PW32, Ultrix, AT&T UWIN; default to always UTF-8 on Plan 9
Fix for testsuite unexpected failure if running as root in one case
Initialise all shell integer variables (OPTIND, PPID, RANDOM, SECONDS, TMOUT) to base 10
Reintroduce from mksh pre-R24 shell integer variable PGRP set to the PID of the process group leader via getpgrp(2)
New shell integer variable USER_ID set to the geteuid(2) and used by dot.mkshrc to speed up logins, saves a spawn of id(1), mentioned by and realisation planned with Andreas "gecko2" Gockel
Fix dot.mkshrc tilde replacement in both $PS1 and the pushd/popd/dirs implementation when the home directory is empty, the root directory, or ends with a slash (disable replacement in that case)
Support dietlibc, force it into providing a BSDish caddr_t
Do not use LDFLAGS and LIBS while compiling with -c
Add realpath(3) builtin, to further speed up logins and chdirs
Optimise the code somewhat by making use of possible assumptions
Set the “C” locale in test.sh as well to quell warnings
Split the regression tests that use locale between en_US.utf8 and en_US.UTF-8, since not all OSes support either one, and make only HP-UX and GNU use the latter
Fix kill, mknod(8) builtin usage msg, from Igor Sobrado via oksh
Use proper ptrdiff_t casts for pointer arithmetics, inspired by an oksh commit from Federico Schwindt
Remove check category “pdksh” from check.t and test script
Improve Darwin, OSF/1, HP aCC, SUNpro version reporting
Support GNU bash “&>” extension, even better than they do, suggested by Lukas “smultron” Upton from MidnightBSD
Basic support for LLVM+clang in the build system with experimental “ccc” compiler driver; llvm-gcc worked as-is before already
Better support for contributed arc4random.c file
Do not spin if unlink(2) fails on $HISTFILE, from Decklin Foster
Dump the perl(1) $^O variable in test.sh to logs
Pull in latest changes from oksh
Allow white space between a here string indicator and the string, accidentally discovered by twkm (#ksh, freenode)
Allow fd specifications outside the 0‥9 range for I/O redirections, and bounds check them to be lower than the FDBASE definition, currently still 10 if MKSH_SMALL, 24 otherwise (unportable)
Improve the regression test suite: for one test, we had a bizarre constraint telling it won’t work on UWIN, which was based upon false assumptions, but Tru64 would fail it since its cat(1) unexpectedly outputs some error messages (fix by closing stderr for cat); another test would unexpectedly print no error message on Solaris (fix by making the error message optional in the perlre(1) used)
Switch back to en_US.UTF-8 for glibc, Debian can do both, Mandriva fails on en_US.utf8 (XXX no libc5 auto-detection to disable it)


(ahoka)
diff -r1.7 -r1.8 pkgsrc/shells/mksh/Makefile
diff -r1.7 -r1.8 pkgsrc/shells/mksh/distinfo

cvs diff -r1.7 -r1.8 pkgsrc/shells/mksh/Makefile (expand / switch to unified diff)

--- pkgsrc/shells/mksh/Makefile 2008/04/17 05:55:50 1.7
+++ pkgsrc/shells/mksh/Makefile 2008/10/06 21:22:31 1.8
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.7 2008/04/17 05:55:50 wiz Exp $ 1# $NetBSD: Makefile,v 1.8 2008/10/06 21:22:31 ahoka Exp $
2 2
3DISTNAME= mksh-R33d 3DISTNAME= mksh-R35b
4PKGNAME= ${DISTNAME:S/-R/-/} 4PKGNAME= ${DISTNAME:S/-R/-/}
5CATEGORIES= shells 5CATEGORIES= shells
6MASTER_SITES= http://www.mirbsd.org/MirOS/dist/mir/mksh/ \ 6MASTER_SITES= http://www.mirbsd.org/MirOS/dist/mir/mksh/ \
7 http://pub.allbsd.org/MirOS/dist/mir/mksh/ 7 http://pub.allbsd.org/MirOS/dist/mir/mksh/
8EXTRACT_SUFX= .cpio.gz 8EXTRACT_SUFX= .cpio.gz
9 9
10MAINTAINER= pkgsrc-users@NetBSD.org 10MAINTAINER= pkgsrc-users@NetBSD.org
11HOMEPAGE= http://mirbsd.de/mksh 11HOMEPAGE= http://mirbsd.de/mksh
12COMMENT= MirBSD Korn Shell 12COMMENT= MirBSD Korn Shell
13 13
14WRKSRC= ${WRKDIR}/mksh 14WRKSRC= ${WRKDIR}/mksh
15WRKBUILD?= ${WRKSRC} 15WRKBUILD?= ${WRKSRC}
16 16

cvs diff -r1.7 -r1.8 pkgsrc/shells/mksh/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/shells/mksh/Attic/distinfo 2008/04/17 05:55:50 1.7
+++ pkgsrc/shells/mksh/Attic/distinfo 2008/10/06 21:22:31 1.8
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.7 2008/04/17 05:55:50 wiz Exp $ 1$NetBSD: distinfo,v 1.8 2008/10/06 21:22:31 ahoka Exp $
2 2
3SHA1 (mksh-R33d.cpio.gz) = e1ab5c7897b7f91ab0dcd5be49ded8b441136291 3SHA1 (mksh-R35b.cpio.gz) = ea5e7d72e3602e76156452ab2448f3532f8413e4
4RMD160 (mksh-R33d.cpio.gz) = d810a705b01e146f9addd184c168798a22a36d38 4RMD160 (mksh-R35b.cpio.gz) = 882cbe0d2c46b8f024288b0f594a4b219e8fbd51
5Size (mksh-R33d.cpio.gz) = 255911 bytes 5Size (mksh-R35b.cpio.gz) = 263452 bytes