This patch combines a few small string-related fixes to the
pretty-printer:
* The display_hint method is uncommented. This hint lets gdb print
strings more nicely.
* gdb's built-in string-decoding is used in favor of decoding UTF-8 by
hand.
* Empty strings are printed as such.
eng/ide/VSS#257
Despite the name, a pretty-printer should not print anything directly.
In this particular spot, I think the 'print' is actually more like an
assertion. This patch changes it to raise an exception instead.
This reimplements the VSS pretty-printer registration. The main
benefit of this is that "info pretty-printers" now displays a somewhat
nicer name for the printer.
GDB 14 added gdb.ValuePrinter, a tag class that pretty-printers can
use to indicate that they conform to the "extended" pretty-printer
protocol. Although it doesn't really matter for this printer, it is
best practice to use this. The printer has to rename its private
attributes in order to conform.