[前][次][番号順一覧][スレッド一覧]

ruby-changes:67506

From: aycabta <ko1@a...>
Date: Tue, 31 Aug 2021 20:49:05 +0900 (JST)
Subject: [ruby-changes:67506] 9b188ac238 (master): [ruby/reline] Remove one unnecessary nest for simplicity's sake

https://git.ruby-lang.org/ruby.git/commit/?id=9b188ac238

From 9b188ac2385df107529a9950648f3e42ad56adc0 Mon Sep 17 00:00:00 2001
From: aycabta <aycabta@g...>
Date: Tue, 31 Aug 2021 20:48:58 +0900
Subject: [ruby/reline] Remove one unnecessary nest for simplicity's sake

https://github.com/ruby/reline/commit/f4bda85a7c
---
 lib/reline/line_editor.rb | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index d254738..838494e 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -589,26 +589,7 @@ class Reline::LineEditor https://github.com/ruby/ruby/blob/trunk/lib/reline/line_editor.rb#L589
     end
     dialog.set_cursor_pos(cursor_column, @first_line_started_from + @started_from)
     dialog_render_info = dialog.call
-    old_dialog = dialog.clone
-    if dialog_render_info and dialog_render_info.contents and not dialog_render_info.contents.empty?
-      dialog.width = dialog_render_info.width if dialog_render_info.width
-      height = dialog_render_info.height || DIALOG_HEIGHT
-      pointer = dialog_render_info.pointer
-      dialog.contents = dialog_render_info.contents
-      if dialog.contents.size > height
-        if dialog_render_info.pointer
-          if dialog_render_info.pointer < 0
-            dialog.scroll_top = 0
-          elsif (dialog_render_info.pointer - dialog.scroll_top) >= (height - 1)
-            dialog.scroll_top = dialog_render_info.pointer - (height - 1)
-          elsif (dialog_render_info.pointer - dialog.scroll_top) < 0
-            dialog.scroll_top = dialog_render_info.pointer
-          end
-          pointer = dialog_render_info.pointer - dialog.scroll_top
-        end
-        dialog.contents = dialog.contents[dialog.scroll_top, height]
-      end
-    else
+    if dialog_render_info.nil? or dialog_render_info.contents.nil? or dialog_render_info.contents.empty?
       dialog.lines_backup = {
         lines: modify_lines(whole_lines),
         line_index: @line_index,
@@ -620,6 +601,24 @@ class Reline::LineEditor https://github.com/ruby/ruby/blob/trunk/lib/reline/line_editor.rb#L601
       dialog.contents = nil
       return
     end
+    old_dialog = dialog.clone
+    dialog.width = dialog_render_info.width if dialog_render_info.width
+    height = dialog_render_info.height || DIALOG_HEIGHT
+    pointer = dialog_render_info.pointer
+    dialog.contents = dialog_render_info.contents
+    if dialog.contents.size > height
+      if dialog_render_info.pointer
+        if dialog_render_info.pointer < 0
+          dialog.scroll_top = 0
+        elsif (dialog_render_info.pointer - dialog.scroll_top) >= (height - 1)
+          dialog.scroll_top = dialog_render_info.pointer - (height - 1)
+        elsif (dialog_render_info.pointer - dialog.scroll_top) < 0
+          dialog.scroll_top = dialog_render_info.pointer
+        end
+        pointer = dialog_render_info.pointer - dialog.scroll_top
+      end
+      dialog.contents = dialog.contents[dialog.scroll_top, height]
+    end
     upper_space = @first_line_started_from - @started_from
     lower_space = @highest_in_all - @first_line_started_from - @started_from - 1
     dialog.column = dialog_render_info.pos.x
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]