? modules/syndication Index: includes/module.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/module.inc,v retrieving revision 1.127 diff -u -p -r1.127 module.inc --- includes/module.inc 27 Sep 2008 19:03:30 -0000 1.127 +++ includes/module.inc 11 Oct 2008 18:19:23 -0000 @@ -483,5 +483,13 @@ function module_invoke_all() { * Array of modules required by core. */ function drupal_required_modules() { - return array('block', 'filter', 'node', 'system', 'user'); + $files = drupal_system_listing('/\.info$/', 'modules', 'name', 0); + $required = array(); + foreach ($files as $name => $file) { + $info = drupal_parse_info_file($file->filename); + if (!empty($info) && !empty($info['required']) && $info['required']) { + $required[] = $name; + } + } + return $required; } Index: modules/block/block.info =================================================================== RCS file: /cvs/drupal/drupal/modules/block/block.info,v retrieving revision 1.10 diff -u -p -r1.10 block.info --- modules/block/block.info 11 Oct 2008 15:54:13 -0000 1.10 +++ modules/block/block.info 11 Oct 2008 18:19:23 -0000 @@ -8,4 +8,4 @@ core = 7.x files[] = block.module files[] = block.admin.inc files[] = block.install -hidden = TRUE +required = TRUE Index: modules/filter/filter.info =================================================================== RCS file: /cvs/drupal/drupal/modules/filter/filter.info,v retrieving revision 1.10 diff -u -p -r1.10 filter.info --- modules/filter/filter.info 11 Oct 2008 15:54:14 -0000 1.10 +++ modules/filter/filter.info 11 Oct 2008 18:19:23 -0000 @@ -8,4 +8,4 @@ files[] = filter.module files[] = filter.admin.inc files[] = filter.pages.inc files[] = filter.install -hidden = TRUE +required = TRUE Index: modules/node/node.info =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.info,v retrieving revision 1.9 diff -u -p -r1.9 node.info --- modules/node/node.info 11 Oct 2008 15:54:14 -0000 1.9 +++ modules/node/node.info 11 Oct 2008 18:19:23 -0000 @@ -9,4 +9,4 @@ files[] = content_types.inc files[] = node.admin.inc files[] = node.pages.inc files[] = node.install -hidden = TRUE +required = TRUE Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.97 diff -u -p -r1.97 system.admin.inc --- modules/system/system.admin.inc 11 Oct 2008 15:54:14 -0000 1.97 +++ modules/system/system.admin.inc 11 Oct 2008 18:19:25 -0000 @@ -616,7 +616,7 @@ function system_modules($form_state = ar // Remove hidden modules from display list. foreach ($files as $filename => $file) { - if (!empty($file->info['hidden'])) { + if (!empty($file->info['hidden']) || !empty($file->info['required'])) { unset($files[$filename]); } } Index: modules/system/system.info =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.info,v retrieving revision 1.10 diff -u -p -r1.10 system.info --- modules/system/system.info 11 Oct 2008 15:54:14 -0000 1.10 +++ modules/system/system.info 11 Oct 2008 18:19:25 -0000 @@ -8,4 +8,4 @@ files[] = system.module files[] = system.admin.inc files[] = image.gd.inc files[] = system.install -hidden = TRUE +required = TRUE Index: modules/user/user.info =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.info,v retrieving revision 1.9 diff -u -p -r1.9 user.info --- modules/user/user.info 11 Oct 2008 15:54:14 -0000 1.9 +++ modules/user/user.info 11 Oct 2008 18:19:25 -0000 @@ -8,4 +8,4 @@ files[] = user.module files[] = user.admin.inc files[] = user.pages.inc files[] = user.install -hidden = TRUE +required = TRUE