diff --git a/eval_error.c b/eval_error.c index 809d8aef000866..89e27afe56e728 100644 --- a/eval_error.c +++ b/eval_error.c @@ -309,9 +309,9 @@ rb_error_write(VALUE errinfo, VALUE emesg, VALUE errat, VALUE str, VALUE highlig errat = Qnil; } eclass = CLASS_OF(errinfo); - if (NIL_P(reverse) || NIL_P(highlight)) { + if (NIL_P(reverse)) reverse = Qfalse; + if (NIL_P(highlight)) { VALUE tty = (VALUE)rb_stderr_tty_p(); - if (NIL_P(reverse)) reverse = tty; if (NIL_P(highlight)) highlight = tty; } if (reverse) { diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb index 9d7ffd882559b0..9529fc80133c66 100644 --- a/test/ruby/test_exception.rb +++ b/test/ruby/test_exception.rb @@ -1156,13 +1156,11 @@ def test_full_message if Exception.to_tty? assert_match(/\e/, message) message = message.gsub(/\e\[[\d;]*m/, '') - assert_operator(message, :start_with?, remark) - assert_operator(message, :end_with?, bottom) else assert_not_match(/\e/, message) - assert_operator(message, :start_with?, bottom) - assert_operator(message, :end_with?, top) end + assert_operator(message, :start_with?, bottom) + assert_operator(message, :end_with?, top) end def test_exception_in_message