implement (^^) correctly wrt. string_of_format (Thanks to Pierre Weis)
charset-parsing: require that '%' be written '%%' in charsets, as per the documentation