:ruby の評価した値を v:statusmsg に格納するハック

if_ruby.c
StringValue はなぜか Segmentation fault を引き起こした。

328a329,331
>     VALUE result;
>     VALUE strResult;
>     char* val;
334c337
< 	    rb_eval_string_protect((char *)eap->arg, &state);
---
> 	    result = rb_eval_string_protect((char *)eap->arg, &state);
336c339
< 	    rb_eval_string_protect(script, &state);
---
> 	    result = rb_eval_string_protect(script, &state);
338a342,347
> 	else { 
> 	    //StringValue(result);
> 	    result = rb_obj_as_string(rb_inspect(result));
> 	    val = StringValuePtr(result);
> 	    set_vim_var_string(VV_STATUSMSG, val, strlen(val));
> 	}