[#29911] [Bug #3231] Digest Does Not Build — Charlie Savage <redmine@...>
Bug #3231: Digest Does Not Build
[#29920] [Feature #3232] Loops (while/until) should return last statement value if any, like if/unless — Benoit Daloze <redmine@...>
Feature #3232: Loops (while/until) should return last statement value if any, like if/unless
Hi,
On 2 May 2010 01:56, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi,
On 2 May 2010 15:24:52 UTC+2, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#29953] [Bug #3241] gem update --system Segmentation fault — Benedikt Eickhoff <redmine@...>
Bug #3241: gem update --system Segmentation fault
Hi,
On Mon, May 03, 2010 at 08:55:14PM +0900, Yusuke ENDOH wrote:
[#29993] [Feature:trunk] thread-local yamler — Nobuyoshi Nakada <nobu@...>
Hi,
[#29997] years in Time.utc — Xavier Noria <fxn@...>
Does anyone have a precise statement about the years supported by
On Tue, May 4, 2010 at 8:05 AM, Xavier Noria <fxn@hashref.com> wrote:
Hi,
Hi,
[#30002] 1.9.1 lib dirs? — Roger Pack <rogerdpack2@...>
Hi all.
On Tue, May 4, 2010 at 3:00 PM, Roger Pack <rogerdpack2@gmail.com> wrote:
[#30010] [Bug #3248] extension 'tk' is finding tclConfig.sh and tkConfig.sh incorrectly — Luis Lavena <redmine@...>
Bug #3248: extension 'tk' is finding tclConfig.sh and tkConfig.sh incorrectly
Issue #3248 has been updated by Luis Lavena.
[#30023] [Bug #3250] [BUG] Segmentation fault — Diogo Almeida <redmine@...>
Bug #3250: [BUG] Segmentation fault
[#30070] [Bug #3255] Trunk fail to build without explicit ./configure options (yaml.h not found) — Benoit Daloze <redmine@...>
Bug #3255: Trunk fail to build without explicit ./configure options (yaml.h not found)
Hi,
[#30094] suggestion: switch default name for BINARY encoding — Roger Pack <rogerdpack2@...>
Situation:
(2010/05/08 7:50), Roger Pack wrote:
[#30145] [Bug #3273] Float string conversion — Marc-Andre Lafortune <redmine@...>
Bug #3273: Float string conversion
[#30154] [Bug #3275] incompatibility of testrb — Yusuke Endoh <redmine@...>
Bug #3275: incompatibility of testrb
[#30175] [Problem] DATA and __END__ in a loaded rb file — Charles Cui <zheng.cuizh@...>
how to get global constant DATA in file <a.rb>,if a.rb is loaded by b.rb.
[#30182] [Bug #3281] fail to build fiddle on Debian/lenny by default — Yusuke Endoh <redmine@...>
Bug #3281: fail to build fiddle on Debian/lenny by default
2010/5/12 Yusuke Endoh <redmine@ruby-lang.org>:
On Wed, May 12, 2010 at 11:26:44PM +0900, Tanaka Akira wrote:
2010/5/14 Aaron Patterson <aaron@tenderlovemaking.com>:
[#30226] [Bug #3288] Segmentation fault - activesupport-3.0.0.beta3/lib/active_support/callbacks.rb:88 — Szymon Jeż <redmine@...>
Bug #3288: Segmentation fault - activesupport-3.0.0.beta3/lib/active_support/callbacks.rb:88
Issue #3288 has been updated by Szymon Je甜.
[#30249] [Bug #3299] revision.h rule in common.mk is broken for MSVC — Romulo Ceccon <redmine@...>
Bug #3299: revision.h rule in common.mk is broken for MSVC
[#30290] [Bug #3309] net/http calls leak memory and file handles in windows — Pete Higgins <redmine@...>
Bug #3309: net/http calls leak memory and file handles in windows
[#30315] [Bug #3320] emacs ruby-mode.el font-lock fails on symboled string ending with ? — Zev Blut <redmine@...>
Bug #3320: emacs ruby-mode.el font-lock fails on symboled string ending with ?
[#30323] [Feature #3322] Simple Patch to make ruby copy-on-write-friendly — Daniel DeLorme <redmine@...>
Feature #3322: Simple Patch to make ruby copy-on-write-friendly
[#30358] tk doesn't startup well in doze — Roger Pack <rogerdpack2@...>
Currently with 1.9.x and tk 8.5,the following occurs
From: Roger Pack <rogerdpack2@gmail.com>
> Does it occur with RubyTk-Kit version (it based on latest tcltklib.c)?
[#30401] [Bug #3336] Memory leak in IO.select() on Windows — HD Moore <redmine@...>
Bug #3336: Memory leak in IO.select() on Windows
[#30406] [Bug #3337] MS-DOS device names are identified as readable_real — HD Moore <redmine@...>
Bug #3337: MS-DOS device names are identified as readable_real
[#30434] [Feature #3346] __DIR__ revisted — Thomas Sawyer <redmine@...>
Feature #3346: __DIR__ revisted
[#30449] [Bug #3350] Protected methods & documentation — Marc-Andre Lafortune <redmine@...>
Bug #3350: Protected methods & documentation
[#30451] [Bug #3352] Delegates: protected methods — Marc-Andre Lafortune <redmine@...>
Bug #3352: Delegates: protected methods
[ruby-core:30361] Re: [Bug #2502] strange behavior of anonymous class inside a proc
On 5/19/10, Yusuke Endoh <redmine@ruby-lang.org> wrote:
> Issue #2502 has been updated by Yusuke Endoh.
>
>
> Hi,
>
> 2009/12/19 caleb clausen <redmine@ruby-lang.org>:
>> I have a problem in 1.9.1 when I run this code, extracted from a larger
>> project:
>> $VERBOSE=1
>>
>> class SubSeq
>> def initialize
>> @first=11
>> @first or fail
>> end
>>
>> def subseq
>> @first or fail
>> end
>> end
>>
>> class Indexed
>> def subseq
>> SubSeq.new
>> end
>> end
>>
>> Overlaid =proc do
>> p self
>> class<<self
>> def subseq
>> super.instance_eval(& Overlaid)
>> end
>> end
>> end
>>
>> mid=Indexed.new
>> mid.instance_eval(&Overlaid)
>> mid.subseq
>> p mid
>> mid.subseq
>>
>> The output I get is like this:
>> #<Indexed:0x000000007a8930>
>> #<SubSeq:0x000000007a7e78 @first=11>
>> #<Indexed:0x000000007a8930>
>> subseq_first_nil.rb:10: warning: instance variable @first not initialized
>> subseq_first_nil.rb:10:in `subseq': unhandled exception
>> from subseq_first_nil.rb:24:in `subseq'
>> from subseq_first_nil.rb:33:in `<main>'
>>
>> This code should run without raising an exception, and does in ruby 1.8.
>> The exception is raised from within the last line, the second call to
>> mid.subseq. Both mid.subseq calls should behave exactly the same. The
>> first appears to do all the right things. But in the second, it goes all
>> awry. They should both call first the anonymous class's #subseq, then (via
>> the super) Indexed#subseq, which ultimately returns a SubSeq object, also
>> decorated by the anonymous class. SubSeq#subseq itself should never be
>> called, but somehow (given the top line of the exception traceback and the
>> warning) it is. SubSeq's @first should never be nil, since it is
>> initialized in the constructor and never changed, but somehow it is.
>>
>> This is the last remaining (serious) problem in porting redparse to 1.9.
>> It causes redparse to incorrectly handle certain here documents which work
>> fine when run in 1.8. I'd appreciate it very much of this problem can be
>> fixed.
>
>
> Definitely, this is a bug. But it is very difficult to fix because
> this is a design flaw of YARV.
>
>
> Each method definition (more precisely, rb_iseq_t) has information
> of class that the method belongs to. This information is used to
> identify the parent class and method when super is called.
>
> This information belongs to each *lexical* method definition.
> Your code uses the same definition of method `subseq' twice, to an
> instance of Indexed, and to an instance of SubSeq.
> The first definition sets the information to Indexed, and the second
> *overwrites* it to SubSeq. This causes inconsistency between class
> of self and class that a super'ed method belongs to.
>
> To fix this issue, the information must be moved from rb_iseq_t to
> stack frame, which requires major upgrade.
>
>
> So, towards 1.9.2 release, we plan to pass on the fix of this issue,
> by prohibiting super in such a situation (the above code raises an
> NotImplementedError). We will fix it in 1.9.3 or later.
>
>
> You can use Module#include as a workaround (`subseq' belong to the
> Workaround module, so the above issue does not occur):
>
> module Workaround
> def subseq
> super.instance_eval(& Overlaid)
> end
> end
>
> Overlaid =proc do
> p self
> class<<self
> include Workaround
> end
> end
>
>
> You can also use eval (the lexical definition is duplicated):
>
> Overlaid = proc do
> p self
> class<<self
> eval %q{
> def subseq
> super.instance_eval(& Overlaid)
> end
> }
> end
> end
Thanks for the explanation. It's good to have some visibility into
this issue. I will have to ponder this for a while before I fully
understand it.
I'll try your workaround but my recollection is that when I wrote this
originally, modules would not work for me. Your way might tho.