@@ -34,7 +34,7 @@ static _ARK_DISPLAY_VALUE: unsafe extern "C" fn(x: libr::SEXP) -> *const ffi::c_
34
34
// Implementations for entry points in `debug.c`.
35
35
36
36
#[ no_mangle]
37
- pub extern "C" fn ark_print_rs ( x : libr:: SEXP ) -> * const ffi:: c_char {
37
+ pub extern "C-unwind " fn ark_print_rs ( x : libr:: SEXP ) -> * const ffi:: c_char {
38
38
capture_console_output ( || {
39
39
unsafe { libr:: Rf_PrintValue ( x) } ;
40
40
} )
@@ -53,7 +53,7 @@ pub extern "C" fn ark_print_rs(x: libr::SEXP) -> *const ffi::c_char {
53
53
/// settings set escape-non-printables false
54
54
/// ```
55
55
#[ no_mangle]
56
- pub extern "C" fn ark_inspect_rs ( x : libr:: SEXP ) -> * const ffi:: c_char {
56
+ pub extern "C-unwind " fn ark_inspect_rs ( x : libr:: SEXP ) -> * const ffi:: c_char {
57
57
capture_console_output ( || {
58
58
// TODO: Should use C callable when implemented as that would avoid
59
59
// messing with namedness and refcounts:
@@ -71,7 +71,7 @@ pub extern "C" fn ark_inspect_rs(x: libr::SEXP) -> *const ffi::c_char {
71
71
/// settings set escape-non-printables false
72
72
/// ```
73
73
#[ no_mangle]
74
- pub extern "C" fn ark_trace_back_rs ( ) -> * const ffi:: c_char {
74
+ pub extern "C-unwind " fn ark_trace_back_rs ( ) -> * const ffi:: c_char {
75
75
capture_console_output ( || {
76
76
// https://github.com/r-lib/rlang/issues/1059
77
77
unsafe {
@@ -83,7 +83,7 @@ pub extern "C" fn ark_trace_back_rs() -> *const ffi::c_char {
83
83
}
84
84
85
85
#[ no_mangle]
86
- pub extern "C" fn ark_display_value_rs ( x : libr:: SEXP ) -> * const ffi:: c_char {
86
+ pub extern "C-unwind " fn ark_display_value_rs ( x : libr:: SEXP ) -> * const ffi:: c_char {
87
87
let value = unsafe {
88
88
let kind = tidy_kind ( r_typeof ( x) ) ;
89
89
let tag = format ! ( "<{kind}>" ) ;
0 commit comments