diff options
author | Bruce Yinhe <[email protected]> | 2014-10-06 14:53:15 +0200 |
---|---|---|
committer | Bruce Yinhe <[email protected]> | 2014-10-06 14:53:15 +0200 |
commit | a675467f2bba5c4e7fe643a46d3a48a3cf0b020a (patch) | |
tree | aef2b4ec88fbcc1c55439a904303e0a86631d54a /lib | |
parent | 9e48b1fd13d9b5adfbeeda3e9137c4e2b56c37e4 (diff) | |
parent | 81094cfd7b80a0cfe80f88c8fecb394744ceb90f (diff) | |
download | otp-a675467f2bba5c4e7fe643a46d3a48a3cf0b020a.tar.gz otp-a675467f2bba5c4e7fe643a46d3a48a3cf0b020a.tar.bz2 otp-a675467f2bba5c4e7fe643a46d3a48a3cf0b020a.zip |
Merge branch 'vinoski/edlin-ctrl-u' into maint
OTP-12224
* vinoski/edlin-ctrl-u:
Make shell ctrl-u save killed text correctly
Diffstat (limited to 'lib')
-rw-r--r-- | lib/kernel/test/interactive_shell_SUITE.erl | 3 | ||||
-rw-r--r-- | lib/stdlib/src/edlin.erl | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/kernel/test/interactive_shell_SUITE.erl b/lib/kernel/test/interactive_shell_SUITE.erl index a375adceea..7f6024f642 100644 --- a/lib/kernel/test/interactive_shell_SUITE.erl +++ b/lib/kernel/test/interactive_shell_SUITE.erl @@ -296,6 +296,7 @@ ctrl_keys(doc) -> ["Tests various control keys"]; ctrl_keys(_Conf) when is_list(_Conf) -> Cu=[$\^u], Cw=[$\^w], + Cy=[$\^y], Home=[27,$O,$H], End=[27,$O,$F], rtnode([{putline,""}, @@ -308,6 +309,8 @@ ctrl_keys(_Conf) when is_list(_Conf) -> {putline,"world\"."++Home++"\"hello "}, % test <HOME> {getline,"\"hello world\""}, {putline,"world"++Home++"\"hello "++End++"\"."}, % test <END> + {getline,"\"hello world\""}, + {putline,"\"hello world\""++Cu++Cy++"."}, {getline,"\"hello world\""}] ++wordLeft()++wordRight(),[]). diff --git a/lib/stdlib/src/edlin.erl b/lib/stdlib/src/edlin.erl index be9a4f5107..b3bc5f6d92 100644 --- a/lib/stdlib/src/edlin.erl +++ b/lib/stdlib/src/edlin.erl @@ -390,7 +390,7 @@ do_op(end_of_line, Bef, [C|Aft], Rs) -> do_op(end_of_line, Bef, [], Rs) -> {{Bef,[]},Rs}; do_op(ctlu, Bef, Aft, Rs) -> - put(kill_buffer, Bef), + put(kill_buffer, reverse(Bef)), {{[], Aft}, [{delete_chars, -length(Bef)} | Rs]}; do_op(beep, Bef, Aft, Rs) -> {{Bef,Aft},[beep|Rs]}; |