--- lib/kernel/src/code_server.erl.orig 2008-10-10 09:43:45.323937000 -0400 +++ lib/kernel/src/code_server.erl 2008-10-10 09:52:07.287472000 -0400 @@ -94,22 +94,26 @@ get_user_lib_dirs() -> case os:getenv("ERL_LIBS") of - LibDirs0 when is_list(LibDirs0) -> + LibDirs0 when is_list(LibDirs0), LibDirs0 =/= [] -> case os:type() of {win32, _} -> Sep = $;; _ -> Sep = $: end, LibDirs = split_paths(LibDirs0, Sep, [], []), get_user_lib_dirs_1(LibDirs); - false -> [] + _ -> [] end. get_user_lib_dirs_1([Dir|DirList]) -> - {ok, Dirs} = erl_prim_loader:list_dir(Dir), - {Paths,_Libs} = make_path(Dir, Dirs), - %% Only add paths trailing with ./ebin. - [P || P <- Paths, filename:basename(P) =:= "ebin"] ++ - get_user_lib_dirs_1(DirList); + case erl_prim_loader:list_dir(Dir) of + {ok, Dirs} -> + {Paths,_Libs} = make_path(Dir, Dirs), + %% Only add paths trailing with ./ebin. + [P || P <- Paths, filename:basename(P) =:= "ebin"] ++ + get_user_lib_dirs_1(DirList); + error -> + get_user_lib_dirs_1(DirList) + end; get_user_lib_dirs_1([]) -> [].