Index: modules/search/search.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.module,v
retrieving revision 1.207
diff -u -F^f -r1.207 search.module
--- modules/search/search.module	19 Dec 2006 09:44:53 -0000	1.207
+++ modules/search/search.module	13 Jan 2007 02:49:43 -0000
@@ -169,14 +169,14 @@ function search_menu($may_cache) {
     // we dynamically add the keywords to the search tabs' paths.
     $keys = search_get_keys();
     $keys = strlen($keys) ? '/'. $keys : '';
-    foreach (module_list() as $name) {
-      if (module_hook($name, 'search') && $title = module_invoke($name, 'search', 'name')) {
-        $items[] = array('path' => 'search/'. $name . $keys, 'title' => $title,
-          'callback' => 'search_view',
-          'callback arguments' => array($name),
-          'access' => user_access('search content'),
-          'type' => MENU_LOCAL_TASK);
-      }
+    foreach (module_implements('search') as $name) {
+      $title = module_invoke($name, 'search', 'name');
+      $items[] = array('path' => 'search/'. $name . $keys, 'title' => $title,
+        'callback' => 'search_view',
+        'callback arguments' => array($name),
+        'access' => user_access('search content') && $title,
+        'type' => MENU_LOCAL_TASK,
+      );
     }
   }
 
