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

ruby-changes:70660

From: ima1zumi <ko1@a...>
Date: Thu, 30 Dec 2021 20:24:08 +0900 (JST)
Subject: [ruby-changes:70660] f589242e75 (master): [ruby/reline] Use unix_line_discard when Ctrl-u is entered

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

From f589242e750939eecf2a140fa3182dc5e387f157 Mon Sep 17 00:00:00 2001
From: ima1zumi <mariimaizumi5@g...>
Date: Thu, 30 Dec 2021 11:16:15 +0900
Subject: [ruby/reline] Use unix_line_discard when Ctrl-u is entered

The kill-line was called when C-u was entered, so it is now called unix-line-discard.

In readline(3):

> unix-line-discard (C-u)
>               Kill backward from point to the beginning of the line.
>               The killed text is saved on the kill-ring.

https://github.com/ruby/reline/commit/27570d195e
---
 lib/reline/key_actor/emacs.rb       |  2 +-
 test/reline/test_key_actor_emacs.rb | 22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/lib/reline/key_actor/emacs.rb b/lib/reline/key_actor/emacs.rb
index 86e39b705c6..a561feee578 100644
--- a/lib/reline/key_actor/emacs.rb
+++ b/lib/reline/key_actor/emacs.rb
@@ -43,7 +43,7 @@ class Reline::KeyActor::Emacs < Reline::KeyActor::Base https://github.com/ruby/ruby/blob/trunk/lib/reline/key_actor/emacs.rb#L43
     #  20 ^T
     :ed_transpose_chars,
     #  21 ^U
-    :ed_kill_line,
+    :unix_line_discard,
     #  22 ^V
     :ed_quoted_insert,
     #  23 ^W
diff --git a/test/reline/test_key_actor_emacs.rb b/test/reline/test_key_actor_emacs.rb
index a5fdf247c83..40b26e5058a 100644
--- a/test/reline/test_key_actor_emacs.rb
+++ b/test/reline/test_key_actor_emacs.rb
@@ -2329,4 +2329,26 @@ class Reline::KeyActor::Emacs::Test < Reline::TestCase https://github.com/ruby/ruby/blob/trunk/test/reline/test_key_actor_emacs.rb#L2329
     assert_cursor(1)
     assert_cursor_max(1)
   end
+
+  def test_unix_line_discard
+    input_keys("\C-u", false)
+    assert_byte_pointer_size('')
+    assert_cursor(0)
+    assert_cursor_max(0)
+    assert_line('')
+    input_keys('abc')
+    assert_byte_pointer_size('abc')
+    assert_cursor(3)
+    assert_cursor_max(3)
+    input_keys("\C-b\C-u", false)
+    assert_byte_pointer_size('')
+    assert_cursor(0)
+    assert_cursor_max(1)
+    assert_line('c')
+    input_keys("\C-f\C-u", false)
+    assert_byte_pointer_size('')
+    assert_cursor(0)
+    assert_cursor_max(0)
+    assert_line('')
+  end
 end
-- 
cgit v1.2.1


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

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