Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.1092
diff -u -9 -p -r1.1092 common.inc
--- includes/common.inc	25 Jan 2010 10:38:34 -0000	1.1092
+++ includes/common.inc	25 Jan 2010 22:01:16 -0000
@@ -4876,27 +4876,27 @@ function drupal_set_page_content($conten
 
 /**
  * #pre_render callback to render a link into #markup.
  *
  * Doing so during pre_render gives modules a chance to alter the link parts.
  *
  * @param $elements
  *   A structured array whose keys form the arguments to l():
  *   - #title: The link text to pass as argument to l().
- *   - #href: The URL path component to pass as argument to l().
+ *   - #path: The URL path component to pass as argument to l().
  *   - #options: (optional) An array of options to pass to l().
  *
  * @return
  *   The passed in elements containing a rendered link in '#markup'.
  */
 function drupal_pre_render_link($elements) {
   $options = isset($elements['#options']) ? $elements['#options'] : array();
-  $elements['#markup'] = l($elements['#title'], $elements['#href'], $options);
+  $elements['#markup'] = l($elements['#title'], $elements['#path'], $options);
   return $elements;
 }
 
 /**
  * #pre_render callback to append contents in #markup to #children.
  *
  * This needs to be a #pre_render callback, because eventually assigned
  * #theme_wrappers will expect the element's rendered content in #children.
  * Note that if also a #theme is defined for the element, then the result of
Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.376
diff -u -9 -p -r1.376 menu.inc
--- includes/menu.inc	25 Jan 2010 10:38:34 -0000	1.376
+++ includes/menu.inc	25 Jan 2010 22:01:17 -0000
@@ -919,19 +919,19 @@ function menu_tree_output($tree) {
     if ($data['link']['in_active_trail']) {
       $class[] = 'active-trail';
       $data['localized_options']['attributes']['class'][] = 'active-trail';
     }
 
     // Allow menu-specific theme overrides.
     $element['#theme'] = 'menu_link__' . $data['link']['menu_name'];
     $element['#attributes']['class'] = $class;
     $element['#title'] = $data['link']['title'];
-    $element['#href'] = $data['link']['href'];
+    $element['#path'] = $data['link']['href'];
     $element['#localized_options'] = !empty($data['link']['localized_options']) ? $data['link']['localized_options'] : array();
     $element['#below'] = $data['below'] ? menu_tree_output($data['below']) : $data['below'];
     $element['#original_link'] = $data['link'];
     // Index using the link's unique mlid.
     $build[$data['link']['mlid']] = $element;
   }
   if ($build) {
     // Make sure drupal_render() does not re-order the links.
     $build['#sorted'] = TRUE;
@@ -1399,19 +1399,19 @@ function theme_menu_tree($variables) {
  * @ingroup themeable
  */
 function theme_menu_link(array $variables) {
   $element = $variables['element'];
   $sub_menu = '';
 
   if ($element['#below']) {
     $sub_menu = drupal_render($element['#below']);
   }
-  $output = l($element['#title'], $element['#href'], $element['#localized_options']);
+  $output = l($element['#title'], $element['#path'], $element['#localized_options']);
   return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
 }
 
 /**
  * Generate the HTML output for a single local task link.
  *
  * @param $variables
  *   An associative array containing:
  *   - #link: A menu link array with 'title', 'href', and 'localized_options'
Index: modules/block/block.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.admin.inc,v
retrieving revision 1.72
diff -u -9 -p -r1.72 block.admin.inc
--- modules/block/block.admin.inc	15 Jan 2010 10:59:21 -0000	1.72
+++ modules/block/block.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -83,25 +83,25 @@ function block_admin_display_form($form,
     );
     $form[$key]['region'] = array(
       '#type' => 'select',
       '#default_value' => $block['region'],
       '#options' => $block_regions,
     );
     $form[$key]['configure'] = array(
       '#type' => 'link',
       '#title' => t('configure'),
-      '#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/configure',
+      '#path' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/configure',
     );
     if ($block['module'] == 'block') {
       $form[$key]['delete'] = array(
         '#type' => 'link',
         '#title' => t('delete'),
-        '#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete',
+        '#path' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete',
      );
     }
   }
   // Do not allow disabling the main system content block.
   unset($form['system_main']['region']['#options'][BLOCK_REGION_NONE]);
 
   $form['actions'] = array(
     '#tree' => FALSE,
     '#type' => 'container',
Index: modules/comment/comment.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.admin.inc,v
retrieving revision 1.40
diff -u -9 -p -r1.40 comment.admin.inc
--- modules/comment/comment.admin.inc	11 Jan 2010 00:17:02 -0000	1.40
+++ modules/comment/comment.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -93,36 +93,36 @@ function comment_admin_overview($form, &
   foreach ($comments as $comment) {
     // Remove the first node title from the node_titles array and attach to
     // the comment.
     $comment->node_title = array_shift($node_titles);
     $options[$comment->cid] = array(
       'subject' => array(
         'data' => array(
           '#type' => 'link',
           '#title' => $comment->subject,
-          '#href' => 'comment/' . $comment->cid,
+          '#path' => 'comment/' . $comment->cid,
           '#options' => array('attributes' => array('title' => truncate_utf8($comment->comment_body[LANGUAGE_NONE][0]['value'], 128)), 'fragment' => 'comment-' . $comment->cid),
         ),
       ),
       'author' => theme('username', array('account' => $comment)),
       'posted_in' => array(
         'data' => array(
           '#type' => 'link',
           '#title' => $comment->node_title,
-          '#href' => 'node/' . $comment->nid,
+          '#path' => 'node/' . $comment->nid,
         ),
       ),
       'changed' => format_date($comment->changed, 'short'),
       'operations' => array(
         'data' => array(
           '#type' => 'link',
           '#title' => t('edit'),
-          '#href' => 'comment/' . $comment->cid . '/edit',
+          '#path' => 'comment/' . $comment->cid . '/edit',
           '#options' => array('query' => $destination),
         ),
       ),
     );
   }
 
   $form['comments'] = array(
     '#type' => 'tableselect',
     '#header' => $header,
Index: modules/field_ui/field_ui.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.admin.inc,v
retrieving revision 1.36
diff -u -9 -p -r1.36 field_ui.admin.inc
--- modules/field_ui/field_ui.admin.inc	13 Jan 2010 05:43:01 -0000	1.36
+++ modules/field_ui/field_ui.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -106,37 +106,37 @@ function field_ui_field_overview_form($f
       'label' => array(
         '#markup' => check_plain($instance['label']),
       ),
       'field_name' => array(
         '#markup' => $instance['field_name'],
       ),
       'type' => array(
         '#type' => 'link',
         '#title' => t($field_types[$field['type']]['label']),
-        '#href' => $admin_field_path . '/field-settings',
+        '#path' => $admin_field_path . '/field-settings',
         '#options' => array('attributes' => array('title' => t('Edit field settings.'))),
       ),
       'widget_type' => array(
         '#type' => 'link',
         '#title' => t($widget_types[$instance['widget']['type']]['label']),
-        '#href' => $admin_field_path . '/widget-type',
+        '#path' => $admin_field_path . '/widget-type',
         '#options' => array('attributes' => array('title' => t('Change widget type.'))),
       ),
       'edit' => array(
         '#type' => 'link',
         '#title' => t('edit'),
-        '#href' => $admin_field_path,
+        '#path' => $admin_field_path,
         '#options' => array('attributes' => array('title' => t('Edit instance settings.'))),
       ),
       'delete' => array(
         '#type' => 'link',
         '#title' => t('delete'),
-        '#href' => $admin_field_path . '/delete',
+        '#path' => $admin_field_path . '/delete',
         '#options' => array('attributes' => array('title' => t('Delete instance.'))),
       ),
       'weight' => array(
         '#type' => 'textfield',
         '#default_value' => $weight,
         '#size' => 3,
        ),
       'hidden_name' => array(
         '#type' => 'hidden',
Index: modules/filter/filter.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.admin.inc,v
retrieving revision 1.56
diff -u -9 -p -r1.56 filter.admin.inc
--- modules/filter/filter.admin.inc	3 Jan 2010 21:01:04 -0000	1.56
+++ modules/filter/filter.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -26,20 +26,20 @@ function filter_admin_overview($form) {
       $form['formats'][$id]['name'] = array('#markup' => drupal_placeholder(array('text' => $format->name)));
       $roles_markup = drupal_placeholder(array('text' => t('All roles may use this format')));
     }
     else {
       $form['formats'][$id]['name'] = array('#markup' => check_plain($format->name));
       $roles = filter_get_roles_by_format($format);
       $roles_markup = $roles ? implode(', ', $roles) : t('No roles may use this format');
     }
     $form['formats'][$id]['roles'] = array('#markup' => $roles_markup);
-    $form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#href' => 'admin/config/content/formats/' . $id);
-    $form['formats'][$id]['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => 'admin/config/content/formats/' . $id . '/delete', '#access' => !$form['formats'][$id]['#is_fallback']);
+    $form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#path' => 'admin/config/content/formats/' . $id);
+    $form['formats'][$id]['delete'] = array('#type' => 'link', '#title' => t('delete'), '#path' => 'admin/config/content/formats/' . $id . '/delete', '#access' => !$form['formats'][$id]['#is_fallback']);
     $form['formats'][$id]['weight'] = array('#type' => 'weight', '#default_value' => $format->weight);
   }
   $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions')));
   $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save changes'));
   return $form;
 }
 
 function filter_admin_overview_submit($form, &$form_state) {
   foreach ($form_state['values']['formats'] as $id => $data) {
Index: modules/forum/forum.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.admin.inc,v
retrieving revision 1.29
diff -u -9 -p -r1.29 forum.admin.inc
--- modules/forum/forum.admin.inc	9 Jan 2010 12:51:01 -0000	1.29
+++ modules/forum/forum.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -235,26 +235,26 @@ function forum_overview($form, &$form_st
   module_load_include('inc', 'taxonomy', 'taxonomy.admin');
 
   $vid = variable_get('forum_nav_vocabulary', '');
   $vocabulary = taxonomy_vocabulary_load($vid);
   $form = taxonomy_overview_terms($form, $form_state, $vocabulary);
 
   foreach (element_children($form) as $key) {
     if (isset($form[$key]['#term'])) {
       $term = $form[$key]['#term'];
-      $form[$key]['view']['#href'] = 'forum/' . $term['tid'];
+      $form[$key]['view']['#path'] = 'forum/' . $term['tid'];
       if (in_array($form[$key]['#term']['tid'], variable_get('forum_containers', array()))) {
         $form[$key]['edit']['#title'] = t('edit container');
-        $form[$key]['edit']['#href'] = 'admin/structure/forum/edit/container/' . $term['tid'];
+        $form[$key]['edit']['#path'] = 'admin/structure/forum/edit/container/' . $term['tid'];
       }
       else {
         $form[$key]['edit']['#title'] = t('edit forum');
-        $form[$key]['edit']['#href'] = 'admin/structure/forum/edit/forum/' . $term['tid'];
+        $form[$key]['edit']['#path'] = 'admin/structure/forum/edit/forum/' . $term['tid'];
       }
     }
   }
 
   // Remove the alphabetical reset.
   unset($form['reset_alphabetical']);
 
   // The form needs to have submit and validate handlers set explicitly.
   $form['#theme'] = 'taxonomy_overview_terms';
Index: modules/image/image.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/image/image.admin.inc,v
retrieving revision 1.17
diff -u -9 -p -r1.17 image.admin.inc
--- modules/image/image.admin.inc	3 Jan 2010 21:01:04 -0000	1.17
+++ modules/image/image.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -93,25 +93,25 @@ function image_style_form($form, &$form_
     );
     $form['effects'][$ieid]['weight'] = array(
       '#type' => 'weight',
       '#default_value' => $effect['weight'],
       '#access' => $editable,
     );
     $form['effects'][$ieid]['configure'] = array(
       '#type' => 'link',
       '#title' => t('edit'),
-      '#href' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $effect['ieid'],
+      '#path' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $effect['ieid'],
       '#access' => $editable && isset($effect['form callback']),
     );
     $form['effects'][$ieid]['remove'] = array(
       '#type' => 'link',
       '#title' => t('delete'),
-      '#href' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $effect['ieid'] . '/delete',
+      '#path' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $effect['ieid'] . '/delete',
       '#access' => $editable,
     );
   }
 
   // Build the new image effect addition form and add it to the effect list.
   $new_effect_options = array('' => t('Select a new effect'));
   foreach (image_effect_definitions() as $effect => $definition) {
     $new_effect_options[$effect] = check_plain($definition['label']);
   }
@@ -390,19 +390,19 @@ function image_effect_form($form, &$form
 
   $form['actions'] = array('#tree' => FALSE, '#type' => 'container', '#attributes' => array('class' => array('form-actions')));
   $form['actions']['submit'] = array(
     '#type' => 'submit',
     '#value' => isset($effect['ieid']) ? t('Update effect') : t('Add effect'),
   );
   $form['actions']['cancel'] = array(
     '#type' => 'link',
     '#title' => t('Cancel'),
-    '#href' => 'admin/config/media/image-styles/edit/' . $style['name'],
+    '#path' => 'admin/config/media/image-styles/edit/' . $style['name'],
   );
 
   return $form;
 }
 
 /**
  * Submit handler for updating an image effect.
  */
 function image_effect_form_submit($form, &$form_state) {
Index: modules/locale/locale.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/locale/locale.admin.inc,v
retrieving revision 1.3
diff -u -9 -p -r1.3 locale.admin.inc
--- modules/locale/locale.admin.inc	25 Jan 2010 10:38:34 -0000	1.3
+++ modules/locale/locale.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -553,19 +553,19 @@ function _locale_languages_configure_for
       if ($id === LANGUAGE_NEGOTIATION_DEFAULT) {
         $table_form['enabled'][$id]['#default_value'] = TRUE;
         $table_form['enabled'][$id]['#attributes'] = array('disabled' => 'disabled');
       }
 
       $table_form['description'][$id] = array('#markup' => filter_xss_admin($provider['description']));
 
       $config_op = array();
       if (isset($provider['config'])) {
-        $config_op = array('#type' => 'link', '#title' => t('Configure'), '#href' => $provider['config']);
+        $config_op = array('#type' => 'link', '#title' => t('Configure'), '#path' => $provider['config']);
         // If there is at least one operation enabled show the operation column.
         $table_form['#show_operations'] = TRUE;
       }
       $table_form['operation'][$id] = $config_op;
     }
   }
 
   $form[$type] = $table_form;
 }
Index: modules/menu/menu.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.admin.inc,v
retrieving revision 1.71
diff -u -9 -p -r1.71 menu.admin.inc
--- modules/menu/menu.admin.inc	3 Jan 2010 21:01:04 -0000	1.71
+++ modules/menu/menu.admin.inc	25 Jan 2010 22:01:17 -0000
@@ -105,26 +105,26 @@ function _menu_overview_tree_form($tree)
         '#value' => $item['mlid'],
       );
       $form[$mlid]['plid'] = array(
         '#type' => 'textfield',
         '#default_value' => isset($form_state[$mlid]['plid']) ? $form_state[$mlid]['plid'] : $item['plid'],
         '#size' => 6,
       );
       // Build a list of operations.
       $operations = array();
-      $operations['edit'] = array('#type' => 'link', '#title' => t('edit'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/edit');
+      $operations['edit'] = array('#type' => 'link', '#title' => t('edit'), '#path' => 'admin/structure/menu/item/' . $item['mlid'] . '/edit');
       // Only items created by the menu module can be deleted.
       if ($item['module'] == 'menu' || $item['updated'] == 1) {
-        $operations['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete');
+        $operations['delete'] = array('#type' => 'link', '#title' => t('delete'), '#path' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete');
       }
       // Set the reset column.
       elseif ($item['module'] == 'system' && $item['customized']) {
-        $operations['reset'] = array('#type' => 'link', '#title' => t('reset'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset');
+        $operations['reset'] = array('#type' => 'link', '#title' => t('reset'), '#path' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset');
       }
       $form[$mlid]['operations'] = $operations;
     }
 
     if ($data['below']) {
       _menu_overview_tree_form($data['below']);
     }
   }
   return $form;
Index: modules/node/node.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.admin.inc,v
retrieving revision 1.88
diff -u -9 -p -r1.88 node.admin.inc
--- modules/node/node.admin.inc	13 Jan 2010 23:30:43 -0000	1.88
+++ modules/node/node.admin.inc	25 Jan 2010 22:01:18 -0000
@@ -465,19 +465,19 @@ function node_admin_nodes() {
   $destination = drupal_get_destination();
   $options = array();
   foreach ($nodes as $node) {
     $l_options = $node->language != LANGUAGE_NONE ? array('language' => $languages[$node->language]) : array();
     $options[$node->nid] = array(
       'title' => array(
         'data' => array(
           '#type' => 'link',
           '#title' => $node->title,
-          '#href' => 'node/' . $node->nid,
+          '#path' => 'node/' . $node->nid,
           '#options' => $l_options,
           '#suffix' => ' ' . theme('mark', array('type' => node_mark($node->nid, $node->changed))),
         ),
       ),
       'type' => check_plain(node_type_get_name($node)),
       'author' => theme('username', array('account' => $node)),
       'status' => $node->status ? t('published') : t('not published'),
       'changed' => format_date($node->changed, 'short'),
     );
@@ -512,19 +512,19 @@ function node_admin_nodes() {
       );
     }
     elseif (!empty($operations)) {
       // Render the first and only operation as a link.
       $link = reset($operations);
       $options[$node->nid]['operations'] = array(
         'data' => array(
           '#type' => 'link',
           '#title' => $link['title'],
-          '#href' => $link['href'],
+          '#path' => $link['href'],
           '#options' => array('query' => $link['query']),
         ),
       );
     }
   }
 
   // Only use a tableselect when the current user is able to perform any
   // operations.
   if ($admin_access) {
Index: modules/profile/profile.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.admin.inc,v
retrieving revision 1.38
diff -u -9 -p -r1.38 profile.admin.inc
--- modules/profile/profile.admin.inc	13 Jan 2010 06:44:31 -0000	1.38
+++ modules/profile/profile.admin.inc	25 Jan 2010 22:01:18 -0000
@@ -20,20 +20,20 @@ function profile_admin_overview($form) {
     // Collect all category information
     $categories[] = $field->category;
 
     // Save all field information
     $form[$field->fid]['name'] = array('#markup' => check_plain($field->name));
     $form[$field->fid]['title'] = array('#markup' => check_plain($field->title));
     $form[$field->fid]['type'] = array('#markup' => $field->type);
     $form[$field->fid]['category'] = array('#type' => 'select', '#default_value' => $field->category, '#options' => array());
     $form[$field->fid]['weight'] = array('#type' => 'weight', '#default_value' => $field->weight);
-    $form[$field->fid]['edit'] = array('#type' => 'link', '#title' => t('edit'), '#href' => "admin/config/people/profile/edit/$field->fid");
-    $form[$field->fid]['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => "admin/config/people/profile/delete/$field->fid");
+    $form[$field->fid]['edit'] = array('#type' => 'link', '#title' => t('edit'), '#path' => "admin/config/people/profile/edit/$field->fid");
+    $form[$field->fid]['delete'] = array('#type' => 'link', '#title' => t('delete'), '#path' => "admin/config/people/profile/delete/$field->fid");
   }
 
   // Add the category combo boxes
   $categories = array_unique($categories);
   foreach ($form as $fid => $field) {
     foreach ($categories as $cat => $category) {
       $form[$fid]['category']['#options'][$category] = $category;
     }
   }
Index: modules/shortcut/shortcut.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/shortcut/shortcut.admin.inc,v
retrieving revision 1.5
diff -u -9 -p -r1.5 shortcut.admin.inc
--- modules/shortcut/shortcut.admin.inc	14 Jan 2010 04:04:30 -0000	1.5
+++ modules/shortcut/shortcut.admin.inc	25 Jan 2010 22:01:18 -0000
@@ -153,19 +153,19 @@ function shortcut_set_customize($form, &
     '#markup' => t('Using set "@set"', array('@set' => $shortcut_set->title)),
     '#prefix' => '<h4 class="shortcuts-set">',
     '#suffix' => '</h4>',
     '#weight' => -100,
   );
 
   $form['change_set'] = array(
     '#type' => 'link',
     '#title' => t('Change set'),
-    '#href' => 'admin/config/system/shortcut',
+    '#path' => 'admin/config/system/shortcut',
     '#prefix' => '<div class="shortcuts-change-set"> (',
     '#suffix' => ')</div>',
     '#weight' => -99,
     '#access' => shortcut_set_switch_access(),
   );
 
   $form['shortcuts']['#tree'] = TRUE;
   $form['shortcuts']['enabled'] = $form['shortcuts']['disabled'] = array();
   foreach ($shortcut_set->links as $link) {
Index: modules/shortcut/shortcut.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/shortcut/shortcut.module,v
retrieving revision 1.19
diff -u -9 -p -r1.19 shortcut.module
--- modules/shortcut/shortcut.module	14 Jan 2010 06:47:54 -0000	1.19
+++ modules/shortcut/shortcut.module	25 Jan 2010 22:01:18 -0000
@@ -558,19 +558,19 @@ function shortcut_preprocess_page(&$vari
       $link_path = 'admin/config/system/shortcut/link/' . $mlid . '/delete';
     }
 
     if (theme_get_setting('shortcut_module_link')) {
       $variables['title_suffix']['add_or_remove_shortcut'] = array(
         '#attached' => array('css' => array(drupal_get_path('module', 'shortcut') . '/shortcut.css')),
         '#prefix' => '<div class="add-or-remove-shortcuts ' . $link_mode . '-shortcut">',
         '#type' => 'link',
         '#title' => '<span class="icon"></span><span class="text">' . $link_text . '</span>',
-        '#href' => $link_path,
+        '#path' => $link_path,
         '#options' => array('query' => $query, 'html' => TRUE),
         '#suffix' => '</div>',
       );
     }
   }
 }
 
 /**
  * Implements hook_page_alter().
@@ -591,19 +591,19 @@ function shortcut_toolbar_pre_render($to
   $links['#attached'] = array('css' => array(drupal_get_path('module', 'shortcut') . '/shortcut.css'));
   $links['#prefix'] = '<div class="toolbar-shortcuts">';
   $links['#suffix'] = '</div>';
   $shortcut_set = shortcut_current_displayed_set();
   $configure_link = NULL;
   if (shortcut_set_edit_access($shortcut_set)) {
     $configure_link = array(
       '#type' => 'link',
       '#title' => t('Edit shortcuts'),
-      '#href' => 'admin/config/system/shortcut/' . $shortcut_set->set_name,
+      '#path' => 'admin/config/system/shortcut/' . $shortcut_set->set_name,
       '#options' => array('attributes' => array('id' => 'edit-shortcuts')),
     );
   }
 
   $drawer = array(
     'shortcuts' => $links,
     'configure' => $configure_link,
   );
 
Index: modules/simpletest/simpletest.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.pages.inc,v
retrieving revision 1.24
diff -u -9 -p -r1.24 simpletest.pages.inc
--- modules/simpletest/simpletest.pages.inc	20 Jan 2010 04:15:51 -0000	1.24
+++ modules/simpletest/simpletest.pages.inc	25 Jan 2010 22:01:18 -0000
@@ -316,19 +316,19 @@ function simpletest_result_form($form, &
 
   $form['action']['op'] = array(
     '#type' => 'submit',
     '#value' => t('Run tests'),
   );
 
   $form['action']['return'] = array(
     '#type' => 'link',
     '#title' => t('Return to list'),
-    '#href' => 'admin/config/development/testing',
+    '#path' => 'admin/config/development/testing',
   );
 
   if (is_numeric($test_id)) {
     simpletest_clean_results_table($test_id);
   }
 
   return $form;
 }
 
Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.254
diff -u -9 -p -r1.254 system.admin.inc
--- modules/system/system.admin.inc	25 Jan 2010 10:38:35 -0000	1.254
+++ modules/system/system.admin.inc	25 Jan 2010 22:01:18 -0000
@@ -878,41 +878,41 @@ function system_modules($form, $form_sta
         }
       }
     }
     // Generate link for module's help page, if there is one.
     if ($help_arg && $module->status && in_array($filename, module_implements('help'))) {
       if (module_invoke($filename, 'help', "admin/help#$filename", $help_arg)) {
         $extra['links']['help'] = array(
           '#type' => 'link',
           '#title' => t('Help'),
-          '#href' => "admin/help/$filename",
+          '#path' => "admin/help/$filename",
           '#options' => array('attributes' => array('class' =>  array('module-link', 'module-link-help'), 'title' => t('Help'))),
         );
       }
     }
     // Generate link for module's permission, if the user has access to it.
     if ($module->status && user_access('administer permissions') && in_array($filename, module_implements('permission'))) {
       $extra['links']['permissions'] = array(
         '#type' => 'link',
         '#title' => t('Permissions'),
-        '#href' => 'admin/config/people/permissions',
+        '#path' => 'admin/config/people/permissions',
         '#options' => array('fragment' => 'module-' . $filename, 'attributes' => array('class' => array('module-link', 'module-link-permissions'), 'title' => t('Configure permissions'))),
       );
     }
     // Generate link for module's configuration page, if the module provides
     // one.
     if ($module->status && isset($module->info['configure'])) {
       $configure_link = menu_get_item($module->info['configure']);
       if ($configure_link['access']) {
         $extra['links']['configure'] = array(
           '#type' => 'link',
           '#title' => t('Configure'),
-          '#href' => $configure_link['href'],
+          '#path' => $configure_link['href'],
           '#options' => array('attributes' => array('class' => array('module-link', 'module-link-configure'), 'title' => $configure_link['description'])),
         );
       }
     }
 
     // Mark dependents disabled so the user cannot remove required modules.
     $dependents = array();
     // If this module is required by other modules, list those, and then make it
     // impossible to disable this one.
@@ -1973,19 +1973,19 @@ function system_date_time_settings() {
         '#options' => $choices,
       );
 
       // If this isn't a system provided type, allow the user to remove it from
       // the system.
       if ($type_info['locked'] == 0) {
         $form['formats']['delete']['date_format_' . $type . '_delete'] = array(
           '#type' => 'link',
           '#title' => t('delete'),
-          '#href' => 'admin/config/regional/date-time/types/' . $type . '/delete',
+          '#path' => 'admin/config/regional/date-time/types/' . $type . '/delete',
         );
       }
     }
   }
 
   // Display a message if no date types configured.
   $form['#empty_text'] = t('No date types available. <a href="@link">Add date type</a>.', array('@link' => url('admin/config/regional/date-time/types/add')));
 
   return system_settings_form($form, FALSE);
Index: modules/taxonomy/taxonomy.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.admin.inc,v
retrieving revision 1.92
diff -u -9 -p -r1.92 taxonomy.admin.inc
--- modules/taxonomy/taxonomy.admin.inc	18 Jan 2010 03:33:43 -0000	1.92
+++ modules/taxonomy/taxonomy.admin.inc	25 Jan 2010 22:01:18 -0000
@@ -14,21 +14,21 @@
  * @see theme_taxonomy_overview_vocabularies()
  */
 function taxonomy_overview_vocabularies($form) {
   $vocabularies = taxonomy_get_vocabularies();
   $form['#tree'] = TRUE;
   foreach ($vocabularies as $vocabulary) {
     $form[$vocabulary->vid]['#vocabulary'] = $vocabulary;
     $form[$vocabulary->vid]['name'] = array('#markup' => check_plain($vocabulary->name));
     $form[$vocabulary->vid]['weight'] = array('#type' => 'weight', '#delta' => 10, '#default_value' => $vocabulary->weight);
-    $form[$vocabulary->vid]['edit'] = array('#type' => 'link', '#title' => t('edit vocabulary'), '#href' => "admin/structure/taxonomy/$vocabulary->vid/edit");
-    $form[$vocabulary->vid]['list'] = array('#type' => 'link', '#title' => t('list terms'), '#href' => "admin/structure/taxonomy/$vocabulary->vid");
-    $form[$vocabulary->vid]['add'] = array('#type' => 'link', '#title' => t('add terms'), '#href' => "admin/structure/taxonomy/$vocabulary->vid/add");
+    $form[$vocabulary->vid]['edit'] = array('#type' => 'link', '#title' => t('edit vocabulary'), '#path' => "admin/structure/taxonomy/$vocabulary->vid/edit");
+    $form[$vocabulary->vid]['list'] = array('#type' => 'link', '#title' => t('list terms'), '#path' => "admin/structure/taxonomy/$vocabulary->vid");
+    $form[$vocabulary->vid]['add'] = array('#type' => 'link', '#title' => t('add terms'), '#path' => "admin/structure/taxonomy/$vocabulary->vid/add");
   }
 
   // Only make this form include a submit button and weight if more than one
   // vocabulary exists.
   if (count($vocabularies) > 1) {
     $form['submit'] = array('#type' => 'submit', '#value' => t('Save'));
   }
   elseif (isset($vocabulary)) {
     unset($form[$vocabulary->vid]['weight']);
@@ -346,37 +346,37 @@ function taxonomy_overview_terms($form, 
   // Build the actual form.
   foreach ($current_page as $key => $term) {
     // Save the term for the current page so we don't have to load it a second time.
     $form[$key]['#term'] = (array)$term;
     if (isset($term->parents)) {
       $form[$key]['#term']['parent'] = $term->parent = $term->parents[0];
       unset($form[$key]['#term']['parents'], $term->parents);
     }
 
-    $form[$key]['view'] = array('#type' => 'link', '#title' => $term->name, '#href' => "taxonomy/term/$term->tid");
+    $form[$key]['view'] = array('#type' => 'link', '#title' => $term->name, '#path' => "taxonomy/term/$term->tid");
     if ($vocabulary->hierarchy < 2 && count($tree) > 1) {
       $form['#parent_fields'] = TRUE;
       $form[$key]['tid'] = array(
         '#type' => 'hidden',
         '#value' => $term->tid
       );
       $form[$key]['parent'] = array(
         '#type' => 'hidden',
         // Yes, default_value on a hidden. It needs to be changeable by the javascript.
         '#default_value' => $term->parent,
       );
       $form[$key]['depth'] = array(
         '#type' => 'hidden',
         // Same as above, the depth is modified by javascript, so it's a default_value.
         '#default_value' => $term->depth,
       );
     }
-    $form[$key]['edit'] = array('#type' => 'link', '#title' => t('edit'), '#href' => 'taxonomy/term/' . $term->tid . '/edit', '#options' => array('query' => drupal_get_destination()));
+    $form[$key]['edit'] = array('#type' => 'link', '#title' => t('edit'), '#path' => 'taxonomy/term/' . $term->tid . '/edit', '#options' => array('query' => drupal_get_destination()));
   }
 
   $form['#total_entries'] = $total_entries;
   $form['#page_increment'] = $page_increment;
   $form['#page_entries'] = $page_entries;
   $form['#back_step'] = $back_step;
   $form['#forward_step'] = $forward_step;
   $form['#empty_text'] = t('No terms available. <a href="@link">Add term</a>.', array('@link' => url('admin/structure/taxonomy/' . $vocabulary->vid . '/add')));
 
Index: modules/taxonomy/taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v
retrieving revision 1.569
diff -u -9 -p -r1.569 taxonomy.module
--- modules/taxonomy/taxonomy.module	25 Jan 2010 17:04:03 -0000	1.569
+++ modules/taxonomy/taxonomy.module	25 Jan 2010 22:01:18 -0000
@@ -1134,19 +1134,19 @@ function taxonomy_field_formatter_view($
   $element = array();
 
   switch ($display['type']) {
     case 'taxonomy_term_reference_link':
       foreach ($items as $delta => $item) {
         $term = $item['taxonomy_term'];
         $element[$delta] = array(
           '#type' => 'link',
           '#title' => $term->name,
-          '#href' => 'taxonomy/term/' . $term->tid,
+          '#path' => 'taxonomy/term/' . $term->tid,
         );
       }
       break;
 
     case 'taxonomy_term_reference_plain':
       foreach ($items as $delta => $item) {
         $term = $item['taxonomy_term'];
         $element[$delta] = array(
           '#markup' => check_plain($term->name),
Index: modules/user/user.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v
retrieving revision 1.96
diff -u -9 -p -r1.96 user.admin.inc
--- modules/user/user.admin.inc	14 Jan 2010 04:04:30 -0000	1.96
+++ modules/user/user.admin.inc	25 Jan 2010 22:01:18 -0000
@@ -199,19 +199,19 @@ function user_admin_account() {
     }
     asort($users_roles);
 
     $options[$account->uid] = array(
       'username' => theme('username', array('account' => $account)),
       'status' =>  $status[$account->status],
       'roles' => theme('item_list', array('items' => $users_roles)),
       'member_for' => format_interval(REQUEST_TIME - $account->created),
       'access' =>  $account->access ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $account->access))) : t('never'),
-      'operations' => array('data' => array('#type' => 'link', '#title' => t('edit'), '#href' => "user/$account->uid/edit", '#options' => array('query' => $destination))),
+      'operations' => array('data' => array('#type' => 'link', '#title' => t('edit'), '#path' => "user/$account->uid/edit", '#options' => array('query' => $destination))),
     );
   }
 
   $form['accounts'] = array(
     '#type' => 'tableselect',
     '#header' => $header,
     '#options' => $options,
     '#empty' => t('No people available.'),
   );
