[#101981] [Ruby master Bug#17519] set_visibility fails when a prepended module and a refinement both exist — dbfeldman@...

Issue #17519 has been reported by fledman (David Feldman).

12 messages 2021/01/08

[#102003] [Ruby master Bug#17527] rb_io_wait_readable/writable with scheduler don't check errno — julien@...

Issue #17527 has been reported by ysbaddaden (Julien Portalier).

13 messages 2021/01/11

[#102065] [Ruby master Bug#17536] Segfault in `CFUNC :define_method` — v.ondruch@...

Issue #17536 has been reported by vo.x (Vit Ondruch).

13 messages 2021/01/13

[#102083] [Ruby master Bug#17540] A segfault due to Clang/LLVM optimization on 32-bit ARM Linux — xtkoba+ruby@...

Issue #17540 has been reported by xtkoba (Tee KOBAYASHI).

12 messages 2021/01/14

[#102102] [Ruby master Bug#17543] Ractor isolation broken by `self` in shareable proc — marcandre-ruby-core@...

Issue #17543 has been reported by marcandre (Marc-Andre Lafortune).

14 messages 2021/01/15

[#102118] [Ruby master Feature#17548] Need simple way to include symlink directories in Dir.glob — keithrbennett@...

Issue #17548 has been reported by keithrbennett (Keith Bennett).

8 messages 2021/01/17

[#102158] [Ruby master Bug#17560] Does `Module#ruby2_keywords` return `nil` or `self`? — nobu@...

Issue #17560 has been reported by nobu (Nobuyoshi Nakada).

9 messages 2021/01/19

[#102163] [Ruby master Bug#17561] The timeout option for Addrinfo.getaddrinfo is not reliable on Ruby 2.7.2 — sean@...

Issue #17561 has been reported by smcgivern (Sean McGivern).

8 messages 2021/01/19

[#102249] [Ruby master Bug#17583] Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE) — yoshiokatsuneo@...

Issue #17583 has been reported by yoshiokatsuneo (Tsuneo Yoshioka).

12 messages 2021/01/26

[#102256] [Ruby master Bug#17585] DWAR5 support? — v.ondruch@...

Issue #17585 has been reported by vo.x (Vit Ondruch).

19 messages 2021/01/26

[#102301] [Ruby master Bug#17591] Test frameworks and REPLs do not show deprecation warnings by default — eregontp@...

Issue #17591 has been reported by Eregon (Benoit Daloze).

14 messages 2021/01/29

[#102305] [Ruby master Feature#17592] Ractor should allowing reading shareable class instance variables — marcandre-ruby-core@...

Issue #17592 has been reported by marcandre (Marc-Andre Lafortune).

25 messages 2021/01/29

[ruby-core:102177] [Ruby master Bug#17564] Source command in irb exits after reading and evaluating the file

From: rsharman@...
Date: 2021-01-19 23:43:49 UTC
List: ruby-core #102177
Issue #17564 has been reported by rsharman (Richard Sharman).

----------------------------------------
Bug #17564: Source command in irb exits after reading and evaluating the file
https://bugs.ruby-lang.org/issues/17564

* Author: rsharman (Richard Sharman)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin17]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
In the irb of ruby 2.3.7 (the version that comes with Macos) the “source“ command allows ruby code to be fed to irb as if it were typed in by hand.  This has a advantage over the “load” command because variables can be setup not just functions.

However, for ruby versions 2.7.2 and 3.0 irb’s “source” command exits after reading and evaluating everything.  This is not very useful in an interactive environment.

I found what I think was a crucial difference between version 2.3.7 and later versions:  in function "each_top_level_statement" of irb/ruby-lex.rb the statement
```
  	break unless l
```
was replaced by	

```
	break if @io.eof?
```
When I replaced “break if @io.eof?” by “break unless l” in version 3.0.0 the old behaviour of the “source” command returned!  I can now read in ruby code, including variables, and use them.

See file patch for a unified diff of the change.

I don’t understand why this “fix” works, and realize it may not be valid, but I am submitting it in case it is legitimate and can be used.

A trivial file demonstrates the problem:  file “a.rb” simply sets variable “a”.  To test, invoke irb and issue the command “source ‘a.rb’”.   The expected behaviour is you are left at the irb prompt and variable a is valid.   The behaviour in verions 3.0.0 without the fix is irb exits.

See file a.rb and output with and without fix in file Log.



---Files--------------------------------
a.rb (9 Bytes)
Log (298 Bytes)
Patch (383 Bytes)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next