More for bug #8138.  It is almost ready.