byebug 10.0.2 → 11.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +365 -287
  3. data/CONTRIBUTING.md +6 -34
  4. data/GUIDE.md +9 -8
  5. data/LICENSE +18 -18
  6. data/README.md +83 -79
  7. data/ext/byebug/byebug.c +4 -9
  8. data/ext/byebug/byebug.h +4 -2
  9. data/ext/byebug/context.c +15 -2
  10. data/lib/byebug.rb +1 -1
  11. data/lib/byebug/attacher.rb +4 -4
  12. data/lib/byebug/command.rb +2 -2
  13. data/lib/byebug/command_list.rb +1 -1
  14. data/lib/byebug/commands.rb +38 -37
  15. data/lib/byebug/commands/break.rb +10 -14
  16. data/lib/byebug/commands/catch.rb +4 -8
  17. data/lib/byebug/commands/condition.rb +3 -5
  18. data/lib/byebug/commands/continue.rb +27 -9
  19. data/lib/byebug/commands/debug.rb +2 -2
  20. data/lib/byebug/commands/delete.rb +3 -5
  21. data/lib/byebug/commands/disable.rb +4 -4
  22. data/lib/byebug/commands/disable/breakpoints.rb +1 -1
  23. data/lib/byebug/commands/disable/display.rb +1 -1
  24. data/lib/byebug/commands/display.rb +2 -2
  25. data/lib/byebug/commands/down.rb +3 -3
  26. data/lib/byebug/commands/edit.rb +2 -1
  27. data/lib/byebug/commands/enable.rb +3 -3
  28. data/lib/byebug/commands/enable/breakpoints.rb +1 -1
  29. data/lib/byebug/commands/enable/display.rb +1 -1
  30. data/lib/byebug/commands/finish.rb +2 -2
  31. data/lib/byebug/commands/frame.rb +3 -3
  32. data/lib/byebug/commands/help.rb +2 -2
  33. data/lib/byebug/commands/history.rb +2 -2
  34. data/lib/byebug/commands/info.rb +6 -6
  35. data/lib/byebug/commands/info/breakpoints.rb +2 -4
  36. data/lib/byebug/commands/info/display.rb +1 -3
  37. data/lib/byebug/commands/info/file.rb +2 -4
  38. data/lib/byebug/commands/interrupt.rb +1 -1
  39. data/lib/byebug/commands/irb.rb +2 -4
  40. data/lib/byebug/commands/kill.rb +3 -5
  41. data/lib/byebug/commands/list.rb +4 -4
  42. data/lib/byebug/commands/method.rb +2 -2
  43. data/lib/byebug/commands/next.rb +2 -2
  44. data/lib/byebug/commands/pry.rb +3 -5
  45. data/lib/byebug/commands/quit.rb +4 -4
  46. data/lib/byebug/commands/restart.rb +3 -3
  47. data/lib/byebug/commands/save.rb +1 -1
  48. data/lib/byebug/commands/set.rb +3 -3
  49. data/lib/byebug/commands/show.rb +1 -1
  50. data/lib/byebug/commands/skip.rb +85 -0
  51. data/lib/byebug/commands/source.rb +2 -4
  52. data/lib/byebug/commands/step.rb +2 -2
  53. data/lib/byebug/commands/thread.rb +6 -6
  54. data/lib/byebug/commands/thread/current.rb +1 -1
  55. data/lib/byebug/commands/thread/list.rb +1 -1
  56. data/lib/byebug/commands/thread/resume.rb +2 -4
  57. data/lib/byebug/commands/thread/stop.rb +1 -1
  58. data/lib/byebug/commands/thread/switch.rb +1 -1
  59. data/lib/byebug/commands/tracevar.rb +2 -5
  60. data/lib/byebug/commands/undisplay.rb +5 -6
  61. data/lib/byebug/commands/untracevar.rb +1 -1
  62. data/lib/byebug/commands/up.rb +3 -3
  63. data/lib/byebug/commands/var.rb +8 -8
  64. data/lib/byebug/commands/var/all.rb +1 -1
  65. data/lib/byebug/commands/var/args.rb +1 -1
  66. data/lib/byebug/commands/var/const.rb +2 -4
  67. data/lib/byebug/commands/var/instance.rb +1 -1
  68. data/lib/byebug/commands/var/local.rb +1 -1
  69. data/lib/byebug/commands/where.rb +2 -2
  70. data/lib/byebug/context.rb +4 -4
  71. data/lib/byebug/core.rb +10 -9
  72. data/lib/byebug/frame.rb +2 -2
  73. data/lib/byebug/helpers/frame.rb +1 -1
  74. data/lib/byebug/helpers/parse.rb +1 -3
  75. data/lib/byebug/helpers/string.rb +0 -3
  76. data/lib/byebug/helpers/toggle.rb +2 -4
  77. data/lib/byebug/helpers/var.rb +1 -1
  78. data/lib/byebug/history.rb +1 -1
  79. data/lib/byebug/interface.rb +6 -6
  80. data/lib/byebug/interfaces/local_interface.rb +21 -2
  81. data/lib/byebug/interfaces/remote_interface.rb +1 -1
  82. data/lib/byebug/interfaces/script_interface.rb +2 -1
  83. data/lib/byebug/printers/base.rb +4 -5
  84. data/lib/byebug/printers/plain.rb +1 -1
  85. data/lib/byebug/processors/command_processor.rb +2 -2
  86. data/lib/byebug/processors/control_processor.rb +1 -1
  87. data/lib/byebug/processors/post_mortem_processor.rb +1 -1
  88. data/lib/byebug/processors/script_processor.rb +1 -1
  89. data/lib/byebug/remote.rb +3 -3
  90. data/lib/byebug/remote/client.rb +2 -0
  91. data/lib/byebug/runner.rb +7 -7
  92. data/lib/byebug/setting.rb +2 -2
  93. data/lib/byebug/settings/autoirb.rb +2 -2
  94. data/lib/byebug/settings/autolist.rb +2 -2
  95. data/lib/byebug/settings/autopry.rb +2 -2
  96. data/lib/byebug/settings/autosave.rb +1 -1
  97. data/lib/byebug/settings/basename.rb +1 -1
  98. data/lib/byebug/settings/callstyle.rb +2 -2
  99. data/lib/byebug/settings/fullpath.rb +1 -1
  100. data/lib/byebug/settings/histfile.rb +1 -1
  101. data/lib/byebug/settings/histsize.rb +1 -1
  102. data/lib/byebug/settings/linetrace.rb +1 -1
  103. data/lib/byebug/settings/listsize.rb +1 -1
  104. data/lib/byebug/settings/post_mortem.rb +1 -1
  105. data/lib/byebug/settings/savefile.rb +1 -1
  106. data/lib/byebug/settings/stack_on_error.rb +1 -1
  107. data/lib/byebug/settings/width.rb +1 -1
  108. data/lib/byebug/source_file_formatter.rb +2 -2
  109. data/lib/byebug/subcommands.rb +2 -2
  110. data/lib/byebug/version.rb +1 -1
  111. metadata +9 -9
@@ -24,7 +24,8 @@ module Byebug
24
24
  def readline(*)
25
25
  while (result = input.gets)
26
26
  output.puts "+ #{result}" if @verbose
27
- next if result =~ /^\s*#/
27
+ next if /^\s*#/.match?(result)
28
+
28
29
  return result.chomp
29
30
  end
30
31
  end
@@ -11,7 +11,7 @@ module Byebug
11
11
  class MissedPath < StandardError; end
12
12
  class MissedArgument < StandardError; end
13
13
 
14
- SEPARATOR = ".".freeze
14
+ SEPARATOR = "."
15
15
 
16
16
  def type
17
17
  self.class.name.split("::").last.downcase
@@ -23,11 +23,12 @@ module Byebug
23
23
  result = nil
24
24
  contents.each_value do |contents|
25
25
  result = parts(path).reduce(contents) do |r, part|
26
- r && r.key?(part) ? r[part] : nil
26
+ r&.key?(part) ? r[part] : nil
27
27
  end
28
28
  break if result
29
29
  end
30
30
  raise MissedPath, "Can't find part path '#{path}'" unless result
31
+
31
32
  result
32
33
  end
33
34
 
@@ -35,9 +36,7 @@ module Byebug
35
36
  # they may contain #{} string interpolation
36
37
  string.gsub(/\|\w+$/, "").gsub(/([^#]?){([^}]*)}/) do
37
38
  key = Regexp.last_match[2].to_s
38
- unless args.key?(key.to_sym)
39
- raise MissedArgument, "Missed argument #{key} for '#{string}'"
40
- end
39
+ raise MissedArgument, "Missed argument #{key} for '#{string}'" unless args.key?(key.to_sym)
41
40
 
42
41
  "#{Regexp.last_match[1]}#{args[key.to_sym]}"
43
42
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/printers/base"
3
+ require_relative "base"
4
4
 
5
5
  module Byebug
6
6
  module Printers
@@ -2,8 +2,8 @@
2
2
 
3
3
  require "forwardable"
4
4
 
5
- require "byebug/helpers/eval"
6
- require "byebug/errors"
5
+ require_relative "../helpers/eval"
6
+ require_relative "../errors"
7
7
 
8
8
  module Byebug
9
9
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/processors/command_processor"
3
+ require_relative "command_processor"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/processors/command_processor"
3
+ require_relative "command_processor"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/processors/command_processor"
3
+ require_relative "command_processor"
4
4
 
5
5
  module Byebug
6
6
  #
data/lib/byebug/remote.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "socket"
4
- require "byebug/processors/control_processor"
5
- require "byebug/remote/server"
6
- require "byebug/remote/client"
4
+ require_relative "processors/control_processor"
5
+ require_relative "remote/server"
6
+ require_relative "remote/client"
7
7
 
8
8
  #
9
9
  # Remote debugging functionality.
@@ -26,10 +26,12 @@ module Byebug
26
26
  when /^PROMPT (.*)$/
27
27
  input = interface.read_command(Regexp.last_match[1])
28
28
  break unless input
29
+
29
30
  socket.puts input
30
31
  when /^CONFIRM (.*)$/
31
32
  input = interface.readline(Regexp.last_match[1])
32
33
  break unless input
34
+
33
35
  socket.puts input
34
36
  else
35
37
  interface.puts line
data/lib/byebug/runner.rb CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  require "optparse"
4
4
  require "English"
5
- require "byebug/core"
6
- require "byebug/version"
7
- require "byebug/helpers/bin"
8
- require "byebug/helpers/parse"
9
- require "byebug/helpers/string"
10
- require "byebug/option_setter"
11
- require "byebug/processors/control_processor"
5
+ require_relative "core"
6
+ require_relative "version"
7
+ require_relative "helpers/bin"
8
+ require_relative "helpers/parse"
9
+ require_relative "helpers/string"
10
+ require_relative "option_setter"
11
+ require_relative "processors/control_processor"
12
12
 
13
13
  module Byebug
14
14
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/helpers/string"
3
+ require_relative "helpers/string"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -52,7 +52,7 @@ module Byebug
52
52
  end
53
53
 
54
54
  def find(shortcut)
55
- abbr = shortcut =~ /^no/ ? shortcut[2..-1] : shortcut
55
+ abbr = /^no/.match?(shortcut) ? shortcut[2..-1] : shortcut
56
56
  matches = settings.select do |key, value|
57
57
  key =~ (value.boolean? ? /#{abbr}/ : /#{shortcut}/)
58
58
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
4
- require "byebug/commands/irb"
3
+ require_relative "../setting"
4
+ require_relative "../commands/irb"
5
5
 
6
6
  module Byebug
7
7
  #
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
4
- require "byebug/commands/list"
3
+ require_relative "../setting"
4
+ require_relative "../commands/list"
5
5
 
6
6
  module Byebug
7
7
  #
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
4
- require "byebug/commands/pry"
3
+ require_relative "../setting"
4
+ require_relative "../commands/pry"
5
5
 
6
6
  module Byebug
7
7
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
7
7
  # Setting to customize the verbosity level for stack frames.
8
8
  #
9
9
  class CallstyleSetting < Setting
10
- DEFAULT = "long".freeze
10
+ DEFAULT = "long"
11
11
 
12
12
  def banner
13
13
  "Set how you want method call parameters to be displayed"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/setting"
3
+ require_relative "../setting"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug/helpers/file"
4
- require "byebug/setting"
3
+ require_relative "helpers/file"
4
+ require_relative "setting"
5
5
 
6
6
  module Byebug
7
7
  #
@@ -2,8 +2,8 @@
2
2
 
3
3
  require "forwardable"
4
4
 
5
- require "byebug/helpers/reflection"
6
- require "byebug/command_list"
5
+ require_relative "helpers/reflection"
6
+ require_relative "command_list"
7
7
 
8
8
  module Byebug
9
9
  #
@@ -4,5 +4,5 @@
4
4
  # Reopen main module to define the library version
5
5
  #
6
6
  module Byebug
7
- VERSION = "10.0.2".freeze
7
+ VERSION = "11.1.3"
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: byebug
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.0.2
4
+ version: 11.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Rodriguez
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2018-03-30 00:00:00.000000000 Z
13
+ date: 2020-04-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -18,21 +18,21 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '1.7'
21
+ version: '2.0'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '1.7'
28
+ version: '2.0'
29
29
  description: |-
30
30
  Byebug is a Ruby debugger. It's implemented using the
31
31
  TracePoint C API for execution control and the Debug Inspector C API for
32
32
  call stack navigation. The core component provides support that front-ends
33
33
  can build on. It provides breakpoint handling and bindings for stack frames
34
34
  among other things and it comes with an easy to use command line interface.
35
- email: deivid.rodriguez@mail.com
35
+ email: deivid.rodriguez@riseup.net
36
36
  executables:
37
37
  - byebug
38
38
  extensions:
@@ -99,6 +99,7 @@ files:
99
99
  - lib/byebug/commands/save.rb
100
100
  - lib/byebug/commands/set.rb
101
101
  - lib/byebug/commands/show.rb
102
+ - lib/byebug/commands/skip.rb
102
103
  - lib/byebug/commands/source.rb
103
104
  - lib/byebug/commands/step.rb
104
105
  - lib/byebug/commands/thread.rb
@@ -172,7 +173,7 @@ files:
172
173
  - lib/byebug/source_file_formatter.rb
173
174
  - lib/byebug/subcommands.rb
174
175
  - lib/byebug/version.rb
175
- homepage: http://github.com/deivid-rodriguez/byebug
176
+ homepage: https://github.com/deivid-rodriguez/byebug
176
177
  licenses:
177
178
  - BSD-2-Clause
178
179
  metadata: {}
@@ -184,15 +185,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
185
  requirements:
185
186
  - - ">="
186
187
  - !ruby/object:Gem::Version
187
- version: 2.2.0
188
+ version: 2.4.0
188
189
  required_rubygems_version: !ruby/object:Gem::Requirement
189
190
  requirements:
190
191
  - - ">="
191
192
  - !ruby/object:Gem::Version
192
193
  version: '0'
193
194
  requirements: []
194
- rubyforge_project:
195
- rubygems_version: 2.7.6
195
+ rubygems_version: 3.2.0.pre1
196
196
  signing_key:
197
197
  specification_version: 4
198
198
  summary: Ruby fast debugger - base + CLI