Another version of this change is ready. No longer preliminary. Tests have been written. http://cr.openjdk.java.net/~martin/webrevs/openjdk8/getChars/
This kind of change is particularly subject to feature creep, and I am trying to restrain myself. I even addressed some of Ulf's suggestions. The "Msg" suffix is gone. I reverted changes to AbstractStringBuilder.replace. I kept the naming convention for getChars parameter names. Parameter names and exception details continue to be maddeningly unsystematic, but they should be a little better than before.