static gboolean hook_remove_scm_runner (GHook *hook, gpointer data) { GncScmDangler *scm1 = data; GncScmDangler *scm2 = hook->data; SCM res; res = scm_equal_p(scm1->proc, scm2->proc); return(scm_is_true(res)); }
static void test_scm_call () { SCM result; result = scm_call (scm_c_public_ref ("guile", "+"), scm_from_int (1), scm_from_int (2), SCM_UNDEFINED); assert (scm_is_true (scm_equal_p (result, scm_from_int (3)))); result = scm_call (scm_c_public_ref ("guile", "list"), SCM_UNDEFINED); assert (scm_is_eq (result, SCM_EOL)); }
static void test_scm_local_eval () { SCM result; scm_c_use_module ("ice-9 local-eval"); result = scm_local_eval (scm_list_3 (scm_from_latin1_symbol ("+"), scm_from_latin1_symbol ("x"), scm_from_latin1_symbol ("y")), scm_c_eval_string ("(let ((x 1) (y 2)) (the-environment))")); assert (scm_is_true (scm_equal_p (result, scm_from_signed_integer (3)))); }
inline bool tmscm_is_equal (tmscm o1, tmscm o2) { return SCM_NFALSEP ( scm_equal_p(o1, o2)); }