C-u before an eval marks a form so the program stops when it runs (DISCUSS.md 9). The mark arrives as a position in a separate :pause field and is applied to the Ast after parsing: splicing text into the source would move every line and column after it, and the error overlays, the layout, the break loop's frame locations and DWARF all read those. Ast.mark_pause puts a (pause) call at whatever starts at that position -- wrapping a sub-expression in a do, or going to the front of a defn's body, since a declaration cannot be wrapped. A position that matches nothing is refused rather than installed unmarked, which would report a breakpoint that is not there. It sticks with no extra state: the marked declaration is what goes into the session, so an ordinary C-c C-c over the same form clears it. The daemon half only; the Emacs command and its overlay are not built. HANDOFF-f2.md has the rest, in order.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%