Merged r2164 to r2167, r2188 and r2189 from trunk.
Authored by: jplang 2008-12-31
Parent: [r2215]
Child: [r2217]