This file is indexed.

/usr/share/Yap/hacks.yap is in yap 6.2.2-6+b2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
%   File   : hacks.yap
%   Author : Vitor Santos Costa
%   Updated: 2007
%   Purpose: Prolog hacking

:- module(yap_hacks, [
		      current_choicepoint/1,
		      cut_by/1,
		      cut_at/1,
		      current_choicepoints/1,
		      choicepoint/7,
		      current_continuations/1,
		      continuation/4,
		      stack_dump/0,
		      stack_dump/1,
		      enable_interrupts/0,
		      disable_interrupts/0,
		      virtual_alarm/3
              ]).

stack_dump :-
	stack_dump(-1).

stack_dump(Max) :-
	current_choicepoints(CPs),
	current_continuations([Env|Envs]),
	continuation(Env,_,ContP,_),
	length(CPs, LCPs),
	length(Envs, LEnvs),
	format(user_error,'~n~n~tStack Dump~t~40+~n~nAddress~tChoiceP~16+ Cur/Next Clause        Goal~n',[LCPs,LEnvs]),
	'$hacks':display_stack_info(CPs, Envs, Max, ContP, StackInfo, []),
	run_formats(StackInfo, user_error).

run_formats([], _).
run_formats([Com-Args|StackInfo], Stream) :-
	format(Stream, Com, Args),
	run_formats(StackInfo, user_error).

virtual_alarm(Interval, Goal, Left) :-
	Interval == 0, !,
	virtual_alarm(0, 0, Left0, _),
	on_signal(sig_vtalarm, _, Goal),
	Left = Left0.
virtual_alarm(Interval, Goal, Left) :-
	integer(Interval), !,
	on_signal(sig_vtalarm, _, Goal),
	virtual_alarm(Interval, 0, Left, _).
virtual_alarm(Interval.USecs, Goal, Left.LUSecs) :-
	on_signal(sig_vtalarm, _, Goal),
	virtual_alarm(Interval, USecs, Left, LUSecs).