]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/sam/acid.lib
aux/realemu: run cpuproc in same fd group as fileserver
[plan9front.git] / sys / src / cmd / sam / acid.lib
1 defn saminit()
2 {
3         if !access("/sys/src/cmd/sam/cmd.acid") then
4                 rc("cd /sys/src/cmd/sam && mk cmd.acid");
5         include("/sys/src/cmd/sam/cmd.acid");
6 }
7
8 defn printrunestring(addr, len)
9 {
10         loop 1,len do {
11                 print(*(addr\r));
12                 addr = addr+2;
13         }
14 }
15
16 defn runestring(addr, len)
17 {
18         local s;
19         
20         s = "";
21         loop 1,len do {
22                 s = s + *(addr\r);
23                 addr = addr+2;
24         }
25         return s;
26 }
27
28 defn string(s)
29 {
30         complex String s;
31         return runestring(s.s, s.n);
32 }
33
34 defn filemenu(f)
35 {
36         complex File f;
37         local s;
38         
39         s = "";
40         if f != *cmd then {
41                 if f.mod then
42                         s = s + "'";
43                 else 
44                         s = s + " ";
45                 if f.rasp != 0 then
46                         s = s + "+";
47                 else
48                         s = s + "-";
49                 if f == *curfile then
50                         s = s + ".";
51                 else
52                         s = s + " ";
53                 s = s + " ";
54         }
55         s = s + string(f.name);
56         print("file(", f\X, ") // ", s, "\n");
57 }
58
59 defn files()
60 {
61         local i, f, fx, fp;
62         
63         fx = (List)file;
64         if fx.nused == 0 then
65                 filemenu(*cmd);
66         i = 0;
67         loop 1,fx.nused do {
68                 f = (File)fx.g.filep[i];
69                 filemenu(f);
70                 i = i+1;
71         }
72 }
73
74 defn range(r)
75 {
76         complex Range r;
77         
78         if r.p1 == r.p2 then
79                 return itoa(r.p1, "#%d");
80         return itoa(r.p1, "#%d")+"-"+itoa(r.p2, "#%d");
81 }
82
83 defn file(f)
84 {
85         complex File f;
86         
87         filemenu(f);
88         print("\t$=#", f.nc\D, " .=", range(f.dot.r), " buffer(", f\X, ")\n");
89         if f == *cmd then {
90                 print("\tcmdpt=#", *cmdpt\D, " cmdptadv=#", *cmdptadv\D, "\n");
91         }
92 }
93
94 defn buffer(b)
95 {
96         complex Buffer b;
97         
98         print("buffer(", b\X, "): c=", b.c\X, " nc=", b.nc\D, "\n");
99         print("cache: ==(");
100         print(runestring(b.c, b.nc));
101         print(")==\n");
102 }
103
104 print("/sys/lib/acid/sam");