diff options
author | Peter Andersson <[email protected]> | 2015-05-04 16:16:37 +0200 |
---|---|---|
committer | Peter Andersson <[email protected]> | 2015-05-04 16:16:37 +0200 |
commit | 7e65166947985bc62d0f5c903856323194bf07b9 (patch) | |
tree | a98003f341493d9ddafb381536b7c3fb6e266916 /lib/stdlib | |
parent | 887a13fb61fb3ccc39eaa79964d731f10ab17556 (diff) | |
parent | d756777e731fe7a8d63690ca0246c9cbd53dea75 (diff) | |
download | otp-7e65166947985bc62d0f5c903856323194bf07b9.tar.gz otp-7e65166947985bc62d0f5c903856323194bf07b9.tar.bz2 otp-7e65166947985bc62d0f5c903856323194bf07b9.zip |
Merge branch 'peppe/jcl_mode_improvements'
* peppe/jcl_mode_improvements:
Fix problem with unitialized edlin text buffer
Fix shell crash when in switch command mode
OTP-12673
Diffstat (limited to 'lib/stdlib')
-rw-r--r-- | lib/stdlib/src/edlin.erl | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/stdlib/src/edlin.erl b/lib/stdlib/src/edlin.erl index b3bc5f6d92..362669545e 100644 --- a/lib/stdlib/src/edlin.erl +++ b/lib/stdlib/src/edlin.erl @@ -21,7 +21,7 @@ %% A simple Emacs-like line editor. %% About Latin-1 characters: see the beginning of erl_scan.erl. --export([init/0,start/1,start/2,edit_line/2,prefix_arg/1]). +-export([init/0,init/1,start/1,start/2,edit_line/2,prefix_arg/1]). -export([erase_line/1,erase_inp/1,redraw_line/1]). -export([length_before/1,length_after/1,prompt/1]). -export([current_line/1, current_chars/1]). @@ -44,6 +44,20 @@ init() -> put(kill_buffer, []). +init(Pid) -> + %% copy the kill_buffer from the process Pid + CopiedKillBuf = + case erlang:process_info(Pid, dictionary) of + {dictionary,Dict} -> + case proplists:get_value(kill_buffer, Dict) of + undefined -> []; + Buf -> Buf + end; + undefined -> + [] + end, + put(kill_buffer, CopiedKillBuf). + %% start(Prompt) %% edit(Characters, Continuation) %% Return |