? Drupal-fix.check.output.speeds.patch
Index: modules/blog.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/blog.module,v
retrieving revision 1.154
diff -u -r1.154 blog.module
--- modules/blog.module	29 Dec 2003 17:14:26 -0000	1.154
+++ modules/blog.module	2 Jan 2004 14:40:47 -0000
@@ -220,9 +220,7 @@
 }
 
 function blog_content($node) {
-  $node->teaser = check_output($node->teaser);
-  $node->body = check_output($node->body);
-  return $node;
+  return node_check($node);
 }
 
 function blog_view($node, $main = 0, $page = 0) {
Index: modules/book.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/book.module,v
retrieving revision 1.203
diff -u -r1.203 book.module
--- modules/book.module	17 Dec 2003 22:27:23 -0000	1.203
+++ modules/book.module	2 Jan 2004 14:40:51 -0000
@@ -376,8 +376,7 @@
     ob_end_clean();
   }
   else {
-    $node->teaser = check_output($node->teaser);
-    $node->body = check_output($node->body);
+    $node = node_check($node);
   }
 
   return $node;
Index: modules/forum.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum.module,v
retrieving revision 1.150
diff -u -r1.150 forum.module
--- modules/forum.module	29 Dec 2003 17:14:26 -0000	1.150
+++ modules/forum.module	2 Jan 2004 14:40:53 -0000
@@ -141,9 +141,7 @@
 }
 
 function forum_content($node) {
-  $node->teaser = check_output($node->teaser);
-  $node->body = check_output($node->body);
-  return $node;
+  return node_check($node);
 }
 
 function forum_view($node, $main = 0, $page = 0) {
Index: modules/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node.module,v
retrieving revision 1.308
diff -u -r1.308 node.module
--- modules/node.module	2 Jan 2004 09:50:12 -0000	1.308
+++ modules/node.module	2 Jan 2004 14:40:58 -0000
@@ -411,17 +411,20 @@
     ** Default behavior:
     */
 
-    if ($node->teaser == $node->body) {
-      // Only invoke check_output() once for performance's sake:
-      $node->teaser = $node->body = check_output($node->teaser);
-    }
-    else {
-      $node->teaser = check_output($node->teaser);
-      $node->body = check_output($node->body);
-    }
+    return theme("node", node_check($node), $main, $page);
+  }
+}
 
-    return theme("node", $node, $main, $page);
+function node_check($node) {
+  if ($node->teaser == $node->body) {
+    // Only invoke check_output() once for performance's sake:
+    $node->teaser = $node->body = check_output($node->teaser);
+  }
+  else {
+    $node->teaser = check_output($node->teaser);
+    $node->body = check_output($node->body);
   }
+  return $node;
 }
 
 function node_show($node, $cid) {
Index: modules/page.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/page.module,v
retrieving revision 1.103
diff -u -r1.103 page.module
--- modules/page.module	25 Nov 2003 19:26:21 -0000	1.103
+++ modules/page.module	2 Jan 2004 14:40:59 -0000
@@ -104,8 +104,7 @@
 
   if ($node->format == 0) {
     // HTML type
-    $node->teaser = check_output($node->teaser);
-    $node->body = check_output($node->body);
+    $node = node_check($node);
   }
   else {
     // PHP type
Index: modules/story.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/story.module,v
retrieving revision 1.136
diff -u -r1.136 story.module
--- modules/story.module	29 Dec 2003 17:14:26 -0000	1.136
+++ modules/story.module	2 Jan 2004 14:40:59 -0000
@@ -91,8 +91,6 @@
 }
 
 function story_content($node) {
-  $node->teaser = check_output($node->teaser);
-  $node->body = check_output($node->body);
-  return $node;
+  return node_check($node);
 }
 ?>
