Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 16942)
+++ wp-includes/user.php	(working copy)
@@ -351,7 +351,8 @@
 	 */
 	var $total_users = 0;
 
-	// SQL pieces
+	// SQL clauses
+	var $query_fields;
 	var $query_from;
 	var $query_where;
 	var $query_orderby;
@@ -406,6 +407,14 @@
 
 		$qv = &$this->query_vars;
 
+		if ( is_array( $qv['fields'] ) ) {
+			$this->query_fields = array();
+			foreach ( $qv['fields'] as $field )
+				$this->query_fields[] = $wpdb->users . '.' . esc_sql( $field );
+			$this->query_fields = implode( ',', $this->query_fields );
+		} else {
+			$this->query_fields = "$wpdb->users.ID";
+		}
 		$this->query_from = " FROM $wpdb->users";
 		$this->query_where = " WHERE 1=1";
 
@@ -508,13 +517,17 @@
 	function query() {
 		global $wpdb;
 
-		$this->results = $wpdb->get_col("SELECT $wpdb->users.ID" . $this->query_from . $this->query_where . $this->query_orderby . $this->query_limit);
+		if ( is_array( $this->query_vars['fields'] ) ) {
+			$this->results = $wpdb->get_results("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
+		} else {
+			$this->results = $wpdb->get_col("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
+		}
 
 		if ( !$this->results )
 			return;
 
 		if ( $this->query_vars['count_total'] )
-			$this->total_users = $wpdb->get_var("SELECT COUNT($wpdb->users.ID)" . $this->query_from . $this->query_where);
+			$this->total_users = $wpdb->get_var("SELECT COUNT($wpdb->users.ID) $this->query_from $this->query_where $this->query_orderby $this->query_limit");
 
 		if ( 'all' == $this->query_vars['fields'] ) {
 			cache_users($this->results);
@@ -965,8 +978,11 @@
 	$r = wp_parse_args( $args, $defaults );
 	extract( $r, EXTR_SKIP );
 
-	$users = get_users( wp_array_slice_assoc( $r, array( 'blog_id', 'include', 'exclude', 'orderby', 'order' ) ) );
+	$query_args = wp_array_slice_assoc( $r, array( 'blog_id', 'include', 'exclude', 'orderby', 'order' ) );
+	$query_args['fields'] = array( 'ID', $show );
 
+	$users = get_users( $query_args );
+
 	$output = '';
 	if ( !empty($users) ) {
 		$name = esc_attr( $name );
