Well, this fixes my current issue, and doesn't seem to break any tests.. This likely...
Tomas Doran [Mon, 19 Oct 2009 16:54:08 +0000 (16:54 +0000)]
lib/Catalyst.pm

index 7030930..9c342e8 100644 (file)
@@ -1247,9 +1247,10 @@ sub uri_for {
     }
 
     if ( blessed($path) ) { # action object
-        my $captures = ( scalar @args && ref $args[0] eq 'ARRAY'
-                         ? shift(@args)
-                         : [] );
+        my $captures = [ map { URI::Escape::uri_escape($_) }
+                        ( scalar @args && ref $args[0] eq 'ARRAY'
+                         ? @{ shift(@args) }
+                         : ()) ];
         my $action = $path;
         $path = $c->dispatcher->uri_for_action($action, $captures);
         if (not defined $path) {