--- - branch: MAIN date: Mon Oct 6 21:22:31 UTC 2008 files: - new: '1.8' old: '1.7' path: pkgsrc/shells/mksh/Makefile pathrev: pkgsrc/shells/mksh/Makefile@1.8 type: modified - new: '1.8' old: '1.7' path: pkgsrc/shells/mksh/distinfo pathrev: pkgsrc/shells/mksh/distinfo@1.8 type: modified id: 20081006T212231Z.64a4992e5cc51310eabbca632bc059b484f5b793 log: "Update mksh to R35b.\n\nmksh R35b comes with the following bug fixes:\nIRIX also has no UTF-8 locale at all, confirmed by Elias Pipping\nFix regression test suite for MKSH_SMALL\nBring in latest changes from oksh (OpenBSD ksh, not DeliLinux crap)\nFix abuse and unsafe use of str_save() and str_nsave()\nOptimise the implementations of str_save() and str_nsave()\nIf MKSH_AFREE_DEBUG is defined, guard against afree()ing a pointer which has not been allocated from the given pool, from Todd C. Miller\nFix attempt to free a pointer to stack (function-local) storage when redefining a function containing a call to the â\x80\x9Ctimeâ\x80\x9D built-in, discovered by Elias Pipping, patch by Jared Yanovich, help from Todd C. Miller\nProtect a little against people not running â\x80\x9C./test.sh -vâ\x80\x9D but calling it with, for instance, GNU bash (as homsn didâ\x80¦)\nHonour $PERL environment variable in test.sh, improve scanning for Perl, do not use potentially undefined $^O, print Perl version\nAdd as requirement (dietlibc)\nWork around bug in BSD/OS 3.1 /bin/ksh (PD KSH v5.2.8 96/08/19)\nAdd regression tests from OpenBSDâ\x80\x99s suite\nUse better CPPFLAGS for AIX, Minix 3 (from pdksh)\nExpose the â\x80\x9Cs â\x89  NULLâ\x80\x9D str_[n]save_() API and use it where the string can never be NULL (local stack storage), from gcc-4.2 warnings\nClean up pointer-to-integer-cast warnings in the mirtoconf process\n\nmksh R35 comes with helluva changes:\nSimplify and refactor the ulimit builtin, partially from oksh\nSome style cleanup; use appropriate integer types\nFix 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\nImprove handling of invalid UTF-8 in certain areas, and multibyte (UTF-8 / CESU-8) in general\nWhen using â\x80\x9Ctypeset -Z«n»â\x80\x9D on an integer variable with a base other than ten, zero-pad the value instead of the base â\x80\x93 pdksh, oksh, zsh, and AT&T ksh93 are wrong here; GNU bash doesnâ\x80\x99t even have typeset\nImprove parsing of â\x80\x9Cset +oâ\x80\x9D output where done (dot.mkshrc, check.t)\nImprove regression tests\nSupport for base-1 numbers: in non-utf8-hack mode, â\x80\x981#xâ\x80\x99 means the same as the ASCII code for â\x80\x98xâ\x80\x99 (e.g. 78hex), where â\x80\x98xâ\x80\x99 is any single octet (byte); in utf8-hack mode, â\x80\x98xâ\x80\x99 is either a valid and minimalistically encoded UTF-8 multibyte character in the range 0000â\x80¥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â\x80¥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) â\x80\x93 â\x80\x9Cgenialâ\x80\x9D replaced@TNG, â\x80\x9Cthis sounds funâ\x80\x9D ggergely, agreed bsiegert@ and others\nPull in more current versions of supplied files; use Unicode 5.0\nClean up unused definitions in build system; document MKSH_CLS_STRING\nRemove advertising clause from copyright file; while weâ\x80\x99d 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â\x80\x99d 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â\x80\x99re agreed to match this licence\nSimplify dot.mkshrc sample file: licence is merged into the main copyright file; AT&T ksh93 compatibility was improved\nFix a display problem regarding fullwidth characters (e.g. CJK)\nSet the â\x80\x9CCâ\x80\x9D locale in Build.sh for tool execution; otherwise, certain OEs behave strange; thanks to Adam â\x80\x9Creplacedâ\x80\x9D Hoka for spotting\nUse en_US.utf8 as UTF-8 locale for the testsuite for now\nIf setlocale(LC_CTYPE, \"\") is not available, look at the environment variables ourselves â\x80\x93 brings UTF-8 support to poor OSes\nRemove some now-dead code; speed up configuration process; shrink\nDefault 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\nFix for testsuite unexpected failure if running as root in one case\nInitialise all shell integer variables (OPTIND, PPID, RANDOM, SECONDS, TMOUT) to base 10\nReintroduce from mksh pre-R24 shell integer variable PGRP set to the PID of the process group leader via getpgrp(2)\nNew 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\nFix 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)\nSupport dietlibc, force it into providing a BSDish caddr_t\nDo not use LDFLAGS and LIBS while compiling with -c\nAdd realpath(3) builtin, to further speed up logins and chdirs\nOptimise the code somewhat by making use of possible assumptions\nSet the â\x80\x9CCâ\x80\x9D locale in test.sh as well to quell warnings\nSplit 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\nFix kill, mknod(8) builtin usage msg, from Igor Sobrado via oksh\nUse proper ptrdiff_t casts for pointer arithmetics, inspired by an oksh commit from Federico Schwindt\nRemove check category â\x80\x9Cpdkshâ\x80\x9D from check.t and test script\nImprove Darwin, OSF/1, HP aCC, SUNpro version reporting\nSupport GNU bash â\x80\x9C&>â\x80\x9D extension, even better than they do, suggested by Lukas â\x80\x9Csmultronâ\x80\x9D Upton from MidnightBSD\nBasic support for LLVM+clang in the build system with experimental â\x80\x9Ccccâ\x80\x9D compiler driver; llvm-gcc worked as-is before already\nBetter support for contributed arc4random.c file\nDo not spin if unlink(2) fails on $HISTFILE, from Decklin Foster\nDump the perl(1) $^O variable in test.sh to logs\nPull in latest changes from oksh\nAllow white space between a here string indicator and the string, accidentally discovered by twkm (#ksh, freenode)\nAllow fd specifications outside the 0â\x80¥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)\nImprove the regression test suite: for one test, we had a bizarre constraint telling it wonâ\x80\x99t 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)\nSwitch 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)\n" module: pkgsrc subject: 'CVS commit: pkgsrc/shells/mksh' unixtime: '1223328151' user: ahoka