[#16098] Testing hangs latest ruby 1.9 — Tommy Nordgren <tommy.nordgren@...>
When testing locally built ruby with make check,
[#16116] RCRchive shutting down — "David A. Black" <dblack@...>
Hi everyone --
This is quite sad news, I feel that a mailing list does not offer all
Hi,
On Thu, Apr 3, 2008 at 12:01 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi,
On Thu, Apr 3, 2008 at 1:13 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi,
Can I ask the Trac naysayers what's wrong with it?
On 04/04/2008, mathew <meta@pobox.com> wrote:
Coming to Trac's defense:
[#16128] RUBY_IMPLEMENTATION — Yukihiro Matsumoto <matz@...>
Hi,
Yukihiro Matsumoto wrote:
Hello,
On Thu, Apr 03, 2008 at 11:41:41PM +0900, Yukihiro Matsumoto wrote:
On Apr 3, 2008, at 10:59 AM, Paul Brannan wrote:
Hi,
Ezra Zygmuntowicz wrote:
Hello,
Yemi I. D. Bedu wrote:
On 4 Apr 2008, at 00:23, Charles Oliver Nutter wrote:
On 4-Apr-08, at 3:05 AM, Eleanor McHugh wrote:
On Fri, Apr 4, 2008 at 2:15 PM, Chris Cummer <chris@postal-code.com> wrote:
On Sat, 2008-04-05 at 02:23 +0900, Luis Lavena wrote:
On 4-Apr-08, at 11:04 AM, Alex Young wrote:
On Sat, 2008-04-05 at 03:35 +0900, Chris Cummer wrote:
[#16171] accomplishing compatibility (was Re: RUBY_IMPLEMENTATION) — "Meinrad Recheis" <meinrad.recheis@...>
On Fri, Apr 4, 2008 at 11:02 AM, Meinrad Recheis
On 4 Apr 2008, at 10:28, Meinrad Recheis wrote:
[#16216] unable to set $0 from C extension — "Suraj N. Kurapati" <sunaku@...>
Hello,
[#16223] Sigsegv out of Dir.pos in ruby_1_8 branch — "Vladimir Sizikov" <vsizikov@...>
Hi,
> -----Original Message-----
[#16231] Sigsegv when running Kernel rubysecs with ruby_1_8 branch — "Vladimir Sizikov" <vsizikov@...>
Hi,
Vladimir Sizikov wrote:
[#16240] syntax request — "ry dahl" <ry@...>
Often times when one has many long arguments and orders them like this
ry dahl wrote:
> Good point! I always just thought that would work, because the parser
ry dahl wrote:
On Sun, Apr 6, 2008 at 2:44 PM, ry dahl <ry@tinyclouds.org> wrote:
Hi --
On 4/7/2008 10:00 AM, David A. Black wrote:
On Tue, 8 Apr 2008, Bill Kelly wrote:
On Tue, Apr 08, 2008 at 02:23:26PM +0900, David A. Black wrote:
At 00:02 08/04/09, Paul Brannan wrote:
On Wed, Apr 09, 2008 at 05:54:18PM +0900, Martin Duerst wrote:
> This is one use of method chaining I dislike.
[#16283] Marshal and singleton.rb - bug? — "Chris Shea" <cmshea@...>
Core,
[#16286] Complex, Rational, etc. — David Flanagan <david@...>
In addition to moving the Complex and Rational classes from stdlib to
[#16287] require_relative — David Flanagan <david@...>
I see that there is now a require_relative.rb module in the lib/
Hi,
[#16290] Could someone confirm signal handling is broken on OSX? — Dave Thomas <dave@...>
I've raised this before, but no one replied. I'd like to double check
[#16306] Hash.compare_by_identity — David Flanagan <david@...>
I saw this note about Hash#compare_by_identity at
[#16327] How can I demonstrate that weakref works in 1.9? — Dave Thomas <dave@...>
Hi --
[#16359] design meeting — Yukihiro Matsumoto <matz@...>
Hi,
Hi,
SASADA Koichi wrote:
Hi,
[#16371] ruby_init() and C call stack — "Suraj N. Kurapati" <sunaku@...>
Hello,
Hi,
Yukihiro Matsumoto wrote:
Suraj N. Kurapati wrote:
Hi,
[#16378] cross-platform1: st1.dev == st2.dev and st1.ino == st2.ino considered harmful — Thomas Enebo <Thomas.Enebo@...>
I propose we add something which makes this system-specific code go away:
Thomas Enebo wrote:
Urabe Shyouhei wrote:
[#16385] Where's DATA? — Trans <transfire@...>
Anyone have any idea why I would be getting?
On Apr 14, 2008, at 07:21 AM, Trans wrote:
> On Apr 14, 8:23 pm, Eric Hodel <drbr...@segment7.net> wrote:
[#16395] RFC: VM Instruction Manipulation gem(s)? — "Rocky Bernstein" <rocky.bernstein@...>
Is anyone aware of or working on a package/gem for facilitation VM
On Wed, Apr 16, 2008 at 01:02:42AM +0900, Rocky Bernstein wrote:
[#16397] Ruby 1.8.7-preview1 has been released — "Akinori MUSHA" <knu@...>
Folks,
-----BEGIN PGP SIGNED MESSAGE-----
Hi,
[#16427] Rails broken with 1.8.7 bc Symbol#to_proc — Ola Bini <ola.bini@...>
Hi,
[#16462] revision number in ruby -v (1.9) — Joel VanderWerf <vjoel@...>
[#16478] BUS error in string manip — ara howard <ara.t.howard@...>
[#16482] Performance on method dispatch for methods defined via define_method — "Robert Dober" <robert.dober@...>
Hi
On Wed, Apr 23, 2008 at 12:39:29AM +0900, Robert Dober wrote:
On Tue, Apr 22, 2008 at 8:46 PM, Paul Brannan <pbrannan@atdesk.com> wrote:
Hi --
On Tue, Apr 22, 2008 at 10:44 PM, David A. Black <dblack@rubypal.com> wrote:
Hi --
David A. Black wrote:
Charles Oliver Nutter wrote:
Joel VanderWerf wrote:
Robert Dober wrote:
On Wed, Apr 23, 2008 at 10:37 AM, ts <decoux@moulon.inra.fr> wrote:
Robert Dober wrote:
On Wed, Apr 23, 2008 at 10:37 AM, ts <decoux@moulon.inra.fr> wrote:
Robert Dober wrote:
On Wed, Apr 23, 2008 at 11:25 AM, ts <decoux@moulon.inra.fr> wrote:
[#16507] Drop :: as a . synonym — "David A. Black" <dblack@...>
Hi --
David A. Black wrote:
Hi --
David A. Black wrote:
Hi --
David A. Black wrote:
Hi --
Or changing #send to private...or (insert progressive but code
Jeremy McAnally wrote:
Hi --
Hi,
Hi Matz --
On Fri, Apr 25, 2008 at 04:49:00AM +0900, David A. Black wrote:
Hi --
On Fri, Apr 25, 2008 at 1:27 AM, David A. Black <dblack@rubypal.com> wrote:
Hi --
On Fri, Apr 25, 2008 at 12:24 PM, David A. Black <dblack@rubypal.com> wrote:
On Fri, Apr 25, 2008 at 08:34:20PM +0900, Nikolai Weibull wrote:
And why would you want to do that with dots? Because _JRuby_ requires it?
On Wed, Apr 23, 2008 at 9:21 AM, David A. Black <dblack@rubypal.com> wrote:
Eric Mahurin wrote:
Eric Mahurin wrote:
[#16517] RFC: #19733 - dln_find_1 prioritizes posix naming conventions over Operating System naming conventions. — "Luis Lavena" <luislavena@...>
Hello ruby-core developers.
Hi,
[#16526] Any reason for having no module exclusion functionality in Ruby — "Pit Capitain" <pit.capitain@...>
Hi all, I'm forwarding the following message for Yurii, who seems to
+1.
Yehuda Katz wrote:
I want to +1 this again and reraise it for consideration.
[#16554] Action Item: RubySpec failures on Ruby 1.8.7 — "Vladimir Sizikov" <vsizikov@...>
Hi,
[#16576] sandbox API — _why <why@...>
Hi, everybody.
[#16599] Repeatable bug in Net::Telnet EOL translation — Brian Candler <B.Candler@...>
I have found a bug in Net::Telnet - it only occurs infrequently, and
> I'm helping out with the maintenance of net/telnet these days
Re: Sigsegv when running Kernel rubysecs with ruby_1_8 branch
Vladimir Sizikov wrote:
> I've written a small quick starting guide here:
> http://blog.emptyway.com/2008/04/06/the-rubyspecs-quick-starting-guide/
Thanks,
vgs% bin/mspec -t ruby spec/ruby/1.8/core/kernel
ruby 1.8.6 (2008-04-06 patchlevel 5000) [i686-linux]
.......................................................................................................................................................................................................................................................................................................................
Finished in 0.190939 seconds
101 files, 311 examples, 2658 expectations, 0 failures, 0 errors
vgs%
Please verify it
Guy Decoux
Index: intern.h
===================================================================
--- intern.h (revision 15910)
+++ intern.h (working copy)
@@ -184,6 +184,8 @@
void rb_obj_call_init _((VALUE, int, VALUE*));
VALUE rb_class_new_instance _((int, VALUE*, VALUE));
VALUE rb_block_proc _((void));
+VALUE rb_block_dup _((VALUE, VALUE, VALUE));
+VALUE rb_method_dup _((VALUE, VALUE, VALUE));
VALUE rb_f_lambda _((void));
VALUE rb_proc_new _((VALUE (*)(ANYARGS/* VALUE yieldarg[, VALUE
procarg] */), VALUE));
VALUE rb_protect _((VALUE (*)(VALUE), VALUE, int*));
Index: class.c
===================================================================
--- class.c (revision 15910)
+++ class.c (working copy)
@@ -51,6 +51,7 @@
struct clone_method_data {
st_table *tbl;
VALUE klass;
+ VALUE cref;
};
static int
@@ -59,18 +60,75 @@
NODE *body;
struct clone_method_data *data;
{
- NODE *fbody = body->nd_body;
+ NODE *node = body->nd_body;
+ if (node && data->cref) {
+ switch(nd_type(node)) {
+ case NODE_SCOPE:
+ if (node->nd_rval) {
+ NODE *tmp = NEW_NODE(nd_type(node->u2.node), data->cref,
+ node->u2.node->u2.node, node->u2.node->u3.node);
+ node = NEW_NODE(nd_type(node), node->u1.node, tmp, node->u3.node);
+ }
+ break;
+
+ case NODE_BMETHOD:
+ {
+ VALUE body = rb_block_dup(node->nd_cval, data->klass, data->cref);
+ node = NEW_BMETHOD(body);
+ break;
+ }
+
+ case NODE_DMETHOD:
+ {
+ VALUE body = rb_method_dup(node->nd_cval, data->klass, data->cref);
+ node = NEW_DMETHOD(body);
+ break;
+ }
- if (fbody && nd_type(fbody) == NODE_SCOPE) {
- VALUE cref = data->klass ?
- (VALUE)NEW_NODE(NODE_CREF,data->klass,0,fbody->nd_rval) :
- fbody->nd_rval;
- fbody = NEW_NODE(NODE_SCOPE, fbody->nd_tbl, cref, fbody->nd_next);
+ }
}
- st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex));
+ st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(node, body->nd_noex));
return ST_CONTINUE;
}
+static VALUE
+singleton_class_clone_int(obj, cref)
+ VALUE obj, cref;
+{
+ VALUE klass = RBASIC(obj)->klass;
+
+ if (!FL_TEST(klass, FL_SINGLETON))
+ return klass;
+ else {
+ struct clone_method_data data;
+ /* copy singleton(unnamed) class */
+ NEWOBJ(clone, struct RClass);
+ OBJSETUP(clone, 0, RBASIC(klass)->flags);
+
+ if (BUILTIN_TYPE(obj) == T_CLASS) {
+ RBASIC(clone)->klass = (VALUE)clone;
+ }
+ else {
+ RBASIC(clone)->klass = rb_singleton_class_clone(klass);
+ }
+
+ clone->super = RCLASS(klass)->super;
+ clone->iv_tbl = 0;
+ clone->m_tbl = 0;
+ if (RCLASS(klass)->iv_tbl) {
+ clone->iv_tbl = st_copy(RCLASS(klass)->iv_tbl);
+ }
+ clone->m_tbl = st_init_numtable();
+ data.tbl = clone->m_tbl;
+ data.klass = (VALUE)clone;
+ data.cref = cref;
+ st_foreach(RCLASS(klass)->m_tbl, clone_method, (st_data_t)&data);
+ rb_singleton_class_attached(RBASIC(clone)->klass, (VALUE)clone);
+ FL_SET(clone, FL_SINGLETON);
+ return (VALUE)clone;
+ }
+}
+
/* :nodoc: */
VALUE
rb_mod_init_copy(clone, orig)
@@ -78,8 +136,7 @@
{
rb_obj_init_copy(clone, orig);
if (!FL_TEST(CLASS_OF(clone), FL_SINGLETON)) {
- RBASIC(clone)->klass = RBASIC(orig)->klass;
- RBASIC(clone)->klass = rb_singleton_class_clone(clone);
+ RBASIC(clone)->klass = singleton_class_clone_int(orig, clone);
}
RCLASS(clone)->super = RCLASS(orig)->super;
if (RCLASS(orig)->iv_tbl) {
@@ -94,9 +151,10 @@
if (RCLASS(orig)->m_tbl) {
struct clone_method_data data;
- data.tbl = RCLASS(clone)->m_tbl = st_init_numtable();
- data.klass = (VALUE)clone;
-
+ RCLASS(clone)->m_tbl = st_init_numtable();
+ data.tbl = RCLASS(clone)->m_tbl;
+ data.klass = clone;
+ data.cref = clone;
st_foreach(RCLASS(orig)->m_tbl, clone_method, (st_data_t)&data);
}
@@ -121,48 +179,7 @@
rb_singleton_class_clone(obj)
VALUE obj;
{
- VALUE klass = RBASIC(obj)->klass;
-
- if (!FL_TEST(klass, FL_SINGLETON))
- return klass;
- else {
- /* copy singleton(unnamed) class */
- NEWOBJ(clone, struct RClass);
- OBJSETUP(clone, 0, RBASIC(klass)->flags);
-
- if (BUILTIN_TYPE(obj) == T_CLASS) {
- RBASIC(clone)->klass = (VALUE)clone;
- }
- else {
- RBASIC(clone)->klass = rb_singleton_class_clone(klass);
- }
-
- clone->super = RCLASS(klass)->super;
- clone->iv_tbl = 0;
- clone->m_tbl = 0;
- if (RCLASS(klass)->iv_tbl) {
- clone->iv_tbl = st_copy(RCLASS(klass)->iv_tbl);
- }
- {
- struct clone_method_data data;
-
- data.tbl = clone->m_tbl = st_init_numtable();
- switch (TYPE(obj)) {
- case T_CLASS:
- case T_MODULE:
- data.klass = obj;
- break;
- default:
- data.klass = 0;
- break;
- }
-
- st_foreach(RCLASS(klass)->m_tbl, clone_method, (st_data_t)&data);
- }
- rb_singleton_class_attached(RBASIC(clone)->klass, (VALUE)clone);
- FL_SET(clone, FL_SINGLETON);
- return (VALUE)clone;
- }
+ return singleton_class_clone_int(obj, 0);
}
void
Index: eval.c
===================================================================
--- eval.c (revision 15910)
+++ eval.c (working copy)
@@ -8358,6 +8358,19 @@
return bind;
}
+VALUE
+rb_block_dup(self, klass, cref)
+ VALUE self, klass, cref;
+{
+ struct BLOCK *block;
+ VALUE obj = proc_dup(self);
+ Data_Get_Struct(obj, struct BLOCK, block);
+ block->klass = klass;
+ block->cref = NEW_NODE(nd_type(block->cref), cref,
block->cref->u2.node,
+ block->cref->u3.node);
+ return obj;
+}
+
/*
* call-seq:
* binding -> a_binding
@@ -9204,6 +9217,29 @@
return clone;
}
+VALUE
+rb_method_dup(self, klass, cref)
+ VALUE self;
+ VALUE klass;
+ VALUE cref;
+{
+ VALUE clone;
+ struct METHOD *orig, *data;
+
+ Data_Get_Struct(self, struct METHOD, orig);
+ clone = Data_Make_Struct(CLASS_OF(self),struct METHOD, bm_mark,
free, data);
+ *data = *orig;
+ data->rklass = klass;
+ if (data->body->nd_rval) {
+ NODE *tmp = NEW_NODE(nd_type(data->body->u2.node), cref,
+ data->body->u2.node->u2.node,
+ data->body->u2.node->u3.node);
+ data->body = NEW_NODE(nd_type(data->body), data->body->u1.node, tmp,
+ data->body->u3.node);
+ }
+ return clone;
+}
+
/*
* call-seq:
* meth.call(args, ...) => obj