Index: modules/poll/poll.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.pages.inc,v
retrieving revision 1.25
diff -u -r1.25 poll.pages.inc
--- modules/poll/poll.pages.inc	8 Nov 2009 10:02:41 -0000	1.25
+++ modules/poll/poll.pages.inc	11 Nov 2009 19:59:47 -0000
@@ -43,7 +43,12 @@
   }
   $output .= '</ul>';
   $output .= theme("pager", array('tags' => NULL));
-  return $output;
+  return array(
+    '#markup' => $output,
+    '#attached' => array('css' => array(
+      drupal_get_path('module', 'poll') . '/poll.css',
+    )),
+  );
 }
 
 /**
@@ -83,6 +88,9 @@
     '#header' => $header,
     '#rows' => $rows,
     '#prefix' => t('This table lists all the recorded votes for this poll. If anonymous users are allowed to vote, they will be identified by the IP address of the computer they used when they voted.'),
+    '#attached' => array('css' => array(
+      drupal_get_path('module', 'poll') . '/poll.css',
+    )),
   );
   $build['poll_votes_pager'] = array('#theme' => 'pager');
   return $build;
Index: modules/poll/poll.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.module,v
retrieving revision 1.323
diff -u -r1.323 poll.module
--- modules/poll/poll.module	8 Nov 2009 10:02:41 -0000	1.323
+++ modules/poll/poll.module	11 Nov 2009 19:59:47 -0000
@@ -21,13 +21,6 @@
 }
 
 /**
- * Implement hook_init().
- */
-function poll_init() {
-  drupal_add_css(drupal_get_path('module', 'poll') . '/poll.css');
-}
-
-/**
  * Implement hook_theme().
  */
 function poll_theme() {
@@ -220,6 +213,9 @@
 
   $form = array(
     '#cache' => TRUE,
+    '#attached' => array('css' => array(
+      drupal_get_path('module', 'poll') . '/poll.css',
+    )),
   );
 
   if (isset($form_state['choice_count'])) {
@@ -586,7 +582,12 @@
     $node->content['poll_view_voting'] = drupal_get_form('poll_view_voting', $node, TRUE);
   }
   else {
-    $node->content['poll_view_results'] = array('#markup' => poll_view_results($node, TRUE, TRUE));
+    $node->content['poll_view_results'] = array(
+      '#markup' => poll_view_results($node, TRUE, TRUE),
+      '#attached' => array('css' => array(
+        drupal_get_path('module', 'poll') . '/poll.css',
+      )),
+    );
   }
 
   return $node;
@@ -604,7 +605,12 @@
     $node->content['poll_view_voting'] = drupal_get_form('poll_view_voting', $node);
   }
   else {
-    $node->content['poll_view_results'] = array('#markup' => poll_view_results($node, $build_mode));
+    $node->content['poll_view_results'] = array(
+      '#markup' => poll_view_results($node, $build_mode),
+      '#attached' => array('css' => array(
+        drupal_get_path('module', 'css') . '/poll.css',
+      )),
+    );
   }
   return $node;
 }
@@ -662,6 +668,9 @@
 
   // Provide a more cleanly named voting form theme.
   $form['#theme'] = 'poll_vote';
+
+  // Provide the CSS to style it properly.
+  $form['#attached']['css'][] = drupal_get_path('module', 'poll') . '/poll.css';
   return $form;
 }
 
Index: modules/aggregator/aggregator.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.module,v
retrieving revision 1.428
diff -u -r1.428 aggregator.module
--- modules/aggregator/aggregator.module	1 Nov 2009 17:50:45 -0000	1.428
+++ modules/aggregator/aggregator.module	11 Nov 2009 19:59:47 -0000
@@ -271,13 +271,6 @@
 }
 
 /**
- * Implement hook_init().
- */
-function aggregator_init() {
-  drupal_add_css(drupal_get_path('module', 'aggregator') . '/aggregator.css');
-}
-
-/**
  * Find out whether there are any aggregator categories.
  *
  * @return
Index: modules/aggregator/aggregator.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.pages.inc,v
retrieving revision 1.37
diff -u -r1.37 aggregator.pages.inc
--- modules/aggregator/aggregator.pages.inc	9 Oct 2009 00:59:55 -0000	1.37
+++ modules/aggregator/aggregator.pages.inc	11 Nov 2009 19:59:47 -0000
@@ -43,7 +43,12 @@
   // database by aggregator_feed_load.
   $items = aggregator_feed_items_load('source', $feed);
 
-  return _aggregator_page_list($items, arg(3), $feed_source);
+  return array(
+    '#markup' => _aggregator_page_list($items, arg(3), $feed_source),
+    '#attached' => array('css' => array(
+      drupal_get_path('module', 'aggregator') . '/aggregator.css',
+    )),
+  );
 }
 
 /**
Index: modules/book/book.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.module,v
retrieving revision 1.524
diff -u -r1.524 book.module
--- modules/book/book.module	8 Nov 2009 10:02:41 -0000	1.524
+++ modules/book/book.module	11 Nov 2009 19:59:47 -0000
@@ -189,13 +189,6 @@
 }
 
 /**
- * Implement hook_init().
- */
-function book_init() {
-  drupal_add_css(drupal_get_path('module', 'book') . '/book.css');
-}
-
-/**
  * Implement hook_field_build_modes().
  */
 function book_field_build_modes($obj_type) {
@@ -251,6 +244,7 @@
       }
     }
     $book_menus['#theme'] = 'book_all_books_block';
+    $book_menus['#attached']['css'][] = drupal_get_path('module', 'book') . '/book.css';
     $block['content'] = $book_menus;
   }
   elseif ($current_bid) {
@@ -266,7 +260,12 @@
       // There should only be one element at the top level.
       $data = array_shift($tree);
       $block['subject'] = theme('book_title_link', array('link' => $data['link']));
-      $block['content'] = ($data['below']) ? menu_tree_output($data['below']) : '';
+      $block['content'] = array(
+        '#markup' => ($data['below']) ? menu_tree_output($data['below']) : '',
+        '#attached' => array('css' => array(
+          drupal_get_path('module', 'book') . '/book.css',
+        )),
+      );
     }
   }
 
Index: modules/book/book.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.admin.inc,v
retrieving revision 1.26
diff -u -r1.26 book.admin.inc
--- modules/book/book.admin.inc	8 Nov 2009 10:02:41 -0000	1.26
+++ modules/book/book.admin.inc	11 Nov 2009 19:59:47 -0000
@@ -85,6 +85,7 @@
     '#type' => 'submit',
     '#value' => t('Save book pages'),
   );
+  $form['#attached']['css'][] = drupal_get_path('module', 'book') . '/book.css';
 
   return $form;
 }
Index: modules/book/book.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.pages.inc,v
retrieving revision 1.21
diff -u -r1.21 book.pages.inc
--- modules/book/book.pages.inc	8 Nov 2009 10:02:41 -0000	1.21
+++ modules/book/book.pages.inc	11 Nov 2009 19:59:47 -0000
@@ -135,6 +135,8 @@
     '#submit' => array('book_remove_button_submit'),
   );
 
+  $form['#attached']['css'][] = drupal_get_path('module', 'book') . '/book.css';
+
   return $form;
 }
 
Index: modules/forum/forum.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v
retrieving revision 1.532
diff -u -r1.532 forum.module
--- modules/forum/forum.module	8 Nov 2009 19:11:56 -0000	1.532
+++ modules/forum/forum.module	11 Nov 2009 19:59:47 -0000
@@ -134,14 +134,6 @@
   return $items;
 }
 
-
-/**
- * Implement hook_init().
- */
-function forum_init() {
-  drupal_add_css(drupal_get_path('module', 'forum') . '/forum.css');
-}
-
 /**
  * Check whether a content type can be used in a forum.
  *
Index: modules/forum/forum.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.pages.inc,v
retrieving revision 1.3
diff -u -r1.3 forum.pages.inc
--- modules/forum/forum.pages.inc	9 Oct 2009 00:59:59 -0000	1.3
+++ modules/forum/forum.pages.inc	11 Nov 2009 19:59:47 -0000
@@ -20,5 +20,10 @@
     $topics = forum_get_topics($tid, $sortby, $forum_per_page);
   }
 
-  return theme('forums', array('forums' => $forums, 'topics' => $topics, 'parents' => $parents, 'tid' => $tid, 'sortby' => $sortby, 'forums_per_page' => $forum_per_page));
+  return array(
+    '#markup' => theme('forums', array('forums' => $forums, 'topics' => $topics, 'parents' => $parents, 'tid' => $tid, 'sortby' => $sortby, 'forums_per_page' => $forum_per_page)),
+    '#attached' => array('css' => array(
+      drupal_get_path('module', 'forum') . '/forum.css',
+    )),
+  );
 }
