Project

General

Profile

Actions

Bug #1982

closed

Kernel.load(..., true) --> scope problem

Added by johan556 (Johan Holmberg) over 14 years ago. Updated almost 13 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 1.9.2dev (2009-07-18 trunk 24186)
Backport:
[ruby-core:25039]

Description

=begin
In a file loaded with "Kernel.load(..., true)", the way constants are looked up has changed since 1.8. The attached script "helloworld.rb" works in Ruby 1.8, but fails in Ruby 1.9. It should be invoked like below to provoke the error:

 $ ruby1.9 -e 'load "helloworld.rb", true'

The error I get is:

helloworld.rb:8:in say': uninitialized constant #<Module:0x2c9764>::HelloWorld::Hello (NameError) from helloworld.rb:12:in <top (required)>'
from -e:1:in load' from -e:1:in '

The behaviour of 1.9 seems like a bug to me. It makes it almost impossible to write code in a file loaded this way (with the "true" parameter to "Kernel.load").

( see also my previous mail about this in [ruby-core:22033] )
=end


Files

helloworld.rb (348 Bytes) helloworld.rb johan556 (Johan Holmberg), 08/23/2009 05:32 AM

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #616: instance_eval and Module#to_sClosedko1 (Koichi Sasada)10/06/200801/20/2009Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0