Merged r2664, r2665, r2670, r2674, r2677, r2679 from trunk.
Authored by: jplang 2009-04-24
Parent: [r2680]
Child: [r2682]