diff --git a/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php b/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php
index ba9841b..5a2e3c3 100644
--- a/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php
+++ b/core/modules/menu/lib/Drupal/menu/Tests/MenuNodeTest.php
@@ -10,7 +10,7 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test menu settings for nodes.
+ * Tests menu settings for nodes.
  */
 class MenuNodeTest extends WebTestBase {
 
@@ -21,6 +21,18 @@ class MenuNodeTest extends WebTestBase {
    */
   public static $modules = array('menu');
 
+  /**
+   * An administrative user.
+   *
+   * @var
+   */
+  protected $admin_user;
+
+  /**
+   * The profile to use with this test class.
+   *
+   * @var string
+   */
   protected $profile = 'standard';
 
   public static function getInfo() {
@@ -46,7 +58,7 @@ function setUp() {
   }
 
   /**
-   * Test creating, editing, deleting menu links via node form widget.
+   * Tests creating, editing, deleting menu links via node form widget.
    */
   function testMenuNodeFormWidget() {
     // Enable Navigation menu as available menu.
@@ -114,7 +126,8 @@ function testMenuNodeFormWidget() {
     );
     menu_link_save($item);
 
-    // Assert that disabled Management menu is not shown on the node/$nid/edit page.
+    // Assert that disabled Management menu is not shown on the node/$nid/edit
+    // page.
     $this->drupalGet('node/' . $node->nid . '/edit');
     $this->assertText('Provide a menu link', 'Link in not allowed menu not shown in node edit form');
     // Assert that the link is still in the management menu after save.
@@ -136,7 +149,8 @@ function testMenuNodeFormWidget() {
     menu_link_save($child_item);
     // Edit the first node.
     $this->drupalGet('node/'. $node->nid .'/edit');
-    // Assert that it is not possible to set the parent of the first node to itself or the second node.
+    // Assert that it is not possible to set the parent of the first node to
+    // itself or the second node.
     $this->assertNoOption('edit-menu-parent', 'navigation:'. $item['mlid']);
     $this->assertNoOption('edit-menu-parent', 'navigation:'. $child_item['mlid']);
     // Assert that unallowed Management menu is not available in options.
diff --git a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
index b4cd7e7..91c22db 100644
--- a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
+++ b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
@@ -9,6 +9,9 @@
 
 use Drupal\simpletest\WebTestBase;
 
+/**
+ * Tests the menu module.
+ */
 class MenuTest extends WebTestBase {
 
   /**
@@ -18,11 +21,39 @@ class MenuTest extends WebTestBase {
    */
   public static $modules = array('menu');
 
+  /**
+   * The profile to use with this test class.
+   *
+   * @var string
+   */
   protected $profile = 'standard';
 
+  /**
+   * An administrative user.
+   *
+   * @var
+   */
   protected $big_user;
+
+  /**
+   * A standard user.
+   *
+   * @var
+   */
   protected $std_user;
+
+  /**
+   * A menu definition.
+   *
+   * @var
+   */
   protected $menu;
+
+  /**
+   * Menu items.
+   *
+   * @var
+   */
   protected $items;
 
   public static function getInfo() {
@@ -42,7 +73,10 @@ function setUp() {
   }
 
   /**
-   * Login users, add menus and menu links, and test menu functionality through the admin and user interfaces.
+   * Tests menu functionality through the admin and user interfaces.
+   *
+   * This test logs in users, adds menus and menu links, and tests menu
+   * functionality through the admin and user interfaces.
    */
   function testMenu() {
     // Login the user.
@@ -60,7 +94,8 @@ function testMenu() {
     $this->drupalLogin($this->std_user);
     $this->verifyAccess(403);
     foreach ($this->items as $item) {
-      $node = node_load(substr($item['link_path'], 5)); // Paths were set as 'node/$nid'.
+      // Paths were set as 'node/$nid'.
+      $node = node_load(substr($item['link_path'], 5));
       $this->verifyMenuLink($item, $node);
     }
 
@@ -90,8 +125,7 @@ function testMenu() {
   }
 
   /**
-   * Test standard menu functionality using navigation menu.
-   *
+   * Tests standard menu functionality using navigation menu.
    */
   function doStandardMenuTests() {
     $this->doMenuTests();
@@ -99,8 +133,7 @@ function doStandardMenuTests() {
   }
 
   /**
-   * Test custom menu functionality using navigation menu.
-   *
+   * Tests custom menu functionality using navigation menu.
    */
   function doCustomMenuTests() {
     $this->menu = $this->addCustomMenu();
@@ -110,7 +143,7 @@ function doCustomMenuTests() {
   }
 
   /**
-   * Add custom menu using CRUD functions.
+   * Tests the addition of custom menu using CRUD functions.
    */
   function addCustomMenuCRUD() {
     // Add a new custom menu.
@@ -137,7 +170,7 @@ function addCustomMenuCRUD() {
   }
 
   /**
-   * Add custom menu.
+   * Tests the addition of a custom menu.
    */
   function addCustomMenu() {
     // Add custom menu.
@@ -153,7 +186,8 @@ function addCustomMenu() {
     );
     $this->drupalPost('admin/structure/menu/add', $edit, t('Save'));
 
-    // Verify that using a menu_name that is too long results in a validation message.
+    // Verify that using a menu_name that is too long results in a validation
+    // message.
     $this->assertRaw(t('!name cannot be longer than %max characters but is currently %length characters long.', array(
       '!name' => t('Menu name'),
       '%max' => MENU_MAX_MENU_NAME_LENGTH_UI,
@@ -188,9 +222,10 @@ function addCustomMenu() {
   }
 
   /**
-   * Delete custom menu.
+   * Tests the deletion of a custom menu.
    *
-   * @param string $menu_name Custom menu name.
+   * @param string $menu_name
+   *   A custom menu name.
    */
   function deleteCustomMenu($menu) {
     $menu_name = $this->menu['menu_name'];
@@ -207,8 +242,10 @@ function deleteCustomMenu($menu) {
   }
 
   /**
-   * Test menu functionality using navigation menu.
+   * Tests menu functionality using navigation menu.
    *
+   * @param $menu_name
+   *   (optional) The name of menu. Defaults to 'navigation'.
    */
   function doMenuTests($menu_name = 'navigation') {
     // Add nodes to use as links for menu links.
@@ -254,7 +291,7 @@ function doMenuTests($menu_name = 'navigation') {
     $this->assertMenuLink($item3['mlid'], array('depth' => 4, 'has_children' => 0, 'p1' => $item4['mlid'], 'p2' => $item5['mlid'], 'p3' => $item2['mlid'], 'p4' => $item3['mlid'], 'p5' => 0));
 
     // Add 102 menu links with increasing weights, then make sure the last-added
-    // item's weight doesn't get changed because of the old hardcoded delta=50
+    // item's weight doesn't get changed because of the old hardcoded delta=50.
     $items = array();
     for ($i = -50; $i <= 51; $i++) {
       $items[$i] = $this->addMenuLink(0, 'node/' . $node1->nid, $menu_name, TRUE, strval($i));
@@ -279,7 +316,7 @@ function doMenuTests($menu_name = 'navigation') {
   }
 
   /**
-   * Add and remove a menu link with a query string and fragment.
+   * Tests addition and removal of a menu link with a query string and fragment.
    */
   function testMenuQueryAndFragment() {
     $this->drupalLogin($this->big_user);
@@ -299,13 +336,22 @@ function testMenuQueryAndFragment() {
   }
 
   /**
-   * Add a menu link using the menu module UI.
+   * Tests the addition of a menu link using the menu module UI.
    *
-   * @param integer $plid Parent menu link id.
-   * @param string $link Link path.
-   * @param string $menu_name Menu name.
-   * @param string $weight Menu weight
-   * @return array Menu link created.
+   * @param integer $plid
+   *   (optional) Parent menu link id. Defaults to zero.
+   * @param string $link
+   *   (optional) Link path. Defaults to '<front>'.
+   * @param string $menu_name
+   *   (optional) Menu name. Defaults to 'navigation'.
+   * @param bool $expanded
+   *   (optional) A boolean indicating whether the meny should be expanded.
+   *   Defautls to TRUE.
+   * @param string $weight
+   *   (optional) Menu weight.  Defaults to '0'.
+   *
+   * @return array
+   *   The cretaed menu link.
    */
   function addMenuLink($plid = 0, $link = '<front>', $menu_name = 'navigation', $expanded = TRUE, $weight = '0') {
     // View add menu link page.
@@ -317,8 +363,11 @@ function addMenuLink($plid = 0, $link = '<front>', $menu_name = 'navigation', $e
       'link_path' => $link,
       'link_title' => $title,
       'description' => '',
-      'enabled' => TRUE, // Use this to disable the menu and test.
-      'expanded' => $expanded, // Setting this to true should test whether it works when we do the std_user tests.
+      // Use this to disable the menu and test.
+      'enabled' => TRUE,
+      // Setting this to true should test whether it works when we do the
+      // std_user tests.
+      'expanded' => $expanded,
       'parent' =>  $menu_name . ':' . $plid,
       'weight' => $weight,
     );
@@ -337,9 +386,10 @@ function addMenuLink($plid = 0, $link = '<front>', $menu_name = 'navigation', $e
   }
 
   /**
-   * Attempt to add menu link with invalid path or no access permission.
+   * Attempts to add menu link with invalid path or no access permission.
    *
-   * @param string $menu_name Menu name.
+   * @param string $menu_name
+   *   (optional) The menu name. Defaults to 'navigation'.
    */
   function addInvalidMenuLink($menu_name = 'navigation') {
     foreach (array('-&-', 'admin/people/permissions', '#') as $link_path) {
@@ -353,12 +403,16 @@ function addInvalidMenuLink($menu_name = 'navigation') {
   }
 
   /**
-   * Verify a menu link using the menu module UI.
+   * Verifies a menu link using the menu module UI.
    *
-   * @param array $item Menu link.
-   * @param object $item_node Menu link content node.
-   * @param array $parent Parent menu link.
-   * @param object $parent_node Parent menu link content node.
+   * @param array $item
+   *   A menu link.
+   * @param object $item_node
+   *   Menu link content node.
+   * @param array $parent
+   *   (optional) Parent menu link. Defaults to NULL.
+   * @param object $parent_node
+   *   (optional) Parent menu link content node. Defaults to NULL.
    */
   function verifyMenuLink($item, $item_node, $parent = NULL, $parent_node = NULL) {
     // View home page.
@@ -388,7 +442,14 @@ function verifyMenuLink($item, $item_node, $parent = NULL, $parent_node = NULL)
   }
 
   /**
-   * Change the parent of a menu link using the menu module UI.
+   * Changes the parent of a menu link using the menu module UI.
+   *
+   * @param array $item
+   *   A menu link.
+   * @param integer $plid
+   *   Parent menu link id.
+   * @param string $menu_name
+   *   Menu name.
    */
   function moveMenuLink($item, $plid, $menu_name) {
     $mlid = $item['mlid'];
@@ -401,9 +462,10 @@ function moveMenuLink($item, $plid, $menu_name) {
   }
 
   /**
-   * Modify a menu link using the menu module UI.
+   * Modifies a menu link using the menu module UI.
    *
-   * @param array $item Menu link passed by reference.
+   * @param array $item
+   *   Menu link passed by reference.
    */
   function modifyMenuLink(&$item) {
     $item['link_title'] = $this->randomName(16);
@@ -424,10 +486,12 @@ function modifyMenuLink(&$item) {
   }
 
   /**
-   * Reset a standard menu link using the menu module UI.
+   * Resets a standard menu link using the menu module UI.
    *
-   * @param array $item Menu link.
-   * @param string $old_title Original title for menu link.
+   * @param array $item
+   *   Menu link.
+   * @param string $old_title
+   *   Original title for menu link.
    */
   function resetMenuLink($item, $old_title) {
     $mlid = $item['mlid'];
@@ -445,9 +509,10 @@ function resetMenuLink($item, $old_title) {
   }
 
   /**
-   * Delete a menu link using the menu module UI.
+   * Deletes a menu link using the menu module UI.
    *
-   * @param array $item Menu link.
+   * @param array $item
+   *   Menu link.
    */
   function deleteMenuLink($item) {
     $mlid = $item['mlid'];
@@ -464,9 +529,9 @@ function deleteMenuLink($item) {
   }
 
   /**
-   * Alternately disable and enable a menu link.
+   * Disables and enables a menu link alternatively.
    *
-   * @param $item
+   * @param array $item
    *   Menu link.
    */
   function toggleMenuLink($item) {
@@ -483,9 +548,9 @@ function toggleMenuLink($item) {
   }
 
   /**
-   * Disable a menu link.
+   * Disables a menu link.
    *
-   * @param $item
+   * @param array $item
    *   Menu link.
    */
   function disableMenuLink($item) {
@@ -499,9 +564,9 @@ function disableMenuLink($item) {
   }
 
   /**
-   * Enable a menu link.
+   * Enables a menu link.
    *
-   * @param $item
+   * @param array $item
    *   Menu link.
    */
   function enableMenuLink($item) {
@@ -514,12 +579,11 @@ function enableMenuLink($item) {
   }
 
   /**
-   * Fetch the menu item from the database and compare it to the specified
-   * array.
+   * Fetches the menu item from database and compares it to specified array.
    *
    * @param $mlid
    *   Menu item id.
-   * @param $item
+   * @param $expected_item
    *   Array containing properties to verify.
    */
   function assertMenuLink($mlid, array $expected_item) {
@@ -538,7 +602,10 @@ function assertMenuLink($mlid, array $expected_item) {
   }
 
   /**
-   * Get standard menu link.
+   * Gets standard menu link.
+   *
+   * @return
+   *   A standard menu link.
    */
   private function getStandardMenuLink() {
     // Retrieve menu link id of the Log out menu link, which will always be on the front page.
@@ -552,9 +619,10 @@ private function getStandardMenuLink() {
   }
 
   /**
-   * Verify the logged in user has the desired access to the various menu nodes.
+   * Verifies the logged in user has the desired access to various menu nodes.
    *
-   * @param integer $response HTTP response code.
+   * @param integer $response
+   *   (optional) The HTTP response code. Defaults to 200.
    */
   private function verifyAccess($response = 200) {
     // View menu help node.
diff --git a/core/modules/menu/menu.admin.css b/core/modules/menu/menu.admin.css
index 8717aca..f922cd6 100644
--- a/core/modules/menu/menu.admin.css
+++ b/core/modules/menu/menu.admin.css
@@ -1,3 +1,7 @@
+/**
+ * @file
+ * CSS for the menu overview form.
+ */
 .menu-operations {
   width: 100px;
 }
diff --git a/core/modules/menu/menu.admin.inc b/core/modules/menu/menu.admin.inc
index fc38caa..0aab671 100644
--- a/core/modules/menu/menu.admin.inc
+++ b/core/modules/menu/menu.admin.inc
@@ -8,7 +8,12 @@
 use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
 
 /**
- * Menu callback which shows an overview page of all the custom menus and their descriptions.
+ * Page callback: Shows an overview page of all the custom menus.
+ *
+ * @return
+ *   An HTML string containing a themed table of all custom menus.
+ *
+ * @see menu_menu()
  */
 function menu_overview_page() {
   $result = db_query("SELECT * FROM {menu_custom} ORDER BY title", array(), array('fetch' => PDO::FETCH_ASSOC));
@@ -43,10 +48,17 @@ function theme_menu_admin_overview($variables) {
 }
 
 /**
- * Form for editing an entire menu tree at once.
+ * Form constructor for the menu overview form.
+ *
+ * Shows a custom menu's menu links that are accessible to the current user and
+ * relevant operations. Allows editing an entire menu tree at once.
  *
- * Shows for one menu the menu links accessible to the current user and
- * relevant operations.
+ * @param $menu
+ *   An array defining a custom menu.
+ *
+ * @see menu_menu()
+ * @see menu_overview_form_submit()
+ * @ingroup forms
  */
 function menu_overview_form($form, &$form_state, $menu) {
   global $menu_admin;
@@ -87,12 +99,16 @@ function menu_overview_form($form, &$form_state, $menu) {
 }
 
 /**
- * Recursive helper function for menu_overview_form().
+ * Helps menu_overview_form() build the menu overview form.
  *
  * @param $tree
- *   The menu_tree retrieved by menu_tree_data.
+ *   The array of menu items retrieved by menu_tree_data().
  * @param $delta
- *   The default number of menu items used in the menu weight selector is 50.
+ *   (optional) The default number of items to use in the menu weight selector.
+ *   Defaults to 50.
+ *
+ * @return
+ *   An array containing a tree of menu item form elements.
  */
 function _menu_overview_tree_form($tree, $delta = 50) {
   $form = &drupal_static(__FUNCTION__, array('#tree' => TRUE));
@@ -155,12 +171,13 @@ function _menu_overview_tree_form($tree, $delta = 50) {
 }
 
 /**
- * Submit handler for the menu overview form.
+ * Form submission handler for menu_overview_form().
  *
  * This function takes great care in saving parent items first, then items
  * underneath them. Saving items in the incorrect order can break the menu tree.
  *
  * @see menu_overview_form()
+ * @ingroup forms
  */
 function menu_overview_form_submit($form, &$form_state) {
   // When dealing with saving menu items, the order in which these items are
@@ -169,8 +186,11 @@ function menu_overview_form_submit($form, &$form_state) {
   // parent. To prevent this, save items in the form in the same order they
   // are sent by $_POST, ensuring parents are saved first, then their children.
   // See http://drupal.org/node/181126#comment-632270
-  $order = array_flip(array_keys($form_state['input'])); // Get the $_POST order.
-  $form = array_intersect_key(array_merge($order, $form), $form); // Update our original form with the new order.
+
+  // Get the $_POST order.
+  $order = array_flip(array_keys($form_state['input']));
+  // Update our original form with the new order.
+  $form = array_intersect_key(array_merge($order, $form), $form);
 
   $updated_items = array();
   $fields = array('weight', 'plid');
@@ -265,7 +285,22 @@ function theme_menu_overview_form($variables) {
 }
 
 /**
- * Menu callback; Build the menu link editing form.
+ * Form constructor for the menu link adding and editing form.
+ *
+ * @param $type
+ *   The type of operation being done, 'add' or 'edit'.
+ * @param $item
+ *   When $type is 'edit', an array representing the menu item; when $type is
+ *   'add', NULL.
+ * @param $menu
+ *   When $type is 'add', an array representing the menu the link will be added
+ *   to; when $type is 'edit', NULL.
+ *
+ * @see menu_edit_item_submit()
+ * @see menu_edit_item_validate()
+ * @see menu_item_delete_submit()
+ * @see menu_menu()
+ * @ingroup forms
  */
 function menu_edit_item($form, &$form_state, $type, $item, $menu) {
   if ($type == 'add' || empty($item)) {
@@ -388,7 +423,9 @@ function menu_edit_item($form, &$form_state, $type, $item, $menu) {
 }
 
 /**
- * Validate form values for a menu link being added or edited.
+ * Form validation handler for menu_edit_item().
+ *
+ * @see menu_edit_item_submit()
  */
 function menu_edit_item_validate($form, &$form_state) {
   $item = &$form_state['values'];
@@ -423,20 +460,22 @@ function menu_edit_item_validate($form, &$form_state) {
 }
 
 /**
- * Submit function for the delete button on the menu item editing form.
+ * Form submission handler for the delete button on menu_edit_item().
  */
 function menu_item_delete_submit($form, &$form_state) {
   $form_state['redirect'] = 'admin/structure/menu/item/' . $form_state['values']['mlid'] . '/delete';
 }
 
 /**
- * Process menu and menu item add/edit form submissions.
+ * Form submission handler for menu_edit_item().
+ *
+ * @see menu_edit_item_validate()
  */
 function menu_edit_item_submit($form, &$form_state) {
   $item = &$form_state['values'];
 
-  // The value of "hidden" is the opposite of the value
-  // supplied by the "enabled" checkbox.
+  // The value of "hidden" is the opposite of the value supplied by the
+  // "enabled" checkbox.
   $item['hidden'] = (int) !$item['enabled'];
   unset($item['enabled']);
 
@@ -452,7 +491,18 @@ function menu_edit_item_submit($form, &$form_state) {
 }
 
 /**
- * Menu callback; Build the form that handles the adding/editing of a custom menu.
+ * Form constructor for adding or editing a custom menu.
+ *
+ * @param $type
+ *   The type of operation being done, 'add' or 'edit'.
+ * @param $menu
+ *   (optional) When $type is 'edit', an array representing the menu that is to
+ *   be edited. Defaults to empty array.
+ *
+ * @see menu_custom_delete_submit()
+ * @see menu_edit_menu_submit()
+ * @see menu_menu()
+ * @ingroup forms
  */
 function menu_edit_menu($form, &$form_state, $type, $menu = array()) {
   $system_menus = menu_list_system_menus();
@@ -518,14 +568,23 @@ function menu_edit_menu($form, &$form_state, $type, $menu = array()) {
 }
 
 /**
- * Submit function for the 'Delete' button on the menu editing form.
+ * Form submission handler for the 'Delete' button on menu_edit_menu().
  */
 function menu_custom_delete_submit($form, &$form_state) {
   $form_state['redirect'] = 'admin/structure/menu/manage/' . $form_state['values']['menu_name'] . '/delete';
 }
 
 /**
- * Menu callback; check access and get a confirm form for deletion of a custom menu.
+ * Page callback: Gets a confirmation form for the deletion of a custom menu.
+ *
+ * @param $menu
+ *   An array representing the custom menu.
+ *
+ * @return array
+ *   A renderable array.
+ *
+ * @see menu_delete_menu_confirm()
+ * @see menu_menu()
  */
 function menu_delete_menu_page($menu) {
   // System-defined menus may not be deleted.
@@ -537,7 +596,13 @@ function menu_delete_menu_page($menu) {
 }
 
 /**
- * Build a confirm form for deletion of a custom menu.
+ * Form constructor for a confirmation form for deleting a custom menu.
+ *
+ * @param $menu
+ *   An array representing the custom menu.
+ *
+ * @see menu_delete_menu_confirm_submit()
+ * @ingroup forms
  */
 function menu_delete_menu_confirm($form, &$form_state, $menu) {
   $form['#menu'] = $menu;
@@ -551,7 +616,9 @@ function menu_delete_menu_confirm($form, &$form_state, $menu) {
 }
 
 /**
- * Delete a custom menu and all links in it.
+ * Form submission handler for menu_delete_menu_confirm().
+ *
+ * Deletes a custom menu and all links in it.
  */
 function menu_delete_menu_confirm_submit($form, &$form_state) {
   $menu = $form['#menu'];
@@ -584,10 +651,15 @@ function menu_delete_menu_confirm_submit($form, &$form_state) {
 }
 
 /**
- * Returns whether a menu name already exists.
+ * Checks whether a menu name already exists.
+ *
+ * @param $value
+ *   The menu name.
+ *
+ * @return
+ *   TRUE if the menu name already exists; FALSE otherwise.
  *
  * @see menu_edit_menu()
- * @see form_validate_machine_name()
  */
 function menu_edit_menu_name_exists($value) {
   // 'menu-' is added to the menu name to avoid name-space conflicts.
@@ -599,7 +671,9 @@ function menu_edit_menu_name_exists($value) {
 }
 
 /**
- * Submit function for adding or editing a custom menu.
+ * Form submission handler for menu_edit_menu()
+ *
+ * Handles adding or editing a custom menu.
  */
 function menu_edit_menu_submit($form, &$form_state) {
   $menu = $form_state['values'];
@@ -634,7 +708,16 @@ function menu_edit_menu_submit($form, &$form_state) {
 }
 
 /**
- * Menu callback; Check access and present a confirm form for deleting a menu link.
+ * Page callback: Confirms deletion of a menu link.
+ *
+ * @param $item
+ *   An array representing the menu link.
+ *
+ * @return aray
+ *   A renderable array.
+ *
+ * @see menu_item_delete_form()
+ * @see menu_menu()
  */
 function menu_item_delete_page($item) {
   // Links defined via hook_menu may not be deleted. Updated items are an
@@ -646,7 +729,13 @@ function menu_item_delete_page($item) {
 }
 
 /**
- * Build a confirm form for deletion of a single menu link.
+ * Form constructor for a confirmation form for deleting a single menu link.
+ *
+ * @param $item
+ *   An array representing the menu link.
+ *
+ * @see menu_item_delete_form_submit()
+ * @ingroup forms
  */
 function menu_item_delete_form($form, &$form_state, $item) {
   $form['#item'] = $item;
@@ -654,7 +743,7 @@ function menu_item_delete_form($form, &$form_state, $item) {
 }
 
 /**
- * Process menu delete form submissions.
+ * Form submission handler for menu_item_delete_form().
  */
 function menu_item_delete_form_submit($form, &$form_state) {
   $item = $form['#item'];
@@ -666,7 +755,14 @@ function menu_item_delete_form_submit($form, &$form_state) {
 }
 
 /**
- * Menu callback; reset a single modified menu link.
+ * Form constructor to confirm resetting a single modified menu link.
+ *
+ * @param $item
+ *   An array representing the menu link.
+ *
+ * @see menu_menu()
+ * @see menu_reset_item_confirm_submit()
+ * @ingroup forms
  */
 function menu_reset_item_confirm($form, &$form_state, $item) {
   $form['item'] = array('#type' => 'value', '#value' => $item);
@@ -674,7 +770,7 @@ function menu_reset_item_confirm($form, &$form_state, $item) {
 }
 
 /**
- * Process menu reset item form submissions.
+ * Form submission handler for menu_reset_item_confirm().
  */
 function menu_reset_item_confirm_submit($form, &$form_state) {
   $item = $form_state['values']['item'];
@@ -684,10 +780,11 @@ function menu_reset_item_confirm_submit($form, &$form_state) {
 }
 
 /**
- * Menu callback; Build the form presenting menu configuration options.
+ * Form constructor for the menu configuration form.
  *
- * @ingroup forms
  * @see menu_configure_submit()
+ * @see menu_menu()
+ * @ingroup forms
  */
 function menu_configure($form, &$form_state) {
   $config = config('menu.settings');
diff --git a/core/modules/menu/menu.admin.js b/core/modules/menu/menu.admin.js
index d6a228a..8e6a43c 100644
--- a/core/modules/menu/menu.admin.js
+++ b/core/modules/menu/menu.admin.js
@@ -1,3 +1,7 @@
+/**
+ * @file
+ * Adds menu options to the node type form.
+ */
 (function ($) {
 
 "use strict";
diff --git a/core/modules/menu/menu.api.php b/core/modules/menu/menu.api.php
index 3f3818e..22256e1 100644
--- a/core/modules/menu/menu.api.php
+++ b/core/modules/menu/menu.api.php
@@ -11,7 +11,7 @@
  */
 
 /**
- * Informs modules that a custom menu was created.
+ * Responds to custom menu creation.
  *
  * This hook is used to notify modules that a custom menu has been created.
  * Contributed modules may use the information to perform actions based on the
@@ -23,8 +23,8 @@
  *   - title: The human readable menu title.
  *   - description: The custom menu description.
  *
- * @see hook_menu_update()
  * @see hook_menu_delete()
+ * @see hook_menu_update()
  */
 function hook_menu_insert($menu) {
   // For example, we track available menus in a variable.
@@ -34,7 +34,7 @@ function hook_menu_insert($menu) {
 }
 
 /**
- * Informs modules that a custom menu was updated.
+ * Responds to a custom menu update.
  *
  * This hook is used to notify modules that a custom menu has been updated.
  * Contributed modules may use the information to perform actions based on the
@@ -43,7 +43,7 @@ function hook_menu_insert($menu) {
  * @param $menu
  *   An array representing a custom menu:
  *   - menu_name: The unique name of the custom menu.
- *   - title: The human readable menu title.
+ *   - title: The human-readable menu title.
  *   - description: The custom menu description.
  *   - old_name: The current 'menu_name'. Note that internal menu names cannot
  *     be changed after initial creation.
@@ -59,17 +59,17 @@ function hook_menu_update($menu) {
 }
 
 /**
- * Informs modules that a custom menu was deleted.
+ * Responds to custom menu deletion.
  *
  * This hook is used to notify modules that a custom menu along with all links
  * contained in it (if any) has been deleted. Contributed modules may use the
  * information to perform actions based on the information entered into the menu
  * system.
  *
- * @param $link
+ * @param $menu
  *   An array representing a custom menu:
  *   - menu_name: The unique name of the custom menu.
- *   - title: The human readable menu title.
+ *   - title: The human-readable menu title.
  *   - description: The custom menu description.
  *
  * @see hook_menu_insert()
diff --git a/core/modules/menu/menu.js b/core/modules/menu/menu.js
index 1990374..16bf5cc 100644
--- a/core/modules/menu/menu.js
+++ b/core/modules/menu/menu.js
@@ -1,3 +1,7 @@
+/**
+ * @file
+ * Adds menu fields to the node form.
+ */
 (function ($) {
 
 "use strict";
@@ -17,7 +21,7 @@ Drupal.behaviors.menuFieldsetSummaries = {
 };
 
 /**
- * Automatically fill in a menu link title, if possible.
+ * Fills in a menu link title automatically, if possible.
  */
 Drupal.behaviors.menuLinkAutomaticTitle = {
   attach: function (context) {
@@ -33,8 +37,9 @@ Drupal.behaviors.menuLinkAutomaticTitle = {
       if (!($checkbox.length && $link_title.length && $title.length)) {
         return;
       }
-      // If there is a link title already, mark it as overridden. The user expects
-      // that toggling the checkbox twice will take over the node's title.
+      // If there is a link title already, mark it as overridden. The user
+      // expects that toggling the checkbox twice will take over the node's
+      // title.
       if ($checkbox.is(':checked') && $link_title.val().length) {
         $link_title.data('menuLinkAutomaticTitleOveridden', true);
       }
diff --git a/core/modules/menu/menu.module b/core/modules/menu/menu.module
index cee4ba5..8e995a4 100644
--- a/core/modules/menu/menu.module
+++ b/core/modules/menu/menu.module
@@ -16,8 +16,9 @@
 use Symfony\Component\HttpFoundation\JsonResponse;
 
 /**
- * Maximum length of menu name as entered by the user. Database length is 32
- * and we add a menu- prefix.
+ * Maximum length of menu name as entered by the user.
+ *
+ * Database length is 32 and we add a menu- prefix.
  */
 const MENU_MAX_MENU_NAME_LENGTH_UI = 27;
 
@@ -179,7 +180,7 @@ function menu_theme() {
 /**
  * Implements hook_enable().
  *
- * Add a link for each custom menu.
+ * Adds a link for each custom menu.
  */
 function menu_enable() {
   menu_router_rebuild();
@@ -188,7 +189,8 @@ function menu_enable() {
   $base_link['module'] = 'menu';
   $result = db_query("SELECT * FROM {menu_custom}", array(), array('fetch' => PDO::FETCH_ASSOC));
   foreach ($result as $menu) {
-    // $link is passed by reference to menu_link_save(), so we make a copy of $base_link.
+    // $link is passed by reference to menu_link_save(), so we make a copy of
+    // $base_link.
     $link = $base_link;
     $link['mlid'] = 0;
     $link['link_title'] = $menu['title'];
@@ -206,17 +208,26 @@ function menu_enable() {
 }
 
 /**
- * Title callback for the menu overview page and links.
+ * Title callback: Returns a title for the menu overview page and links.
+ *
+ * @param $menu
+ *   An array defining a custom menu.
+ *
+ * @return
+ *   An unsanitized string that is the title of a custom menu.
+ *
+ * @see menu_menu()
  */
 function menu_overview_title($menu) {
   return $menu['title'];
 }
 
 /**
- * Load the data for a single custom menu.
+ * Loads the data for a single custom menu.
  *
  * @param $menu_name
  *   The unique name of a custom menu to load.
+ *
  * @return
  *   Array defining the custom menu, or FALSE if the menu doesn't exist.
  */
@@ -226,7 +237,7 @@ function menu_load($menu_name) {
 }
 
 /**
- * Load all custom menu data.
+ * Loads all custom menu data.
  *
  * @return
  *   Array of custom menu data.
@@ -246,18 +257,18 @@ function menu_load_all() {
 }
 
 /**
- * Save a custom menu.
+ * Saves a custom menu.
+ *
+ * Modules should always pass a fully populated $menu when saving a custom menu,
+ * so other modules are able to output proper status or watchdog messages.
  *
  * @param $menu
  *   An array representing a custom menu:
  *   - menu_name: The unique name of the custom menu (composed of lowercase
  *     letters, numbers, and hyphens).
- *   - title: The human readable menu title.
+ *   - title: The human-readable menu title.
  *   - description: The custom menu description.
  *
- * Modules should always pass a fully populated $menu when saving a custom
- * menu, so other modules are able to output proper status or watchdog messages.
- *
  * @see menu_load()
  */
 function menu_save($menu) {
@@ -291,7 +302,7 @@ function menu_save($menu) {
 }
 
 /**
- * Delete a custom menu and all contained links.
+ * Deletes a custom menu and all contained links.
  *
  * Note that this function deletes all menu links in a custom menu. While menu
  * links derived from router paths may be restored by rebuilding the menu, all
@@ -299,20 +310,20 @@ function menu_save($menu) {
  * function should usually be called from a user interface (form submit) handler
  * only, which allows the user to confirm the action.
  *
+ * menu_delete_links() will take care of clearing the page cache. Other modules
+ * should take care of their menu-related data by implementing
+ * hook_menu_delete().
+ *
+ * Modules should always pass a fully populated $menu when deleting a custom
+ * menu, so other modules are able to output proper status or watchdog messages.
+ *
  * @param $menu
  *   An array representing a custom menu:
  *   - menu_name: The unique name of the custom menu.
  *   - title: The human readable menu title.
  *   - description: The custom menu description.
  *
- * Modules should always pass a fully populated $menu when deleting a custom
- * menu, so other modules are able to output proper status or watchdog messages.
- *
  * @see menu_load()
- *
- * menu_delete_links() will take care of clearing the page cache. Other modules
- * should take care of their menu-related data by implementing
- * hook_menu_delete().
  */
 function menu_delete($menu) {
   // Delete all links from the menu.
@@ -337,19 +348,20 @@ function menu_delete($menu) {
 }
 
 /**
- * Return a list of menu items that are valid possible parents for the given menu item.
+ * Returns a list of valid possible parents for the given menu item.
  *
  * @param $menus
  *   An array of menu names and titles, such as from menu_get_menus().
  * @param $item
- *   The menu item or the node type for which to generate a list of parents.
- *   If $item['mlid'] == 0 then the complete tree is returned.
+ *   The menu item or the node type for which to generate a list of parents. If
+ *   $item['mlid'] == 0 then the complete tree is returned.
  * @param $type
- *   The node type for which to generate a list of parents.
- *   If $item itself is a node type then $type is ignored.
+ *   (optional) The node type for which to generate a list of parents. If $item
+ *   itself is a node type then $type is ignored. Defaults to an empty string.
+ *
  * @return
  *   An array of menu link titles keyed on the a string containing the menu name
- *   and mlid. The list excludes the given item and its children.
+ *   and menu link ID. The list excludes the given item and its children.
  *
  * @todo This has to be turned into a #process form element callback. The
  *   'menu_override_parent_selector' variable is entirely superfluous.
@@ -386,8 +398,14 @@ function menu_parent_options($menus, $item, $type = '') {
 }
 
 /**
- * Page callback.
- * Get all the available menus and menu items as a JavaScript array.
+ * Page callback: Gets all the available menus and menu items.
+ *
+ * The menus and menu items are output as a JavaScript array.
+ *
+ * @return Symfony\Component\HttpFoundation\JsonResponse
+ *   A JSON response object.
+ *
+ * @see menu_menu()
  */
 function menu_parent_options_js() {
   $available_menus = array();
@@ -402,8 +420,20 @@ function menu_parent_options_js() {
 }
 
 /**
- * Helper function to get the items of the given menu.
+ * Gets the items of the given menus.
+ *
+ * @param $menus
+ *   An array of menu names and titles, such as from menu_get_menus().
+ * @param $available_menus
+ *   An array of menu names and titles of menus that $item can be assigned to.
+ * @param $item
+ *   The menu item for which to generate a list of parents. If
+ *   $item['mlid'] == 0 then the complete tree is returned.
+ *
+ * @return
+ *   An array of menu items to be used as options in a select form element.
  */
+
 function _menu_get_options($menus, $available_menus, $item) {
   // If the item has children, there is an added limit to the depth of valid parents.
   if (isset($item['parent_depth_limit'])) {
@@ -425,7 +455,23 @@ function _menu_get_options($menus, $available_menus, $item) {
 }
 
 /**
- * Recursive helper function for menu_parent_options().
+ * Adds menu links to an option array.
+ *
+ * Helper function for menu_parent_options().
+ *
+ * @param $tree
+ *   A tree of menu links in an array.
+ * @param $menu_name
+ *   The name of the menu represented in $tree.
+ * @param $indent
+ *   Text to prefix indented menu items with.
+ * @param $options
+ *   An array of menu items to be used as options in a select form element.
+ *   This array is updated by reference.
+ * @param $exclude
+ *   A menu link ID to exclude from the options.
+ * @param $depth_limit
+ *   Maximum depth of links to retrieve.
  */
 function _menu_parents_recurse($tree, $menu_name, $indent, &$options, $exclude, $depth_limit) {
   foreach ($tree as $data) {
@@ -447,7 +493,13 @@ function _menu_parents_recurse($tree, $menu_name, $indent, &$options, $exclude,
 }
 
 /**
- * Reset a system-defined menu link.
+ * Resets a system-defined menu link.
+ *
+ * @param $link
+ *   The link that is to be reset.
+ *
+ * @return
+ *   The link after it has been reset.
  */
 function menu_reset_item($link) {
   // To reset the link to its original values, we need to retrieve its
@@ -475,8 +527,8 @@ function menu_block_info() {
   $blocks = array();
   foreach ($menus as $name => $title) {
     $blocks[$name]['info'] = check_plain($title);
-    // Menu blocks can't be cached because each menu item can have
-    // a custom access callback. menu.inc manages its own caching.
+    // Menu blocks cannot be cached because each menu item can have a custom
+    // access callback. menu.inc manages its own caching.
     $blocks[$name]['cache'] = DRUPAL_NO_CACHE;
   }
   return $blocks;
@@ -524,7 +576,12 @@ function menu_node_update(Node $node) {
 }
 
 /**
+ * Updates menus when a node is saved.
+ *
  * Helper for hook_node_insert() and hook_node_update().
+ *
+ * @param $node
+ *   The node that is being saved.
  */
 function menu_node_save(Node $node) {
   if (isset($node->menu)) {
@@ -614,7 +671,13 @@ function menu_node_prepare(Node $node) {
 }
 
 /**
- * Find the depth limit for items in the parent select.
+ * Finds the depth limit for items in the parent select.
+ *
+ * @param $item
+ *   An array representing a menu link.
+ *
+ * @return
+ *   The depth limit.
  */
 function _menu_parent_depth_limit($item) {
   return MENU_MAX_DEPTH - 1 - (($item['mlid'] && $item['has_children']) ? menu_link_children_relative_depth($item) : 0);
@@ -628,14 +691,15 @@ function _menu_parent_depth_limit($item) {
  * @see menu_node_submit()
  */
 function menu_form_node_form_alter(&$form, $form_state) {
-  // Generate a list of possible parents (not including this link or descendants).
+  // Generate a list of possible parents (not including this link or
+  // descendants).
   // @todo This must be handled in a #process handler.
   $node = $form_state['controller']->getEntity($form_state);
   $link = $node->menu;
   $type = $node->type;
   // menu_parent_options() is goofy and can actually handle either a menu link
-  // or a node type both as second argument. Pick based on whether there is
-  // a link already (menu_node_prepare() sets mlid default to 0).
+  // or a node type both as second argument. Pick based on whether there is a
+  // link already (menu_node_prepare() sets mlid default to 0).
   $options = menu_parent_options(menu_get_menus(), $link['mlid'] ? $link : $type, $type);
   // If no possible parent menu items were found, there is nothing to display.
   if (empty($options)) {
@@ -716,7 +780,7 @@ function menu_form_node_form_alter(&$form, $form_state) {
     }
   }
   if ($delta < 50) {
-    // Old hardcoded value
+    // Old hardcoded value.
     $delta = 50;
   }
   $form['menu']['link']['weight'] = array(
@@ -780,8 +844,8 @@ function menu_form_node_type_form_alter(&$form, $form_state) {
     '#attributes' => array('class' => array('menu-title-select')),
   );
 
-  // Call Drupal.menuUpdateParentList() to filter the list of
-  // available default parent menu items based on the selected menus.
+  // Call Drupal.menuUpdateParentList() to filter the list of available default
+  // parent menu items based on the selected menus.
   drupal_add_js(
     '(function ($) { Drupal.menuUpdateParentList(); })(jQuery);',
     array('scope' => 'footer', 'type' => 'inline')
@@ -789,11 +853,12 @@ function menu_form_node_type_form_alter(&$form, $form_state) {
 }
 
 /**
- * Return an associative array of the custom menus names.
+ * Returns an associative array of the custom menu names.
  *
  * @param $all
- *   If FALSE return only user-added menus, or if TRUE also include
- *   the menus defined by the system.
+ *   (optional) If FALSE return only user-added menus, or if TRUE also include
+ *   the menus defined by the system.  Defaults to TRUE.
+ *
  * @return
  *   An array with the machine-readable names as the keys, and human-readable
  *   titles as the values.
