Index: diff.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/diff/diff.module,v
retrieving revision 1.23.2.3.2.23
diff -u -p -r1.23.2.3.2.23 diff.module
--- diff.module	9 Sep 2010 20:33:03 -0000	1.23.2.3.2.23
+++ diff.module	24 Feb 2011 19:14:56 -0000
@@ -245,6 +245,10 @@ function diff_theme() {
       'arguments' => array('text' => '', 'type' => NULL),
       'file' => 'diff.theme.inc',
     ),
+    'diff_diffs_show' => array(
+      'arguments' => array('node' => NULL, 'old_vid' => NULL, 'new_vid' => NULL),
+      'file' => 'diff.theme.inc',
+    ),
   );
 }
 
Index: diff.pages.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/diff/Attic/diff.pages.inc,v
retrieving revision 1.1.2.11
diff -u -p -r1.1.2.11 diff.pages.inc
--- diff.pages.inc	20 Aug 2010 06:19:01 -0000	1.1.2.11
+++ diff.pages.inc	24 Feb 2011 19:14:57 -0000
@@ -155,83 +155,7 @@ function diff_node_revisions_validate($f
  *   Version ID of the new revision.
  */
 function diff_diffs_show($node, $old_vid, $new_vid) {
-
-  // Set same title as on the 'Revisions' tab for consistency
-  drupal_set_title(t('Revisions for %title', array('%title' => $node->title)));
-
-  $node_revisions = node_revision_list($node);
-
-  $old_node = node_load($node->nid, $old_vid);
-  $new_node = node_load($node->nid, $new_vid);
-
-  // Generate table header (date, username, logmessage).
-  $old_header = t('!date by !username', array(
-    '!date' => l(format_date($old_node->revision_timestamp), "node/$node->nid/revisions/$old_node->vid/view"),
-    '!username' => theme('username', $node_revisions[$old_vid]),
-  ));
-  $new_header = t('!date by !username', array(
-    '!date' => l(format_date($new_node->revision_timestamp), "node/$node->nid/revisions/$new_node->vid/view"),
-    '!username' => theme('username', $node_revisions[$new_vid]),
-  ));
-
-  $old_log = $old_node->log != '' ? '<p class="revision-log">'. filter_xss($old_node->log) .'</p>' : '';
-  $new_log = $new_node->log != '' ? '<p class="revision-log">'. filter_xss($new_node->log) .'</p>' : '';
-
-  // Generate previous diff/next diff links.
-  $next_vid = _diff_get_next_vid($node_revisions, $new_vid);
-  if ($next_vid) {
-    $next_link = l(t('next diff >'), 'node/'. $node->nid .'/revisions/view/'. $new_vid .'/'. $next_vid);
-  }
-  else {
-    $next_link = '';
-  }
-  $prev_vid = _diff_get_previous_vid($node_revisions, $old_vid);
-  if ($prev_vid) {
-    $prev_link = l(t('< previous diff'), 'node/'. $node->nid .'/revisions/view/'. $prev_vid .'/'. $old_vid);
-  }
-  else {
-    $prev_link = '';
-  }
-
-  $cols = _diff_default_cols();
-  $header = _diff_default_header($old_header, $new_header);
-  $rows = array();
-  if ($old_log || $new_log) {
-    $rows[] = array(
-      array(
-        'data' => $old_log,
-        'colspan' => 2
-      ),
-      array(
-        'data' => $new_log,
-        'colspan' => 2
-      )
-    );
-  }
-  $rows[] = array(
-    array(
-      'data' => $prev_link,
-      'class' => 'diff-prevlink',
-      'colspan' => 2
-    ),
-    array(
-      'data' => $next_link,
-      'class' => 'diff-nextlink',
-      'colspan' => 2
-    )
-  );
-  $rows = array_merge($rows, _diff_body_rows($old_node, $new_node));
-  $output = theme('diff_table', $header, $rows, array('class' => 'diff'), NULL, $cols);
-
-  if ($node->vid == $new_vid) {
-    $output .= '<div class="diff-section-title">'. t('Current revision:') .'</div>';
-  }
-  else {
-    $output .= '<div class="diff-section-title">'. t('Revision of !new_date:', array('!new_date' => format_date($new_node->revision_timestamp))) .'</div>';
-  }
-  // Don't include node links (final argument) when viewing the diff.
-  $output .= node_view($new_node, FALSE, FALSE, FALSE);
-  return $output;
+  return theme('diff_diffs_show', $node, $old_vid, $new_vid);
 }
 
 /**
Index: diff.theme.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/diff/Attic/diff.theme.inc,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 diff.theme.inc
--- diff.theme.inc	12 Aug 2010 16:34:08 -0000	1.1.2.3
+++ diff.theme.inc	24 Feb 2011 19:14:57 -0000
@@ -316,3 +316,82 @@ function theme_diff_inline_chunk($text, 
       return $text;
   }
 }
+
+function theme_diff_diffs_show($node, $old_vid, $new_vid) {
+  // Set same title as on the 'Revisions' tab for consistency
+  drupal_set_title(t('Revisions for %title', array('%title' => $node->title)));
+
+  $node_revisions = node_revision_list($node);
+
+  $old_node = node_load($node->nid, $old_vid);
+  $new_node = node_load($node->nid, $new_vid);
+
+  // Generate table header (date, username, logmessage).
+  $old_header = t('!date by !username', array(
+    '!date' => l(format_date($old_node->revision_timestamp), "node/$node->nid/revisions/$old_node->vid/view"),
+    '!username' => theme('username', $node_revisions[$old_vid]),
+  ));
+  $new_header = t('!date by !username', array(
+    '!date' => l(format_date($new_node->revision_timestamp), "node/$node->nid/revisions/$new_node->vid/view"),
+    '!username' => theme('username', $node_revisions[$new_vid]),
+  ));
+
+  $old_log = $old_node->log != '' ? '<p class="revision-log">'. filter_xss($old_node->log) .'</p>' : '';
+  $new_log = $new_node->log != '' ? '<p class="revision-log">'. filter_xss($new_node->log) .'</p>' : '';
+
+  // Generate previous diff/next diff links.
+  $next_vid = _diff_get_next_vid($node_revisions, $new_vid);
+  if ($next_vid) {
+    $next_link = l(t('next diff >'), 'node/'. $node->nid .'/revisions/view/'. $new_vid .'/'. $next_vid);
+  }
+  else {
+    $next_link = '';
+  }
+  $prev_vid = _diff_get_previous_vid($node_revisions, $old_vid);
+  if ($prev_vid) {
+    $prev_link = l(t('< previous diff'), 'node/'. $node->nid .'/revisions/view/'. $prev_vid .'/'. $old_vid);
+  }
+  else {
+    $prev_link = '';
+  }
+
+  $cols = _diff_default_cols();
+  $header = _diff_default_header($old_header, $new_header);
+  $rows = array();
+  if ($old_log || $new_log) {
+    $rows[] = array(
+      array(
+        'data' => $old_log,
+        'colspan' => 2
+      ),
+      array(
+        'data' => $new_log,
+        'colspan' => 2
+      )
+    );
+  }
+  $rows[] = array(
+    array(
+      'data' => $prev_link,
+      'class' => 'diff-prevlink',
+      'colspan' => 2
+    ),
+    array(
+      'data' => $next_link,
+      'class' => 'diff-nextlink',
+      'colspan' => 2
+    )
+  );
+  $rows = array_merge($rows, _diff_body_rows($old_node, $new_node));
+  $output = theme('diff_table', $header, $rows, array('class' => 'diff'), NULL, $cols);
+
+  if ($node->vid == $new_vid) {
+    $output .= '<div class="diff-section-title">'. t('Current revision:') .'</div>';
+  }
+  else {
+    $output .= '<div class="diff-section-title">'. t('Revision of !new_date:', array('!new_date' => format_date($new_node->revision_timestamp))) .'</div>';
+  }
+  // Don't include node links (final argument) when viewing the diff.
+  $output .= node_view($new_node, FALSE, FALSE, FALSE);
+  return $output;
+}
