Index: wp-includes/default-filters.php
===================================================================
--- wp-includes/default-filters.php	(revision 4144)
+++ wp-includes/default-filters.php	(working copy)
@@ -145,7 +145,8 @@
 // Actions
 add_action('wp_head', 'rsd_link');
 add_action('publish_future_post', 'wp_publish_post', 10, 1);
-add_action('wp_head', 'noindex', 1);
+if ( '0' == get_option('blog_public') )
+	add_action('wp_head', 'noindex', 1);
 add_action('wp_head', 'wp_print_scripts');
 if(!defined('DOING_CRON'))
 	add_action('init', 'wp_cron');
Index: wp-includes/post-template.php
===================================================================
--- wp-includes/post-template.php	(revision 4144)
+++ wp-includes/post-template.php	(working copy)
@@ -50,18 +50,17 @@
 	return apply_filters('get_the_guid', $post->guid);
 }
 
-function the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
-	$content = get_the_content($more_link_text, $stripteaser, $more_file);
-	$content = apply_filters('the_content', $content);
+function the_content( $more_link_text = '(more...)', $stripteaser = 0 ) {
+	$content = get_the_content( $more_link_text, $stripteaser );
+	$content = apply_filters( 'the_content', $content );
 	$content = str_replace(']]>', ']]&gt;', $content);
 	echo $content;
 }
 
 
-function get_the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
+function get_the_content( $more_link_text = '(more...)', $stripteaser = 0 ) {
 	global $id, $post, $more, $single, $withcomments, $page, $pages, $multipage, $numpages;
 	global $preview;
-	global $pagenow;
 	$output = '';
 
 	if ( !empty($post->post_password) ) { // if there's a password
@@ -71,15 +70,10 @@
 		}
 	}
 
-	if ( $more_file != '' )
-		$file = $more_file;
-	else
-		$file = $pagenow; //$_SERVER['PHP_SELF'];
-
 	if ( $page > count($pages) ) // if the requested page doesn't exist
 		$page = count($pages); // give them the highest numbered page that DOES exist
 
-	$content = $pages[$page-1];
+	$content = $pages[$page ? $page - 1 : 0];
 	if ( preg_match('/<!--more(.+?)?-->/', $content, $matches) ) {
 		$content = explode($matches[0], $content, 2);
 		if ( !empty($matches[1]) )
@@ -125,7 +119,6 @@
 	return apply_filters('get_the_excerpt', $output);
 }
 
-
 function wp_link_pages($args = '') {
 	if ( is_array($args) )
 		$r = &$args;
@@ -133,15 +126,11 @@
 		parse_str($args, $r);
 
 	$defaults = array('before' => '<p>' . __('Pages:'), 'after' => '</p>', 'next_or_number' => 'number', 'nextpagelink' => __('Next page'),
-			'previouspagelink' => __('Previous page'), 'pagelink' => '%', 'more_file' => '', 'echo' => 1);
+			'previouspagelink' => __('Previous page'), 'pagelink' => '%', 'all_page_link' => '', 'echo' => 1);
 	$r = array_merge($defaults, $r);
 	extract($r);
 
-	global $id, $page, $numpages, $multipage, $more, $pagenow;
-	if ( $more_file != '' )
-		$file = $more_file;
-	else
-		$file = $pagenow;
+	global $id, $page, $numpages, $multipage, $more;
 
 	$output = '';
 	if ( $multipage ) {
@@ -150,36 +139,58 @@
 			for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) {
 				$j = str_replace('%',"$i",$pagelink);
 				$output .= ' ';
-				if ( ($i != $page) || ((!$more) && ($page==1)) ) {
+				if ( $i != $page || ( !$more && 1 == $page ) ) {
 					if ( '' == get_option('permalink_structure') )
 						$output .= '<a href="' . get_permalink() . '&amp;page=' . $i . '">';
 					else
 						$output .= '<a href="' . trailingslashit( get_permalink() ) . $i . '/">';
 				}
 				$output .= $j;
-				if ( ($i != $page) || ((!$more) && ($page==1)) )
+				if ( $i != $page || ( !$more && 1 == $page ) )
 					$output .= '</a>';
 			}
-			$output .= $after;
-		} else {
-			if ( $more ) {
-				$output .= $before;
-				$i = $page - 1;
-				if ( $i && $more ) {
+			if ( $all_page_link ) {
+				$output .= ' ';
+				if ( 0 != $page ) {
 					if ( '' == get_option('permalink_structure') )
-						$output .= '<a href="' . get_permalink() . '&amp;page=' . $i . '">'.$previouspagelink.'</a>';
+						$output .= '<a href="' . get_permalink() . '&amp;page=0" rel="nofollow">';
 					else
-						$output .= '<a href="' . get_permalink() . $i . '/">'.$previouspagelink.'</a>';
+						$output .= '<a href="' . trailingslashit( get_permalink() ) . '0/" rel="nofollow">';
 				}
-				$i = $page + 1;
-				if ( $i <= $numpages && $more ) {
+				$output .= $all_page_link;
+				if ( 0 != $page )
+					$output .= '</a>';
+			}
+			$output .= $after;
+		} else if ( $more ) {
+			$output .= $before;
+			$i = $page - 1;
+			if ( 0 < $i ) {
+				if ( '' == get_option('permalink_structure') )
+					$output .= '<a href="' . get_permalink() . '&amp;page=' . $i . '">'.$previouspagelink.'</a>';
+				else
+					$output .= '<a href="' . get_permalink() . $i . '/">'.$previouspagelink.'</a>';
+			}
+			$i = $page + 1;
+			if ( $i <= $numpages ) {
+				if ( '' == get_option('permalink_structure') )
+					$output .= '<a href="'.get_permalink() . '&amp;page=' . $i . '">'.$nextpagelink.'</a>';
+				else
+					$output .= '<a href="'.get_permalink().$i.'/">'.$nextpagelink.'</a>';
+			}
+			if ( $all_page_link ) {
+				$output .= ' ';
+				if ( 0 != $page ) {
 					if ( '' == get_option('permalink_structure') )
-						$output .= '<a href="'.get_permalink() . '&amp;page=' . $i . '">'.$nextpagelink.'</a>';
+						$output .= '<a href="' . get_permalink() . '&amp;page=0">';
 					else
-						$output .= '<a href="'.get_permalink().$i.'/">'.$nextpagelink.'</a>';
+						$output .= '<a href="' . trailingslashit( get_permalink() ) . '0/">';
 				}
-				$output .= $after;
+				$output .= $all_page_link;
+				if ( 0 != $page )
+					$output .= '</a>';
 			}
+			$output .= $after;
 		}
 	}
 
Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 4144)
+++ wp-includes/query.php	(working copy)
@@ -581,6 +581,8 @@
 			$q['page'] = trim($q['page'], '/');
 			$q['page'] = (int) $q['page'];
 			$q['page'] = abs($q['page']);
+			if ( 0 == $q['page'] )
+				add_action('wp_head', 'noindex', 1);
 		}
 
 		$add_hours = intval(get_option('gmt_offset'));
@@ -1098,7 +1100,7 @@
 	$currentmonth = mysql2date('m', $post->post_date);
 	$numpages = 1;
 	$page = get_query_var('page');
-	if ( !$page )
+	if ( !$page && 0 !== $page )
 		$page = 1;
 	if ( is_single() || is_page() )
 		$more = 1;
@@ -1112,6 +1114,8 @@
 		$content = str_replace("<!--nextpage-->\n", '<!--nextpage-->', $content);
 		$pages = explode('<!--nextpage-->', $content);
 		$numpages = count($pages);
+		if ( !$page )
+			$pages = array(join('', $pages));
 	} else {
 		$pages[0] = $post->post_content;
 		$multipage = 0;
Index: wp-includes/general-template.php
===================================================================
--- wp-includes/general-template.php	(revision 4144)
+++ wp-includes/general-template.php	(working copy)
@@ -728,9 +728,7 @@
 }
 
 function noindex() {
-	// If the blog is not public, tell robots to go away.
-	if ( '0' == get_option('blog_public') )
-		echo "<meta name='robots' content='noindex,nofollow' />\n";
+	echo "<meta name='robots' content='noindex,nofollow' />\n";
 }
 
 /**

