diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb index 56d874bc08..1aa0360393 100644 --- a/lib/reline/line_editor.rb +++ b/lib/reline/line_editor.rb @@ -605,7 +605,11 @@ class Reline::LineEditor return end old_dialog = dialog.clone - dialog.width = dialog_render_info.width if dialog_render_info.width + if dialog_render_info.width + dialog.width = dialog_render_info.width + else + dialog.width = dialog_render_info.contents.map { |l| calculate_width(l, true) }.max + end height = dialog_render_info.height || DIALOG_HEIGHT pointer = dialog_render_info.pointer dialog.contents = dialog_render_info.contents