Another try, this time with a lot more testing. Not much to say that hasn't already been sit or is said in the commit messages. But this does seem to do the right thing now. --jlk