Index: wp-admin/users.php
===================================================================
--- wp-admin/users.php	(revision 3895)
+++ wp-admin/users.php	(working copy)
@@ -30,6 +30,7 @@
 	var $search_term;
 	var $page;
 	var $raw_page;
+	var $letter_search;
 	var $users_per_page = 50;
 	var $first_user;
 	var $last_user;
@@ -39,10 +40,11 @@
 	var $too_many_total_users = false;
 	var $search_errors;
 
-	function WP_User_Search ($search_term = '', $page = '') { // constructor
+	function WP_User_Search ($search_term = '', $page = '', $letter = '') { // constructor
 		$this->search_term = $search_term;
 		$this->raw_page = ( '' == $page ) ? false : (int) $page;
 		$this->page = (int) ( '' == $page ) ? 1 : $page;
+		$this->letter_search = ( '' == $letter ) ? "" : " AND user_login LIKE '$letter%'";
 
 		$this->prepare_query();
 		$this->query();
@@ -62,7 +64,7 @@
 			$search_sql .= implode(' OR ', $searches);
 			$search_sql .= ')';
 		}
-		$this->query_from_where = "FROM $wpdb->users WHERE 1=1 $search_sql";
+		$this->query_from_where = "FROM $wpdb->users WHERE 1=1 $search_sql $this->letter_search";
 
 		if ( !$_GET['update'] && !$this->search_term && !$this->raw_page && $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users") > $this->users_per_page )
 			$this->too_many_total_users = sprintf(__('Because this blog has more than %s users, they cannot all be shown on one page.  Use the paging or search functionality in order to find the user you want to edit.'), $this->users_per_page);
@@ -88,9 +90,9 @@
 			$next_page = ( ($this->page * $this->users_per_page) < $this->total_users_for_query ) ? true : false;
 			$this->paging_text = '';
 			if ( $prev_page )
-				$this->paging_text .= '<p class="alignleft"><a href="' . add_query_arg(array('usersearch' => $this->search_term, 'userspage' => $this->page - 1), 'users.php?') . '">&laquo; Previous Page</a></p>';
+				$this->paging_text .= '<p class="alignleft"><a href="' . add_query_arg(array('usersearch' => $this->search_term, 'userspage' => $this->page - 1, 'userletter' => $_GET['userletter']), 'users.php?') . '">&laquo; Previous Page</a></p>';
 			if ( $next_page )
-				$this->paging_text .= '<p class="alignright"><a href="' . add_query_arg(array('usersearch' => $this->search_term, 'userspage' => $this->page + 1), 'users.php?') . '">Next Page &raquo;</a></p>';
+				$this->paging_text .= '<p class="alignright"><a href="' . add_query_arg(array('usersearch' => $this->search_term, 'userspage' => $this->page + 1, 'userletter' => $_GET['userletter']), 'users.php?') . '">Next Page &raquo;</a></p>';
 			if ( $prev_page || $next_page )
 				$this->paging_text .= '<br style="clear:both" />';
 		}
@@ -271,7 +273,7 @@
 	include('admin-header.php');
 
 	// Query the users
-	$wp_user_search = new WP_User_Search($_GET['usersearch'], $_GET['userspage']);
+	$wp_user_search = new WP_User_Search($_GET['usersearch'], $_GET['userspage'], $_GET['userletter']);
 
 	// Make the user objects
 	foreach ( $wp_user_search->get_results() as $userid ) {
@@ -333,6 +335,17 @@
 <?php endif; ?>
 
 <div class="wrap">
+	<?php 
+	for ( $i=65; $i<=90; $i++ ) $user_alphabet[] = chr($i);
+	$user_alphabet = apply_filters('user_alphabet', $user_alphabet);
+	foreach ( $user_alphabet as $letter ) {
+		$alpha_list .= ( $_GET['userletter'] == $letter ) ? 
+			"<li class='current'><a href='users.php?userletter=$letter'><strong>$letter</strong></a></li>\n" 
+			:  "<li><a href='users.php?userletter=$letter'>$letter</a></li>\n";
+	}
+	?><ul id='user_alphabet'>
+	<?php echo $alpha_list; ?>
+	</ul>
 
 	<?php if ( $wp_user_search->is_search() ) : ?>
 		<h2><?php printf(__('Users Matching "%s" by Role'), $wp_user_search->search_term); ?></h2>
@@ -507,4 +520,4 @@
 } // end of the $action switch
 
 include('admin-footer.php');
-?>
\ No newline at end of file
+?>
Index: wp-admin/wp-admin.css
===================================================================
--- wp-admin/wp-admin.css	(revision 3895)
+++ wp-admin/wp-admin.css	(working copy)
@@ -417,13 +417,23 @@
 	color: #333;
 }
 
-#adminmenu li, #submenu li {
+#adminmenu li, #submenu li, #user_alphabet li {
 	display: inline;
 	line-height: 200%;
 	list-style: none;
 	text-align: center;
 }
 
+#user_alphabet {
+	text-align: center;
+}
+
+#user_alphabet li {
+	padding: .3em;
+	text-align: center;
+	font-size: 120%;
+}
+
 #submenu {
 	background: #0d324f;
 	border-bottom: none;
