Tim Bunce: patches for errors updates and docs (fixes RT 96887, and RT 96891)

Hello Michael!

Well, as sometimes happens, I started down this road and then got more enthusiastic than I anticipated. This pull request fixes RT 96887, and RT 96891, and several more RTs I didn't get around to creating since it was easier to just implement them :)

This is a single pull request but includes several distinct changes. (I can separate them out if you're really prefer them as multiple separate pull requests.)

I suggest that you review the individual commits one by one and then give me feedback about anything you'd like changed.