=== modified file 'includes/menu.inc'
--- includes/menu.inc	2007-03-19 01:13:28 +0000
+++ includes/menu.inc	2007-03-26 06:59:37 +0000
@@ -363,7 +363,7 @@ function _menu_translate(&$item, $map, $
         if (isset($to_arg_functions[$index])) {
           $to_arg_function = $to_arg_functions[$index];
           $return = $to_arg_function(!empty($map[$index]) ? $map[$index] : '');
-          if (!empty($map[$index]) || isset($return)) {
+          if (!empty($map[$index]) || !empty($return)) {
             $path_map[$index] = $return;
           }
           else {
@@ -635,8 +642,9 @@ function menu_rebuild() {
     $item = &$menu[$path];
     $number_parts = $item['_number_parts'];
     if (isset($item['parent'])) {
-      $parent_parts = explode('/', $menu_path_map[$item['parent']], 6);
-      $slashes = count($parent_parts) - 1;
+      $item['parent'] = $menu_path_map[$item['parent']];
+      $parent_parts = explode('/', $item['parent'], 6);
+      $slashes = count($parent_parts);
     }
     else {
       $parent_parts = $item['_parts'];
@@ -726,7 +734,7 @@ function menu_rebuild() {
         $item['parent'] = implode('/', array_slice($item['_parts'], 0, $item['_number_parts'] - 1));
       }
       else {
-        $item['_depth'] = $item['parent'] ? $menu[$menu_path_map[$item['parent']]]['_depth'] + 1 : 1;
+        $item['_depth'] = $item['parent'] ? $menu[$item['parent']]['_depth'] + 1 : 1;
       }
     }
     else {
@@ -853,17 +864,24 @@ function menu_local_tasks($level = 0) {
          _menu_translate($item, $map, MENU_RENDER_LINK);
         if ($item->access) {
           $depth = $item->depth;
-          $link = l($item->title, $item->link_path, (array)$item);
           // We check for the active tab.
           if ($item->path == $router_item->path || (!$router_item->tab && $item->type == MENU_DEFAULT_LOCAL_TASK)) {
-            $tabs_current .= theme('menu_local_task', $link, TRUE);
             // Let's try to find the router item one level up.
-            $next_router_item = db_fetch_object(db_query("SELECT path, tab, parent FROM {menu} WHERE path = '%s'", $item->parent));
+            $next_router_item = db_fetch_object(db_query("SELECT * FROM {menu} WHERE path = '%s'", $item->parent));
             // We will need to inspect one level down.
             $parents[] = $item->path;
+            if ($item->to_arg_functions) {
+              $link_item = $item;
+            }
+            else {
+              $link_item = $next_router_item;
+              _menu_translate($link_item, $map, MENU_RENDER_LINK);
+              $link_item->title = $item->title;
+            }
+            $tabs_current .= theme('menu_local_task', theme('menu_item_link', $link_item), TRUE);
           }
           else {
-            $tabs_current .= theme('menu_local_task', $link);
+            $tabs_current .= theme('menu_local_task', theme('menu_item_link', $item));
           }
         }
       }
=== modified file 'modules/search/search.module'
--- modules/search/search.module	2007-03-17 18:30:14 +0000
+++ modules/search/search.module	2007-03-26 06:47:38 +0000
@@ -141,7 +141,7 @@ function search_menu() {
     'title' => t('Search'),
     'page callback' => 'search_view',
     'access arguments' => array('search content'),
-    'type' => MENU_SUGGESTED_ITEM,
+    'type' => MENU_NORMAL_ITEM,
   );
   $items['admin/settings/search'] = array(
     'title' => t('Search settings'),
@@ -166,7 +166,7 @@ function search_menu() {
   );
 
   foreach (module_implements('search') as $name) {
-    $items['search/'. $name .'/%'] = array(
+    $items['search/'. $name .'/%search'] = array(
       'title' => module_invoke($name, 'search', 'name', TRUE),
       'page callback' => 'search_view',
       'page arguments' => array($name),
@@ -183,6 +183,10 @@ function _search_menu($name) {
   return user_access('search content') && module_invoke($name, 'search', 'name');
 }
 
+function search_to_arg() {
+  return search_get_keys();
+}
+
 /**
  * Validate callback.
  */
@@ -932,6 +936,9 @@ function search_view($type = 'node') {
 
     return $output;
   }
+  else {
+    $keys = '';
+  }
 
   return drupal_get_form('search_form', NULL, $keys, $type);
 }

