equal
deleted
inserted
replaced
311 | (Keep f, node) => no_update (fn x => f int x) node state |
311 | (Keep f, node) => no_update (fn x => f int x) node state |
312 | (Transaction _, Toplevel) => raise UNDEF |
312 | (Transaction _, Toplevel) => raise UNDEF |
313 | (Transaction (f, g), node) => update (fn x => f int x) g node |
313 | (Transaction (f, g), node) => update (fn x => f int x) g node |
314 | _ => raise UNDEF); |
314 | _ => raise UNDEF); |
315 |
315 |
316 fun apply_union _ [] _ = raise UNDEF |
316 fun apply_body _ [] _ = raise UNDEF |
317 | apply_union int (tr :: trs) state = |
317 | apply_body int [tr] state = apply_tr int tr state |
318 apply_union int trs state |
318 | apply_body int (tr :: trs) state = |
|
319 apply_body int trs state |
319 handle Runtime.UNDEF => apply_tr int tr state; |
320 handle Runtime.UNDEF => apply_tr int tr state; |
320 |
321 |
321 fun apply_markers name markers (state as State ((node, pr_ctxt), prev_thy)) = |
322 fun apply_markers name markers (state as State ((node, pr_ctxt), prev_thy)) = |
322 let |
323 let |
323 val state' = |
324 val state' = |
326 in (state', NONE) end; |
327 in (state', NONE) end; |
327 |
328 |
328 in |
329 in |
329 |
330 |
330 fun apply_capture int name markers trans state = |
331 fun apply_capture int name markers trans state = |
331 (apply_union int trans state |> apply_markers name markers) |
332 (apply_body int trans state |> apply_markers name markers) |
332 handle exn => (state, SOME exn); |
333 handle exn => (state, SOME exn); |
333 |
334 |
334 end; |
335 end; |
335 |
336 |
336 |
337 |