anchor.diff:  
     % If it is a directory, expand it further.
     FinalResult = case do_list_dir(Full, Mod) of
  -  	{ok, Files} ->
  -	    JoinedFiles = [join(H, File) || File <- Files],
  -	    do_double_star(Base, JoinedFiles, Rest, PartResult, MatchLength, Mod);
  -  	_ -> PartResult
  +    {ok, Files} ->
  +      JoinedFiles = [join(H, File) || File <- Files],
  +      do_double_star(Base, JoinedFiles, Rest, PartResult, MatchLength, Mod);
  +    _ -> PartResult
     end,
     do_double_star(Base, T, Rest, FinalResult, MatchLength, Mod);
   
  
positive.code: 
  compile_alt(Pattern, Result) ->
    case compile_part_to_sep(Pattern) of
    	{ok, $,, AltPattern, Rest} ->
  	    compile_alt(Rest, [AltPattern|Result]);
    	{ok, $}, AltPattern, Rest} ->
  	    NewResult = [AltPattern|Result],
  	    RestPattern = compile_part(Rest),
  	    {ok, {alt, [Alt++RestPattern || Alt <- NewResult]}};
    	Pattern ->
  	    error
    end.
  
  error(Reason) ->
  
negative.code: 
  do_wildcard_comp({compiled_wildcard,{exists,File}}, Mod) ->
    case file:read_file_info(File) of
      {ok,_} -> [File];
      _ -> []
    end;
  
  do_wildcard_comp({compiled_wildcard,[Base|Rest]}, Mod) ->
  