File tree Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -2552,6 +2552,17 @@ def finish
25522552 end
25532553 alias_method :unix_line_discard , :vi_kill_line_prev
25542554
2555+ private def em_kill_line ( key )
2556+ if @line . size > 0
2557+ @kill_ring . append ( @line . dup , true )
2558+ @line . clear
2559+ @byte_pointer = 0
2560+ @cursor_max = 0
2561+ @cursor = 0
2562+ end
2563+ end
2564+ alias_method :kill_whole_line , :em_kill_line
2565+
25552566 private def em_delete ( key )
25562567 if ( not @is_multiline and @line . empty? ) or ( @is_multiline and @line . empty? and @buffer_of_lines . size == 1 )
25572568 @line = nil
Original file line number Diff line number Diff line change @@ -254,6 +254,34 @@ def test_ed_kill_line
254254 assert_line ( 'ab' )
255255 end
256256
257+ def test_em_kill_line
258+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
259+ assert_byte_pointer_size ( '' )
260+ assert_cursor ( 0 )
261+ assert_cursor_max ( 0 )
262+ assert_line ( '' )
263+ input_keys ( 'abc' )
264+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
265+ assert_byte_pointer_size ( '' )
266+ assert_cursor ( 0 )
267+ assert_cursor_max ( 0 )
268+ assert_line ( '' )
269+ input_keys ( 'abc' )
270+ input_keys ( "\C -b" , false )
271+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
272+ assert_byte_pointer_size ( '' )
273+ assert_cursor ( 0 )
274+ assert_cursor_max ( 0 )
275+ assert_line ( '' )
276+ input_keys ( 'abc' )
277+ input_keys ( "\C -a" , false )
278+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
279+ assert_byte_pointer_size ( '' )
280+ assert_cursor ( 0 )
281+ assert_cursor_max ( 0 )
282+ assert_line ( '' )
283+ end
284+
257285 def test_ed_move_to_beg
258286 input_keys ( 'abd' )
259287 assert_byte_pointer_size ( 'abd' )
You can’t perform that action at this time.
0 commit comments