From 0aa9b003de353e690f31ba59ca0a2db1df51b8bf Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 27 May 2019 11:05:51 +0900 Subject: context.rb: hide wrapping lines * lib/irb/context.rb (IRB::Context#evaluate): separate the code from wrapping lines to propagate the given exception, not to show the wrapping lines when SyntaxError. --- lib/irb/context.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/irb') diff --git a/lib/irb/context.rb b/lib/irb/context.rb index 571df2c21a..b7b2230856 100644 --- a/lib/irb/context.rb +++ b/lib/irb/context.rb @@ -397,7 +397,8 @@ module IRB def evaluate(line, line_no, exception: nil) # :nodoc: @line_no = line_no if exception - line = "begin ::Kernel.raise _; rescue _.class; #{line}; end" + line_no -= 1 + line = "begin ::Kernel.raise _; rescue _.class\n#{line}\n""end" @workspace.local_variable_set(:_, exception) end set_last_value(@workspace.evaluate(self, line, irb_path, line_no)) -- cgit v1.2.3