Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.934
diff -u -p -r1.934 user.module
--- modules/user/user.module	15 Nov 2008 11:45:04 -0000	1.934
+++ modules/user/user.module	17 Nov 2008 06:27:26 -0000
@@ -2447,3 +2447,17 @@ function _user_forms(&$edit, $account, $
   return empty($groups) ? FALSE : $groups;
 }
 
+/**
+ * Implementation of hook_modules_uninstalled().
+ */
+function user_modules_uninstalled($modules) {
+  $permissions = array();
+  foreach ($modules as $module) {
+    $permissions = array_merge($permissions, array_keys(module_invoke($module, 'perm')));
+  }
+  if (!empty($permissions)) {
+    db_delete('role_permission')
+      ->condition('permission', array_keys($permissions), 'IN')
+      ->execute();
+  }
+}
