? reset_module_implements.patch
Index: devel.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel.admin.inc,v
retrieving revision 1.6
diff -u -p -r1.6 devel.admin.inc
--- devel.admin.inc	2 Jan 2011 14:13:20 -0000	1.6
+++ devel.admin.inc	13 Jan 2011 15:07:10 -0000
@@ -132,6 +132,13 @@ function devel_admin_settings() {
    '#default_value' => variable_get('devel_rebuild_theme_registry', FALSE),
   );
 
+  $form['devel_rebuild_hook_registry'] = array(
+   '#type' => 'checkbox',
+   '#title' => t('Rebuild the hook registry on every page load'),
+   '#description' => t('While creating new modules and adding/changing/removing hooks the hooks registry needs to be rebuilt.'),
+   '#default_value' => variable_get('devel_rebuild_hook_registry', FALSE),
+  );
+
   $form['devel_use_uncompressed_jquery'] = array(
     '#type' => 'checkbox',
     '#title' => t('Use uncompressed jQuery'),
Index: devel.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel.module,v
retrieving revision 1.472
diff -u -p -r1.472 devel.module
--- devel.module	4 Jan 2011 19:47:31 -0000	1.472
+++ devel.module	13 Jan 2011 15:07:11 -0000
@@ -416,6 +416,17 @@ function devel_init() {
       }
     }
   }
+
+  if (variable_get('devel_rebuild_hook_registry', FALSE)) {
+    module_implements('devel_reset', FALSE, TRUE);
+    if (flood_is_allowed('devel_rebuild_hook_warning', 1)) {
+      flood_register_event('devel_rebuild_hook_warning');
+      if (!devel_silent() && user_access('access devel information')) {
+        drupal_set_message(t('The hook registry is being rebuilt on every request. Remember to <a href="!url">turn off</a> this feature on production websites.', array("!url" => url('admin/config/development/devel'))));
+      }
+    }
+  }
+
 }
 
 function devel_set_message($msg, $type = NULL) {
