static SCM gdbscm_gsmob_kind (SCM self) { SCM smob, result; scm_t_bits smobnum; const char *name; char *kind; smob = gsscm_get_gsmob_arg_unsafe (self, SCM_ARG1, FUNC_NAME); smobnum = SCM_SMOBNUM (smob); name = SCM_SMOBNAME (smobnum); kind = xstrprintf ("<%s>", name); result = scm_from_latin1_symbol (kind); xfree (kind); return result; }
*/ size_t scm_free0 (SCM ptr SCM_UNUSED) { return 0; } /* {Print} */ int scm_smob_print (SCM exp, SCM port, scm_print_state *pstate SCM_UNUSED) { long n = SCM_SMOBNUM (exp); scm_puts_unlocked ("#<", port); scm_puts_unlocked (SCM_SMOBNAME (n) ? SCM_SMOBNAME (n) : "smob", port); scm_putc_unlocked (' ', port); if (scm_smobs[n].size) scm_uintprint (SCM_CELL_WORD_1 (exp), 16, port); else scm_uintprint (SCM_UNPACK (exp), 16, port); scm_putc_unlocked ('>', port); return 1; } /* {Apply} */