Print a universal character name after preprocessing.
(pprint-univ-char-name ucname bytes) → new-bytes
Function:
(defun pprint-univ-char-name (ucname bytes) (declare (xargs :guard (and (univ-char-name-p ucname) (byte-listp bytes)))) (univ-char-name-case ucname :locase-u (b* ((bytes (pprint-astring "\\u" bytes)) (bytes (pprint-hex-quad ucname.quad bytes))) bytes) :upcase-u (b* ((bytes (pprint-astring "\\U" bytes)) (bytes (pprint-hex-quad ucname.quad1 bytes)) (bytes (pprint-hex-quad ucname.quad2 bytes))) bytes)))
Theorem:
(defthm byte-listp-of-pprint-univ-char-name (b* ((new-bytes (pprint-univ-char-name ucname bytes))) (byte-listp new-bytes)) :rule-classes :rewrite)