:- multifile user:portray/1.
A way for the user to over-ride the default behavior of
user:portray/1 is defined, then the predicates listed below
performing term output will call it on the term itself and on every
non-variable subterm T. If
user:portray/1 succeeds, it
is assumed to have written T. If it fails, the calling predicate
will write the principal functor of T and treat the arguments of T
Note that on lists (
user:portray/1 will be
called on the whole list to
user:portray/1 and, if that call
fails, on each list element, but not on every tail of the list.
Note that a variable written from within
user:portray/1 may be
written with a different name than that used by the surrounding write
The affected predicates are:
debugger_print_optionsProlog flag, whose value by default includes
toplevel_print_optionsProlog flag, whose value by default includes
Exceptions are treated as failures, except an error message is also printed.