Index: src/wp-includes/general-template.php
===================================================================
--- src/wp-includes/general-template.php	(revision 28084)
+++ src/wp-includes/general-template.php	(working copy)
@@ -22,6 +22,18 @@
  * @param string $name The name of the specialised header.
  */
 function get_header( $name = null ) {
+	/**
+	 * Fires before the header template file is loaded.
+	 *
+	 * The hook allows a specific header template file to be used in place of the
+	 * default header template file. If your file is called header-new.php,
+	 * you would specify the filename in the hook as get_header( 'new' ).
+	 *
+	 * @since 2.1.0
+	 * @since 2.8.0 $name parameter added.
+	 *
+	 * @param string $name Name of the specific header file to use.
+	 */
 	do_action( 'get_header', $name );
 
 	$templates = array();
@@ -52,6 +64,18 @@
  * @param string $name The name of the specialised footer.
  */
 function get_footer( $name = null ) {
+	/**
+	 * Fires before the footer template file is loaded.
+	 *
+	 * The hook allows a specific footer template file to be used in place of the
+	 * default footer template file. If your file is called footer-new.php,
+	 * you would specify the filename in the hook as get_footer( 'new' ).
+	 *
+	 * @since 2.1.0
+	 * @since 2.8.0 $name parameter added.
+	 *
+	 * @param string $name Name of the specific footer file to use.
+	 */
 	do_action( 'get_footer', $name );
 
 	$templates = array();
@@ -82,6 +106,18 @@
  * @param string $name The name of the specialised sidebar.
  */
 function get_sidebar( $name = null ) {
+	/**
+	 * Fires before the sidebar template file is loaded.
+	 *
+	 * The hook allows a specific sidebar template file to be used in place of the
+	 * default sidebar template file. If your file is called sidebar-new.php,
+	 * you would specify the filename in the hook as get_sidebar( 'new' ).
+	 *
+	 * @since 2.2.0
+	 * @since 2.8.0 $name parameter added.
+	 *
+	 * @param string $name Name of the specific sidebar file to use.
+	 */
 	do_action( 'get_sidebar', $name );
 
 	$templates = array();
@@ -120,6 +156,17 @@
  * @param string $name The name of the specialised template.
  */
 function get_template_part( $slug, $name = null ) {
+	/**
+	 * Fires before the specified template file is loaded.
+	 *
+	 * The dynamic portion of the hook name, $slug, refers to the slug name
+	 * for the generic template.
+	 *
+	 * @since 3.0.0
+	 *
+	 * @param string $slug The slug name for the generic template.
+	 * @param string $name The name of the specialized template.
+	 */
 	do_action( "get_template_part_{$slug}", $slug, $name );
 
 	$templates = array();
@@ -157,9 +204,26 @@
  * @return string|null String when retrieving, null when displaying or if searchform.php exists.
  */
 function get_search_form( $echo = true ) {
+	/**
+	 * Fires before displaying the search form.
+	 *
+	 * @since 2.7.0 Formerly 'get_search_form' action.
+	 * @since 3.6.0
+	 *
+	 * @link https://core.trac.wordpress.org/ticket/19321
+	 */
 	do_action( 'pre_get_search_form' );
 
 	$format = current_theme_supports( 'html5', 'search-form' ) ? 'html5' : 'xhtml';
+
+	/**
+	 * Filter the HTML format of the search form.
+	 *
+	 * @since 3.6.0
+	 *
+	 * @param string $format The type of markup to use in the search form.
+	 *                       Accepts 'html5', 'xhtml'.
+	 */
 	$format = apply_filters( 'search_form_format', $format );
 
 	$search_form_template = locate_template( 'searchform.php' );
@@ -187,6 +251,13 @@
 		}
 	}
 
+	/**
+	 * Filter the HTML output of the search form.
+	 *
+	 * @since 2.7.0
+	 *
+	 * @param string $form The search form HTML output.
+	 */
 	$result = apply_filters( 'get_search_form', $form );
 	if ( null === $result )
 		$result = $form;
@@ -216,10 +287,19 @@
 	else
 		$link = '<a href="' . esc_url( wp_logout_url($redirect) ) . '">' . __('Log out') . '</a>';
 
-	if ( $echo )
-		echo apply_filters('loginout', $link);
-	else
-		return apply_filters('loginout', $link);
+	if ( $echo ) {
+		/**
+		 * Filter the HTML output for the Log In/Log Out link.
+		 *
+		 * @since 1.5.0
+		 *
+		 * @param string $link The HTML link content.
+		 */
+		echo apply_filters( 'loginout', $link );
+	} else {
+		/** This filter is documented in wp-includes/general-template.php */
+		return apply_filters( 'loginout', $link );
+	}
 }
 
 /**
@@ -244,7 +324,15 @@
 	$logout_url = add_query_arg($args, site_url('wp-login.php', 'login'));
 	$logout_url = wp_nonce_url( $logout_url, 'log-out' );
 
-	return apply_filters('logout_url', $logout_url, $redirect);
+	/**
+	 * Filter the Log Out URL of the site.
+	 *
+	 * @since 2.8.0
+	 *
+	 * @param string $logout_url The logout URL.
+	 * @param string $redirect   The path to redirect to on logout, if supplied.
+	 */
+	return apply_filters( 'logout_url', $logout_url, $redirect );
 }
 
 /**
@@ -269,7 +357,15 @@
 	if ( $force_reauth )
 		$login_url = add_query_arg('reauth', '1', $login_url);
 
-	return apply_filters('login_url', $login_url, $redirect);
+	/**
+	 * Filter the login URL.
+	 *
+	 * @since 2.8.0
+	 *
+	 * @param string $login_url The login URL.
+	 * @param string $redirect  The path to redirect to on login, if supplied.
+	 */
+	return apply_filters( 'login_url', $login_url, $redirect );
 }
 
 /**
@@ -284,6 +380,13 @@
  * @return string
  */
 function wp_registration_url() {
+	/**
+	 * Filter the user registration URL.
+	 *
+	 * @since 3.6.0
+	 *
+	 * @param string $register The user registration URL.
+	 */
 	return apply_filters( 'register_url', site_url( 'wp-login.php?action=register', 'login' ) );
 }
 
@@ -312,6 +415,16 @@
 		'value_username' => '',
 		'value_remember' => false, // Set this to true to default the "Remember me" checkbox to checked
 	);
+
+	/**
+	 * Filter the default arguments of the login form output.
+	 *
+	 * @since 3.0.0
+	 *
+	 * @see wp_login_form()
+	 *
+	 * @param array $defaults An array of default login form arguments.
+	 */
 	$args = wp_parse_args( $args, apply_filters( 'login_form_defaults', $defaults ) );
 
 	$form = '
@@ -359,6 +472,15 @@
 	}
 
 	$lostpassword_url = add_query_arg( $args, network_site_url('wp-login.php', 'login') );
+
+	/**
+	 * Filter the lost password URL.
+	 *
+	 * @since 2.8.0
+	 *
+	 * @param string $lostpassword_url The lost password page URL.
+	 * @param string $redirect         The path to redirect to on login.
+	 */
 	return apply_filters( 'lostpassword_url', $lostpassword_url, $redirect );
 }
 
@@ -387,10 +509,19 @@
 		$link = $before . '<a href="' . admin_url() . '">' . __('Site Admin') . '</a>' . $after;
 	}
 
-	if ( $echo )
-		echo apply_filters('register', $link);
-	else
-		return apply_filters('register', $link);
+	if ( $echo ) {
+		/**
+		 * Filter the HTML link to the Registration or Admin page.
+		 *
+		 * @since 1.5.0
+		 *
+		 * @param string $link The HTML code for the link to the Registration or Admin page.
+		 */
+		echo apply_filters( 'register', $link );
+	} else {
+		/** This filter is documented in wp-includes/general-template.php */
+		return apply_filters( 'register', $link );
+	}
 }
 
 /**
@@ -404,7 +535,12 @@
  * @uses do_action() Calls 'wp_meta' hook.
  */
 function wp_meta() {
-	do_action('wp_meta');
+	/**
+	 * Fires before displaying echoed content in the sidebar.
+	 *
+	 * @since 1.5.0
+	 */
+	do_action( 'wp_meta' );
 }
 
 /**
@@ -529,10 +665,27 @@
 		$url = false;
 
 	if ( 'display' == $filter ) {
-		if ( $url )
-			$output = apply_filters('bloginfo_url', $output, $show);
-		else
-			$output = apply_filters('bloginfo', $output, $show);
+		if ( $url ) {
+			/**
+			 * Filter the URL returned by get_bloginfo().
+			 *
+			 * @since 2.0.5
+			 *
+			 * @param string $output The URL returned by bloginfo().
+			 * @param string $show   The blog information requested.
+			 */
+			$output = apply_filters( 'bloginfo_url', $output, $show );
+		} else {
+			/**
+			 * Filter the blog information returned by get_bloginfo().
+			 *
+			 * @since 0.71
+			 *
+			 * @param string $output The non-URL information mentioned in $show.
+			 * @param string $show   The blog information requested.
+			 */
+			$output = apply_filters( 'bloginfo', $output, $show );
+		}
 	}
 
 	return $output;
@@ -654,7 +807,16 @@
 		$title = $prefix . implode( " $sep ", $title_array );
 	}
 
-	$title = apply_filters('wp_title', $title, $sep, $seplocation);
+	/**
+	 * Filter the text to be displayed between the title tags.
+	 *
+	 * @since 2.0.0
+	 *
+	 * @param string $title       The page title.
+	 * @param string $sep         The title separator.
+	 * @param string $seplocation The location of the separator (left or right).
+	 */
+	$title = apply_filters( 'wp_title', $title, $sep, $seplocation );
 
 	// Send it out
 	if ( $display )
@@ -686,7 +848,15 @@
 	if ( !isset($_post->post_title) )
 		return;
 
-	$title = apply_filters('single_post_title', $_post->post_title, $_post);
+	/**
+	 * Filter the single post page title.
+	 *
+	 * @since 0.71
+	 *
+	 * @param string $_post_title The single post page title.
+	 * @param object $_post       The current queried object as returned by get_queried_object().
+	 */
+	$title = apply_filters( 'single_post_title', $_post->post_title, $_post );
 	if ( $display )
 		echo $prefix . $title;
 	else
@@ -714,6 +884,7 @@
 		$post_type = reset( $post_type );
 
 	$post_type_obj = get_post_type_object( $post_type );
+
 	/**
 	 * Filter the post type archive title.
 	 *
@@ -795,13 +966,34 @@
 	if ( !$term )
 		return;
 
-	if ( is_category() )
+	if ( is_category() ) {
+		/**
+		 * Filter the page title for the category archive.
+		 *
+		 * @since 2.0.10
+		 *
+		 * @param string $term_name Category name for archive being displayed.
+		 */
 		$term_name = apply_filters( 'single_cat_title', $term->name );
-	elseif ( is_tag() )
+	} elseif ( is_tag() ) {
+		/**
+		 * Filter the page title for the tag archive.
+		 *
+		 * @since 2.3.0
+		 *
+		 * @param string $term_name Tag name for archive being displayed.
+		 */
 		$term_name = apply_filters( 'single_tag_title', $term->name );
-	elseif ( is_tax() )
+	} elseif ( is_tax() ) {
+		/**
+		 * Filter the page title for a custom taxonomy archive page.
+		 *
+		 * @since 3.1.0
+		 *
+		 * @param string $term_name Term name for archive being displayed.
+		 */
 		$term_name = apply_filters( 'single_term_title', $term->name );
-	else
+	} else
 		return;
 
 	if ( empty( $term_name ) )
@@ -902,6 +1094,13 @@
 	else // custom
 		$link_html = "\t$before<a href='$url'>$text</a>$after\n";
 
+	/**
+	 * Filter the archive HTML link content.
+	 *
+	 * @since 2.6.0
+	 *
+	 * @param string $link_html The archive HTML link content.
+	 */
 	$link_html = apply_filters( 'get_archives_link', $link_html );
 
 	return $link_html;
@@ -978,7 +1177,24 @@
 		$archive_week_end_date_format = get_option('date_format');
 	}
 
+	/**
+	 * Filter the SQL WHERE clause for retrieving archives.
+	 *
+	 * @since 2.2.0
+	 *
+	 * @param string $sql_where Portion of SQL query containing the WHERE clause.
+	 * @param array  $r         An array of default arguments.
+	 */
 	$where = apply_filters( 'getarchives_where', "WHERE post_type = 'post' AND post_status = 'publish'", $r );
+
+	/**
+	 * Filter the SQL JOIN clause for retrieving archives.
+	 *
+	 * @since 2.2.0
+	 *
+	 * @param string $sql_join Portion of SQL query containing JOIN clause.
+	 * @param array  $r        An array of default arguments.
+	 */
 	$join = apply_filters( 'getarchives_join', '', $r );
 
 	$output = '';
@@ -1137,10 +1353,18 @@
 	if ( $cache = wp_cache_get( 'get_calendar', 'calendar' ) ) {
 		if ( is_array($cache) && isset( $cache[ $key ] ) ) {
 			if ( $echo ) {
-				echo apply_filters( 'get_calendar',  $cache[$key] );
+				/**
+				 * Filter the HTML output of the get_calender function.
+				 *
+				 * @since 3.0.0
+				 *
+				 * @param string $cache_key HTML output of the calendar.
+				 */
+				echo apply_filters( 'get_calendar', $cache[$key] );
 				return;
 			} else {
-				return apply_filters( 'get_calendar',  $cache[$key] );
+				/** This filter is documented in wp-includes/general-template.php */
+				return apply_filters( 'get_calendar', $cache[$key] );
 			}
 		}
 	}
@@ -1323,10 +1547,13 @@
 	$cache[ $key ] = $calendar_output;
 	wp_cache_set( 'get_calendar', $cache, 'calendar' );
 
-	if ( $echo )
-		echo apply_filters( 'get_calendar',  $calendar_output );
-	else
-		return apply_filters( 'get_calendar',  $calendar_output );
+	if ( $echo ) {
+		/** This filter is documented in wp-includes/general-template.php */
+		echo apply_filters( 'get_calendar', $calendar_output );
+	} else {
+		/** This filter is documented in wp-includes/general-template.php */
+		return apply_filters( 'get_calendar', $calendar_output );
+	}
 
 }
 
@@ -1408,6 +1635,17 @@
 		$the_date = $before . get_the_date( $d ) . $after;
 		$previousday = $currentday;
 
+		/**
+		 * Filter the HTML output for displaying the date.
+		 *
+		 * @since 0.71
+		 *
+		 * @param string $the_date The formatted date string.
+		 * @param string $d        PHP date format. Defaults to 'date_format' option
+		 *                         if not specified.
+		 * @param string $before   HTML output before the date.
+		 * @param string $after    HTML output after the date.
+		 */
 		$the_date = apply_filters( 'the_date', $the_date, $d, $before, $after );
 
 		if ( $echo )
@@ -1441,13 +1679,14 @@
 	}
 
 	/**
-	 * Filter the date returned from the get_the_date function.
+	 * Filter the retrieved date a post was written.
 	 *
 	 * @since 3.0.0
 	 *
 	 * @param string      $the_date The formatted date.
-	 * @param string      $d        The date format.
-	 * @param int|WP_Post $post     The post object or id.
+	 * @param string      $d        PHP date format. Defaults to 'date_format' option
+	 *                              if not specified.
+	 * @param int|WP_Post $post     The post object or ID.
 	 */
 	return apply_filters( 'get_the_date', $the_date, $d, $post );
 }
@@ -1466,8 +1705,20 @@
 function the_modified_date($d = '', $before='', $after='', $echo = true) {
 
 	$the_modified_date = $before . get_the_modified_date($d) . $after;
-	$the_modified_date = apply_filters('the_modified_date', $the_modified_date, $d, $before, $after);
 
+	/**
+	 * Filter the HTML output for displaying the last modified date.
+	 *
+	 * @since 2.1.0
+	 *
+	 * @param string $the_modified_date The last modified date.
+	 * @param string $d                 PHP date format. Defaults to 'date_format' option
+	 *                                  if not specified.
+	 * @param string $before            HTML output before the date.
+	 * @param string $after             HTML output after the date.
+	 */
+	$the_modified_date = apply_filters( 'the_modified_date', $the_modified_date, $d, $before, $after );
+
 	if ( $echo )
 		echo $the_modified_date;
 	else
@@ -1488,7 +1739,16 @@
 		$the_time = get_post_modified_time(get_option('date_format'), null, null, true);
 	else
 		$the_time = get_post_modified_time($d, null, null, true);
-	return apply_filters('get_the_modified_date', $the_time, $d);
+	/**
+	 * Filter the retrieved date a post was last modified.
+	 *
+	 * @since 2.1.0
+	 *
+	 * @param string $the_time The formatted date.
+	 * @param string $d        PHP date format. Defaults to value specified in
+	 *                         'date_format' option.
+	 */
+	return apply_filters( 'get_the_modified_date', $the_time, $d );
 }
 
 /**
@@ -1499,7 +1759,16 @@
  * @param string $d Either 'G', 'U', or php date format.
  */
 function the_time( $d = '' ) {
-	echo apply_filters('the_time', get_the_time( $d ), $d);
+	/**
+	 * Filter the display of the time a post was written.
+	 *
+	 * @since 0.71
+	 *
+	 * @param string $get_the_time The formatted time.
+	 * @param string $d            The time format. Accepts 'G', 'U',
+	 *                             or php date format.
+	 */
+	echo apply_filters( 'the_time', get_the_time( $d ), $d );
 }
 
 /**
@@ -1520,7 +1789,18 @@
 		$the_time = get_post_time(get_option('time_format'), false, $post, true);
 	else
 		$the_time = get_post_time($d, false, $post, true);
-	return apply_filters('get_the_time', $the_time, $d, $post);
+	/**
+	 * Filter the retrieved time a post was written.
+	 *
+	 * @since 1.5.0
+	 *
+	 * @param string      $the_time The formatted time.
+	 * @param string      $d        Format to use for retrieving the time the post was written.
+	 *                              Accepts 'G', 'U', or php date format value specified
+	 *                              in 'time_format' option. Default empty.
+	 * @param int|WP_Post $post     WP_Post object or ID.
+	 */
+	return apply_filters( 'get_the_time', $the_time, $d, $post );
 }
 
 /**
@@ -1544,7 +1824,18 @@
 		$time = $post->post_date;
 
 	$time = mysql2date($d, $time, $translate);
-	return apply_filters('get_post_time', $time, $d, $gmt);
+
+	/**
+	 * Filter the retrieved time a post was written.
+	 *
+	 * @since 2.6.0
+	 *
+	 * @param string $time The formatted time.
+	 * @param string $d    Format to use for retrieving the time the post was written.
+	 *                     Accepts 'G', 'U', or php date format. Default 'U'.
+	 * @param bool   $gmt  Whether to retrieve the GMT time. Default false.
+	 */
+	return apply_filters( 'get_post_time', $time, $d, $gmt );
 }
 
 /**
@@ -1555,7 +1846,17 @@
  * @param string $d Optional Either 'G', 'U', or php date format defaults to the value specified in the time_format option.
  */
 function the_modified_time($d = '') {
-	echo apply_filters('the_modified_time', get_the_modified_time($d), $d);
+	/**
+	 * Filter the display of the time the post was last modified.
+	 *
+	 * @since 2.0.0
+	 *
+	 * @param string $get_the_modified_time The formatted time.
+	 * @param string $d                     The time format. Accepts 'G', 'U',
+	 *                                      or php date format. Defaults to value
+	 *                                      specified in 'time_format' option.
+	 */
+	echo apply_filters( 'the_modified_time', get_the_modified_time($d), $d );
 }
 
 /**
@@ -1571,7 +1872,18 @@
 		$the_time = get_post_modified_time(get_option('time_format'), null, null, true);
 	else
 		$the_time = get_post_modified_time($d, null, null, true);
-	return apply_filters('get_the_modified_time', $the_time, $d);
+
+	/**
+	 * Filter the retrieved time a post was last modified.
+	 *
+	 * @since 2.0.0
+	 *
+	 * @param string $the_time The formatted time.
+	 * @param string $d        Format to use for retrieving the time the post was
+	 *                         written. Accepts 'G', 'U', or php date format. Defaults
+	 *                         to value specified in 'time_format' option.
+	 */
+	return apply_filters( 'get_the_modified_time', $the_time, $d );
 }
 
 /**
@@ -1594,7 +1906,16 @@
 		$time = $post->post_modified;
 	$time = mysql2date($d, $time, $translate);
 
-	return apply_filters('get_post_modified_time', $time, $d, $gmt);
+	/**
+	 * Filter the retrieved time a post was last modified.
+	 *
+	 * @since 2.8.0
+	 *
+	 * @param string $time The formatted time.
+	 * @param string $d    The date format. Accepts 'G', 'U', or php date format. Default 'U'.
+	 * @param bool   $gmt  Whether to return the GMT time. Default false.
+	 */
+	return apply_filters( 'get_post_modified_time', $time, $d, $gmt );
 }
 
 /**
@@ -1607,7 +1928,15 @@
 function the_weekday() {
 	global $wp_locale;
 	$the_weekday = $wp_locale->get_weekday( mysql2date( 'w', get_post()->post_date, false ) );
-	$the_weekday = apply_filters('the_weekday', $the_weekday);
+
+	/**
+	 * Filter the display of the weekday name a post was written.
+	 *
+	 * @since 0.71
+	 *
+	 * @param string $the_weekday 
+	 */
+	$the_weekday = apply_filters( 'the_weekday', $the_weekday );
 	echo $the_weekday;
 }
 
@@ -1631,7 +1960,17 @@
 		$the_weekday_date .= $after;
 		$previousweekday = $currentday;
 	}
-	$the_weekday_date = apply_filters('the_weekday_date', $the_weekday_date, $before, $after);
+
+	/**
+	 * Filter the display of the weekday name a post was written.
+	 *
+	 * @since 0.71
+	 *
+	 * @param string $the_weekday_date 
+	 * @param string $before           The HTML to output before the date.
+	 * @param string $after            The HTML to output after the date.
+	 */
+	$the_weekday_date = apply_filters( 'the_weekday_date', $the_weekday_date, $before, $after );
 	echo $the_weekday_date;
 }
 
@@ -1642,7 +1981,12 @@
  * @uses do_action() Calls 'wp_head' hook.
  */
 function wp_head() {
-	do_action('wp_head');
+	/**
+	 * Print scripts or data in the head tag on the front end.
+	 *
+	 * @since 1.5.0
+	 */
+	do_action( 'wp_head' );
 }
 
 /**
@@ -1652,7 +1996,12 @@
  * @uses do_action() Calls 'wp_footer' hook.
  */
 function wp_footer() {
-	do_action('wp_footer');
+	/**
+	 * Print scripts or data before the closing body tag on the front end.
+	 *
+	 * @since 1.5.1
+	 */
+	do_action( 'wp_footer' );
 }
 
 /**
@@ -1832,7 +2181,14 @@
 		}
 	}
 
-	return apply_filters('user_can_richedit', $wp_rich_edit);
+	/**
+	 * Filter whether the user should have a WYSIWIG editor.
+	 *
+	 * @since 2.1.0
+	 *
+	 * @param bool $wp_rich_edit Whether the user should have a WYSIWIG editor.
+	 */
+	return apply_filters( 'user_can_richedit', $wp_rich_edit );
 }
 
 /**
@@ -1851,7 +2207,15 @@
 		$ed = get_user_setting('editor', 'tinymce');
 		$r = ( in_array($ed, array('tinymce', 'html', 'test') ) ) ? $ed : $r;
 	}
-	return apply_filters( 'wp_default_editor', $r ); // filter
+
+	/**
+	 * Filter which editor should be displayed by default.
+	 *
+	 * @since 2.5.0
+	 *
+	 * @param array $r An array of editors. Accepts 'tinymce', 'html', 'test'.
+	 */
+	return apply_filters( 'wp_default_editor', $r );
 }
 
 /**
@@ -1894,6 +2258,13 @@
  * @return string
  */
 function get_search_query( $escaped = true ) {
+	/**
+	 * Filter the retrieved contents of the search WordPress query variable.
+	 *
+	 * @since 2.3.0
+	 *
+	 * @param bool $s Whether the result is escaped. Default true.
+	 */
 	$query = apply_filters( 'get_search_query', get_query_var( 's' ) );
 	if ( $escaped )
 		$query = esc_attr( $query );
@@ -1910,6 +2281,13 @@
  * @since 2.1.0
  */
 function the_search_query() {
+	/**
+	 * Filter the display of the contents of the search query variable.
+	 *
+	 * @since 2.3.0
+	 *
+	 * @param bool $safe Whether the result is safe to display. Default false.
+	 */
 	echo esc_attr( apply_filters( 'the_search_query', get_search_query( false ) ) );
 }
 
@@ -1939,7 +2317,15 @@
 	}
 
 	$output = implode(' ', $attributes);
-	$output = apply_filters('language_attributes', $output);
+
+	/**
+	 * Filter the display of the language attributes for the HTML tag.
+	 *
+	 * @since 2.5.0
+	 *
+	 * @param array $output An array of language attributes. Default empty.
+	 */
+	$output = apply_filters( 'language_attributes', $output );
 	echo $output;
 }
 
@@ -2035,6 +2421,14 @@
 		if ( $add_args )
 			$link = add_query_arg( $add_args, $link );
 		$link .= $add_fragment;
+
+		/**
+		 * Filter the retrieved paginated links for archive post pages.
+		 *
+		 * @since 3.0.0
+		 *
+		 * @param string $link The paginated link URL.
+		 */
 		$page_links[] = '<a class="prev page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $prev_text . '</a>';
 	endif;
 	for ( $n = 1; $n <= $total; $n++ ) :
@@ -2048,6 +2442,8 @@
 				if ( $add_args )
 					$link = add_query_arg( $add_args, $link );
 				$link .= $add_fragment;
+
+				/** This filter is documented in wp-includes/general-template.php */
 				$page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>" . $before_page_number . number_format_i18n( $n ) . $after_page_number . "</a>";
 				$dots = true;
 			elseif ( $dots && !$show_all ) :
@@ -2062,6 +2458,8 @@
 		if ( $add_args )
 			$link = add_query_arg( $add_args, $link );
 		$link .= $add_fragment;
+
+		/** This filter is documented in wp-includes/general-template.php */
 		$page_links[] = '<a class="next page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $next_text . '</a>';
 	endif;
 	switch ( $type ) :
@@ -2191,6 +2589,14 @@
 	}
 	$_file = add_query_arg( 'version', get_bloginfo( 'version' ),  $_file );
 
+	/**
+	 * Filter the URI of a WordPress admin CSS file.
+	 *
+	 * @since 2.3.0
+	 *
+	 * @param string $_file 
+	 * @param string $file  The file, relative to wp-admin/, without its ".css" extension.
+	 */
 	return apply_filters( 'wp_admin_css_uri', $_file, $file );
 }
 
@@ -2231,8 +2637,17 @@
 		return;
 	}
 
+	/**
+	 * Filter the stylesheet link to the specified CSS file.
+	 *
+	 * @since 2.3.0
+	 *
+	 * @param string $file Style handle name or filename (without ".css" extension)
+	 *                     relative to wp-admin/. Defaults to 'wp-admin'.
+	 */
 	echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( $file ) ) . "' type='text/css' />\n", $file );
 	if ( function_exists( 'is_rtl' ) && is_rtl() )
+		/** This filter is documented in wp-includes/general-template.php */
 		echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( "$file-rtl" ) ) . "' type='text/css' />\n", "$file-rtl" );
 }
 
@@ -2259,6 +2674,13 @@
  * @since 2.5.0
  */
 function wp_generator() {
+	/**
+	 * Filter the XHTML generator.
+	 *
+	 * @since 2.5.0
+	 *
+	 * @param string $generator_type The XHTML generator.
+	 */
 	the_generator( apply_filters( 'wp_generator_type', 'xhtml' ) );
 }
 
@@ -2274,7 +2696,16 @@
  * @param string $type The type of generator to output - (html|xhtml|atom|rss2|rdf|comment|export).
  */
 function the_generator( $type ) {
-	echo apply_filters('the_generator', get_the_generator($type), $type) . "\n";
+	/**
+	 * Filter the generator type.
+	 *
+	 * @since 2.5.0
+	 *
+	 * @param string $generator_type The generator.
+	 * @param string $type           The type of generator to output. Accepts 'html',
+	 *                               'xhtml', 'atom', 'rss2', 'rdf', 'comment', 'export'.
+	 */
+	echo apply_filters( 'the_generator', get_the_generator($type), $type ) . "\n";
 }
 
 /**
@@ -2340,6 +2771,18 @@
 			$gen = '<!-- generator="WordPress/' . get_bloginfo_rss('version') . '" created="'. date('Y-m-d H:i') . '" -->';
 			break;
 	}
+
+	/**
+	 * Filter the HTML for the retrieved generator type.
+	 *
+	 * The dynamic portion of the hook name, $type, refers to the generator type.
+	 *
+	 * @since 2.5.0
+	 *
+	 * @param string $gen  The HTML markup output to 'wp_head()'.
+	 * @param string $type The type of generator. Accepts 'html', 'xhtml', 'atom',
+	 *                     'rss2', 'rdf', 'comment', 'export'.
+	 */
 	return apply_filters( "get_the_generator_{$type}", $gen, $type );
 }
 
