This fixes #7521.
I forgot to add this file in the checkin for #7521.
This fixes #7522.
This is the rest of the changes for bug #7522.
Work on bug #7494.  This is partially working now.
This fixes #7520.
More work on bug #7494.  This is now mostly working.