diff --git a/lib/debug/session.rb b/lib/debug/session.rb index db29bd1e6..fcc41f7fd 100644 --- a/lib/debug/session.rb +++ b/lib/debug/session.rb @@ -1118,7 +1118,7 @@ def config_command arg config_set $1, $2, append: true when /\A\s*append\s+(\w+)\s+(.+)\z/ - config_set $1, $2 + config_set $1, $2, append: true when /\A(\w+)\z/ config_show $1 diff --git a/test/console/config_test.rb b/test/console/config_test.rb index ea08f2cd6..cbbf88f9e 100644 --- a/test/console/config_test.rb +++ b/test/console/config_test.rb @@ -276,6 +276,37 @@ def test_skip_path_skip_catch_breakpoint end end + class ConfigSetAppend < ConsoleTestCase + def program + <<~RUBY + 1| a = 1 + RUBY + end + + def test_set_append + debug_code program do + type 'config set skip_path foo' + assert_line_text(/foo/) + + type 'config set skip_path bar' + assert_no_line_text(/foo/) + assert_line_text(/bar/) + + type 'config skip_path = foo' + assert_no_line_text(/bar/) + assert_line_text(/foo/) + + type 'config append skip_path bar' + assert_line_text(/foo.+bar/) + + type 'config skip_path << baz' + assert_line_text(/foo.+bar.+baz/) + + type 'c' + end + end + end + class ConfigKeepAllocSiteTest < ConsoleTestCase def program <<~RUBY