[#8566] Visions for 2001/1.7.x development? — Robert Feldt <feldt@...>

Hi matz and other Ruby developers,

18 messages 2001/01/03
[#8645] Re: Visions for 2001/1.7.x development? — matz@... (Yukihiro Matsumoto) 2001/01/04

Hi,

[#8580] bug?? — jmichel@... (Jean Michel)

I don't understand the following behaviour:

19 messages 2001/01/03

[#8633] Interesting Language performance comparisons - Ruby, OCAML etc — "g forever" <g24ever@...>

13 messages 2001/01/04

[#8774] No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...>

So, why not include Comparable in Array by default? It shouldn't have any

28 messages 2001/01/07
[#8779] Re: No :<, :>, etc. methods for Array — matz@... (Yukihiro Matsumoto) 2001/01/07

Hi,

[#8780] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

matz@zetabits.com (Yukihiro Matsumoto) wrote:

[#8781] Re: No :<, :>, etc. methods for Array — gotoken@... (GOTO Kentaro) 2001/01/07

In message "[ruby-talk:8780] Re: No :<, :>, etc. methods for Array"

[#8782] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote:

[#8829] Sandbox (again) — wys@... (Clemens Wyss)

Hi,

20 messages 2001/01/08
[#8864] Re: Sandbox (again) — Clemens Hintze <c.hintze@...> 2001/01/08

On 8 Jan, Clemens Wyss wrote:

[#8931] String confusion — Anders Bengtsson <ndrsbngtssn@...>

Hello everyone,

21 messages 2001/01/09
[#8937] Re: String confusion — matz@... (Yukihiro Matsumoto) 2001/01/09

Hi,

[#8953] Please remove account from files — "Thomas Daniels" <westernporter@...>

Please take my e-mail address from your files and "CANCEL" my =

14 messages 2001/01/09
[#8983] Re: Please remove account from files — John Rubinubi <rubinubi@...> 2001/01/10

On Wed, 10 Jan 2001, Thomas Daniels wrote:

[#9020] time to divide -talk? (was: Please remove account from files) — Yasushi Shoji <yashi@...> 2001/01/10

At Wed, 10 Jan 2001 14:23:30 +0900,

[#9047] Re: time to divide -talk? (was: Please remov e account from files) — Aleksi Niemel<aleksi.niemela@...>

Yasushi Shoji:

27 messages 2001/01/10
[#9049] Re: time to divide -talk? — Yasushi Shoji <yashi@...> 2001/01/10

At Thu, 11 Jan 2001 00:20:45 +0900,

[#9153] what about this begin? — Anders Strandl Elkj誡 <ase@...> 2001/01/11

[#9195] Re: Redefining singleton methods — ts <decoux@...>

>>>>> "H" == Horst Duch=EAne?= <iso-8859-1> writes:

10 messages 2001/01/12

[#9242] polymorphism — Maurice Szmurlo <maurice@...>

hello

73 messages 2001/01/13

[#9279] Can ruby replace php? — Jim Freeze <jim@...>

When I read that ruby could be used to replace PHP I got really

15 messages 2001/01/14

[#9411] The Ruby Way — "Conrad Schneiker" <schneiker@...>

As a member of the "Big 8" newsgroups, "The Ruby Way" (of posting) is to

15 messages 2001/01/17

[#9462] Re: reading an entire file as a string — ts <decoux@...>

>>>>> "R" == Raja S <raja@cs.indiana.edu> writes:

35 messages 2001/01/17
[#9465] Re: reading an entire file as a string — Dave Thomas <Dave@...> 2001/01/17

raja@cs.indiana.edu (Raja S.) writes:

[#9521] Larry Wall INterview — ianm74@...

Larry was interviewed at the Perl/Ruby conference in Koyoto:

20 messages 2001/01/18
[#10583] Re: Larry Wall INterview — "greg strockbine" <gstrock@...> 2001/02/08

Larry Wall's interview is how I found out

[#9610] Re: 101 Misconceptions About Dynamic Languages — "Ben Tilly" <ben_tilly@...>

"Christian" <christians@syd.microforte.com.au> wrote:

13 messages 2001/01/20

[#9761] Re: 101 Misconceptions About Dynamic Languages — ts <decoux@...>

>>>>> "C" == Christoph Rippel <crippel@primenet.com> writes:

16 messages 2001/01/23

[#9792] Ruby 162 installer available — Dave Thomas <Dave@...>

15 messages 2001/01/24

[#9958] Re: Vim syntax files again. — "Conrad Schneiker" <schneik@...>

Hugh Sasse wrote:

14 messages 2001/01/26
[#10065] Re: Vim syntax files again. — Hugh Sasse Staff Elec Eng <hgs@...> 2001/01/29

On Sat, 27 Jan 2001, Conrad Schneiker wrote:

[#9975] line continuation — "David Ruby" <ruby_david@...>

can a ruby statement break into multiple lines?

18 messages 2001/01/27
[#9976] Re: line continuation — Michael Neumann <neumann@...> 2001/01/27

On Sat, 27 Jan 2001, David Ruby wrote:

[#9988] Re: line continuation — harryo@... (Harry Ohlsen) 2001/01/28

>A statement break into mutliple lines if it is not complete,

[ruby-talk:8634] Re: rb_iterate()

From: Minero Aoki <aamine@...>
Date: 2001-01-04 16:38:43 UTC
List: ruby-talk #8634
  In mail "[ruby-talk:8632] Re: rb_iterate()"
    ts <decoux@moulon.inra.fr> wrote:

> M> Maybe you are right. (As you know) rb_gc_mark() is not needed
> M> because it is on the stack frame,
> 
>  I'm agree with you, but the problem is that it's not a _valid_ object and
>  ruby call rb_gc_mark() for this object. This is rb_gc_mark() which is
>  trying to interpret this structure as a Ruby object.

Sorry for my incomplete explanation. I intended to rb_gc_mark() for
NODE_IFUNC is unnecessary, because an argument is on the stack frame,
if it is really a VALUE (need to mark). But if racc had passed only
VALUE to rb_iterate(), racc is not effected either rb_gc_mark() is
called or not.

Minero Aoki


(to make up for my discription, I attach my modification.)

--- cparse.c	2000/12/24 17:37:34	1.13
+++ cparse.c	2001/01/04 07:07:21
@@ -24,6 +24,7 @@
 #define vFINAL_TOK INT2FIX(FINAL_TOK)
 
 static VALUE RaccBug;
+static VALUE CparseParams;
 
 static ID id_yydebug;
 static ID id_nexttoken;
@@ -83,6 +84,8 @@
 
 
 struct cparse_params {
+    VALUE vv;
+
     VALUE parser;
     VALUE recv;
     ID    mid;
@@ -127,7 +130,7 @@
 #define REDUCE(v, act) \
     v->ruleno = -act * 3;                            \
     tmp = rb_iterate(catch_iter, v->parser,          \
-                     do_reduce, (VALUE)v);           \
+                     do_reduce, v->vv);              \
     code = FIX2INT(tmp);                             \
     tmp = rb_ivar_get(v->parser, id_errstatus);      \
     v->errstatus = FIX2INT(tmp);                     \
@@ -214,7 +217,7 @@
 {
     struct cparse_params *v;
 
-    v = (struct cparse_params*)data;
+    Data_Get_Struct(data, struct cparse_params, v);
     rb_funcall(v->recv, v->mid, 0);
 
     return Qnil;
@@ -227,7 +230,7 @@
     struct cparse_params *v;
     VALUE tok, val;
 
-    v = (struct cparse_params*)data;
+    Data_Get_Struct(data, struct cparse_params, v);
     check_nexttoken_value(arr);
     tok = AREF(arr, 0);
     val = AREF(arr, 1);
@@ -242,8 +245,8 @@
 wrap_yyparse(v)
     struct cparse_params *v;
 {
-    rb_iterate(call_scaniter, (VALUE)v,
-               catch_scaniter, (VALUE)v);
+    rb_iterate(call_scaniter, v->vv,
+               catch_scaniter, v->vv);
 }
 
 static void
@@ -257,6 +260,8 @@
     VALUE debugp;
 
 
+    v->vv = Data_Wrap_Struct(CparseParams, 0, 0, v);
+
     v->parser = parser;
     v->recv = recv;
     if (mid)
@@ -571,7 +576,7 @@
     long i, k1, k2;
     VALUE ret;
 
-    v = (struct cparse_params*)data;
+    Data_Get_Struct(data, struct cparse_params, v);
     reduce_len = RARRAY(v->reduce_table)->ptr[v->ruleno];
     reduce_to  = RARRAY(v->reduce_table)->ptr[v->ruleno+1];
     method_id  = RARRAY(v->reduce_table)->ptr[v->ruleno+2];
@@ -665,12 +670,16 @@
 void
 Init_cparse()
 {
+    VALUE Racc;
     VALUE Parser;
 
     Parser = rb_eval_string("::Racc::Parser");
     rb_define_private_method(Parser, "_racc_do_parse_c", racc_cparse, 2);
     rb_define_private_method(Parser, "_racc_yyparse_c", racc_yyparse, 4);
     rb_define_const(Parser, "Racc_c_parser_version", rb_str_new2(RACC_VERSION));
+
+    Racc = rb_eval_string("::Racc");
+    CparseParams = rb_define_class_under(Racc, "RaccCparseParams", rb_cObject);
 
     RaccBug = rb_eRuntimeError;
 

In This Thread