--- CBOR-XS/XS.xs 2013/10/29 20:59:16 1.16 +++ CBOR-XS/XS.xs 2013/10/29 22:04:52 1.17 @@ -744,9 +744,15 @@ PUSHs (*av_fetch (av, i, 1)); PUTBACK; - call_sv ((SV *)GvCV (method), G_SCALAR); + call_sv ((SV *)GvCV (method), G_SCALAR | G_EVAL); SPAGAIN; + if (SvTRUE (ERRSV)) + { + FREETMPS; LEAVE; + ERR (SvPVutf8_nolen (sv_2mortal (SvREFCNT_inc (ERRSV)))); + } + SvREFCNT_dec (sv); sv = SvREFCNT_inc (POPs);