Ruby - Bug #3783: Replace Calls to rb_error_frozen() with rb_check_frozen()

ko1 (Koichi Sasada)
2010-10-22T00:17:45Z

=begin
Hi,

(2010/09/02 13:20), Run Paint Run Run wrote:

This patch replaces lines of the form:
if (OBJ_FROZEN(obj)) rb_error_frozen("object");
with:
rb_check_frozen(obj);
This is simpler, and produces error messages that are more consistent and precise.

(It feels wrong cluttering the bug tracker with things like this. Would they be better posted to the list or sent as a "pull" request?)

I agree about this modification.
How about to make a macro to avoid C function call overhead?

example:

#define RB_CHECK_FROZEN(obj)
(OBJ_FROZEN(obj) ? rb_error_frozen(rb_obj_classname(obj) : 0)

more simply:

#define rb_check_frozen(obj)
(OBJ_FROZEN(obj) ? rb_error_frozen(rb_obj_classname(obj) : 0)

--
// SASADA Koichi at atdot dot net

=end