Index: commands/pm/pm.drush.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/pm/pm.drush.inc,v retrieving revision 1.57 diff -u -r1.57 pm.drush.inc --- commands/pm/pm.drush.inc 9 Nov 2009 16:44:20 -0000 1.57 +++ commands/pm/pm.drush.inc 19 Nov 2009 19:54:33 -0000 @@ -198,6 +198,7 @@ // Make sure the install API is available. require_once './includes/install.inc'; + $module_info = array(); foreach ($modules as $module) { // Minimalist validation. if (drush_drupal_major_version() >= 7) { @@ -214,8 +215,16 @@ drush_log(dt('!module was successfully uninstalled.', array('!module' => $module)), 'ok'); } else { - drush_set_error('DRUSH_PM_UNINSTALL_ACTIVE_MODULE', dt('!module is not disabled. If active, use `disable` command before `uninstall`.', array('!module' => $module))); - } + if (empty($module_info)) { + $module_info = drush_get_modules(); + } + if (isset($module_info[$module]) && $module_info[$module]->status) { + drush_set_error('DRUSH_PM_UNINSTALL_ACTIVE_MODULE', dt('!module is not disabled. Use `disable` command before `uninstall`.', array('!module' => $module))); + } + else { + drush_log(dt('Module !module is either already uninstalled or does not exist.', array('!module' => $module)), 'warning'); + } + } } } @@ -235,7 +244,7 @@ // We will override this to be an empty array instead to be compatible to Drupal 6 and 7 if (empty($module->info['dependencies'])){ $module->info['dependencies'] = array(); - } + } // Add enabled modules to an array for easy reference. if ($module_info[$module_name]->status) { $enabled[] = $module_name;