Index: includes/pager.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/pager.inc,v
retrieving revision 1.58
diff -u -r1.58 pager.inc
--- includes/pager.inc	27 Aug 2006 12:43:18 -0000	1.58
+++ includes/pager.inc	6 Sep 2006 16:53:15 -0000
@@ -33,7 +33,7 @@
  *   The SQL query that needs paging.
  * @param $limit
  *   The number of query results to display per page.
- * @param $element
+ * @param $pager_id
  *   An optional integer to distinguish between multiple pagers on one page.
  * @param $count_query
  *   An SQL query used to count matching records.
@@ -48,10 +48,17 @@
  *
  * @ingroup database
  */
-function pager_query($query, $limit = 10, $element = 0, $count_query = NULL) {
-  global $pager_page_array, $pager_total, $pager_total_items;
+function pager_query($query, $limit = 10, $pager_id = 0, $count_query = NULL) {
+  global $pager_page_array, $pager_total, $pager_total_items, $pager_elements_map;
   $page = isset($_GET['page']) ? $_GET['page'] : '';
 
+  if (!$pager_elements_map) {
+    $pager_elements_map = array();
+  }
+  if (($element = array_search($pager_id, $pager_elements_map)) === FALSE) {
+    $pager_elements_map[] = $pager_id;
+    $element = count($pager_elements_map) - 1;
+  }
   // Substitute in query arguments.
   $args = func_get_args();
   $args = array_slice($args, 4);
@@ -100,7 +107,7 @@
  *   An array of labels for the controls in the pager.
  * @param $limit
  *   The number of query results to display per page.
- * @param $element
+ * @param $pager_id
  *   An optional integer to distinguish between multiple pagers on one page.
  * @param $parameters
  *   An associative array of query string parameters to append to the pager links.
@@ -109,8 +116,12 @@
  *
  * @ingroup themeable
  */
-function theme_pager($tags = array(), $limit = 10, $element = 0, $parameters = array()) {
-  global $pager_total;
+function theme_pager($tags = array(), $limit = 10, $pager_id = 0, $parameters = array()) {
+  global $pager_total, $pager_elements_map;
+
+  if (($element = array_search($pager_id, $pager_elements_map)) === FALSE) {
+    return '';
+  } 
   $output = '';
 
   if ($pager_total[$element] > 1) {
