Index: modules/taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy.module,v
retrieving revision 1.185
diff -u -r1.185 taxonomy.module
--- modules/taxonomy.module	15 Mar 2005 21:18:19 -0000	1.185
+++ modules/taxonomy.module	16 Mar 2005 05:45:35 -0000
@@ -917,6 +917,12 @@
     drupal_not_found();
   }
 
+  // put the + signs back in to create RSS URLs that match
+  // the normal taxonomy URL (+ signs become spaces during
+  // URL unencoding by the menu callback, so we encode the
+  // spaces back into a + for RSS URL output. node/13550.
+  $rss_tids = urlencode($str_tids);
+
   if ($tids) {
     // Build title:
     $result = db_query('SELECT name FROM {term_data} WHERE tid IN (%s)', implode(',', $tids));
@@ -940,10 +946,10 @@
           $breadcrumbs = array_reverse($breadcrumbs);
           menu_set_location($breadcrumbs);
 
-          drupal_set_html_head('<link rel="alternate" type="application/rss+xml" title="RSS - '. $title .'" href="'. url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed') .'" />');
+          drupal_set_html_head('<link rel="alternate" type="application/rss+xml" title="RSS - '. $title .'" href="'. url('taxonomy/term/'. $rss_tids .'/'. $depth .'/feed') .'" />');
 
           $output = taxonomy_render_nodes(taxonomy_select_nodes($tids, $operator, $depth, TRUE));
-          $output .= theme('xml_icon', url("taxonomy/term/$str_tids/$depth/feed"));
+          $output .= theme('xml_icon', url("taxonomy/term/$rss_tids/$depth/feed"));
           print theme('page', $output);
           break;
 
