For completeness, here are the two conversion "opcode-"macros which I've forgotten to show in my previous mail: #define ___BEGIN_CFUN_SV_to_string_SCMOBJ(svp, obj) \ if ((___err = gperl__SV_to_string_SCMOBJ(svp, &obj)) == ___FIX(___NO_ERR)) { #define ___END_CFUN_SV_to_string_SCMOBJ(svp, obj) }