Index: categories.php
===================================================================
--- categories.php	(revision 12314)
+++ categories.php	(working copy)
@@ -34,6 +34,9 @@
 break;
 
 case 'delete':
+	if ( !isset( $_GET['tag_ID'] ) )
+		wp_redirect('categories.php?message=7');
+
 	$cat_ID = (int) $_GET['cat_ID'];
 	check_admin_referer('delete-category_' .  $cat_ID);
 
@@ -59,7 +62,8 @@
 	if ( !current_user_can('manage_categories') )
 		wp_die( __('You are not allowed to delete categories.') );
 
-	foreach ( (array) $_GET['delete'] as $cat_ID ) {
+	$cats = $_GET['delete'];
+	foreach ( (array) $cats as $cat_ID ) {
 		$cat_name = get_cat_name($cat_ID);
 
 		// Don't delete the default cats.
@@ -69,7 +73,10 @@
 		wp_delete_category($cat_ID);
 	}
 
-	wp_safe_redirect( wp_get_referer() );
+	if ( count( (array) $cats ) == 1 )
+		wp_safe_redirect( add_query_arg( 'message', 2, wp_get_referer() ) );
+	else
+		wp_safe_redirect( add_query_arg( 'message', 6, wp_get_referer() ) );
 	exit();
 
 break;
@@ -125,6 +132,8 @@
 $messages[3] = __('Category updated.');
 $messages[4] = __('Category not added.');
 $messages[5] = __('Category not updated.');
+$messages[6] = __('Categories deleted.');
+$messages[7] = __('No categories selected.');
 ?>
 
 <div class="wrap nosubsub">
Index: edit-tags.php
===================================================================
--- edit-tags.php	(revision 12314)
+++ edit-tags.php	(working copy)
@@ -44,6 +44,9 @@
 break;
 
 case 'delete':
+	if ( !isset( $_GET['tag_ID'] ) )
+		wp_redirect('edit-tags.php?message=7');
+
 	$tag_ID = (int) $_GET['tag_ID'];
 	check_admin_referer('delete-tag_' .  $tag_ID);
 
@@ -81,7 +84,10 @@
 			$location = $referer;
 	}
 
-	$location = add_query_arg('message', 6, $location);
+	if ( count( (array) $tags ) == 1 )
+		$location = add_query_arg('message', 2, $location);
+	else
+		$location = add_query_arg('message', 6, $location);
 	wp_redirect($location);
 	exit;
 
@@ -142,7 +148,8 @@
 $messages[3] = __('Tag updated.');
 $messages[4] = __('Tag not added.');
 $messages[5] = __('Tag not updated.');
-$messages[6] = __('Tags deleted.'); ?>
+$messages[6] = __('Tags deleted.');
+$messages[7] = __('No tags selected.'); ?>
 
 <div class="wrap nosubsub">
 <?php screen_icon(); ?>
Index: link-manager.php
===================================================================
--- link-manager.php	(revision 12314)
+++ link-manager.php	(working copy)
@@ -18,13 +18,14 @@
 		wp_die( __('You do not have sufficient permissions to edit the links for this blog.') );
 
 	if ( 'delete' == $doaction ) {
-		foreach ( (array) $_GET['linkcheck'] as $link_id ) {
+		$bulklinks = $_GET['linkcheck'];
+		foreach ( (array) $bulklinks as $link_id ) {
 			$link_id = (int) $link_id;
 
 			wp_delete_link($link_id);
 		}
 
-		wp_redirect( wp_get_referer() );
+		wp_redirect( add_query_arg( 'deleted', count( (array) $bulklinks ), wp_get_referer() ) );
 		exit;
 	}
 } elseif ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
Index: edit-link-categories.php
===================================================================
--- edit-link-categories.php	(revision 12314)
+++ edit-link-categories.php	(working copy)
@@ -18,7 +18,8 @@
 		wp_die(__('Cheatin&#8217; uh?'));
 
 	if ( 'delete' == $doaction ) {
-		foreach( (array) $_GET['delete'] as $cat_ID ) {
+		$cats = $_GET['delete'];
+		foreach( (array) $cats as $cat_ID ) {
 			$cat_name = get_term_field('name', $cat_ID, 'link_category');
 			$default_cat_id = get_option('default_link_category');
 
@@ -35,12 +36,15 @@
 				$location = $referer;
 		}
 
-		$location = add_query_arg('message', 6, $location);
+		if ( count( (array) $cats ) == 1 )
+			$location = add_query_arg( 'message', 2, $location );
+		else
+			$location = add_query_arg( 'message', 6, $location );
 		wp_redirect($location);
 		exit();
 	}
 } elseif ( isset($_GET['_wp_http_referer']) && ! empty($_GET['_wp_http_referer']) ) {
-	 wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) );
+	 wp_redirect( add_query_arg( 'message', 7, remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) ) );
 	 exit;
 }
 
@@ -57,7 +61,8 @@
 $messages[3] = __('Category updated.');
 $messages[4] = __('Category not added.');
 $messages[5] = __('Category not updated.');
-$messages[6] = __('Categories deleted.'); ?>
+$messages[6] = __('Categories deleted.');
+$messages[7] = __('No categories selected.'); ?>
 
 <div class="wrap nosubsub">
 <?php screen_icon(); ?>
