Accepted mksh 39.3-1 (source i386)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384
Format: 1.8
Date: Sun, 28 Feb 2010 14:09:39 +0000
Source: mksh
Binary: mksh
Architecture: source i386
Version: 39.3-1
Distribution: unstable
Urgency: low
Maintainer: Thorsten Glaser <tg@mirbsd.de>
Changed-By: Thorsten Glaser <tg@mirbsd.de>
Description:
mksh - MirBSD Korn Shell
Closes: 550717
Changes:
mksh (39.3-1) unstable; urgency=low
.
* New upstream version R39c; shortened ChangeLog since R39:
- [tg] Build system, code, docs and testsuite cleanup, also style(9)
- [tg] Parse and evaluate ${parameter op word} correctly
- [tg] Fix possible SIGSEGV in interactive mode bind builtin due to
mis-optimisation of gcc combined with a bogus prototype;
discovered by Grml.org's Frank Terbeck (ft), thanks!
- [tg] Clean up some more strict *roff or compiler warnings: dashes,
undefined macros; casting errors (constness, signedness, type
width/class) and catch possibly unaligned pointer dereferences
early; remove code/rodata redundancies, plug memory leaks
- [smultron] Tweak the manual page: point out the word “colour”
- [tg] Optimise dot.mkshrc DJB’s CDB hash implementations; add Bob
Jenkins’ one-at-a-time hash (standard and leading-bit
initialised); fix signedness in expressions; let the hashes use
stdin if "$*" is empty, like Lb64{en,de}code; use
“[[ -o utf8-mode ]]” ipv “[[ $- = *U* ]]”
- [tg] Build.sh portability fixes: missing prerequisite headers;
ensure $CC is never called without $CFLAGS; fix test.sh, et al.
- [tg] Optimise internal variable representation; use one-at-a-time
hash; cache hash values for faster resizing at zero memory cost;
clean up hash table (keytab) code; switch hash table collision
resolution algorithm to Python’s; prepare for later changes
- [tg] Fix type errors in the source code (int → bool, size_t,
mksh_uari_t)
- [tg] Fix “${foo:bar:$baz}” not working (missing substitute() call)
- [tg] Implement “typeset ±a” as nop
- [tg] Support ksh93-like “${!foo[@]}” listing the keys (indicēs) of
all set array elements
- [tg] Support bash/ksh93-like “array=([key]=value …)” and
(additionally) “set ±A array -- [key]=value …” to directly
specify indicēs to use
- [tg] Document the optional, unsupported, printf(1) builtin in TFM
- [tg] Replace realpath(3) dependency and internally used
get_phys_path() pdksh code with own implementation; always offer
the realpath builtin
- [tg] Implement nameref='typeset -n' (bounded variables) like AT&T
ksh93 but with mksh-style nested/dynamic scoping and on-use
resolving; they cannot currently be stored in an array though
- [tg] Add “chdir” builtin doing the same as “cd” special builtin
- [tg, David Korn] Document more differences between mksh (and
pdksh) and AT&T ksh (or, more specific, ksh88, ksh93) in the
manual page
- [tg] Support “'a'” as an alternative to “1#a”, like ksh93 does
- [tg] Add ksh’s “test -o ?foo”: true if “foo” is a valid shell
option, where “foo” can be “xtrace” or “-x” or “+x” (these three
are equivalent)
- [tg] Support “$'…'” backslash-expanding single-quoted strings, as
requested by David Korn, with almost the same syntax and semantics
- [tg] Unify backslash expansion code (C style vs. print builtin)
- [tg] Support “function stop () {” bashism
- [tg] For several items in the source code that require order to be
kept, provide from multiply-included header files; sort correctly
- [tg] Get rid of unneeded FMONITOR (-m) for shells without job
control; sync list of flags, comments and manpage with reality
- [tg] If MKSH_SMALL, reduce size by removing editor functionality
- [tg] Support VT100 emulator style {Ctrl,Alt}-CurLeft/Right keycode
sequences with new vt100-hack emacs bind function (LP: #355883)
- [cnuke, tg] Remove more, like GNU bash extensions, from MKSH_SMALL
- [tg] Remove more functionality, such as Emacs command line editing
mode bind key macros, and other extensions, from MKSH_SMALL to
help floppies
- [tg] Make forking and subshells less expensive wrt. random state
- [tg] Build and source code fixes for / caught by SUNWcc, HP aCC,
pcc, DEC ucode cc (MIPS), GCC, LLVM clang
- [tg] Make undef/def MKSH_NOVI into 0/1 MKSH_S_NOVI build flag
- [tg] Get rid of "U getenv" in nm output, we already import environ
- [tg] Simplify $RANDOM handling: reads are now either arc4random(3)
(if available: set +o arc4random is no longer possible) or an LCG;
writes are arc4random_pushb(3) if available for explicit writes,
arc4random_addrandom(3) otherwise, or another one-at-a-time hash
feeding the LCG; furthermore, RANDOM is now always exported to and
imported from (implicit read: no push to kernel done) the
environment vector on startup and spawning
- [tg] Document mksh does not exactly use OPTU-8/OPTU-16 in the
manpage, as well as when characters, octets, or screen columns
are used
- [tg] Fix exit 127 on "mksh /tmp/horsies" ipv of 1 on ENOENT,
#548744
- [Clint Adams] Fix typos in the testsuite
- [tg, Clint Adams] Begin a shared testsuite for mksh and posh
- [tg] Make 「((foo) || bar)」 and 「((foo) | (bar))」 work
- [tg] Fix lazy evaluation of assignments by ternary operator,
#445651
- [tg] Work around Cygwin bugs (quirks) hindering the testsuite
- [tg] In FSH mode, “echo [-n] 'foo\x40bar'” shall not be expanded
- [tg] Let set -- $(false); echo $? return 0 (POSIXly correct) in
FSH mode, 1 (needed for getopt(1) support) otherwise
- [tg] Changes of variables inside Bourne style POSIX functions
indeed affect the current execution environment (of the function
caller)
- [tg] Fix getopts behaviour (sync with AT&T ksh93 not ksh88)
- [tg] “eval $(false)” shall return 0 (Debian Closes: #550717)
- [tg] Ensure that /* apo'strophes in comments */ work
- [tg] Overhaul and simplify handling of (special) variables
- [tg] Further reduce memory (code/data) and import footprint
- [tg] Use functions without PATH_MAX limit on GNU/Hurd
- [tg] Fix tab completing pathnames containing ‘:’, ‘=’, ‘$’ or ‘`’
- [tg] Support ‘-T <tty>’ even if MKSH_SMALL and fix it
- [tg] Remove "which" alias "whence -p" to allow "which -a" in
dot.mkshrc and add more examples, some commented out
- [tg] Fix print_columns() issue with displaying items where
characters had differing number of octets and columns, and the
off-by-one which had hidden this problem with 2-octet 1-column
and 3-octet 2-column chars
- [tg] Beautify the manpage in both AT&T nroff and GNU groff
- [tg] Fix null-expansion of “${x%?}” if $x is unset
- [tg] Make some globbing (${x%?}) operate on characters instead of
octets; update manual page to reflect that others still do and
remove wording that let people think we’d ever support POSuX
character classes
- [tg] New ${%foo} returning width of $foo in screen columns, or -1
if $foo contains an ASCII/latin1/Unicode C0/C1 control character
- [tg] Fix subtle possible portability problem wrt. CHILD_MAX
- [tg] Honour ±U on command line of an interactive shell
- [tg] Fix dead stores and other bugs pointed out by the Clang
static analyser; put assertions in places it has false positives
- [tg] Plug uninitialised memory access and possible out-of-bounds
read of a buffer caught by Valgrind; change one memcpy(3) to
memmove(3) where srcbuf and dstbuf overlap; place (-DDEBUG)
workaround for false positive
- [tg] Rework __attribute__ compiler capability check
- [tg] Apply errno save/restore related fix from (sync with) oksh
- [tg] Build.sh: output message when switching from
autoconfiguration to building / output generation (requested by
Matt “lewellyn” Lewandowsky); use “conftest.c” ipv “scn.c” (to
please ccache); ...
- [tg] Allow “unset foo[*]” (keep attributes) and “typeset foo[*]”
(for forward-compatibility; R39b it’s the same as “typeset foo”)
- [tg] When persistent history is enabled (but not MKSH_SMALL) and
used, intertwine the shells concurrently accessing $HISTFILE
better ⇒ sync on empty or duplicate line as well (requested by
Maximilian “mxey” Gaß)
- [tg] Split off “set ±o posix” and “set ±o sh” again, to be
somewhat more compatible to various old or vendor versions of
pdksh and mksh:
+ MKSH_BINSHREDUCED sets FSH but not FPOSIX
+ MKSH_MIDNIGHTBSD01ASH_COMPAT depends on FSH but not FPOSIX
+ The echo built-in behaves the same for FPOSIX and FSH
+ File descriptors > 2 are not closed for both FPOSIX and FSH
+ Both “set -o posix” and “set -o sh” call “set +o braceexpand”
+ In contrast to R39 and below, the errorlevel of
“set -- $(getopt ab:c "$@")” is now the same in ksh and
FPOSIX mode (0) and only FSH will use the errorlevel of getopt
(used to be the other way round)
- [tg] Document some more shortcomings in the mksh(1) manual page
- Contributed printf.c fixes:
+ [tg] Make printf(1) builtin use “$'…'” mode, like ksh93
+ [tg] Fix const-cleanliness
* Remove patches now integrated in upstream or no longer needed
* Bump Standards-Version, no relevant change
* Apply patches inside the top-level directory
* debian/source/format: Enforce "1.0" manually, for now
* debian/README.source: New, by zack's suggestion, to document some
particulars of the source package and why I'm not using 3.0 yet
* debian/README.Debian, debian/mksh.docs: New, document dash bug
* debian/control: I'm sure we don't need to B-D on locales-all [m68k]
* debian/control: tweak package short description to well-known text
and sync long description with upstream's
* debian/copyright: Update, sync with upstream
* Rename build/ into builddir/ to avoid phony target vs pathname
conflict in Makefile (debian/rules)
* debian/rules: Ensure we use the C locale during build (especially
for patch application collation order)
* debian/mksh.examples, debian/rules: Split out dh_installexamples args
* debian/rules: Update for R39c, printf.c.1.14 particulars
* debian/rules: When building, try with -combine first but retry if it
fails, like my OpenSuSE Buildservice packages do (cf. LP: #375604)
* debian/control: Remove DMUA, I'm a DD now
* debian/diffs/backport-fixes.diff: New, fixes not yet in R39c
Checksums-Sha1:
c64ed6de9a4a54405d327ce1ddc2003db1152466 1856 mksh_39.3-1.dsc
f1a2d90041ba081f8790ae38584d3119d5403ccc 301719 mksh_39.3.orig.tar.gz
5883e8e372752c6061f58241e20825a9fcc87444 53553 mksh_39.3-1.diff.gz
6ebff0d7b15de6b79965c03ea9d807d28a63501c 309364 mksh_39.3-1_i386.deb
Checksums-Sha256:
96a5a0406753117b70ba242c26a5912e5aaadbe93ce5f64bea6888abe082a054 1856 mksh_39.3-1.dsc
017ff64c41ae8c756869dae821e47c46b8dcc806719c04a3ded28b375e188e32 301719 mksh_39.3.orig.tar.gz
b97752e8bced0feb633911f7813b486b74ec8591288460b7100ab76a9f1d92e6 53553 mksh_39.3-1.diff.gz
a79467dec4a5e3043b17731379970f08edf5fe305e0a835cb91d7751f22a2179 309364 mksh_39.3-1_i386.deb
Files:
596294601edbe69d02ce28e39c7f2f58 1856 shells optional mksh_39.3-1.dsc
3a705fc3ef3b9d0323ef8b6a7a3b5ec7 301719 shells optional mksh_39.3.orig.tar.gz
3cd33cc165b730345d09fef087b49d89 53553 shells optional mksh_39.3-1.diff.gz
2c8f83912c752b7384ee22adff66e673 309364 shells optional mksh_39.3-1_i386.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MirBSD)
iQIVAwUBS4qBQHa1NLLpkAfgAQlmsg/9E6EOq5XP5EL3a11jvoZWl3zJ8TIlYwOh
ZY7Tc1NGogsmcs+C75IEeSgx2rIvkHmVORJ//jP997h4kbzyDEr+8hqQ97/SOqlp
F1Wfeipl0pvCd736AEIO726b1pymomf7POl5sehIeOiB833XQ/93PoPhKRKtoUOj
w2v4As/RqRl25efxWAhhUTRVViWxP9E7Ib88KH8RiS3ntdTOYk89QdqpdEZkRLB4
hw13Mak/kuIBdJdBXzKl3EnbzZthTihnoCuXpotJBMhlOTsxFp9/eRayWCSWyLm+
8RWRa5mnrar+IrVMMJDsA5Z02vpD/w4KWuyD7xLX9u3NyZaTJ3hZ4iwAez/K8x5F
wvOs1pvJI05nCq0M4a0KFP7Hm0oNilnpbmG3ZsmylixyfTaCmPRFAfpXYHz8i1ND
4Tnv78BmFI60SXqd2t5v5B9zyf/Q3iJxoPN7yfTU5rU00eGnPZJ7l2W3PWmKxUml
mOVzJoE2NyLDkQ8oJO3bJzyHd066YvNs9gHaydWtem2WTqIONVcWriwlsOw+fYB8
SE5HQgVbR6hLenF0ChdVYK0zwwt+u9+7wzBl4nBnKJg+qs5m0ZCpR2HJm6WQG7Sv
U2EqmFXdmQ8U8WafVnMrNA/+qWZnB5RHedV2X17Ob5oz0zwRSUNex6R9PGSiM4cf
t97fdgYBj/A=
=Dps+
-----END PGP SIGNATURE-----
Accepted:
mksh_39.3-1.diff.gz
to main/m/mksh/mksh_39.3-1.diff.gz
mksh_39.3-1.dsc
to main/m/mksh/mksh_39.3-1.dsc
mksh_39.3-1_i386.deb
to main/m/mksh/mksh_39.3-1_i386.deb
mksh_39.3.orig.tar.gz
to main/m/mksh/mksh_39.3.orig.tar.gz