Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.912
diff -u -F^f -p -r1.912 common.inc
--- includes/common.inc	26 May 2009 09:12:28 -0000	1.912
+++ includes/common.inc	27 May 2009 05:11:59 -0000
@@ -3708,6 +3708,13 @@ function drupal_render_children(&$elemen
 }
 
 /**
+ * A brief alias for drupal_render(), to be used in templates.
+ */
+function dr(&$element) {
+  return drupal_render($element);
+}
+
+/**
  * Function used by uasort to sort structured arrays by weight.
  */
 function element_sort($a, $b) {
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1059
diff -u -F^f -p -r1.1059 node.module
--- modules/node/node.module	27 May 2009 02:01:53 -0000	1.1059
+++ modules/node/node.module	27 May 2009 05:11:59 -0000
@@ -1372,9 +1372,6 @@ function template_preprocess_node(&$vari
   // Render any comments.
   $variables['comments']  = !empty($node->content['comments']) ? drupal_render($node->content['comments']) : '';
 
-  // Render the rest of the node into $content.
-  $variables['content'] = drupal_render($node->content);
-
   // Flatten the node object's member fields.
   $variables = array_merge((array)$node, $variables);
 
Index: modules/node/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.tpl.php,v
retrieving revision 1.11
diff -u -F^f -p -r1.11 node.tpl.php
--- modules/node/node.tpl.php	28 Apr 2009 19:56:00 -0000	1.11
+++ modules/node/node.tpl.php	27 May 2009 05:11:59 -0000
@@ -7,7 +7,9 @@
  *
  * Available variables:
  * - $title: the (sanitized) title of the node.
- * - $content: Node body or teaser depending on $teaser flag.
+ * - $content: An array of node items. Use dr($content) to print them all, or 
+ *   print a subset such as dr($content['field_example']). Always call 
+ *   dr($content) at the end in order to print all remaining items. 
  * - $comments: the themed list of comments (if any).
  * - $picture: The authors picture of the node output from
  *   theme_user_picture().
@@ -48,6 +50,10 @@
  * @see template_preprocess()
  * @see template_preprocess_node()
  */
+ 
+// Uncomment the line below to see what variables are available in this template.
+// print '<pre>' . check_plain(print_r(get_defined_vars(), TRUE)) . '</pre>';
+
 ?>
 <div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?> clearfix">
 
@@ -68,7 +74,7 @@
   </div>
 
   <div class="content">
-    <?php print $content ?>
+    <?php print dr($content); ?>
   </div>
 
   <?php print $links; ?>
Index: modules/user/user-profile.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user-profile.tpl.php,v
retrieving revision 1.6
diff -u -F^f -p -r1.6 user-profile.tpl.php
--- modules/user/user-profile.tpl.php	5 Feb 2009 03:42:58 -0000	1.6
+++ modules/user/user-profile.tpl.php	27 May 2009 05:11:59 -0000
@@ -8,27 +8,13 @@
  * This template is used when viewing a registered member's profile page,
  * e.g., example.com/user/123. 123 being the users ID.
  *
- * By default, all user profile data is printed out with the $user_profile
- * variable. If there is a need to break it up you can use $profile instead.
- * It is keyed to the name of each category or other data attached to the
- * account. If it is a category it will contain all the profile items. By
- * default $profile['summary'] is provided which contains data on the user's
- * history. Other data can be included by modules. $profile['user_picture'] is
- * available by default showing the account picture.
- *
- * Also keep in mind that profile items and their categories can be defined by
- * site administrators. They are also available within $profile. For example,
- * if a site is configured with a category of "contact" with
- * fields for of addresses, phone numbers and other related info, then doing a
- * straight print of $profile['contact'] will output everything in the
- * category. This is useful for altering source order and adding custom
- * markup for the group.
- *
- * To check for all available data within $profile, use the code below.
- *
- * @code
- *   print '<pre>'. check_plain(print_r($profile, 1)) .'</pre>';
- * @endcode
+ * Use dr($user_profile) to print all profile items, or print a subset
+ * such as dr($content['field_example']). Always call dr($user_profile)
+ * at the end in order to print all remaining items. If the item is a category,
+ * it will contain all it's profile items. By default, $user_profile['summary']
+ * is provided which contains data on the user's history. Other data can be
+ * included by modules. $user_profile['user_picture'] is available
+ * for showing the account picture.
  *
  * @see user-profile-category.tpl.php
  *   Where the html is handled for the group.
@@ -36,14 +22,16 @@
  *   Where the html is handled for each item in the group.
  *
  * Available variables:
- *   - $user_profile: All user profile data. Ready for print.
- *   - $profile: Keyed array of profile categories and their items or other data
- *     provided by modules.
+ *   - $user_profile: An array of profile items. Use dr() to print them.
  *   - TODO D7 : document $FIELD_NAME_rendered variables.
  *
  * @see template_preprocess_user_profile()
  */
+ 
+// Uncomment the line below to see what variables are available in this template.
+// print '<pre>' . check_plain(print_r(get_defined_vars(), TRUE)) . '</pre>';
+ 
 ?>
 <div class="profile">
-  <?php print $user_profile; ?>
+  <?php print dr($user_profile); ?>
 </div>
Index: modules/user/user.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.pages.inc,v
retrieving revision 1.38
diff -u -F^f -p -r1.38 user.pages.inc
--- modules/user/user.pages.inc	25 May 2009 18:22:31 -0000	1.38
+++ modules/user/user.pages.inc	27 May 2009 05:11:59 -0000
@@ -185,20 +185,11 @@ function user_view($account) {
  * The $variables array contains the following arguments:
  * - $account
  *
- * @see user-picture.tpl.php
+ * @see user-profile.tpl.php
  */
 function template_preprocess_user_profile(&$variables) {
   $account = $variables['elements']['#account'];
-
-  $variables['profile'] = array();
-  // Sort sections by weight
-  uasort($account->content, 'element_sort');
-  // Provide keyed variables so themers can print each section independently.
-  foreach (element_children($account->content) as $key) {
-    $variables['profile'][$key] = drupal_render($account->content[$key]);
-  }
-  // Collect all profiles to make it easier to print all items at once.
-  $variables['user_profile'] = implode($variables['profile']);
+  $variables['user_profile'] = $account->content;
 
   // Add $FIELD_NAME_rendered variables for fields.
   $variables += field_attach_preprocess('user', $account);
Index: themes/garland/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/node.tpl.php,v
retrieving revision 1.9
diff -u -F^f -p -r1.9 node.tpl.php
--- themes/garland/node.tpl.php	18 Feb 2009 14:28:25 -0000	1.9
+++ themes/garland/node.tpl.php	27 May 2009 05:11:59 -0000
@@ -14,7 +14,7 @@
   <?php endif; ?>
 
   <div class="content clearfix">
-    <?php print $content ?>
+    <?php print dr($content); ?>
   </div>
 
   <div class="clearfix">
