Merged r2768, r2773, r2774, r2775, r2796 from trunk.
Authored by: jplang 2009-09-13
Parent: [r2881]
Child: [r2883]