ruby/lib
Stan Lo 7f8f62c93b [ruby/irb] Support seamless integration with ruby/debug
(https://github.com/ruby/irb/pull/575)

* Support native integration with ruby/debug

* Prevent using multi-irb and activating debugger at the same time

Multi-irb makes a few assumptions:

- IRB will manage all threads that host sub-irb sessions
- All IRB sessions will be run on the threads created by IRB itself

However, when using the debugger these assumptions are broken:

- `debug` will freeze ALL threads when it suspends the session (e.g. when
  hitting a breakpoint, or performing step-debugging).
- Since the irb-debug integration runs IRB as the debugger's interface,
  it will be run on the debugger's thread, which is not managed by IRB.

So we should prevent the 2 features from being used at the same time.
To do that, we check if the other feature is already activated when
executing the commands that would activate the other feature.

https://github.com/ruby/irb/commit/d8fb3246be
2023-08-13 18:30:34 +00:00
..
bundler Display call location with bundled gems warning 2023-08-04 21:12:09 +09:00
cgi [ruby/cgi] Add TruffleRuby support and add it in CI 2023-05-29 19:33:38 +00:00
csv [ruby/csv] Bump version 2023-06-28 16:37:10 +09:00
did_you_mean [ruby/did_you_mean] Bump version to 1.6.3 2022-12-19 14:59:59 +09:00
drb [ruby/drb] Bump version to 2.1.1 2022-12-05 05:59:33 +00:00
erb
error_highlight [ruby/error_highlight] Identify which node in `Foo::Bar::Baz` causes a NameError 2023-01-13 08:25:09 +00:00
forwardable
irb [ruby/irb] Support seamless integration with ruby/debug 2023-08-13 18:30:34 +00:00
logger [ruby/logger] Add Logger#with_level{...} for block-scoped log level. 2023-02-10 01:08:49 +00:00
net Redirect to `IO::NULL` for the portability 2023-05-05 18:52:36 +09:00
open3 Redirect to `IO::NULL` for the portability 2023-05-05 18:52:36 +09:00
optparse
random [DOC] Improve Random::Formatter docs 2022-12-11 18:49:56 +02:00
rdoc [ruby/rdoc] Use a more portable way to check if code is parseable 2023-07-29 15:31:48 +00:00
reline [ruby/reline] Add `kill-word` and `backward-kill-word` keymapping 2023-07-27 09:08:24 +00:00
rinda [ruby/rinda] Expose Rinda::VERSION 2023-04-21 06:22:52 +00:00
ruby_vm/rjit YJIT: Compile exception handlers (#8171) 2023-08-08 16:06:22 -07:00
rubygems [rubygems/rubygems] Set thread configurations inside block in the thread local manner 2023-07-30 01:37:43 +00:00
set [ruby/set] Expose Set::VERSION 2023-04-25 01:58:12 +00:00
syntax_suggest [ruby/syntax_suggest] Handle new eval source location 2023-07-20 17:58:52 +00:00
unicode_normalize update Unicode normalization tables to version 15.0.0 2022-12-06 10:11:33 +09:00
uri [ruby/uri] Bump up v0.12.2 2023-06-29 01:07:52 +00:00
yaml Redirect to `IO::NULL` for the portability 2023-05-05 18:52:36 +09:00
yarp [ruby/yarp] Document the build system of YARP 2023-08-05 17:30:34 +00:00
English.gemspec Redirect to `IO::NULL` for the portability 2023-05-05 18:52:36 +09:00
English.rb [ruby/English] Replace HTML5 deprecated tag <tt> with <code> 2023-02-06 05:20:34 +00:00
abbrev.gemspec [ruby/abbrev] Expose Abbrev::VERSION 2023-04-25 01:55:56 +00:00
abbrev.rb [ruby/abbrev] Update lib/abbrev.rb 2023-04-25 01:55:57 +00:00
base64.gemspec Fixed version detection paths in ruby repository 2023-04-03 12:00:59 +09:00
base64.rb [ruby/base64] Expose Base64::VERSION 2023-04-03 02:45:42 +00:00
benchmark.gemspec Fixup 5bfb317a93 2023-05-25 16:09:29 +09:00
benchmark.rb [ruby/benchmark] Don't use version.rb 2023-05-25 07:08:44 +00:00
bundled_gems.rb Fix `Gem::BUNDLED_GEMS.find_gem` return value 2023-08-05 18:56:37 +09:00
bundler.rb Merge RubyGems/Bundler master from 4076391fce5847689bf2ec402b17133fe4e32285 2023-05-30 21:50:07 +09:00
cgi.rb
csv.rb [ruby/csv] All Enumerable based methods consume the same lines with other methods 2023-05-25 01:44:17 +09:00
delegate.gemspec Move gemspec files to top of lib directory. 2023-05-25 15:47:48 +09:00
delegate.rb [ruby/delegate] Bump version to 0.3.0 2022-12-05 05:47:54 +00:00
did_you_mean.rb [ruby/did_you_mean] Keep the deprecated API for another year in case this could break 'bundle install' 2023-01-07 08:47:05 +00:00
drb.rb
erb.gemspec Apply the accidental commits again before Ruby 3.2. 2022-12-26 12:07:42 +09:00
erb.rb [ruby/erb] [DOC] Use indented heredoc 2023-03-21 15:05:29 +00:00
error_highlight.rb
fileutils.gemspec
fileutils.rb [ruby/fileutils] Bump up v1.7.1 2023-04-03 05:19:00 +00:00
find.gemspec Fixed version detection paths in ruby repository 2023-04-03 12:00:59 +09:00
find.rb [ruby/find] Expose Find::VERSION 2023-04-03 02:40:37 +00:00
forwardable.rb [ruby/forwardable] Bump version to 1.3.3 2022-12-05 06:15:38 +00:00
getoptlong.gemspec Move gemspec files to top of lib directory. 2023-05-25 15:47:48 +09:00
getoptlong.rb [ruby/getoptlong] [DOC] Add spaces to fix formatting in example 2023-07-13 12:30:23 +00:00
ipaddr.gemspec
ipaddr.rb [ruby/ipaddr] Consider IPv4-mapped IPv6 addresses private if IPv4 address is private 2023-06-22 16:40:46 +00:00
irb.rb [ruby/irb] Support seamless integration with ruby/debug 2023-08-13 18:30:34 +00:00
logger.rb [ruby/logger] Add Logger#with_level{...} for block-scoped log level. 2023-02-10 01:08:49 +00:00
mkmf.rb Allow nmake to ignore errors 2023-07-10 19:21:47 +09:00
mutex_m.gemspec [ruby/mutex_m] Drop to support Ruby 2.4 2023-01-12 05:38:31 +00:00
mutex_m.rb [ruby/mutex_m] Avoid anonymous eval 2023-01-12 05:41:59 +00:00
observer.gemspec Move gemspec files to top of lib directory. 2023-05-25 15:47:48 +09:00
observer.rb
open-uri.gemspec [ruby/open-uri] Expose OpenURI::VERSION 2023-04-13 09:47:40 +00:00
open-uri.rb [ruby/open-uri] Expose OpenURI::VERSION 2023-04-13 09:47:40 +00:00
open3.rb
optionparser.rb
optparse.rb [ruby/optparse] [DOC] Mark up constant and method names as code 2023-07-30 02:35:22 +00:00
ostruct.gemspec Move gemspec files to top of lib directory. 2023-05-25 15:47:48 +09:00
ostruct.rb
pp.gemspec [ruby/pp] Expose PP::VERSION 2023-04-14 01:49:51 +00:00
pp.rb [ruby/pp] Expose PP::VERSION 2023-04-14 01:49:51 +00:00
prettyprint.gemspec [ruby/prettyprint] Expose PrettyPrint::VERSION 2023-04-14 01:52:08 +00:00
prettyprint.rb [ruby/prettyprint] Expose PrettyPrint::VERSION 2023-04-14 01:52:08 +00:00
pstore.gemspec Move gemspec files to top of lib directory. 2023-05-25 15:47:48 +09:00
pstore.rb [ruby/pstore] Remove (newly unneeded) remarks about aliases 2023-02-19 23:07:33 +00:00
rdoc.rb
readline.gemspec
readline.rb
reline.rb [ruby/reline] Reduce direct references to `Reline::IOGate` 2023-07-07 17:27:25 +00:00
resolv-replace.gemspec [ruby/resolv-replace] Bump version to 0.1.1 2022-12-14 17:42:15 +09:00
resolv-replace.rb
resolv.gemspec [ruby/resolv] Expose Resolv::VERSION 2023-04-14 01:46:38 +00:00
resolv.rb [ruby/resolv] Prefer `Array#concat` over `#+=` on `Array` 2023-04-28 11:29:02 +00:00
ruby2_keywords.gemspec
rubygems.rb util/rubocop -A --only Style/NumericLiteralPrefix 2023-04-11 19:12:28 +09:00
securerandom.gemspec [ruby/securerandom] Expose SecureRandom::VERSION 2023-04-14 01:43:47 +00:00
securerandom.rb [ruby/securerandom] Expose SecureRandom::VERSION 2023-04-14 01:43:47 +00:00
set.rb [ruby/set] Update lib/set.rb 2023-04-25 01:58:12 +00:00
shellwords.gemspec [ruby/shellwords] Expose Shellwords::VERSION 2023-04-13 09:48:55 +00:00
shellwords.rb [ruby/shellwords] Expose Shellwords::VERSION 2023-04-13 09:48:55 +00:00
singleton.gemspec Move gemspec files to top of lib directory. 2023-05-25 15:47:48 +09:00
singleton.rb [ruby/singleton] Simplify implementation of `Singleton#instance`. 2023-06-05 04:29:37 +00:00
syntax_suggest.rb
tempfile.gemspec Redirect to `IO::NULL` for the portability 2023-05-05 18:52:36 +09:00
tempfile.rb [ruby/tempfile] Expose Tempfile::VERSION 2023-04-13 09:49:14 +00:00
time.gemspec [ruby/time] Expose Time::VERSION 2023-04-13 18:51:18 +09:00
time.rb [ruby/time] Expose Time::VERSION 2023-04-13 18:51:18 +09:00
timeout.gemspec [ruby/timeout] Require Ruby >= 2.6 for the timeout gem 2023-07-03 09:57:07 +00:00
timeout.rb [ruby/timeout] Bump up v0.4.0 2023-06-23 03:52:03 +00:00
tmpdir.gemspec Redirect to `IO::NULL` for the portability 2023-05-05 18:52:36 +09:00
tmpdir.rb [ruby/tmpdir] [Bug #18933] Make `Dir.mktmpdir` Ractor-safe 2023-07-03 05:47:43 +00:00
tsort.gemspec Fixed version detection paths in ruby repository 2023-04-03 12:00:59 +09:00
tsort.rb [ruby/tsort] Expose TSort::VERSION 2023-04-03 02:41:44 +00:00
un.gemspec [ruby/un] Expose UN::VERSION 2023-04-13 09:47:22 +00:00
un.rb [ruby/un] Expose UN::VERSION 2023-04-13 09:47:22 +00:00
uri.rb
weakref.gemspec Move gemspec files to top of lib directory. 2023-05-25 15:47:48 +09:00
weakref.rb [ruby/weakref] Bump version to 0.1.2 2022-12-14 06:16:29 +00:00
yaml.rb Rename YAML::VERSION. It's conflict with Psych::VERSION 2023-04-03 12:43:11 +09:00
yarp.rb [ruby/yarp] Remove pattern matching pinning to enable support for <= Ruby 3.0 2023-07-14 21:00:51 +00:00