Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.43
diff -u -p -r1.43 system.admin.inc
--- modules/system/system.admin.inc	20 Dec 2007 21:37:42 -0000	1.43
+++ modules/system/system.admin.inc	21 Dec 2007 14:04:14 -0000
@@ -906,6 +906,14 @@ function system_modules_submit($form, &$
     module_disable($disable_modules);
   }
 
+  // Modules that were enabled now.
+  $newly_enabled_modules = array();
+  foreach ($enable_modules as $module) {
+    if (!in_array($module, $old_module_list)) {
+      $newly_enabled_modules[] = $module;
+    }
+  }
+
   // Install new modules.
   foreach ($new_modules as $key => $module) {
     if (!drupal_check_module($module)) {
@@ -917,6 +925,30 @@ function system_modules_submit($form, &$
   $current_module_list = module_list(TRUE, FALSE);
   if ($old_module_list != $current_module_list) {
     drupal_set_message(t('The configuration options have been saved.'));
+
+    // Generate in-depth links for newly enabled modules.
+    $module_info = module_rebuild_cache();
+    foreach ($newly_enabled_modules as $module) {
+      $module_menu = system_get_module_admin_tasks($module);
+      $links = array();
+      // We can't use module_invoke('help') due to caching quirks.
+      if (module_hook($module, 'help')) {
+        $links[] = l(t('Help'), 'admin/help/'. $module);
+      }
+      foreach ($module_menu as $link) {
+        $links[] = $link;
+      }
+      if (!empty($links)) {
+        $message = $module_info[$module]->info['name'] .' '. t('enabled') .'. ';
+        $message .= t('Start using this module') .':';
+        $message .= '<ul>';
+        foreach ($links as $link) {
+          $message .= '<li>'. $link .'</li>';
+        }
+        $message .= '</ul>';
+        drupal_set_message($message);
+      }
+    }
   }
 
   drupal_clear_css_cache();
