Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.406
diff -u -p -r1.406 menu.inc
--- includes/menu.inc	22 Aug 2010 14:57:44 -0000	1.406
+++ includes/menu.inc	23 Aug 2010 09:04:30 -0000
@@ -1617,7 +1617,6 @@ function menu_list_system_menus() {
     'management' => 'Management',
     'user-menu' => 'User menu',
     'main-menu' => 'Main menu',
-    'secondary-menu' => 'Secondary menu',
   );
 }
 
@@ -1632,7 +1631,6 @@ function menu_main_menu() {
  * Return an array of links to be rendered as the Secondary links.
  */
 function menu_secondary_menu() {
-
   // If the secondary menu source is set as the primary menu, we display the
   // second level of the primary menu.
   if (variable_get('menu_secondary_links_source', 'user-menu') == variable_get('menu_main_links_source', 'main-menu')) {
@@ -1644,6 +1642,13 @@ function menu_secondary_menu() {
 }
 
 /**
+ * Return an array of links to be rendered as the User menu.
+ */
+function menu_user_menu() {
+  return menu_navigation_links('user-menu');
+}
+
+/**
  * Return an array of links for a navigation menu.
  *
  * @param $menu_name
@@ -2077,7 +2082,7 @@ function menu_set_active_menu_names($men
     $active = $menu_names;
   }
   elseif (!isset($active)) {
-    $active = variable_get('menu_default_active_menus', array('management', 'navigation', 'user-menu', 'main-menu'));
+    $active = variable_get('menu_default_active_menus', array_keys(menu_list_system_menus()));
   }
   return $active;
 }
Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.606
diff -u -p -r1.606 theme.inc
--- includes/theme.inc	22 Aug 2010 12:46:21 -0000	1.606
+++ includes/theme.inc	23 Aug 2010 09:04:31 -0000
@@ -2002,7 +2002,7 @@ function theme_indentation($variables) {
 
 /**
  * Returns HTML output for a single table cell for theme_table().
- * 
+ *
  * @param $cell
  *   Array of cell information, or string to display in cell.
  * @param bool $header
@@ -2260,12 +2260,62 @@ function template_preprocess_page(&$vari
   $variables['messages']          = $variables['show_messages'] ? theme('status_messages') : '';
   $variables['main_menu']         = theme_get_setting('toggle_main_menu') ? menu_main_menu() : array();
   $variables['secondary_menu']    = theme_get_setting('toggle_secondary_menu') ? menu_secondary_menu() : array();
+  $variables['user_menu']         = menu_user_menu();
   $variables['action_links']      = menu_local_actions();
   $variables['site_name']         = (theme_get_setting('toggle_name') ? filter_xss_admin(variable_get('site_name', 'Drupal')) : '');
   $variables['site_slogan']       = (theme_get_setting('toggle_slogan') ? filter_xss_admin(variable_get('site_slogan', '')) : '');
   $variables['tabs']              = theme('menu_local_tasks');
   $variables['title']             = drupal_get_title();
 
+  if (isset($variables['main_menu'])) {
+    $variables['primary_nav'] = theme('links__system_main_menu', array(
+      'links' => $variables['main_menu'],
+      'attributes' => array(
+        'class' => array('links', 'main-menu'),
+      ),
+      'heading' => array(
+        'text' => t('Main menu'),
+        'level' => 'h2',
+        'class' => array('element-invisible'),
+      )
+    ));
+  }
+  else {
+    $variables['primary_nav'] = FALSE;
+  }
+  if (isset($variables['secondary_menu'])) {
+    $variables['secondary_nav'] = theme('links__system_secondary_menu', array(
+      'links' => $variables['secondary_menu'],
+      'attributes' => array(
+        'class' => array('links', 'secondary-menu'),
+      ),
+      'heading' => array(
+        'text' => t('Secondary menu'),
+        'level' => 'h2',
+        'class' => array('element-invisible'),
+      )
+    ));
+  }
+  else {
+    $variables['secondary_nav'] = FALSE;
+  }
+  if (isset($variables['user_menu'])) {
+    $variables['user_nav'] = theme('links__system_user_menu', array(
+      'links' => $variables['user_menu'],
+      'attributes' => array(
+        'class' => array('links', 'user-menu'),
+      ),
+      'heading' => array(
+        'text' => t('User menu'),
+        'level' => 'h2',
+        'class' => array('element-invisible'),
+      )
+    ));
+  }
+  else {
+    $variables['user_nav'] = FALSE;
+  }
+  
   if ($node = menu_get_object()) {
     $variables['node'] = $node;
   }
@@ -2275,6 +2325,7 @@ function template_preprocess_page(&$vari
     $variables['theme_hook_suggestions'] = $suggestions;
   }
 }
+
 /**
  * Process variables for html.tpl.php
  *
Index: modules/menu/menu.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.admin.inc,v
retrieving revision 1.83
diff -u -p -r1.83 menu.admin.inc
--- modules/menu/menu.admin.inc	1 Aug 2010 23:33:18 -0000	1.83
+++ modules/menu/menu.admin.inc	23 Aug 2010 09:04:31 -0000
@@ -674,7 +674,7 @@ function menu_reset_item_confirm_submit(
 function menu_configure() {
   $form['intro'] = array(
     '#type' => 'item',
-    '#markup' => t('The menu module allows on-the-fly creation of menu links in the content authoring forms. The following option sets the default menu in which a new link will be added.'),
+    '#markup' => t('Drupal provides two configurable menu areas within the page template. Themes may display the menus in non-conventional locations or may choose to omit them completely.'),
   );
 
   $menu_options = menu_get_menus();
@@ -687,7 +687,7 @@ function menu_configure() {
     '#default_value' => variable_get('menu_main_links_source', 'main-menu'),
     '#options' => $main_options,
     '#tree' => FALSE,
-    '#description' => t('Select what should be displayed as the Main links (typically at the top of the page).'),
+    '#description' => t('Typically displayed at the top of the page.'),
   );
 
   $secondary_options = array_merge($menu_options, array('' => t('No Secondary links')));
@@ -697,7 +697,7 @@ function menu_configure() {
     '#default_value' => variable_get('menu_secondary_links_source', 'user-menu'),
     '#options' => $secondary_options,
     '#tree' => FALSE,
-    '#description' => t("Select the source for the Secondary links. An advanced option allows you to use the same source for both Main links (currently %main) and Secondary links: if your source menu has two levels of hierarchy, the top level menu links will appear in the Main links, and the children of the active link will appear in the Secondary links." , array('%main' => $main_options[$main])),
+    '#description' => t('Typically displayed as a complement to the Main links, near the top of the page. If you use the same source for the Main links and Secondary links, the Secondary links will change based on which Main link is being visited, and will always display the immediate children of that link.'),
   );
 
   return system_settings_form($form);
Index: modules/menu/menu.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.install,v
retrieving revision 1.25
diff -u -p -r1.25 menu.install
--- modules/menu/menu.install	10 Jan 2010 17:55:19 -0000	1.25
+++ modules/menu/menu.install	23 Aug 2010 09:04:31 -0000
@@ -52,7 +52,6 @@ function menu_install() {
     'user-menu' => $t("The <em>User</em> menu contains links related to the user's account, as well as the 'Log out' link."),
     'management' => $t('The <em>Management</em> menu contains links for administrative tasks.'),
     'main-menu' => $t('The <em>Main</em> menu is used on many sites to show the major sections of the site, often in a top navigation bar.'),
-    'secondary-menu' => $t('The <em>Secondary</em> menu is used on many sites for legal notices and contact pages.'),
   );
   foreach ($system_menus as $menu_name => $title) {
     $menu = array(
Index: modules/system/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/page.tpl.php,v
retrieving revision 1.45
diff -u -p -r1.45 page.tpl.php
--- modules/system/page.tpl.php	8 Aug 2010 19:35:49 -0000	1.45
+++ modules/system/page.tpl.php	23 Aug 2010 09:04:31 -0000
@@ -102,9 +102,10 @@
 
     </div></div> <!-- /.section, /#header -->
 
-    <?php if ($main_menu): ?>
+    <?php if ($primary_nav || $secondary_nav): ?>
       <div id="navigation"><div class="section">
-        <?php print theme('links__system_main_menu', array('links' => $main_menu, 'attributes' => array('id' => 'main-menu', 'class' => array('links', 'clearfix')), 'heading' => t('Main menu'))); ?>
+        <?php if (!empty($primary_nav)): print $primary_nav; endif; ?>
+        <?php if (!empty($secondary_nav)): print $secondary_nav; endif; ?>
       </div></div> <!-- /.section, /#navigation -->
     <?php endif; ?>
 
@@ -144,7 +145,6 @@
     </div></div> <!-- /#main, /#main-wrapper -->
 
     <div id="footer"><div class="section">
-      <?php print theme('links__system_secondary_menu', array('links' => $secondary_menu, 'attributes' => array('id' => 'secondary-menu', 'class' => array('links', 'clearfix')), 'heading' => t('Secondary menu'))); ?>
       <?php print render($page['footer']); ?>
     </div></div> <!-- /.section, /#footer -->
 
Index: themes/bartik/css/style-rtl.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/bartik/css/style-rtl.css,v
retrieving revision 1.4
diff -u -p -r1.4 style-rtl.css
--- themes/bartik/css/style-rtl.css	22 Aug 2010 14:03:57 -0000	1.4
+++ themes/bartik/css/style-rtl.css	23 Aug 2010 09:04:31 -0000
@@ -38,27 +38,19 @@ ul.tips {
   padding: 15px 0 15px 30px;
 }
 /* Menus when in the header region. */
-#header div.block-menu,
-#header div#block-system-main-menu,
-#header div#block-system-secondary-menu {
+#header div.block-menu {
   float: right;
 }
-#header .block-menu li a,
-#header #block-system-main-menu li a,
-#header #block-system-secondary-menu li a {
+#header .block-menu li a {
   float: right;
   border-left: 1px solid #555;
   border-right: none;
 }
-#header .block-menu li.first a,
-#header #block-system-main-menu li.first a,
-#header #block-system-secondary-menu li.first a {
+#header .block-menu li.first a {
   padding-right: 0;
   padding-left: 12px;
 }
-#header .block-menu li.last a,
-#header #block-system-main-menu li.last a,
-#header #block-system-secondary-menu li.last a {
+#header .block-menu li.last a {
   padding-left: 0;
   padding-right: 12px;
   border-left: none;
Index: themes/bartik/css/style.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/bartik/css/style.css,v
retrieving revision 1.5
diff -u -p -r1.5 style.css
--- themes/bartik/css/style.css	22 Aug 2010 14:03:57 -0000	1.5
+++ themes/bartik/css/style.css	23 Aug 2010 09:04:31 -0000
@@ -678,7 +678,7 @@ h1#page-title,
 #footer .block h2 {
   margin: 0;
 }
-#footer-wrapper ul#secondary-menu {
+#footer-wrapper ul.user-menu {
   margin: 1em 0;
 }
 #footer-columns h2 {
Index: themes/bartik/templates/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/bartik/templates/page.tpl.php,v
retrieving revision 1.4
diff -u -p -r1.4 page.tpl.php
--- themes/bartik/templates/page.tpl.php	22 Aug 2010 13:57:02 -0000	1.4
+++ themes/bartik/templates/page.tpl.php	23 Aug 2010 09:04:31 -0000
@@ -123,20 +123,10 @@
 
     <?php print render($page['header']); ?>
 
-    <?php if ($main_menu): ?>
+    <?php if ($primary_nav || $secondary_nav): ?>
       <div id="navigation"><div class="section clearfix">
-        <?php print theme('links__system_main_menu', array(
-          'links' => $main_menu,
-          'attributes' => array(
-            'id' => 'main-menu',
-            'class' => array('links', 'clearfix'),
-          ),
-          'heading' => array(
-            'text' => t('Main menu'),
-            'level' => 'h2',
-            'class' => array('element-invisible'),
-          ),
-        )); ?>
+        <?php if (!empty($primary_nav)): print $primary_nav; endif; ?>
+        <?php if (!empty($secondary_nav)): print $secondary_nav; endif; ?>
       </div></div> <!-- /.section, /#navigation -->
     <?php endif; ?>
 
@@ -220,20 +210,9 @@
       </div><!-- /#footer-columns -->
     <?php endif; ?>
 
-    <?php if ($page['footer'] || $secondary_menu): ?>
+    <?php if ($page['footer']): ?>
       <div id="footer" class="clearfix">
-        <?php print theme('links__system_secondary_menu', array(
-          'links' => $secondary_menu,
-          'attributes' => array(
-            'id' => 'secondary-menu',
-            'class' => array('links', 'clearfix'),
-          ),
-          'heading' => array(
-            'text' => t('Secondary menu'),
-            'level' => 'h2',
-            'class' => array('element-invisible'),
-          ),
-        )); ?>
+        <?php if (!empty($user_nav)): print $user_nav; endif; ?>
         <?php print render($page['footer']); ?>
     </div><!-- /#footer -->
     <?php endif; ?>
Index: themes/garland/template.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/template.php,v
retrieving revision 1.41
diff -u -p -r1.41 template.php
--- themes/garland/template.php	30 Jul 2010 02:47:28 -0000	1.41
+++ themes/garland/template.php	23 Aug 2010 09:04:31 -0000
@@ -60,38 +60,6 @@ function garland_process_html(&$vars) {
  */
 function garland_preprocess_page(&$vars) {
   $vars['tabs2'] = menu_secondary_local_tasks();
-  if (isset($vars['main_menu'])) {
-    $vars['primary_nav'] = theme('links__system_main_menu', array(
-      'links' => $vars['main_menu'],
-      'attributes' => array(
-        'class' => array('links', 'main-menu'),
-      ),
-      'heading' => array(
-        'text' => t('Main menu'),
-        'level' => 'h2',
-        'class' => array('element-invisible'),
-      )
-    ));
-  }
-  else {
-    $vars['primary_nav'] = FALSE;
-  }
-  if (isset($vars['secondary_menu'])) {
-    $vars['secondary_nav'] = theme('links__system_secondary_menu', array(
-      'links' => $vars['secondary_menu'],
-      'attributes' => array(
-        'class' => array('links', 'secondary-menu'),
-      ),
-      'heading' => array(
-        'text' => t('Secondary menu'),
-        'level' => 'h2',
-        'class' => array('element-invisible'),
-      )
-    ));
-  }
-  else {
-    $vars['secondary_nav'] = FALSE;
-  }
 
   // Prepare header.
   $site_fields = array();
