Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.928
diff -u -p -r1.928 common.inc
--- includes/common.inc	3 Jul 2009 19:21:54 -0000	1.928
+++ includes/common.inc	4 Jul 2009 05:57:44 -0000
@@ -3932,6 +3932,10 @@ function drupal_common_theme() {
     'placeholder' => array(
       'arguments' => array('text' => NULL)
     ),
+    'html' => array(
+      'arguments' => array('page' => NULL),
+      'template' => 'html',
+    ),
     'page' => array(
       'arguments' => array('page' => NULL),
       'template' => 'page',
Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.497
diff -u -p -r1.497 theme.inc
--- includes/theme.inc	2 Jul 2009 04:27:22 -0000	1.497
+++ includes/theme.inc	4 Jul 2009 05:57:44 -0000
@@ -1878,6 +1878,49 @@ function template_process(&$variables, $
 }
 
 /**
+ * Preprocess variables for html.tpl.php
+ *
+ * @see system_elements()
+ * @see html.tpl.php
+ */
+function template_preprocess_html(&$variables) {
+  // Place the rendered HTML for the page body into a top level variable.
+  $variables['page']              = $variables['page']['#children'];
+  // RDFa allows annotation of XHTML pages with RDF data, while GRDDL provides
+  // mechanisms for extraction of this RDF content via XSLT transformation
+  // using an associated GRDDL profile.
+  $variables['rdf_namespaces']    = drupal_get_rdf_namespaces();
+  $variables['grddl_profile']     = 'http://ns.inria.fr/grddl/rdfa/';
+  $variables['language']          = $GLOBALS['language'];
+  $variables['language']->dir     = $GLOBALS['language']->direction ? 'rtl' : 'ltr';
+
+  // Add favicon.
+  if (theme_get_setting('toggle_favicon')) {
+    $favicon = theme_get_setting('favicon');
+    $type = file_get_mimetype($favicon);
+    // Use the genereic MIME type for favicons if no other was found.
+    if ($type == 'application/octet-stream') {
+      $type = 'image/x-icon';
+    }
+    drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
+  }
+
+  // Construct page title.
+  if (drupal_get_title()) {
+    $head_title = array(strip_tags(drupal_get_title()), variable_get('site_name', 'Drupal'));
+  }
+  else {
+    $head_title = array(variable_get('site_name', 'Drupal'));
+    if (variable_get('site_slogan', '')) {
+      $head_title[] = variable_get('site_slogan', '');
+    }
+  }
+  $variables['head_title'] = implode(' | ', $head_title);
+  // Closure should be filled last.
+  $variables['closure'] = theme('closure');
+}
+
+/**
  * Preprocess variables for page.tpl.php
  *
  * Most themes utilize their own copy of page.tpl.php. The default is located
@@ -1899,17 +1942,6 @@ function template_preprocess_page(&$vari
   $variables['show_blocks'] = $variables['page']['#show_blocks'];
   $variables['show_messages'] = $variables['page']['#show_messages'];
 
-  // Add favicon.
-  if (theme_get_setting('toggle_favicon')) {
-    $favicon = theme_get_setting('favicon');
-    $type = file_get_mimetype($favicon);
-    // Use the genereic MIME type for favicons if no other was found.
-    if ($type == 'application/octet-stream') {
-      $type = 'image/x-icon';
-    }
-    drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
-  }
-
   // Set up layout variable.
   $variables['layout'] = 'none';
   if (!empty($variables['page']['left'])) {
@@ -1919,23 +1951,10 @@ function template_preprocess_page(&$vari
     $variables['layout'] = ($variables['layout'] == 'left') ? 'both' : 'right';
   }
 
-  // Construct page title
-  if (drupal_get_title()) {
-    $head_title = array(strip_tags(drupal_get_title()), variable_get('site_name', 'Drupal'));
-  }
-  else {
-    $head_title = array(variable_get('site_name', 'Drupal'));
-    if (variable_get('site_slogan', '')) {
-      $head_title[] = variable_get('site_slogan', '');
-    }
-  }
-  $variables['head_title']        = implode(' | ', $head_title);
   $variables['base_path']         = base_path();
   $variables['front_page']        = url();
   $variables['breadcrumb']        = theme('breadcrumb', drupal_get_breadcrumb());
   $variables['feed_icons']        = drupal_get_feeds();
-  $variables['language']          = $GLOBALS['language'];
-  $variables['language']->dir     = $GLOBALS['language']->direction ? 'rtl' : 'ltr';
   $variables['logo']              = theme_get_setting('logo');
   $variables['messages']          = $variables['show_messages'] ? theme('status_messages') : '';
   $variables['main_menu']         = theme_get_setting('toggle_main_menu') ? menu_main_menu() : array();
@@ -1945,13 +1964,6 @@ function template_preprocess_page(&$vari
   $variables['site_slogan']       = (theme_get_setting('toggle_slogan') ? filter_xss_admin(variable_get('site_slogan', '')) : '');
   $variables['tabs']              = theme('menu_local_tasks');
   $variables['title']             = drupal_get_title();
-  // RDFa allows annotation of XHTML pages with RDF data, while GRDDL provides
-  // mechanisms for extraction of this RDF content via XSLT transformation
-  // using an associated GRDDL profile.
-  $variables['rdf_namespaces']    = drupal_get_rdf_namespaces();
-  $variables['grddl_profile']     = 'http://ns.inria.fr/grddl/rdfa/';
-  // Closure should be filled last.
-  $variables['closure']           = theme('closure');
 
   if ($node = menu_get_object()) {
     $variables['node'] = $node;
@@ -1994,22 +2006,17 @@ function template_preprocess_page(&$vari
     $variables['classes_array'][] = 'one-sidebar sidebar-' . $variables['layout'];
   }
 }
+
 /**
- * Process variables for page.tpl.php
+ * Process variables for html.tpl.php
  *
- * Perform final addition and modification of variables before passing into 
- * the template. To customize these variables, call drupal_render() on elements 
- * in $variables['page'] during THEME_preprocess_page().
+ * Perform final addition and modification of variables before passing into
+ * the template.
  *
- * @see template_preprocess_page()
- * @see page.tpl.php
+ * @see template_preprocess_html()
+ * @see html.tpl.php
  */
-function template_process_page(&$variables) {
-  // Render each region into top level variables.
-  foreach (system_region_list($GLOBALS['theme']) as $region_key => $region_name) {
-    $variables[$region_key] = drupal_render($variables['page'][$region_key]);
-  }
-
+function template_process_html(&$variables) {
   $variables['head']    = drupal_get_html_head();
   $variables['css']     = drupal_add_css();
   $variables['styles']  = drupal_get_css();
Index: modules/block/block.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.module,v
retrieving revision 1.347
diff -u -p -r1.347 block.module
--- modules/block/block.module	1 Jul 2009 08:04:19 -0000	1.347
+++ modules/block/block.module	4 Jul 2009 05:57:44 -0000
@@ -240,6 +240,7 @@ function block_page_alter($page) {
 
   // Load all region content assigned via blocks.
   foreach (array_keys($regions) as $region) {
+    $page[$region] = array();
     // Prevent left and right regions from rendering blocks when 'show_blocks' == FALSE.
     if (!empty($page['#show_blocks']) || ($region != 'left' && $region != 'right')) {
       // Assign blocks to region.
Index: modules/system/html.tpl.php
===================================================================
RCS file: modules/system/html.tpl.php
diff -N modules/system/html.tpl.php
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/system/html.tpl.php	4 Jul 2009 05:57:44 -0000
@@ -0,0 +1,47 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Default theme implementation to display the basic html structure of a single
+ * Drupal page.
+ *
+ * Variables:
+ * - $css: An array of CSS files for the current page.
+ * - $language: (object) The language the site is being displayed in.
+ *   $language->language contains its textual representation.
+ *   $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
+ * - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
+ * - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
+ * - $head_title: A modified version of the page title, for use in the TITLE tag.
+ * - $head: Markup for the HEAD section (including meta tags, keyword tags, and
+ *   so on).
+ * - $styles: Style tags necessary to import all CSS files for the page.
+ * - $scripts: Script tags necessary to load the JavaScript files and settings
+ *   for the page.
+ * - $page: The rendered page content.
+ * - $closure: Final closing markup from any modules that have altered the page.
+ *   This variable should always be output last, after all other dynamic content.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_html()
+ * @see template_process()
+ */
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
+  "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"
+  <?php print $rdf_namespaces ?>>
+
+<head profile="<?php print $grddl_profile ?>">
+  <title><?php print $head_title ?></title>
+  <?php print $head ?>
+  <?php print $styles ?>
+  <?php print $scripts ?>
+</head>
+<body>
+  <?php print $page ?>
+  <?php print $closure ?>
+</body>
+</html>
Index: modules/system/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/page.tpl.php,v
retrieving revision 1.24
diff -u -p -r1.24 page.tpl.php
--- modules/system/page.tpl.php	4 Jul 2009 05:21:15 -0000	1.24
+++ modules/system/page.tpl.php	4 Jul 2009 06:07:00 -0000
@@ -10,7 +10,6 @@
  * General utility variables:
  * - $base_path: The base URL path of the Drupal installation. At the very
  *   least, this will always default to /.
- * - $css: An array of CSS files for the current page.
  * - $directory: The directory the template is located in, e.g. modules/system
  *   or themes/garland.
  * - $classes_array: Array of html class attribute values. It is flattened
@@ -20,21 +19,9 @@
  * - $is_admin: TRUE if the user has permission to access administration pages.
  *
  * Page metadata:
- * - $language: (object) The language the site is being displayed in.
- *   $language->language contains its textual representation.
- *   $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
- * - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
- * - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
- * - $head_title: A modified version of the page title, for use in the TITLE tag.
- * - $head: Markup for the HEAD section (including meta tags, keyword tags, and
- *   so on).
- * - $styles: Style tags necessary to import all CSS files for the page.
- * - $scripts: Script tags necessary to load the JavaScript files and settings
- *   for the page.
  * - $classes: String of classes that can be used to style contextually through
- *   CSS. It should be placed within the <body> tag. When selecting through CSS
- *   it's recommended that you use the body tag, e.g., "body.front". It can be
- *   manipulated through the variable $classes_array from preprocess functions.
+ *   CSS. It can be manipulated through the variable $classes_array from
+ *   preprocess functions.
  *   The default values can be one or more of the following:
  *   - page: The current template type, i.e., "theming hook".
  *   - front: Page is the home page.
@@ -74,42 +61,30 @@
  * - $messages: HTML for status and error messages. Should be displayed prominently.
  * - $tabs: Tabs linking to any sub-pages beneath the current page (e.g., the view
  *   and edit tabs when displaying a node).
- * - $help: Dynamic help text, mostly for admin pages.
- * - $content: The main content of the current page.
  * - $feed_icons: A string of all feed icons for the current page.
- * - $left: Items for the left sidebar.
- * - $right: Items for the right sidebar.
- * - $highlight: Items for the highlighted content region.
- *
- * Footer/closing data:
- * - $footer : The footer region.
- * - $closure: Final closing markup from any modules that have altered the page.
- *   This variable should always be output last, after all other dynamic content.
+ *
+ * Regions:
+ * - $page['help']: Dynamic help text, mostly for admin pages.
+ * - $page['highlight']: Items for the highlighted content region.
+ * - $page['content']: The main content of the current page.
+ * - $page['left']: Items for the left sidebar.
+ * - $page['right']: Items for the right sidebar.
+ * - $page['header']: Items for the header region.
+ * - $page['footer']: Items for the footer region.
+ * - $page['page_top']: Items for the top region.
  *
  * @see template_preprocess()
- * @see template_preprocess_page()
  * @see template_process()
  */
 ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
-  "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" dir="<?php print $language->dir; ?>"
-  <?php print $rdf_namespaces; ?>>
-
-<head profile="<?php print $grddl_profile; ?>">
-  <title><?php print $head_title; ?></title>
-  <?php print $head; ?>
-  <?php print $styles; ?>
-  <?php print $scripts; ?>
-</head>
-<body class="<?php print $classes; ?>">
-
-  <?php if ($page_top): ?>
-    <div id="page-top-region" class="clearfix">
-      <?php print $page_top; ?>
+
+  <?php if ($page['page_top']): ?>
+    <div id="page-top-region" class="region clearfix">
+      <?php render($page['page_top']) ?>
     </div>
   <?php endif; ?>
-  <div id="page-wrapper"><div id="page">
+
+  <div id="page-wrapper"><div id="page" class="<?php print $classes; ?>">
 
     <div id="header"><div class="section clearfix">
 
@@ -143,9 +118,9 @@
         <div id="search-box"><?php print $search_box; ?></div>
       <?php endif; ?>
 
-      <?php if ($header): ?>
+      <?php if ($page['header']): ?>
         <div id="header-region" class="region">
-          <?php print $header; ?>
+          <?php render($page['header']) ?>
         </div>
       <?php endif; ?>
 
@@ -166,25 +141,31 @@
     <div id="main-wrapper"><div id="main" class="clearfix">
 
       <div id="content" class="column"><div class="section">
-        <?php if ($highlight): ?><div id="highlight"><?php print $highlight; ?></div><?php endif; ?>
+
+        <?php if ($page['highlight']): ?>
+          <div id="highlight" class="region">
+            <?php render($page['highlight']) ?>
+          </div>
+        <?php endif; ?>
+
         <?php if ($title): ?><h1 class="title" id="page-title"><?php print $title; ?></h1><?php endif; ?>
         <?php if ($tabs): ?><div class="tabs"><?php print $tabs; ?></div><?php endif; ?>
-        <?php print $help; ?>
+        <?php render($page['help']) ?>
         <div id="content-area" class="region">
-          <?php print $content; ?>
+          <?php render($page['content']) ?>
         </div> <!-- /#content-area -->
         <?php print $feed_icons; ?>
       </div></div> <!-- /.section, /#content -->
 
-      <?php if ($left): ?>
+      <?php if ($page['left']): ?>
         <div id="sidebar-left" class="column sidebar"><div class="section region">
-          <?php print $left; ?>
+          <?php render($page['left']) ?>
         </div></div> <!-- /.section, /#sidebar-left -->
       <?php endif; ?>
 
-      <?php if ($right): ?>
+      <?php if ($page['right']): ?>
         <div id="sidebar-right" class="column sidebar"><div class="section region">
-          <?php print $right; ?>
+          <?php render($page['right']) ?>
         </div></div> <!-- /.section, /#sidebar-right -->
       <?php endif; ?>
 
@@ -192,12 +173,11 @@
 
     <div id="footer"><div class="section">
       <?php print theme('links', $secondary_menu, array('id' => 'secondary-menu', 'class' => 'links clearfix')); ?>
-      <?php if ($footer): ?><div id="footer-region" class="region"><?php print $footer; ?></div><?php endif; ?>
+      <?php if ($page['footer']): ?>
+        <div id="footer-region" class="region">
+          <?php render($page['footer']) ?>
+        </div>
+      <?php endif; ?>
     </div></div> <!-- /.section, /#footer -->
 
   </div></div> <!-- /#page, /#page-wrapper -->
-
-  <?php print $closure; ?>
-
-</body>
-</html>
Index: modules/system/system.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.css,v
retrieving revision 1.54
diff -u -p -r1.54 system.css
--- modules/system/system.css	11 Apr 2009 22:19:45 -0000	1.54
+++ modules/system/system.css	4 Jul 2009 05:57:44 -0000
@@ -3,7 +3,7 @@
 /*
 ** HTML elements
 */
-body.drag {
+body .drag {
   cursor: move;
 }
 th.active img {
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.719
diff -u -p -r1.719 system.module
--- modules/system/system.module	4 Jul 2009 05:21:15 -0000	1.719
+++ modules/system/system.module	4 Jul 2009 05:57:44 -0000
@@ -257,6 +257,7 @@ function system_elements() {
     '#show_messages' => TRUE,
     '#show_blocks' => TRUE,
     '#theme' => 'page',
+    '#theme_wrapper' => 'html',
   );
 
   $type['list'] = array(
Index: themes/garland/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/page.tpl.php,v
retrieving revision 1.28
diff -u -p -r1.28 page.tpl.php
--- themes/garland/page.tpl.php	4 Jul 2009 05:21:15 -0000	1.28
+++ themes/garland/page.tpl.php	4 Jul 2009 06:09:09 -0000
@@ -1,26 +1,14 @@
 <?php
 // $Id: page.tpl.php,v 1.28 2009/07/04 05:21:15 dries Exp $
-?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
-  "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"
-  <?php print $rdf_namespaces ?>>
-  <head profile="<?php print $grddl_profile ?>">
-    <title><?php print $head_title ?></title>
-    <?php print $head ?>
-    <?php print $styles ?>
-    <?php print $scripts ?>
-    <!--[if lt IE 7]>
-      <?php print $ie_styles ?>
-    <![endif]-->
-  </head>
-  <body class="<?php print $classes ?>">
+?>
 
-  <?php if ($page_top): ?>
+  <?php if ($page['page_top']): ?>
     <div id="page-top-region" class="clearfix">
-      <?php print $page_top; ?>
+      <?php render($page['page_top']) ?>
     </div>
   <?php endif; ?>
 
+<div id="page" class="<?php print $classes ?>">
   <div id="header-region" class="clearfix"><?php print $header ?></div>
 
   <div id="wrapper">
@@ -42,39 +30,36 @@
         <?php if ($secondary_nav): print $secondary_nav; endif; ?>
       </div> <!-- /#header -->
 
-      <?php if ($left): ?>
+      <?php if ($page['left']): ?>
         <div id="sidebar-left" class="sidebar">
           <?php if ($search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
-          <?php print $left ?>
+          <?php render($page['left']) ?>
         </div>
       <?php endif; ?>
 
       <div id="center"><div id="squeeze"><div class="right-corner"><div class="left-corner">
           <?php print $breadcrumb; ?>
-          <?php if ($highlight): ?><div id="highlight"><?php print $highlight ?></div><?php endif; ?>
+          <?php if ($page['highlight']): ?><div id="highlight"><?php render($page['highlight']) ?></div><?php endif; ?>
           <?php if ($tabs): ?><div id="tabs-wrapper" class="clearfix"><?php endif; ?>
           <?php if ($title): ?><h2<?php print $tabs ? ' class="with-tabs"' : '' ?>><?php print $title ?></h2><?php endif; ?>
           <?php if ($tabs): ?><ul class="tabs primary"><?php print $tabs ?></ul></div><?php endif; ?>
           <?php if ($tabs2): ?><ul class="tabs secondary"><?php print $tabs2 ?></ul><?php endif; ?>
           <?php if ($show_messages && $messages): print $messages; endif; ?>
-          <?php print $help; ?>
+          <?php render($page['help']) ?>
           <div class="clearfix">
-            <?php print $content ?>
+            <?php render($page['content']) ?>
           </div>
           <?php print $feed_icons ?>
-          <div id="footer"><?php print $footer ?></div>
+          <div id="footer"><?php render($page['footer']) ?></div>
       </div></div></div></div> <!-- /.left-corner, /.right-corner, /#squeeze, /#center -->
 
-      <?php if ($right): ?>
+      <?php if ($page['right']): ?>
         <div id="sidebar-right" class="sidebar">
-          <?php if (!$left && $search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
-          <?php print $right ?>
+          <?php if (!$page['left'] && $search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
+          <?php render($page['right']) ?>
         </div>
       <?php endif; ?>
 
     </div> <!-- /#container -->
   </div> <!-- /#wrapper -->
-
-  <?php print $closure ?>
-  </body>
-</html>
+</div>
Index: themes/garland/print.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/print.css,v
retrieving revision 1.7
diff -u -p -r1.7 print.css
--- themes/garland/print.css	25 Jun 2008 09:12:25 -0000	1.7
+++ themes/garland/print.css	4 Jul 2009 05:57:44 -0000
@@ -12,12 +12,12 @@ ul.main-menu, ul.secondary-menu,
   display: none;
 }
 
-body.two-sidebars, body.sidebar-left, body.sidebar-right, body {
+body .two-sidebars, body .sidebar-left, body .sidebar-right, body {
   width: 640px;
 }
 
-body.sidebar-left #center, body.sidebar-right #center, body.two-sidebars #center,
-body.sidebar-left #squeeze, body.sidebar-right #squeeze, body.two-sidebars #squeeze {
+body .sidebar-left #center, body .sidebar-right #center, body .two-sidebars #center,
+body .sidebar-left #squeeze, body .sidebar-right #squeeze, body .two-sidebars #squeeze {
   margin: 0;
 }
 
Index: themes/garland/style.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/style.css,v
retrieving revision 1.58
diff -u -p -r1.58 style.css
--- themes/garland/style.css	20 Jun 2009 07:40:36 -0000	1.58
+++ themes/garland/style.css	4 Jul 2009 05:57:44 -0000
@@ -373,11 +373,11 @@ table .form-button, table .form-submit {
 }
 
 /* With 3 columns, require a minimum width of 1000px to ensure there is enough horizontal space. */
-body.two-sidebars {
+body .two-sidebars {
   min-width: 980px;
 }
 /* With 2 columns, require a minimum width of 800px. */
-body.sidebar-left, body.sidebar-right {
+body .sidebar-left, body .sidebar-right {
   min-width: 780px;
 }
 
@@ -388,24 +388,24 @@ body.sidebar-left, body.sidebar-right {
 }
 
 /* So we move the #center container over the sidebars to compensate */
-body.sidebar-left #center {
+body .sidebar-left #center {
   margin-left: -210px;
 }
-body.sidebar-right #center {
+body .sidebar-right #center {
   margin-right: -210px;
 }
-body.two-sidebars #center {
+body .two-sidebars #center {
   margin: 0 -210px;
 }
 
 /* And add blanks left and right for the sidebars to fill */
-body.sidebar-left #squeeze {
+body .sidebar-left #squeeze {
   margin-left: 210px;
 }
-body.sidebar-right #squeeze {
+body .sidebar-right #squeeze {
   margin-right: 210px;
 }
-body.two-sidebars #squeeze {
+body .two-sidebars #squeeze {
   margin: 0 210px;
 }
 
@@ -486,15 +486,15 @@ body.two-sidebars #squeeze {
   z-index: 3;
 }
 
-body.sidebar-left #footer {
+body .sidebar-left #footer {
   margin-left: -210px;
 }
 
-body.sidebar-right #footer {
+body .sidebar-right #footer {
   margin-right: -210px;
 }
 
-body.two-sidebars #footer {
+body .two-sidebars #footer {
   margin: 0 -210px;
 }
 
Index: themes/garland/template.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/template.php,v
retrieving revision 1.22
diff -u -p -r1.22 template.php
--- themes/garland/template.php	2 Jun 2009 03:57:22 -0000	1.22
+++ themes/garland/template.php	4 Jul 2009 05:57:44 -0000
@@ -33,7 +33,7 @@ function garland_preprocess_page(&$vars)
   $vars['tabs2'] = menu_secondary_local_tasks();
   $vars['primary_nav'] = isset($vars['main_menu']) ? theme('links', $vars['main_menu'], array('class' => 'links main-menu')) : FALSE;
   $vars['secondary_nav'] = isset($vars['secondary_menu']) ? theme('links', $vars['secondary_menu'], array('class' => 'links secondary-menu')) : FALSE;
-  $vars['ie_styles'] = garland_get_ie_styles();
+  drupal_add_html_head('<!--[if lt IE 7]>' . garland_get_ie_styles() . '<![endif]-->');
 
   // Prepare header
   $site_fields = array();
@@ -91,7 +91,7 @@ function garland_node_submitted($node) {
 function garland_get_ie_styles() {
   global $language;
 
-  $ie_styles = '<link type="text/css" rel="stylesheet" media="all" href="' . base_path() . path_to_theme() . '/fix-ie.css" />' . "\n";
+  $ie_styles = "\n". '<link type="text/css" rel="stylesheet" media="all" href="' . base_path() . path_to_theme() . '/fix-ie.css" />' . "\n";
   if ($language->direction == LANGUAGE_RTL) {
     $ie_styles .= '      <style type="text/css" media="all">@import "' . base_path() . path_to_theme() . '/fix-ie-rtl.css";</style>' . "\n";
   }
Index: themes/garland/minnelli/minnelli.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/minnelli/minnelli.css,v
retrieving revision 1.6
diff -u -p -r1.6 minnelli.css
--- themes/garland/minnelli/minnelli.css	28 Apr 2008 09:25:27 -0000	1.6
+++ themes/garland/minnelli/minnelli.css	4 Jul 2009 05:57:44 -0000
@@ -4,11 +4,11 @@ body #wrapper #container {
   width: 560px;
 }
 
-body.two-sidebars #wrapper #container {
+body .two-sidebars #wrapper #container {
   width: 980px;
 }
 
-body.sidebar-left #wrapper #container,
-body.sidebar-right #wrapper #container {
+body .sidebar-left #wrapper #container,
+body .sidebar-right #wrapper #container {
   width: 770px;
 }
Index: themes/stark/layout.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/stark/layout.css,v
retrieving revision 1.2
diff -u -p -r1.2 layout.css
--- themes/stark/layout.css	24 Feb 2009 17:50:22 -0000	1.2
+++ themes/stark/layout.css	4 Jul 2009 05:57:44 -0000
@@ -27,14 +27,14 @@
 #content {
   width: 100%;
 }
-body.sidebar-left #content {
+body .sidebar-left #content {
   width: 80%;
   left: 20%;
 }
-body.sidebar-right #content {
+body .sidebar-right #content {
   width: 80%;
 }
-body.two-sidebars #content {
+body .two-sidebars #content {
   width: 60%;
   left: 20%;
 }
@@ -44,7 +44,7 @@ body.two-sidebars #content {
   left: -80%;
 }
 
-body.two-sidebars #sidebar-left {
+body .two-sidebars #sidebar-left {
   left: -60%;
 }
 
