Index: modules/node/node-rtl.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node-rtl.css,v
retrieving revision 1.4
diff -u -p -r1.4 node-rtl.css
--- modules/node/node-rtl.css	3 Nov 2009 04:35:01 -0000	1.4
+++ modules/node/node-rtl.css	4 Nov 2009 17:53:05 -0000
@@ -1,6 +1,6 @@
 /* $Id: node-rtl.css,v 1.4 2009/11/03 04:35:01 webchick Exp $ */
 
-#node-admin-content dl.multiselect dd.b .form-item label {
+#node-admin-content dl.multiselect dd .form-item label {
   display: block;
   float: right;
   width: 6em;
Index: modules/node/node.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.admin.inc,v
retrieving revision 1.76
diff -u -p -r1.76 node.admin.inc
--- modules/node/node.admin.inc	3 Nov 2009 05:27:18 -0000	1.76
+++ modules/node/node.admin.inc	4 Nov 2009 17:53:05 -0000
@@ -242,7 +242,7 @@ function theme_node_filters($variables) 
 
   $output .= '<dl class="multiselect">' . (!empty($form['current']) ? '<dt><em>' . t('and') . '</em> ' . t('where') . '</dt>' : '');
 
-  $output .= '<dd class="b">';
+  $output .= '<dd>';
 
   foreach (element_children($form['status']) as $key) {
     $output .= drupal_render($form['status'][$key]);
Index: modules/node/node.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.css,v
retrieving revision 1.9
diff -u -p -r1.9 node.css
--- modules/node/node.css	3 Nov 2009 04:35:01 -0000	1.9
+++ modules/node/node.css	4 Nov 2009 17:53:05 -0000
@@ -7,10 +7,10 @@
   background-color: #ffffea;
 }
 /* Override the default multiselect layout in system.css. */
-#node-admin-content dl.multiselect dd.b, dl.multiselect dd.b .form-item {
+#node-admin-content dl.multiselect dd, dl.multiselect dd .form-item {
   width: 20em; /* 6em label + 14em select */
 }
-#node-admin-content dl.multiselect dd.b .form-item label {
+#node-admin-content dl.multiselect dd .form-item label {
   display: block;
   float: left; /* LTR */
   width: 6em;
Index: modules/system/system.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.css,v
retrieving revision 1.63
diff -u -p -r1.63 system.css
--- modules/system/system.css	21 Sep 2009 08:52:41 -0000	1.63
+++ modules/system/system.css	4 Nov 2009 17:53:05 -0000
@@ -193,14 +193,11 @@ tr.merge-up, tr.merge-up td, tr.merge-up
   padding-bottom: 0;
   font-size: 0.9em;
 }
-dl.multiselect dd.b, dl.multiselect dd.b .form-item, dl.multiselect dd.b select {
+dl.multiselect dd, dl.multiselect dd .form-item, dl.multiselect dd select {
   font-family: inherit;
   font-size: inherit;
   width: 14em;
 }
-dl.multiselect dd.a, dl.multiselect dd.a .form-item {
-  width: 8em;
-}
 dl.multiselect dt, dl.multiselect dd {
   float: left; /* LTR */
   line-height: 1.75em;
Index: modules/user/user-rtl.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user-rtl.css,v
retrieving revision 1.5
diff -u -p -r1.5 user-rtl.css
--- modules/user/user-rtl.css	6 Aug 2009 05:06:00 -0000	1.5
+++ modules/user/user-rtl.css	4 Nov 2009 17:53:05 -0000
@@ -4,6 +4,11 @@
   padding-left: 0;
   padding-right: 1.5em;
 }
+
+#user-admin-filter dl.multiselect dd .form-item label {
+  float: right;
+}
+
 #user-admin-buttons {
   float: right;
   margin-left: 0;
Index: modules/user/user.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v
retrieving revision 1.88
diff -u -p -r1.88 user.admin.inc
--- modules/user/user.admin.inc	3 Nov 2009 05:27:18 -0000	1.88
+++ modules/user/user.admin.inc	4 Nov 2009 17:53:05 -0000
@@ -44,10 +44,17 @@ function user_filter_form() {
   );
   foreach ($session as $filter) {
     list($type, $value) = $filter;
-    // Merge an array of arrays into one if necessary.
-    $options = $type == 'permission' ? call_user_func_array('array_merge', $filters[$type]['options']) : $filters[$type]['options'];
-    $params = array('%property' => $filters[$type]['title'] , '%value' => $options[$value]);
-    if ($i++ > 0) {
+    if ($type == 'permission') {
+      // Merge arrays of module permissions into one.
+      // Slice past the first element '[any]' whose value is not an array.
+      $options = call_user_func_array('array_merge', array_slice($filters[$type]['options'], 1));
+      $value = $options[$value];
+    }
+    else {
+      $value = $filters[$type]['options'][$value];
+    }
+    $params = array('%property' => $filters[$type]['title'] , '%value' => $value);
+    if ($i++) {
       $form['filters']['current'][] = array('#markup' => t('<em>and</em> where <strong>%property</strong> is <strong>%value</strong>', $params));
     }
     else {
@@ -60,13 +67,11 @@ function user_filter_form() {
     $form['filters']['status'][$key] = array(
       '#type' => 'select',
       '#options' => $filter['options'],
+      '#title' => $filter['title'],
+      '#default_value' => '[any]',
     );
   }
 
-  $form['filters']['filter'] = array(
-    '#type' => 'radios',
-    '#options' => $names,
-  );
   $form['filters']['buttons']['submit'] = array(
     '#type' => 'submit',
     '#value' => (count($session) ? t('Refine') : t('Filter')),
@@ -94,13 +99,17 @@ function user_filter_form_submit($form, 
   $op = $form_state['values']['op'];
   $filters = user_filters();
   switch ($op) {
-    case t('Filter'): case t('Refine'):
-      if (isset($form_state['values']['filter'])) {
-        $filter = $form_state['values']['filter'];
-        // Merge an array of arrays into one if necessary.
-        $options = $filter == 'permission' ? call_user_func_array('array_merge', $filters[$filter]['options']) : $filters[$filter]['options'];
-        if (isset($options[$form_state['values'][$filter]])) {
-          $_SESSION['user_overview_filter'][] = array($filter, $form_state['values'][$filter]);
+    case t('Filter'):
+    case t('Refine'):
+      // Apply every filter that has a choice selected other than 'any'.
+      foreach ($filters as $filter => $options) {
+        if (isset($form_state['values'][$filter]) && $form_state['values'][$filter] != '[any]') {
+          // Merge an array of arrays into one if necessary.
+          $options = ($filter == 'permission') ? form_options_flatten($filters[$filter]['options']) : $filters[$filter]['options'];
+          // Only accept valid selections offered on the dropdown, block bad input.
+          if (isset($options[$form_state['values'][$filter]])) {
+            $_SESSION['user_overview_filter'][] = array($filter, $form_state['values'][$filter]);
+          }
         }
       }
       break;
@@ -886,14 +895,11 @@ function theme_user_filters($variables) 
       $output .= '<li>' . drupal_render($form['current'][$key]) . '</li>';
     }
   }
+  $output .= '</ul>';
 
-  $output .= '<li><dl class="multiselect">' . (!empty($form['current']) ? '<dt><em>' . t('and') . '</em> ' . t('where') . '</dt>' : '') . '<dd class="a">';
-  foreach (element_children($form['filter']) as $key) {
-    $output .= drupal_render($form['filter'][$key]);
-  }
-  $output .= '</dd>';
+  $output .= '<dl class="multiselect">' . (!empty($form['current']) ? '<dt><em>' . t('and') . '</em> ' . t('where') . '</dt>' : '');
 
-  $output .= '<dt>' . t('is') . '</dt><dd class="b">';
+  $output .= '<dd>';
 
   foreach (element_children($form['status']) as $key) {
     $output .= drupal_render($form['status'][$key]);
@@ -902,7 +908,6 @@ function theme_user_filters($variables) 
 
   $output .= '</dl>';
   $output .= '<div class="container-inline" id="user-admin-buttons">' . drupal_render($form['buttons']) . '</div>';
-  $output .= '</li></ul>';
 
   return $output;
 }
Index: modules/user/user.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.css,v
retrieving revision 1.14
diff -u -p -r1.14 user.css
--- modules/user/user.css	22 Sep 2009 07:25:10 -0000	1.14
+++ modules/user/user.css	4 Nov 2009 17:53:05 -0000
@@ -9,12 +9,15 @@
 #permissions tr.odd .form-item, #permissions tr.even .form-item {
   white-space: normal;
 }
-#user-admin-filter ul {
-  list-style-type: none;
-  list-style-image: none;
-  padding: 0;
-  margin: 0;
-  width: 100%;
+/* Override the default multiselect layout in system.css. */
+#user-admin-filter dl.multiselect dd, dl.multiselect dd .form-item {
+  width: 20em; /* 6em label + 14em select */
+}
+#user-admin-filter dl.multiselect dd .form-item label {
+  display: block;
+  float: left; /* LTR */
+  width: 6em;
+  font-weight: normal;
 }
 #user-admin-buttons {
   float: left; /* LTR */
Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1075
diff -u -p -r1.1075 user.module
--- modules/user/user.module	1 Nov 2009 21:26:44 -0000	1.1075
+++ modules/user/user.module	4 Nov 2009 17:53:05 -0000
@@ -2778,7 +2778,9 @@ function user_filters() {
     $filters['role'] = array(
       'title' => t('role'),
       'field' => 'ur.rid',
-      'options' => $roles,
+      'options' => array(
+        '[any]' => t('any'),
+      ) + $roles,
     );
   }
 
@@ -2795,13 +2797,19 @@ function user_filters() {
   ksort($options);
   $filters['permission'] = array(
     'title' => t('permission'),
-    'options' => $options,
+    'options' => array(
+      '[any]' => t('any'),
+    ) + $options,
   );
 
   $filters['status'] = array(
     'title' => t('status'),
     'field' => 'u.status',
-    'options' => array(1 => t('active'), 0 => t('blocked')),
+    'options' => array(
+      '[any]' => t('any'),
+      1 => t('active'),
+      0 => t('blocked'),
+    ),
   );
   return $filters;
 }
Index: modules/user/user.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.test,v
retrieving revision 1.66
diff -u -p -r1.66 user.test
--- modules/user/user.test	1 Nov 2009 21:26:44 -0000	1.66
+++ modules/user/user.test	4 Nov 2009 17:53:05 -0000
@@ -984,7 +984,6 @@ class UserAdminTestCase extends DrupalWe
 
     // Filter the users by permission 'administer taxonomy'.
     $edit = array();
-    $edit['filter'] = 'permission';
     $edit['permission'] = 'administer taxonomy';
     $this->drupalPost('admin/people', $edit, t('Filter'));
 
Index: themes/seven/reset.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/seven/reset.css,v
retrieving revision 1.2
diff -u -p -r1.2 reset.css
--- themes/seven/reset.css	15 Oct 2009 20:33:46 -0000	1.2
+++ themes/seven/reset.css	4 Nov 2009 17:53:05 -0000
@@ -124,13 +124,10 @@ tr.even .form-item,
 .item-list .pager li,
 .pager-current,
 .tips,
-dl.multiselect dd.b,
-dl.multiselect dd.b .form-item,
-dl.multiselect dd.b select,
-dl.multiselect dd.a,
-dl.multiselect dd.a .form-item,
-dl.multiselect dt,
 dl.multiselect dd,
+dl.multiselect dd .form-item,
+dl.multiselect dd select,
+dl.multiselect dt,
 dl.multiselect .form-item,
 ul.primary,
 ul.primary li,
