[#25936] [Bug:1.9] [rubygems] $LOAD_PATH includes bin directory — Nobuyoshi Nakada <nobu@...>

Hi,

10 messages 2009/10/05

[#25943] Disabling tainting — Tony Arcieri <tony@...>

Would it make sense to have a flag passed to the interpreter on startup that

16 messages 2009/10/05

[#26028] [Bug #2189] Math.atanh(1) & Math.atanh(-1) should not raise an error — Marc-Andre Lafortune <redmine@...>

Bug #2189: Math.atanh(1) & Math.atanh(-1) should not raise an error

14 messages 2009/10/10

[#26222] [Bug #2250] IO::for_fd() objects' finalization dangerously closes underlying fds — Mike Pomraning <redmine@...>

Bug #2250: IO::for_fd() objects' finalization dangerously closes underlying fds

11 messages 2009/10/22

[#26244] [Bug #2258] Kernel#require inside rb_require() inside rb_protect() inside SysV context fails — Suraj Kurapati <redmine@...>

Bug #2258: Kernel#require inside rb_require() inside rb_protect() inside SysV context fails

24 messages 2009/10/22

[#26361] [Feature #2294] [PATCH] ruby_bind_stack() to embed Ruby in coroutine — Suraj Kurapati <redmine@...>

Feature #2294: [PATCH] ruby_bind_stack() to embed Ruby in coroutine

42 messages 2009/10/27

[#26371] [Bug #2295] segmentation faults — tomer doron <redmine@...>

Bug #2295: segmentation faults

16 messages 2009/10/27

[ruby-core:26307] Re: IO.foreach (and friends) effect on $< and $.

From: Marc-Andre Lafortune <ruby-core-mailing-list@...>
Date: 2009-10-26 02:22:44 UTC
List: ruby-core #26307
$. is on my "list of bugs to file". I believe there are bugs on both
1.9 and 1.8, but different ones. Or at least the documentation is
wrong. Here's what I had written so far, without finishing looking
into it:
----------
I believe there is a bug in trunk with $. but I am not certain how to
resolve it.

Is there an official documentation for $. (and all other global
variables) in rdoc?

The Ruby Prog Language (Flanagan & Matz) states:

The number of the last line read from the current input file.
Equivalent to ARGF.lineno.

I find "current input file" to be very imprecise. Is that the file
currently being read from ARGF? or the last IO read from?

Currently, it's a bit of both. It's usually the last read io:

$ rubydev -e "ARGF.gets; f=File.new '/etc/passwd'; 4.times{f.gets}; p
$., ARGF.lineno" /etc/hosts
4
1

Clearly, it is not equivalent to ARGF.lineno in this case.

On the other hand, it's affected by ARGF.lineno= (contrary to any
other IO#lineno=), and vice-versa:
$ rubydev -e "ARGF.lineno = 42; p $.; $. = 56; p ARGF.lineno"
42
56

In This Thread