--- toast	2005/10/04 05:27:12	1.418
+++ toast	2005/10/04 06:38:31	1.419
@@ -2295,9 +2295,9 @@
   mv($tmpfile, $urlfile);
 }
 
-sub choose(@)
+sub choose($@)
 {
-  my(@pkgs) = @_;
+  my($curver, @pkgs) = @_;
   return @pkgs unless scalar(@pkgs) > 1 && interactive;
   my(@allurls);
   for(@pkgs)
@@ -2315,13 +2315,13 @@
   {
     ++$i;
     my($name, $version, $build, @urls) = @$_;
-    print("$i) ", join(" ", map(substr($_, $pl, $sl ? -$sl : 9999), @urls)),
-        "\n");
+    print((($curver && $version && $curver eq $version) ? "*" : " "), " $i) ",
+        join(" ", map(substr($_, $pl, $sl ? -$sl : 9999), @urls)), "\n");
   }
   my($choice) = "";
   while(!($choice =~ /^\d+$/ && $choice > 0 && $choice <= $i))
   {
-    print("> [$i] ");
+    print(">[$i] ");
     $choice = scalar(<STDIN>);
     $choice =~ s/\s+//g;
     $choice = $i if $choice eq "";
@@ -2340,7 +2340,7 @@
 
   if(!@urls && autofind)
   {
-    my(@pkgs) = reverse(choose(findnewpkg($name, $version)));
+    my(@pkgs) = reverse(choose(undef, findnewpkg($name, $version)));
     error unless @pkgs;
     ($name, $version, undef, @urls) = @{$pkgs[0]};
     error unless $name;
@@ -4600,7 +4600,8 @@
   my($name, $version, $build, @urls) = @_;
   error if defined($build);
 
-  my(@pkgs) = reverse(choose(findnewerpkg($name, $version, $build, @urls)));
+  my(@pkgs) =
+      reverse(choose($version, findnewerpkg($name, $version, $build, @urls)));
   my(@cmdargs) = @{$pkgs[0]};
   my($newver) = $cmdargs[1];
 
@@ -4608,7 +4609,8 @@
   error("$pkgname appears to be the latest available version")
       if $version eq $newver;
   my(@sortvers) = sort cmpab ($version, $newver);
-  error("only found older versions of $pkgname") if $sortvers[1] eq $version;
+  error("only found older versions of $pkgname")
+      if $sortvers[1] eq $version && !interactive;
 
   if(autoarm && isarmedmatch($name, $version))
   {