Note that it is ambiguous whether a list of integers is text or not. The heuristics use the length (>=3) and demands each character to be TAB, NL, CR or a printable ASCII character. You can extend the accepted characters by defining clauses for portray_text:is_text_code/1 and the minimum length using e.g.,
?- set_portray_text(min_length, 1).
set_portray_text/2 also controls when the string is abbreviated using ellipsis.
That is as good as it gets Note that this gets really hard for Unicode …