[#995] Mathn crashes the interpreter on PPC — Dave Thomas <dave@...>
The following code crashes the interpreter on my Powerbook:
4 messages
2003/05/01
[#1004] irb doesn't work, because tempfile doesn't work — Dave Thomas <dave@...>
Try
7 messages
2003/05/02
[#1005] Re: irb doesn't work, because tempfile doesn't work
— matz@... (Yukihiro Matsumoto)
2003/05/02
Hi,
[#1018] Re: ext/syck problems — why the lucky stiff <ruby-core@...>
U.Nakamura (usa@osb.att.ne.jp) wrote:
8 messages
2003/05/13
[#1037] ping.rb — Dave Thomas <dave@...>
On my Mac OSX,
15 messages
2003/05/14
[#1039] Re: ping.rb
— Ryan Davis <ryand@...>
2003/05/15
[#1040] Re: ping.rb
— Dave Thomas <dave@...>
2003/05/15
Ryan Davis wrote:
[#1042] Re: ping.rb
— nobu.nokada@...
2003/05/15
Hi,
[#1043] Re: ping.rb
— Dave Thomas <dave@...>
2003/05/15
nobu.nokada@softhome.net wrote:
[#1057] Fwd: ping.rb — "J.Herre" <jlst@...>
7 messages
2003/05/16
[#1066] YAML problem — Tanaka Akira <akr@...17n.org>
I found a problem with yaml.
12 messages
2003/05/22
[#1067] Re: YAML problem
— "NAKAMURA, Hiroshi" <nahi@...>
2003/05/22
Hi,
[#1068] Re: YAML problem
— why the lucky stiff <ruby-core@...>
2003/05/22
Concerning error from:
[#1069] Re: YAML problem
— Tanaka Akira <akr@...17n.org>
2003/05/22
In article <20030522064450.GA14175@rysa.inetz.com>,
[#1077] terminated object / invalid inspect_tbl — ts <decoux@...>
10 messages
2003/05/26
[#1078] Re: [1.8] terminated object / invalid inspect_tbl
— nobu.nokada@...
2003/05/26
Hi,
[#1079] Re: [1.8] terminated object / invalid inspect_tbl
— ts <decoux@...>
2003/05/26
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#1080] Re: [1.8] terminated object / invalid inspect_tbl
— nobu.nokada@...
2003/05/26
Hi,
[#1081] Re: [1.8] terminated object / invalid inspect_tbl
— ts <decoux@...>
2003/05/26
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#1085] Re: [1.8] terminated object / invalid inspect_tbl
— nobu.nokada@...
2003/05/26
Hi,
[#1082] Possible problem with mkmf under Darwin — Dave Thomas <dave@...>
I've been having fun getting readline support to work on OSX. My latest
7 messages
2003/05/26
[#1094] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c — Dave Thomas <dave@...>
> * eval.c (rb_mod_autoload, rb_mod_autoload_p): new method;
12 messages
2003/05/29
[#1095] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— nobu.nokada@...
2003/05/29
Hi,
[#1097] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— Dave Thomas <dave@...>
2003/05/29
nobu.nokada@softhome.net wrote:
[#1101] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— nobu.nokada@...
2003/05/29
Hi,
[#1102] Re: [ruby-cvs] ruby, ruby/lib: * eval.c (ev_const_defined, ev_const_get), variable.c
— matz@... (Yukihiro Matsumoto)
2003/05/30
Hi,
Re: [1.8] terminated object / invalid inspect_tbl
From:
nobu.nokada@...
Date:
2003-05-26 15:13:28 UTC
List:
ruby-core #1085
Hi,
At Mon, 26 May 2003 23:36:06 +0900,
ts wrote:
> n> You're right. I guess ruby_frame->last_class should not be a
> n> T_MODULE but T_CLASS or T_ICLASS.
>
> Well, it work with hook (I must stop to write stupid thing :-)))
Have you implemented method hook?
Anyway, this seems to work.
Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.445
diff -u -2 -p -r1.445 eval.c
--- eval.c 26 May 2003 08:22:27 -0000 1.445
+++ eval.c 26 May 2003 15:06:08 -0000
@@ -6893,4 +6893,5 @@ block_invoke(block, args, self)
struct RVarmap * volatile old_dvars = ruby_dyna_vars;
int pcall;
+ VALUE klass;
if (rb_block_given_p() && ruby_frame->last_func) {
@@ -6910,4 +6911,20 @@ block_invoke(block, args, self)
_block = *data;
_block.frame.self = self;
+ klass = _block.frame.last_class;
+ if (klass && BUILTIN_TYPE(klass) == T_MODULE) {
+ struct st_table *m = RCLASS(klass)->m_tbl;
+
+ klass = CLASS_OF(self);
+ while (!(BUILTIN_TYPE(klass) == T_ICLASS && RCLASS(klass)->m_tbl == m)) {
+ klass = RCLASS(klass)->super;
+ if (!klass) {
+ rb_raise(rb_eTypeError, "%s is not included in %s",
+ rb_class2name(_block.frame.last_class),
+ RSTRING(rb_obj_as_string(self))->ptr);
+ }
+ }
+ _block.frame.last_class = klass;
+ }
+
ruby_block = &_block;
--
Nobu Nakada