File otp_src_18.3.4.5-lib-kernel-group-history.patch of Package erlang
diff -Ndurp otp_src_18.3.4.5/lib/kernel/src/group.erl otp_src_18.3.4.5-lib-kernel-group-history/lib/kernel/src/group.erl
--- otp_src_18.3.4.5/lib/kernel/src/group.erl 2017-02-01 19:32:59.000000000 +0200
+++ otp_src_18.3.4.5-lib-kernel-group-history/lib/kernel/src/group.erl 2017-06-01 19:25:54.810511884 +0300
@@ -33,7 +33,14 @@ start(Drv, Shell, Options) ->
server(Drv, Shell, Options) ->
process_flag(trap_exit, true),
edlin:init(),
- put(line_buffer, proplists:get_value(line_buffer, Options, [])),
+ put(line_buffer, case lists:keyfind(line_buffer, 1, Options) of
+ {_, V} -> V;
+ _ -> try
+ group_history:load()
+ catch
+ _:_ -> []
+ end
+ end),
put(read_mode, list),
put(user_drv, Drv),
put(expand_fun,
@@ -783,6 +790,7 @@ save_line_buffer("\n", Lines) ->
save_line_buffer(Line, [Line|_Lines]=Lines) ->
save_line_buffer(Lines);
save_line_buffer(Line, Lines) ->
+ catch group_history:add(Line),
save_line_buffer([Line|Lines]).
save_line_buffer(Lines) ->