[#10830] New kill_thread function in eval.c conflict with a BeOS system function — <noreply@...>
Bugs item #9736, was opened at 01/04/2007 16:20
[#10834] Hefty patch for mkmf.rb — <noreply@...>
Patches item #9762, was opened at 2007-04-02 09:55
[#10853] Why limit class def to a constant or colon node? — Charles Oliver Nutter <charles.nutter@...>
Is there a historical reason why I can't do something like these:
Hi,
On 4/3/07, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
[#10867] defined? operator changed in ruby 1.9: bug or feature? — David Flanagan <david@...>
The behavior of the defined? operator is different in current ruby 1.9
Hi,
[#10875] Ruby shouldn't process shebang! — "Kirill A. Shutemov" <k.shutemov@...>
> echo -e '#!test\nputs "test passed"' | ruby=20
On 4/5/07, Kirill A. Shutemov <k.shutemov@gmail.com> wrote:
[#10884] Ruby 1.9/1.8 compatibility: String#lines — murphy <murphy@...>
It seems the most important change in 1.9, in terms of compatibility, is
[#10907] install (/bin/install) path hardcoded at build — <noreply@...>
Bugs item #10004, was opened at 2007-04-10 13:21
[#10909] Turning off verbose output for mkmf — Daniel Berger <Daniel.Berger@...>
Hi all,
[#10923] block_given? => true in main(). — "Adam Bozanich" <adam.boz@...>
Hi all.
[#10933] Cannot build with extra library path if previous version already installed — <noreply@...>
Bugs item #10140, was opened at 2007-04-16 17:32
Hi,
On 4/16/07, nobu@ruby-lang.org <nobu@ruby-lang.org> wrote:
Hi,
On 4/19/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:> Hi,>> At Wed, 18 Apr 2007 20:21:44 +0900,> Michal Suchanek wrote in [ruby-core:10960]:> > Yes. And this should also apply to extensions. The mkmf tests are now> > fine but the extension is linked with -L/sw/lib before -L../..>> Indeed.>>> Index: configure.in> ===================================================================> --- configure.in (revision 12191)> +++ configure.in (working copy)> @@ -1385,5 +1385,4 @@ if test "$enable_rpath" = yes; then> fi>> -LDFLAGS="-L. $LDFLAGS"> AC_SUBST(ARCHFILE)>This would break the previous fix so I did not even try to apply this ^
Hi,
[#10944] IRHG - "Three Stuffing" — Charles Thornton <ceo@...>
Can a japanese speaker give a translation
[#10947] backwards compatibility for 'raise Interrupt' — Ryan Davis <ryand-ruby@...>
** BEFORE:
Hi,
Hi,
[#10968] IRHG - Manuscript Hunt — Charles Thornton <ceo@...>
Does anyone know of a Text Copy (Not PDF) of this manuscript:
[#10981] ruby 1.9 crash on cygwin — "Anton Ivanov" <Anton.Ivanov@...>
Hi,
[#11003] miniruby loads extensions from already installed ruby — <noreply@...>
Bugs item #10303, was opened at 2007-04-23 10:44
Hi,
On 23/04/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
On 26/04/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
[#11012] Ruby 1.9: multiple splats on rvalues in parallel assignment — David Flanagan <david@...>
This has got to be a bug...
[#11025] gsub with backslash characters in replacement string — "Adam Bozanich" <adam.boz@...>
Hello, spotted this one the other day:
Hi,
On 4/26/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
On 4/26/07, Adam Bozanich <adam.boz@gmail.com> wrote:
On 4/26/07, Marte Raphael Y. Soliza <myrtactle@gmail.com > wrote:
[#11029] Proc#arity regression or bug in RDoc — Mauricio Fernandez <mfp@...>
On Thu, Apr 26, 2007 at 06:55:46PM +0900, Mauricio Fernandez wrote:
Re: [patch] Re: [BUG] Proc#arity regression or bug in RDoc
Cleaned it up a bit & added some tests to sample/test.rb. Not sure where
you guys prefer the unit tests to go. Is there a specific policy? Also, is
it better to submit small patches like this to rubyforge or directly this
list?
-Adam
Index: proc.c
===================================================================
--- proc.c (revision 12228)
+++ proc.c (working copy)
@@ -434,9 +434,9 @@
GetProcPtr(self, proc);
iseq = proc->block.iseq;
if (iseq && BUILTIN_TYPE(iseq) != T_NODE) {
- if (iseq->arg_rest == 0 && iseq->arg_opts == 0) {
- return INT2FIX(iseq->argc);
- }
+ if( iseq->arg_rest < 0 ) {
+ return INT2FIX(iseq->argc);
+ }
else {
return INT2FIX(-iseq->argc - 1);
}
Index: sample/test.rb
===================================================================
--- sample/test.rb (revision 12228)
+++ sample/test.rb (working copy)
@@ -1283,6 +1283,36 @@
lambda(&method(:test_ok)).call(true)
lambda(&block_get{|a,n| test_ok(a,n)}).call(true, 2)
+# Proc#arity
+test_ok( Proc.new {}.arity , 0 )
+test_ok( Proc.new {||}.arity , 0 )
+test_ok( Proc.new {|a|}.arity , 1 )
+test_ok( Proc.new {|a,b|}.arity , 2 )
+test_ok( Proc.new {|a,b,c|}.arity , 3 )
+test_ok( Proc.new {|*a|}.arity , -1 )
+test_ok( Proc.new {|a,*b|}.arity , -2 )
+
+# Method#arity
+class C
+ def one; end
+ def two(a); end
+ def three(*a); end
+ def four(a, b); end
+ def five(a, b, *c); end
+ def six(a, b, *c, &d); end
+end
+c = C.new
+test_ok( c.method(:one).arity , 0 )
+test_ok( c.method(:two).arity , 1 )
+test_ok( c.method(:three).arity , -1 )
+test_ok( c.method(:four).arity , 2 )
+test_ok( c.method(:five).arity , -3 )
+test_ok( c.method(:six).arity , -3 )
+test_ok( "cat".method(:size).arity , 0 )
+test_ok( "cat".method(:replace).arity , 1 )
+test_ok( "cat".method(:squeeze).arity , -1 )
+test_ok( "cat".method(:count).arity , -1 )
+
class ITER_TEST1
def a
block_given?
On 4/26/07, Adam Bozanich <adam.boz@gmail.com> wrote:
>
>
> On 4/26/07, Mauricio Fernandez <mfp@acm.org> wrote:
> >
> > On Thu, Apr 26, 2007 at 06:55:46PM +0900, Mauricio Fernandez wrote:
> > > $ ruby19 -v -e "p proc{}.arity"
> > > ruby 1.9.0 (2007-02-07 patchlevel 0) [i686-linux]
> > > 0
> > > $ ./ruby19 -v -e "p proc{}.arity"
> > > ruby 1.9.0 (2007-04-26 patchlevel 0) [i686-linux]
> > > -1
> > >
> > > However, the RDoc documentation attached to proc_arity still says that
> > it
> > > should return 0, so there's a bug, either in the code (wrong
> > iseq->argc ?) or
> > > in the docs (if the latter, the patch below should do).
> >
> > It seems it's a regression after all; no time to fix it now, but I've
> > found
> > when it happened:
> >
> > ruby-trunk-12116$ ./ruby -v -e "p proc{}.arity"
> > ruby 1.9.0 (2007-03-21 patchlevel 0) [i686-linux]
> > 0
> >
> > ruby-trunk-12117$ ./ruby -v -e "p proc{}.arity"
> > ruby 1.9.0 (2007-03-21 patchlevel 0) [i686-linux]
> > -1
> >
> >
> This makes arity behave like the docs specify for both method.arity and
> proc.arity. I'm sure it's naive, but it seems to work.
>
> -Adam
>
> Index: proc.c
> ===================================================================
> --- proc.c (revision 12226)
> +++ proc.c (working copy)
> @@ -434,11 +434,11 @@
> GetProcPtr(self, proc);
> iseq = proc->block.iseq;
> if (iseq && BUILTIN_TYPE(iseq) != T_NODE) {
> - if (iseq->arg_rest == 0 && iseq->arg_opts == 0) {
> - return INT2FIX(iseq->argc);
> - }
> + if( iseq->arg_rest < 0 ) {
> + return INT2FIX(iseq->argc);
> + }
> else {
> - return INT2FIX(-iseq->argc - 1);
> + return INT2FIX(-(iseq->argc + 1));
> }
> }
> else {
>
>