Index: modules/blog/blog.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/blog/blog.module,v
retrieving revision 1.351
diff -u -p -r1.351 blog.module
--- modules/blog/blog.module	22 Jan 2010 22:54:04 -0000	1.351
+++ modules/blog/blog.module	8 Mar 2010 11:08:21 -0000
@@ -67,7 +67,7 @@ function blog_form($node, $form_state) {
  * Implements hook_view().
  */
 function blog_view($node, $view_mode) {
-  if (node_is_page($node)) {
+  if ($view_mode == 'page') {
     // Breadcrumb navigation.
     drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blogs'), 'blog'), l(t("!name's blog", array('!name' => format_username($node))), 'blog/' . $node->uid)));
   }
Index: modules/book/book.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.module,v
retrieving revision 1.537
diff -u -p -r1.537 book.module
--- modules/book/book.module	30 Jan 2010 04:23:46 -0000	1.537
+++ modules/book/book.module	8 Mar 2010 11:08:22 -0000
@@ -91,7 +91,7 @@ function book_node_view_link($node, $vie
   $links = array();
 
   if (isset($node->book['depth'])) {
-    if ($view_mode == 'full') {
+    if (($view_mode == 'full') || ($view_mode == 'page')) {
       $child_type = variable_get('book_child_type', 'book');
       if ((user_access('add content to books') || user_access('administer book outlines')) && node_access('create', $child_type) && $node->status == 1 && $node->book['depth'] < MENU_MAX_DEPTH) {
         $links['book_add_child'] = array(
@@ -772,7 +772,7 @@ function book_node_load($nodes, $types) 
  * Implements hook_node_view().
  */
 function book_node_view($node, $view_mode) {
-  if ($view_mode == 'full') {
+  if (($view_mode == 'full') || ($view_mode == 'page')) {
     if (!empty($node->book['bid']) && empty($node->in_preview)) {
       $node->content['book_navigation'] = array(
         '#markup' => theme('book_navigation', array('book_link' => $node->book)),
Index: modules/comment/comment.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.api.php,v
retrieving revision 1.16
diff -u -p -r1.16 comment.api.php
--- modules/comment/comment.api.php	9 Feb 2010 22:30:30 -0000	1.16
+++ modules/comment/comment.api.php	8 Mar 2010 11:08:22 -0000
@@ -91,7 +91,7 @@ function hook_comment_view($comment) {
  */
 function hook_comment_view_alter(&$build) {
   // Check for the existence of a field added by another module.
-  if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) {
+  if ((($build['#view_mode'] == 'full') || ($build['#view_mode'] == 'page')) && isset($build['an_additional_field'])) {
     // Change its weight.
     $build['an_additional_field']['#weight'] = -10;
   }
Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.852
diff -u -p -r1.852 comment.module
--- modules/comment/comment.module	7 Mar 2010 23:14:20 -0000	1.852
+++ modules/comment/comment.module	8 Mar 2010 11:08:23 -0000
@@ -672,7 +672,7 @@ function comment_node_view($node, $view_
     // page. We compare $node and $page_node to ensure that comments are not
     // appended to other nodes shown on the page, for example a node_reference
     // displayed in 'full' view mode within another node.
-    if ($node->comment && node_is_page($node) && empty($node->in_preview) && user_access('access comments')) {
+    if ($node->comment && ($view_mode == 'page') && empty($node->in_preview) && user_access('access comments')) {
       $node->content['comments'] = comment_node_page_additions($node);
     }
   }
Index: modules/field/field.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/field.api.php,v
retrieving revision 1.66
diff -u -p -r1.66 field.api.php
--- modules/field/field.api.php	4 Mar 2010 18:28:29 -0000	1.66
+++ modules/field/field.api.php	8 Mar 2010 11:08:24 -0000
@@ -1061,7 +1061,7 @@ function hook_field_attach_delete_revisi
  *   An associative array containing:
  *   - obj_type: The type of $entity; e.g. 'node' or 'user'.
  *   - object: The entity with fields to render.
- *   - view_mode: View mode, e.g. 'full', 'teaser'...
+ *   - view_mode: View mode, e.g. 'page', 'full', 'teaser'...
  *   - langcode: The language in which the field values will be displayed.
  */
 function hook_field_attach_view_alter(&$output, $context) {
Index: modules/field/theme/field.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/theme/field.tpl.php,v
retrieving revision 1.12
diff -u -p -r1.12 field.tpl.php
--- modules/field/theme/field.tpl.php	12 Feb 2010 05:38:10 -0000	1.12
+++ modules/field/theme/field.tpl.php	8 Mar 2010 11:08:24 -0000
@@ -27,7 +27,7 @@
  *
  * Other variables:
  * - $element['#object']: The entity to which the field is attached.
- * - $element['#view_mode']: View mode, e.g. 'full', 'teaser'...
+ * - $element['#view_mode']: View mode, e.g. 'page', 'full', 'teaser'...
  * - $element['#field_name']: The field name.
  * - $element['#field_type']: The field type.
  * - $element['#field_language']: The field language.
Index: modules/forum/forum.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v
retrieving revision 1.557
diff -u -p -r1.557 forum.module
--- modules/forum/forum.module	7 Mar 2010 06:45:45 -0000	1.557
+++ modules/forum/forum.module	8 Mar 2010 11:08:25 -0000
@@ -241,7 +241,7 @@ function forum_node_view($node, $view_mo
   $vid = variable_get('forum_nav_vocabulary', 0);
   $vocabulary = taxonomy_vocabulary_load($vid);
   if (_forum_node_check_node_type($node)) {
-    if (node_is_page($node)) {
+    if ($view_mode == 'page') {
       // Breadcrumb navigation
       $breadcrumb[] = l(t('Home'), NULL);
       $breadcrumb[] = l($vocabulary->name, 'forum');
Index: modules/node/node.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.api.php,v
retrieving revision 1.64
diff -u -p -r1.64 node.api.php
--- modules/node/node.api.php	6 Mar 2010 06:39:00 -0000	1.64
+++ modules/node/node.api.php	8 Mar 2010 11:08:25 -0000
@@ -731,7 +731,7 @@ function hook_node_view($node, $view_mod
  * @ingroup node_api_hooks
  */
 function hook_node_view_alter(&$build) {
-  if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) {
+  if ((($build['#view_mode'] == 'full') || ($build['#view_mode'] == 'page')) && isset($build['an_additional_field'])) {
     // Change its weight.
     $build['an_additional_field']['#weight'] = -10;
   }
@@ -1141,7 +1141,7 @@ function hook_validate($node, &$form) {
  * @param $node
  *   The node to be displayed, as returned by node_load().
  * @param $view_mode
- *   View mode, e.g. 'full', 'teaser', ...
+ *   View mode, e.g. 'page', 'full', 'teaser', ...
  * @return
  *   $node. The passed $node parameter should be modified as necessary and
  *   returned so it can be properly presented. Nodes are prepared for display
@@ -1159,7 +1159,7 @@ function hook_validate($node, &$form) {
  * @ingroup node_api_hooks
  */
 function hook_view($node, $view_mode = 'full') {
-  if (node_is_page($node)) {
+  if ($view_mode == 'page') {
     $breadcrumb = array();
     $breadcrumb[] = l(t('Home'), NULL);
     $breadcrumb[] = l(t('Example'), 'example');
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1245
diff -u -p -r1.1245 node.module
--- modules/node/node.module	8 Mar 2010 02:41:46 -0000	1.1245
+++ modules/node/node.module	8 Mar 2010 11:08:27 -0000
@@ -1195,7 +1195,7 @@ function node_revision_delete($revision_
  * @param $node
  *   A node object.
  * @param $view_mode
- *   View mode, e.g. 'full', 'teaser'...
+ *   View mode, e.g. 'page', 'full', 'teaser'...
  *
  * @return
  *   An array as expected by drupal_render().
@@ -1217,7 +1217,7 @@ function node_view($node, $view_mode = '
   // displayed on its own page. Modules may alter this behavior (for example,
   // to restrict contextual links to certain view modes) by implementing
   // hook_node_view_alter().
-  if (!node_is_page($node)) {
+  if ($view_mode != 'page') {
     $build['#contextual_links']['node'] = array('node', array($node->nid));
   }
 
@@ -1235,7 +1235,8 @@ function node_view($node, $view_mode = '
  *
  * Drupal core defines the following view modes for nodes, with the following
  * default use cases:
- *   - full (default): node is being displayed on its own page (node/123)
+ *   - page: node is being displayed on its own page (node/123)
+ *   - full (default): node is being displayed with its full content
  *   - teaser: node is being displayed on the default home page listing, on
  *     taxonomy listing pages, or on blog listing pages.
  *   - rss: node displayed in an RSS feed.
@@ -1250,7 +1251,7 @@ function node_view($node, $view_mode = '
  * @param $node
  *   A node object.
  * @param $view_mode
- *   View mode, e.g. 'full', 'teaser'...
+ *   View mode, e.g. 'page', 'full', 'teaser'...
  */
 function node_build_content($node, $view_mode = 'full') {
   // Remove previously built content, if exists.
@@ -1309,18 +1310,7 @@ function node_show($node, $message = FAL
   node_tag_new($node);
 
   // For markup consistency with other pages, use node_view_multiple() rather than node_view().
-  return node_view_multiple(array($node->nid => $node), 'full');
-}
-
-/**
- * Returns whether the current page is the full page view of the passed in node.
- *
- * @param $node
- *   A node object.
- */
-function node_is_page($node) {
-  $page_node = menu_get_object();
-  return (!empty($page_node) ? $page_node->nid == $node->nid : FALSE);
+  return node_view_multiple(array($node->nid => $node), 'page');
 }
 
 /**
@@ -1344,11 +1334,11 @@ function template_preprocess_node(&$vari
   $variables['node'] = $variables['elements']['#node'];
   $node = $variables['node'];
 
-  $variables['date']      = format_date($node->created);
-  $variables['name']      = theme('username', array('account' => $node));
-  $variables['node_url']  = url('node/' . $node->nid);
+  $variables['date']       = format_date($node->created);
+  $variables['name']       = theme('username', array('account' => $node));
+  $variables['node_url']   = url('node/' . $node->nid);
   $variables['node_title'] = check_plain($node->title);
-  $variables['page']      = node_is_page($node);
+  $variables['page']       = ($variables['view_mode'] == 'page');
 
   if (!empty($node->in_preview)) {
     unset($node->content['links']);
@@ -2332,7 +2322,7 @@ function node_feed($nids = FALSE, $chann
  * @param $nodes
  *   An array of nodes as returned by node_load_multiple().
  * @param $view_mode
- *   View mode, e.g. 'full', 'teaser'...
+ *   View mode, e.g. 'page', 'full', 'teaser'...
  * @param $weight
  *   An integer representing the weight of the first node in the list.
  * @return
Index: modules/node/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.tpl.php,v
retrieving revision 1.31
diff -u -p -r1.31 node.tpl.php
--- modules/node/node.tpl.php	4 Jan 2010 03:57:19 -0000	1.31
+++ modules/node/node.tpl.php	8 Mar 2010 11:08:27 -0000
@@ -51,7 +51,7 @@
  * - $id: Position of the node. Increments each time it's output.
  *
  * Node status variables:
- * - $view_mode: View mode, e.g. 'full', 'teaser'...
+ * - $view_mode: View mode, e.g. 'page', 'full', 'teaser'...
  * - $teaser: Flag for the teaser state (shortcut for $view_mode == 'teaser').
  * - $page: Flag for the full page state.
  * - $promote: Flag for front page promotion state.
Index: modules/taxonomy/taxonomy-term.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy-term.tpl.php,v
retrieving revision 1.1
diff -u -p -r1.1 taxonomy-term.tpl.php
--- modules/taxonomy/taxonomy-term.tpl.php	10 Feb 2010 06:28:10 -0000	1.1
+++ modules/taxonomy/taxonomy-term.tpl.php	8 Mar 2010 11:08:28 -0000
@@ -22,7 +22,7 @@
  *
  * Other variables:
  * - $term: Full term object. Contains data that may not be safe.
- * - $view_mode: View mode, e.g. 'full', 'teaser'...
+ * - $view_mode: View mode, e.g. 'page', 'full', 'teaser'...
  * - $page: Flag for the full page state.
  * - $classes_array: Array of html class attribute values. It is flattened
  *   into a string within the variable $classes.
