byebug 9.1.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +24 -3
  3. data/CONTRIBUTING.md +39 -18
  4. data/GUIDE.md +16 -17
  5. data/README.md +64 -52
  6. data/exe/byebug +6 -0
  7. data/ext/byebug/breakpoint.c +1 -1
  8. data/ext/byebug/byebug.c +16 -16
  9. data/ext/byebug/byebug.h +40 -26
  10. data/ext/byebug/context.c +26 -26
  11. data/ext/byebug/extconf.rb +7 -5
  12. data/ext/byebug/threads.c +8 -8
  13. data/lib/byebug.rb +3 -1
  14. data/lib/byebug/attacher.rb +17 -3
  15. data/lib/byebug/breakpoint.rb +25 -3
  16. data/lib/byebug/command.rb +20 -14
  17. data/lib/byebug/command_list.rb +3 -1
  18. data/lib/byebug/commands.rb +39 -37
  19. data/lib/byebug/commands/break.rb +33 -15
  20. data/lib/byebug/commands/catch.rb +16 -14
  21. data/lib/byebug/commands/condition.rb +11 -9
  22. data/lib/byebug/commands/continue.rb +9 -7
  23. data/lib/byebug/commands/debug.rb +7 -5
  24. data/lib/byebug/commands/delete.rb +11 -9
  25. data/lib/byebug/commands/disable.rb +8 -6
  26. data/lib/byebug/commands/disable/breakpoints.rb +7 -5
  27. data/lib/byebug/commands/disable/display.rb +7 -5
  28. data/lib/byebug/commands/display.rb +11 -9
  29. data/lib/byebug/commands/down.rb +10 -8
  30. data/lib/byebug/commands/edit.rb +10 -8
  31. data/lib/byebug/commands/enable.rb +8 -6
  32. data/lib/byebug/commands/enable/breakpoints.rb +7 -5
  33. data/lib/byebug/commands/enable/display.rb +7 -5
  34. data/lib/byebug/commands/finish.rb +8 -6
  35. data/lib/byebug/commands/frame.rb +11 -9
  36. data/lib/byebug/commands/help.rb +7 -5
  37. data/lib/byebug/commands/history.rb +7 -5
  38. data/lib/byebug/commands/info.rb +11 -9
  39. data/lib/byebug/commands/info/breakpoints.rb +17 -11
  40. data/lib/byebug/commands/info/display.rb +16 -7
  41. data/lib/byebug/commands/info/file.rb +12 -10
  42. data/lib/byebug/commands/info/line.rb +5 -3
  43. data/lib/byebug/commands/info/program.rb +8 -6
  44. data/lib/byebug/commands/interrupt.rb +8 -4
  45. data/lib/byebug/commands/irb.rb +9 -7
  46. data/lib/byebug/commands/kill.rb +9 -7
  47. data/lib/byebug/commands/list.rb +41 -46
  48. data/lib/byebug/commands/method.rb +10 -8
  49. data/lib/byebug/commands/next.rb +8 -6
  50. data/lib/byebug/commands/pry.rb +10 -8
  51. data/lib/byebug/commands/quit.rb +7 -5
  52. data/lib/byebug/commands/restart.rb +13 -11
  53. data/lib/byebug/commands/save.rb +9 -7
  54. data/lib/byebug/commands/set.rb +12 -10
  55. data/lib/byebug/commands/show.rb +7 -5
  56. data/lib/byebug/commands/source.rb +7 -5
  57. data/lib/byebug/commands/step.rb +8 -6
  58. data/lib/byebug/commands/thread.rb +11 -9
  59. data/lib/byebug/commands/thread/current.rb +6 -4
  60. data/lib/byebug/commands/thread/list.rb +7 -5
  61. data/lib/byebug/commands/thread/resume.rb +7 -5
  62. data/lib/byebug/commands/thread/stop.rb +6 -4
  63. data/lib/byebug/commands/thread/switch.rb +6 -4
  64. data/lib/byebug/commands/tracevar.rb +10 -8
  65. data/lib/byebug/commands/undisplay.rb +10 -8
  66. data/lib/byebug/commands/untracevar.rb +8 -6
  67. data/lib/byebug/commands/up.rb +10 -8
  68. data/lib/byebug/commands/var.rb +12 -10
  69. data/lib/byebug/commands/var/all.rb +7 -5
  70. data/lib/byebug/commands/var/args.rb +6 -4
  71. data/lib/byebug/commands/var/const.rb +9 -7
  72. data/lib/byebug/commands/var/global.rb +5 -3
  73. data/lib/byebug/commands/var/instance.rb +6 -4
  74. data/lib/byebug/commands/var/local.rb +6 -4
  75. data/lib/byebug/commands/where.rb +9 -7
  76. data/lib/byebug/context.rb +7 -5
  77. data/lib/byebug/core.rb +25 -25
  78. data/lib/byebug/errors.rb +4 -2
  79. data/lib/byebug/frame.rb +16 -16
  80. data/lib/byebug/helpers/bin.rb +28 -7
  81. data/lib/byebug/helpers/eval.rb +8 -6
  82. data/lib/byebug/helpers/file.rb +4 -2
  83. data/lib/byebug/helpers/frame.rb +5 -3
  84. data/lib/byebug/helpers/parse.rb +5 -3
  85. data/lib/byebug/helpers/path.rb +7 -5
  86. data/lib/byebug/helpers/reflection.rb +2 -0
  87. data/lib/byebug/helpers/string.rb +4 -2
  88. data/lib/byebug/helpers/thread.rb +10 -8
  89. data/lib/byebug/helpers/toggle.rb +10 -8
  90. data/lib/byebug/helpers/var.rb +8 -6
  91. data/lib/byebug/history.rb +7 -5
  92. data/lib/byebug/interface.rb +13 -11
  93. data/lib/byebug/interfaces/local_interface.rb +4 -4
  94. data/lib/byebug/interfaces/remote_interface.rb +21 -9
  95. data/lib/byebug/interfaces/script_interface.rb +2 -0
  96. data/lib/byebug/interfaces/test_interface.rb +5 -3
  97. data/lib/byebug/option_setter.rb +14 -12
  98. data/lib/byebug/printers/base.rb +6 -6
  99. data/lib/byebug/printers/plain.rb +8 -6
  100. data/lib/byebug/printers/texts/base.yml +3 -3
  101. data/lib/byebug/processors/command_processor.rb +11 -12
  102. data/lib/byebug/processors/control_processor.rb +4 -6
  103. data/lib/byebug/processors/post_mortem_processor.rb +4 -2
  104. data/lib/byebug/processors/script_processor.rb +7 -3
  105. data/lib/byebug/remote.rb +45 -65
  106. data/lib/byebug/remote/client.rb +55 -0
  107. data/lib/byebug/remote/server.rb +47 -0
  108. data/lib/byebug/runner.rb +26 -19
  109. data/lib/byebug/setting.rb +10 -4
  110. data/lib/byebug/settings/autoirb.rb +5 -3
  111. data/lib/byebug/settings/autolist.rb +5 -3
  112. data/lib/byebug/settings/autopry.rb +5 -3
  113. data/lib/byebug/settings/autosave.rb +4 -2
  114. data/lib/byebug/settings/basename.rb +4 -2
  115. data/lib/byebug/settings/callstyle.rb +3 -3
  116. data/lib/byebug/settings/fullpath.rb +4 -2
  117. data/lib/byebug/settings/histfile.rb +5 -3
  118. data/lib/byebug/settings/histsize.rb +4 -2
  119. data/lib/byebug/settings/linetrace.rb +4 -2
  120. data/lib/byebug/settings/listsize.rb +4 -2
  121. data/lib/byebug/settings/post_mortem.rb +4 -2
  122. data/lib/byebug/settings/savefile.rb +4 -2
  123. data/lib/byebug/settings/stack_on_error.rb +4 -2
  124. data/lib/byebug/settings/width.rb +3 -1
  125. data/lib/byebug/source_file_formatter.rb +71 -0
  126. data/lib/byebug/subcommands.rb +6 -4
  127. data/lib/byebug/version.rb +1 -1
  128. metadata +8 -5
  129. data/bin/byebug +0 -9
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  #
3
5
  # Custom exception exception to signal "command not found" errors
@@ -17,11 +19,11 @@ module Byebug
17
19
  end
18
20
 
19
21
  def help
20
- build_cmd('help', @parent)
22
+ build_cmd("help", @parent)
21
23
  end
22
24
 
23
25
  def build_cmd(*args)
24
- args.compact.join(' ')
26
+ args.compact.join(" ")
25
27
  end
26
28
  end
27
29
  end
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'byebug/helpers/file'
3
+ require "byebug/helpers/file"
4
4
 
5
5
  module Byebug
6
6
  #
@@ -70,11 +70,11 @@ module Byebug
70
70
  # +callstyle+ setting is 'short'
71
71
  #
72
72
  def deco_class
73
- Setting[:callstyle] == 'short' || _class.to_s.empty? ? '' : "#{_class}."
73
+ Setting[:callstyle] == "short" || _class.to_s.empty? ? "" : "#{_class}."
74
74
  end
75
75
 
76
76
  def deco_block
77
- _method[/(?:block(?: \(\d+ levels\))?|rescue) in /] || ''
77
+ _method[/(?:block(?: \(\d+ levels\))?|rescue) in /] || ""
78
78
  end
79
79
 
80
80
  def deco_method
@@ -87,12 +87,12 @@ module Byebug
87
87
  # setting
88
88
  #
89
89
  def deco_args
90
- return '' if args.empty?
90
+ return "" if args.empty?
91
91
 
92
92
  my_args = args.map do |arg|
93
93
  prefix, default = prefix_and_default(arg[0])
94
94
 
95
- kls = use_short_style?(arg) ? '' : "##{locals[arg[1]].class}"
95
+ kls = use_short_style?(arg) ? "" : "##{locals[arg[1]].class}"
96
96
 
97
97
  "#{prefix}#{arg[1] || default}#{kls}"
98
98
  end
@@ -118,7 +118,7 @@ module Byebug
118
118
  # Properly formatted frame number of frame
119
119
  #
120
120
  def deco_pos
121
- format('%-2d', pos)
121
+ format("%-2d", pos)
122
122
  end
123
123
 
124
124
  #
@@ -129,10 +129,10 @@ module Byebug
129
129
  # marks regular frames
130
130
  #
131
131
  def mark
132
- return '-->' if current?
133
- return ' ͱ--' if c_frame?
132
+ return "-->" if current?
133
+ return " ͱ--" if c_frame?
134
134
 
135
- ' '
135
+ " "
136
136
  end
137
137
 
138
138
  #
@@ -156,13 +156,13 @@ module Byebug
156
156
  private
157
157
 
158
158
  def c_args
159
- return [] unless _self.to_s != 'main'
159
+ return [] unless _self.to_s != "main"
160
160
 
161
161
  _class.instance_method(_method).parameters
162
162
  end
163
163
 
164
164
  def ruby_args
165
- meth_name = _binding.eval('__method__')
165
+ meth_name = _binding.eval("__method__")
166
166
  return [] unless meth_name
167
167
 
168
168
  meth_obj = _class.instance_method(meth_name)
@@ -172,14 +172,14 @@ module Byebug
172
172
  end
173
173
 
174
174
  def use_short_style?(arg)
175
- Setting[:callstyle] == 'short' || arg[1].nil? || locals.empty?
175
+ Setting[:callstyle] == "short" || arg[1].nil? || locals.empty?
176
176
  end
177
177
 
178
178
  def prefix_and_default(arg_type)
179
- return ['&', 'block'] if arg_type == :block
180
- return ['*', 'args'] if arg_type == :rest
179
+ return ["&", "block"] if arg_type == :block
180
+ return ["*", "args"] if arg_type == :rest
181
181
 
182
- ['', nil]
182
+ ["", nil]
183
183
  end
184
184
  end
185
185
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -6,21 +8,40 @@ module Byebug
6
8
  module BinHelper
7
9
  #
8
10
  # Cross-platform way of finding an executable in the $PATH.
9
- # Borrowed from: http://stackoverflow.com/questions/2108727
11
+ # Adapted from: https://gist.github.com/steakknife/88b6c3837a5e90a08296
10
12
  #
11
13
  def which(cmd)
12
14
  return File.expand_path(cmd) if File.exist?(cmd)
13
15
 
14
- exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
15
- ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
16
- exts.each do |ext|
17
- exe = File.join(path, "#{cmd}#{ext}")
18
- return exe if File.executable?(exe) && !File.directory?(exe)
19
- end
16
+ [nil, *search_paths].each do |path|
17
+ exe = find_executable(path, cmd)
18
+ return exe if exe
19
+ end
20
+
21
+ nil
22
+ end
23
+
24
+ def find_executable(path, cmd)
25
+ executable_file_extensions.each do |ext|
26
+ exe = File.expand_path(cmd + ext, path)
27
+
28
+ return exe if real_executable?(exe)
20
29
  end
21
30
 
22
31
  nil
23
32
  end
33
+
34
+ def search_paths
35
+ ENV["PATH"].split(File::PATH_SEPARATOR)
36
+ end
37
+
38
+ def executable_file_extensions
39
+ ENV["PATHEXT"] ? ENV["PATHEXT"].split(";") : [""]
40
+ end
41
+
42
+ def real_executable?(f)
43
+ File.executable?(f) && !File.directory?(f)
44
+ end
24
45
  end
25
46
  end
26
47
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -56,7 +58,7 @@ module Byebug
56
58
  private
57
59
 
58
60
  def safe_eval(str, binding)
59
- binding.eval(str.gsub(/\Aeval /, ''), '(byebug)', 1)
61
+ binding.eval(str.gsub(/\Aeval /, ""), "(byebug)", 1)
60
62
  rescue StandardError, ScriptError => e
61
63
  yield(e)
62
64
  end
@@ -64,7 +66,7 @@ module Byebug
64
66
  def msg(e)
65
67
  msg = Setting[:stack_on_error] ? error_msg(e) : warning_msg(e)
66
68
 
67
- pr('eval.exception', text_message: msg)
69
+ pr("eval.exception", text_message: msg)
68
70
  end
69
71
 
70
72
  def error_msg(e)
@@ -98,7 +100,7 @@ module Byebug
98
100
 
99
101
  #
100
102
  # Runs the given block in a new thread, waits for it to finish and
101
- # returns the new thred's result.
103
+ # returns the new thread's result.
102
104
  #
103
105
  def in_new_thread
104
106
  res = nil
@@ -110,14 +112,14 @@ module Byebug
110
112
 
111
113
  def safe_inspect(var)
112
114
  var.inspect
113
- rescue
115
+ rescue StandardError
114
116
  safe_to_s(var)
115
117
  end
116
118
 
117
119
  def safe_to_s(var)
118
120
  var.to_s
119
- rescue
120
- '*Error in evaluation*'
121
+ rescue StandardError
122
+ "*Error in evaluation*"
121
123
  end
122
124
  end
123
125
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -47,14 +49,14 @@ module Byebug
47
49
  components = Pathname(fullpath).each_filename.to_a
48
50
  return fullpath if components.size <= 2
49
51
 
50
- File.join('...', components[-3..-1])
52
+ File.join("...", components[-3..-1])
51
53
  end
52
54
 
53
55
  #
54
56
  # True for special files like -e, false otherwise
55
57
  #
56
58
  def virtual_file?(name)
57
- ['(irb)', '-e', '(byebug)', '(eval)'].include?(name)
59
+ ["(irb)", "-e", "(byebug)", "(eval)"].include?(name)
58
60
  end
59
61
  end
60
62
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -6,7 +8,7 @@ module Byebug
6
8
  module FrameHelper
7
9
  def switch_to_frame(frame)
8
10
  new_frame = index_from_start(frame)
9
- return frame_err('c_frame') if Frame.new(context, new_frame).c_frame?
11
+ return frame_err("c_frame") if Frame.new(context, new_frame).c_frame?
10
12
 
11
13
  adjust_frame(new_frame)
12
14
  end
@@ -18,8 +20,8 @@ module Byebug
18
20
  private
19
21
 
20
22
  def adjust_frame(new_frame)
21
- return frame_err('too_low') if new_frame >= context.stack_size
22
- return frame_err('too_high') if new_frame < 0
23
+ return frame_err("too_low") if new_frame >= context.stack_size
24
+ return frame_err("too_high") if new_frame < 0
23
25
 
24
26
  context.frame = new_frame
25
27
  processor.prev_line = nil
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -14,15 +16,15 @@ module Byebug
14
16
  #
15
17
  def get_int(str, cmd, min = nil, max = nil)
16
18
  if str !~ /\A-?[0-9]+\z/
17
- return nil, pr('parse.errors.int.not_number', cmd: cmd, str: str)
19
+ return nil, pr("parse.errors.int.not_number", cmd: cmd, str: str)
18
20
  end
19
21
 
20
22
  int = str.to_i
21
23
  if min && int < min
22
- err = pr('parse.errors.int.too_low', cmd: cmd, str: str, min: min)
24
+ err = pr("parse.errors.int.too_low", cmd: cmd, str: str, min: min)
23
25
  return nil, err
24
26
  elsif max && int > max
25
- err = pr('parse.errors.int.too_high', cmd: cmd, str: str, max: max)
27
+ err = pr("parse.errors.int.too_high", cmd: cmd, str: str, max: max)
26
28
  return nil, err
27
29
  end
28
30
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -5,19 +7,19 @@ module Byebug
5
7
  #
6
8
  module PathHelper
7
9
  def bin_file
8
- @bin_file ||= File.join(root_path, 'bin', 'byebug')
10
+ @bin_file ||= File.join(root_path, "exe", "byebug")
9
11
  end
10
12
 
11
13
  def root_path
12
- @root_path ||= File.expand_path(File.join('..', '..', '..'), __dir__)
14
+ @root_path ||= File.expand_path(File.join("..", "..", ".."), __dir__)
13
15
  end
14
16
 
15
17
  def lib_files
16
- @lib_files ||= glob_for('lib')
18
+ @lib_files ||= glob_for("lib")
17
19
  end
18
20
 
19
21
  def test_files
20
- @test_files ||= glob_for('test')
22
+ @test_files ||= glob_for("test")
21
23
  end
22
24
 
23
25
  def gem_files
@@ -31,7 +33,7 @@ module Byebug
31
33
  private
32
34
 
33
35
  def glob_for(dir)
34
- Dir.glob(File.join(root_path, dir, '**', '*.rb'))
36
+ Dir.glob(File.join(root_path, dir, "**", "*.rb"))
35
37
  end
36
38
  end
37
39
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -9,7 +11,7 @@ module Byebug
9
11
  # ACamelizedString.
10
12
  #
11
13
  def camelize(str)
12
- str.dup.split(/[_-]/).map(&:capitalize).join('')
14
+ str.dup.split(/[_-]/).map(&:capitalize).join("")
13
15
  end
14
16
 
15
17
  #
@@ -27,7 +29,7 @@ module Byebug
27
29
  # use squiggly heredoc's.
28
30
  #
29
31
  def deindent(str, leading_spaces: 6)
30
- str.gsub(/^ {#{leading_spaces}}/, '')
32
+ str.gsub(/^ {#{leading_spaces}}/, "")
31
33
  end
32
34
  end
33
35
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Byebug
2
4
  module Helpers
3
5
  #
@@ -5,7 +7,7 @@ module Byebug
5
7
  #
6
8
  module ThreadHelper
7
9
  def display_context(ctx)
8
- puts pr('thread.context', thread_arguments(ctx))
10
+ puts pr("thread.context", thread_arguments(ctx))
9
11
  end
10
12
 
11
13
  def thread_arguments(ctx)
@@ -29,11 +31,11 @@ module Byebug
29
31
  ctx = Byebug.contexts.find { |c| c.thnum.to_s == thnum }
30
32
 
31
33
  err = if ctx.nil?
32
- pr('thread.errors.no_thread')
34
+ pr("thread.errors.no_thread")
33
35
  elsif ctx == context
34
- pr('thread.errors.current_thread')
36
+ pr("thread.errors.current_thread")
35
37
  elsif ctx.ignored?
36
- pr('thread.errors.ignored', arg: thnum)
38
+ pr("thread.errors.ignored", arg: thnum)
37
39
  end
38
40
 
39
41
  [ctx, err]
@@ -46,19 +48,19 @@ module Byebug
46
48
  return context.location if ctx == Byebug.current_context
47
49
 
48
50
  backtrace = ctx.thread.backtrace_locations
49
- return '' unless backtrace && backtrace[0]
51
+ return "" unless backtrace && backtrace[0]
50
52
 
51
53
  "#{backtrace[0].path}:#{backtrace[0].lineno}"
52
54
  end
53
55
 
54
56
  def status_flag(ctx)
55
- return '$' if ctx.suspended?
57
+ return "$" if ctx.suspended?
56
58
 
57
- current_thread?(ctx) ? '+' : ' '
59
+ current_thread?(ctx) ? "+" : " "
58
60
  end
59
61
 
60
62
  def debug_flag(ctx)
61
- ctx.ignored? ? '!' : ' '
63
+ ctx.ignored? ? "!" : " "
62
64
  end
63
65
  end
64
66
  end
@@ -1,4 +1,6 @@
1
- require 'byebug/helpers/parse'
1
+ # frozen_string_literal: true
2
+
3
+ require "byebug/helpers/parse"
2
4
 
3
5
  module Byebug
4
6
  module Helpers
@@ -9,22 +11,22 @@ module Byebug
9
11
  include ParseHelper
10
12
 
11
13
  def enable_disable_breakpoints(is_enable, args)
12
- raise pr('toggle.errors.no_breakpoints') if Breakpoint.none?
14
+ raise pr("toggle.errors.no_breakpoints") if Breakpoint.none?
13
15
 
14
16
  select_breakpoints(is_enable, args).each do |b|
15
- enabled = (is_enable == 'enable')
17
+ enabled = (is_enable == "enable")
16
18
  if enabled && !syntax_valid?(b.expr)
17
- raise pr('toggle.errors.expression', expr: b.expr)
19
+ raise pr("toggle.errors.expression", expr: b.expr)
18
20
  end
19
21
 
20
- puts pr('toggle.messages.toggled', bpnum: b.id,
21
- endis: enabled ? 'en' : 'dis')
22
+ puts pr("toggle.messages.toggled", bpnum: b.id,
23
+ endis: enabled ? "en" : "dis")
22
24
  b.enabled = enabled
23
25
  end
24
26
  end
25
27
 
26
28
  def enable_disable_display(is_enable, args)
27
- raise pr('toggle.errors.no_display') if n_displays.zero?
29
+ raise pr("toggle.errors.no_display") if n_displays.zero?
28
30
 
29
31
  selected_displays = args ? args.split(/ +/) : [1..n_displays + 1]
30
32
 
@@ -32,7 +34,7 @@ module Byebug
32
34
  pos, err = get_int(pos, "#{is_enable} display", 1, n_displays)
33
35
  raise err unless err.nil?
34
36
 
35
- Byebug.displays[pos - 1][0] = (is_enable == 'enable')
37
+ Byebug.displays[pos - 1][0] = (is_enable == "enable")
36
38
  end
37
39
  end
38
40