summaryrefslogtreecommitdiff
path: root/lib/irb/input-method.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irb/input-method.rb')
-rw-r--r--lib/irb/input-method.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/irb/input-method.rb b/lib/irb/input-method.rb
index 1854567a2d..df73ceec5b 100644
--- a/lib/irb/input-method.rb
+++ b/lib/irb/input-method.rb
@@ -316,7 +316,13 @@ module IRB
Reline.output = @stdout
Reline.prompt_proc = @prompt_proc
Reline.auto_indent_proc = @auto_indent_proc if @auto_indent_proc
- if l = readmultiline(@prompt, false, &@check_termination_proc)
+
+ l = readmultiline(@prompt, false) do |line|
+ next false if Reline::IOGate.in_pasting?
+ @check_termination_proc.call(line)
+ end
+
+ if l
HISTORY.push(l) if !l.empty?
@line[@line_no += 1] = l + "\n"
else