Index: wp-admin/edit-form-advanced.php
===================================================================
--- wp-admin/edit-form-advanced.php	(revision 11901)
+++ wp-admin/edit-form-advanced.php	(working copy)
@@ -31,7 +31,10 @@
 $messages[9] = sprintf(__('Post scheduled for: <b>%1$s</b>. <a href="%2$s">Preview post</a>'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), get_permalink($post_ID));
 
 if ( isset($_GET['revision']) )
-	$messages[5] = sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
+{
+	$messages[5]  = sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
+	$messages[10] = sprintf( __('Revision %s (#%d) deleted'), htmlspecialchars($_GET['revisiontitle']), (int) $_GET['revision'] );
+}
 
 $notice = false;
 $notices[1] = __( 'There is an autosave of this post that is more recent than the version below.  <a href="%s">View the autosave</a>.' );
Index: wp-admin/revision.php
===================================================================
--- wp-admin/revision.php	(revision 11901)
+++ wp-admin/revision.php	(working copy)
@@ -18,7 +18,22 @@
 $parent_file = $redirect = 'edit.php';
 
 switch ( $action ) :
-case 'delete' : // stubs
+case 'delete' :
+	if ( !$revision = wp_get_post_revision( $revision_id ) )
+		break;
+	if ( !current_user_can( 'edit_post', $revision->post_parent ) )
+		break;
+	if ( !$post = get_post( $revision->post_parent ) )
+		break;
+	if ( !constant('WP_POST_REVISIONS') && !wp_is_post_autosave( $revision ) ) // Revisions disabled and we're not looking at an autosave
+		break;
+
+	check_admin_referer( "delete-post_$post->ID|$revision->ID" );
+
+	$revisiontitle = wp_post_revision_title( $revision->ID, false);
+	wp_delete_post_revision( $revision->ID );
+	$redirect = add_query_arg( array( 'message' => 10, 'revision' => $revision->ID, 'revisiontitle' => urlencode($revisiontitle) ), get_edit_post_link( $post->ID, 'url' ) );
+	break;
 case 'edit' :
 	if ( constant('WP_POST_REVISIONS') ) // stub
 		$redirect = remove_query_arg( 'action' );
