Project

General

Profile

Actions

Bug #3783

closed

Replace Calls to rb_error_frozen() with rb_check_frozen()

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

Added by runpaint (Run Paint Run Run) about 15 years ago. Updated over 14 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3dev (2010-09-02 trunk 29167) [i686-linux]
Backport:
[ruby-core:32014]

Description

=begin
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?)
=end


Files

rb_check_frozen.patch (8.34 KB) rb_check_frozen.patch runpaint (Run Paint Run Run), 09/02/2010 09:20 PM

Updated by ko1 (Koichi Sasada) about 15 years ago Actions #1

=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

Updated by nobu (Nobuyoshi Nakada) about 15 years ago Actions #2

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r29583.
Run Paint, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Actions

Also available in: PDF Atom