Source file emacs_backtrace.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
open! Core
open! Import
let standard_output = Var.Wrap.("standard-output" <: value)
let backtrace = Funcall.Wrap.("backtrace" <: nullary @-> return nil)
let get () =
Current_buffer.set_temporarily_to_temp_buffer Sync (fun () ->
Current_buffer.set_value_temporarily
Sync
standard_output
(Current_buffer.get () |> Buffer.to_value)
~f:(fun () ->
backtrace ();
Current_buffer.contents () |> Text.to_utf8_bytes))
;;