diff options
Diffstat (limited to 'lib/kernel/src/code_server.erl')
| -rw-r--r-- | lib/kernel/src/code_server.erl | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl index fc7ac08699..819554ce74 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl @@ -63,7 +63,10 @@ init(Ref, Parent, [Root,Mode0]) ->      process_flag(trap_exit, true),      Db = ets:new(code, [private]), -    foreach(fun (M) -> ets:insert(Db, {M,preloaded}) end, erlang:pre_loaded()), +    foreach(fun (M) -> +		    %% Pre-loaded modules are always sticky. +		    ets:insert(Db, [{M,preloaded},{{sticky,M},true}]) +	    end, erlang:pre_loaded()),      ets:insert(Db, init:fetch_loaded()),      Mode =  @@ -988,7 +991,7 @@ try_archive_subdirs(_Archive, Base, []) ->  %% the complete directory name.  %%  del_path(Name0,Path,NameDb) -> -    case catch to_list(Name0)of +    case catch filename:join([to_list(Name0)]) of  	{'EXIT',_} ->  	    {{error,bad_name},Path};  	Name ->  | 
