All in all, this did show some issues. I have added list_format_errors/0
, part of check/0
, so we now get:
t :-
format("Hello ~w", ["World", "Universe"]),
format(user_error, "Hello ~w", []),
format(user_error, "Hello world").
t2 :-
debug(foo, 'Hello ~w', []).
t3 :-
format('See ~o', [hello]).
$ swipl s.pl
?- check.
% Checking undefined predicates ...
% Checking trivial failures ...
% Checking format/2,3 and debug/3 templates ...
Warning: /home/jan/src/swipl-devel/linux/s.pl:10:8:
Warning: format/2: Invalid template: format_character `o' does not exist
Warning: /home/jan/src/swipl-devel/linux/s.pl:7:8:
Warning: debug/3: Template requires 1 arguments, got 0
Warning: /home/jan/src/swipl-devel/linux/s.pl:2:8:
Warning: format/2: Template requires 1 arguments, got 2
Warning: /home/jan/src/swipl-devel/linux/s.pl:3:8:
Warning: format/3: Template requires 1 arguments, got 0
Warning: /home/jan/src/swipl-devel/linux/s.pl:4:8:
Warning: format/2: Template requires 0 arguments, got 1
% Checking redefined system and global predicates ...
% Checking predicates with declarations but without clauses ...
% Checking predicates that need autoloading ...
true.