@@ -0,0 +1,50 @@
1+:- :~ navhome/'/docs/'
2+ next/'true'
3+ sort/'6'
4+ title/'!. "zapdot"'
5+ ==
6+;>
7+
8+# `!. "zapdot"`
9+
10+turn on stack trace for a subexpression `p`
11+
12+## Produces
13+
14+The product of `p`. If `p` crashes, no stack trace entries are given for that code.
15+
16+## Syntax
17+
18+Regular: *1-fixed*.
19+
20+```
21+!. p=hoon
22+```
23+
24+`p` is any Hoon expression.
25+
26+## Discussion
27+
28+`!.` is used to turn off a debugging stack trace option for any code you have in `p`. This rune can be embedded under a `!:` rune for inner loops of your code that you don't want or need to trace. This is especially useful if a trace overflows the stack.
29+
30+## Examples
31+
32+```
33+> %.(1 |=(a=@ ^-(@ ?:(=(a 10) !! $(a +(a))))))
34+ford: %ride failed to execute:
35+
36+> !: %.(1 |=(a=@ ^-(@ ?:(=(a 10) !! $(a +(a))))))
37+/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 5].[1 49]>
38+/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 17].[1 47]>
39+/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 22].[1 46]>
40+/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 36].[1 45]>
41+...skipping some lines...
42+/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 17].[1 47]>
43+/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 22].[1 46]>
44+/~zod/home/~2018.10.15..20.01.21..6b0c:<[1 33].[1 35]>
45+ford: %ride failed to execute:
46+
47+> !: %.(1 !.(|=(a=@ ^-(@ ?:(=(a 10) !! $(a +(a)))))))
48+/~zod/home/~2018.10.15..20.01.35..0529:<[1 5].[1 53]>
49+ford: %ride failed to execute:
50+```