anchor.diff:  
   create_bundle(FullName, ArchiveExt) ->
       BaseName = filename:basename(FullName, ArchiveExt),
  -    case split(BaseName, "-") of
  -	[_, _|_] = Toks ->
  -	    VsnStr = lists:last(Toks),
  +    case split_base(BaseName) of
  +	{Name, VsnStr} ->
   	    case vsn_to_num(VsnStr) of
   		{ok, VsnNum} ->
  -		    Name = join(lists:sublist(Toks, length(Toks)-1),"-"),
   		    {Name,VsnNum,FullName};
   		false ->
   		    {FullName,[0],FullName}
  
positive.code:     true.
  
  archive_subdirs(AppDir) ->
      Ext = archive_extension(),
      Base = filename:basename(AppDir),
      Dirs = 
  	case split(Base, "-") of
  	    [_, _|_] = Toks ->
  		Base2 = join(lists:sublist(Toks, length(Toks)-1), "-"),
  		[Base2, Base];
  	    _ ->
  		[Base]
  	end,
      try_archive_subdirs(AppDir ++ Ext, Base, Dirs).
  
  try_archive_subdirs(Archive, Base, [Dir | Dirs]) ->
  
negative.code: 	    Base = filename:basename(Bundle, Ext),
  	    Ebin2 = filename:join([BundleDir, Base ++ Ext, Base, "ebin"]),
  	    Ebins = 
  		case split_base(Base) of
  		    {AppName,_} ->
  			Ebin3 = filename:join([BundleDir, Base ++ Ext,
  					       AppName, "ebin"]),
  			[Ebin3, Ebin2, Dir];
  