? .DS_Store
? sites/all/modules/devel
? sites/default/files
? sites/default/settings.php
Index: modules/shortcut/shortcut.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/shortcut/shortcut.admin.inc,v
retrieving revision 1.14
diff -u -p -r1.14 shortcut.admin.inc
--- modules/shortcut/shortcut.admin.inc	30 Jun 2010 15:12:59 -0000	1.14
+++ modules/shortcut/shortcut.admin.inc	6 Sep 2010 16:11:35 -0000
@@ -470,10 +470,18 @@ function _shortcut_link_form_elements($s
     '#default_value' => $shortcut_link['link_title'],
   );
 
+  $alias = drupal_get_path_alias($shortcut_link['link_path']);
+  if ($alias) {
+    $description = ' ' . t("The system path to the shortcut. When displayed the alias '%alias' will be shown.", array('%alias' => $alias));
+  }
+  else {
+    $description = t('The path to the shortcut.');
+  }
+
   $form['shortcut_link']['link_path'] = array(
     '#type' => 'textfield',
     '#title' => t('Path'),
-    '#description' => t('The path to the shortcut.'),
+    '#description' => $description,
     '#size' => 40,
     '#maxlength' => 255,
     '#field_prefix' => url(NULL, array('absolute' => TRUE)) . (variable_get('clean_url', 0) ? '' : '?q='),
@@ -504,7 +512,11 @@ function shortcut_link_edit_validate($fo
  * Submit handler for shortcut_link_edit().
  */
 function shortcut_link_edit_submit($form, &$form_state) {
+  // Normalize the path in case it is an alias.
+  $form_state['values']['shortcut_link']['link_path'] = drupal_get_normal_path($form_state['values']['shortcut_link']['link_path']);
+
   $shortcut_link = array_merge($form_state['values']['original_shortcut_link'], $form_state['values']['shortcut_link']);
+  dsm($shortcut_link);
   menu_link_save($shortcut_link);
   $form_state['redirect'] = 'admin/config/user-interface/shortcut/' . $shortcut_link['menu_name'];
   drupal_set_message(t('The shortcut %link has been updated.', array('%link' => $shortcut_link['link_title'])));
@@ -556,6 +568,9 @@ function shortcut_admin_add_link($shortc
     }
   }
 
+  // Normalize the path in case it is an alias.
+  $shortcut_link['link_path'] = drupal_get_normal_path($shortcut_link['link_path']);
+
   // Add the link to the end of the list.
   $shortcut_set->links[] = $shortcut_link;
   shortcut_set_reset_link_weights($shortcut_set);
Index: modules/shortcut/shortcut.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/shortcut/shortcut.test,v
retrieving revision 1.5
diff -u -p -r1.5 shortcut.test
--- modules/shortcut/shortcut.test	5 Aug 2010 23:53:38 -0000	1.5
+++ modules/shortcut/shortcut.test	6 Sep 2010 16:11:35 -0000
@@ -36,8 +36,10 @@ class ShortcutTestCase extends DrupalWeb
     // Create users.
     $this->admin_user = $this->drupalCreateUser(array('access toolbar', 'administer shortcuts', 'create article content', 'create page content', 'access content overview'));
     $this->shortcut_user = $this->drupalCreateUser(array('customize shortcut links', 'switch shortcut sets'));
+
     // Create a node.
     $this->node = $this->drupalCreateNode(array('type' => 'article'));
+
     // Log in as admin and grab the default shortcut set.
     $this->drupalLogin($this->admin_user);
     $this->set = shortcut_set_load(SHORTCUT_DEFAULT_SET_NAME);
@@ -114,10 +116,19 @@ class ShortcutLinksTestCase extends Shor
   function testShortcutLinkAdd() {
     $set = $this->set;
 
+    // Create an alias for the node so we can test aliases.
+    $path = array(
+      'source' => 'node/' . $this->node->nid,
+      'alias' => $this->randomName(8),
+    );
+    path_save($path);
+
+    // Create some paths to test.
     $test_cases = array(
       array('path' => 'admin'),
       array('path' => 'admin/config/system/site-information'),
       array('path' => "node/{$this->node->nid}/edit"),
+      array('path' => $path['alias']),
     );
 
     // Check that each new shortcut links where it should.
@@ -131,7 +142,7 @@ class ShortcutLinksTestCase extends Shor
       $this->assertResponse(200);
       $saved_set = shortcut_set_load($set->set_name);
       $paths = $this->getShortcutInformation($saved_set, 'link_path');
-      $this->assertTrue(in_array($test['path'], $paths), 'Shortcut created: '. $test['path']);
+      $this->assertTrue(in_array(drupal_get_normal_path($test['path']), $paths), 'Shortcut created: '. $test['path']);
       $this->assertLink($title, 0, 'Shortcut link found on the page.');
     }
   }
