Index: wp-admin/includes/deprecated.php
===================================================================
--- wp-admin/includes/deprecated.php	(revision 17517)
+++ wp-admin/includes/deprecated.php	(working copy)
@@ -502,7 +502,7 @@
 			$this->query_where .= " AND $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '{$level_key}'";
 		}
 
-		do_action_ref_array( 'pre_user_search', array( &$this ) );
+		do_action( 'pre_user_search', $this );
 	}
 
 	/**
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 17517)
+++ wp-admin/includes/user.php	(working copy)
@@ -176,7 +176,7 @@
 	}
 
 	// Allow plugins to return their own errors.
-	do_action_ref_array('user_profile_update_errors', array ( &$errors, $update, &$user ) );
+	do_action('user_profile_update_errors', $errors, $update, $user );
 
 	if ( $errors->get_error_codes() )
 		return $errors;
Index: wp-includes/admin-bar.php
===================================================================
--- wp-includes/admin-bar.php	(revision 17517)
+++ wp-includes/admin-bar.php	(working copy)
@@ -57,7 +57,7 @@
 
 	$wp_admin_bar->load_user_locale_translations();
 
-	do_action_ref_array( 'admin_bar_menu', array( &$wp_admin_bar ) );
+	do_action( 'admin_bar_menu', $wp_admin_bar );
 
 	do_action( 'wp_before_admin_bar_render' );
 
Index: wp-includes/class-wp.php
===================================================================
--- wp-includes/class-wp.php	(revision 17517)
+++ wp-includes/class-wp.php	(working copy)
@@ -298,7 +298,7 @@
 
 		$this->query_vars = apply_filters('request', $this->query_vars);
 
-		do_action_ref_array('parse_request', array(&$this));
+		do_action( 'parse_request', $this );
 	}
 
 	/**
@@ -373,7 +373,7 @@
 		if ( $exit_required )
 			exit();
 
-		do_action_ref_array('send_headers', array(&$this));
+		do_action( 'send_headers', $this );
 	}
 
 	/**
@@ -501,7 +501,7 @@
 		$this->query_posts();
 		$this->handle_404();
 		$this->register_globals();
-		do_action_ref_array('wp', array(&$this));
+		do_action( 'wp', $this );
 	}
 
 	/**
Index: wp-includes/class.wp-scripts.php
===================================================================
--- wp-includes/class.wp-scripts.php	(revision 17517)
+++ wp-includes/class.wp-scripts.php	(working copy)
@@ -31,7 +31,7 @@
 	var $default_dirs;
 
 	function __construct() {
-		do_action_ref_array( 'wp_default_scripts', array(&$this) );
+		do_action( 'wp_default_scripts', $this );
 	}
 
 	/**
Index: wp-includes/class.wp-styles.php
===================================================================
--- wp-includes/class.wp-styles.php	(revision 17517)
+++ wp-includes/class.wp-styles.php	(working copy)
@@ -28,7 +28,7 @@
 	var $default_dirs;
 
 	function __construct() {
-		do_action_ref_array( 'wp_default_styles', array(&$this) );
+		do_action( 'wp_default_styles', $this );
 	}
 
 	function do_item( $handle ) {
Index: wp-includes/comment.php
===================================================================
--- wp-includes/comment.php	(revision 17517)
+++ wp-includes/comment.php	(working copy)
@@ -221,7 +221,7 @@
 		);
 
 		$this->query_vars = wp_parse_args( $query_vars, $defaults );
-		do_action_ref_array( 'pre_get_comments', array( &$this ) );
+		do_action( 'pre_get_comments', $this );
 		extract( $this->query_vars, EXTR_SKIP );
 
 		// $args can be whatever, only use the args defined in defaults to compute the key
@@ -320,7 +320,7 @@
 			$where .= $this->get_search_sql( $search, array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content' ) );
 
 		$pieces = array( 'fields', 'join', 'where', 'orderby', 'order', 'limits' );
-		$clauses = apply_filters_ref_array( 'comments_clauses', array( compact( $pieces ), &$this ) );
+		$clauses = apply_filters( 'comments_clauses', compact( $pieces ), $this );
 		foreach ( $pieces as $piece )
 			$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
 
@@ -330,7 +330,7 @@
 			return $wpdb->get_var( $query );
 
 		$comments = $wpdb->get_results( $query );
-		$comments = apply_filters_ref_array( 'the_comments', array( $comments, &$this ) );
+		$comments = apply_filters( 'the_comments', $comments, $this );
 
 		wp_cache_add( $cache_key, $comments, 'comment' );
 
Index: wp-includes/feed.php
===================================================================
--- wp-includes/feed.php	(revision 17517)
+++ wp-includes/feed.php	(working copy)
@@ -535,7 +535,7 @@
 	$feed->set_cache_class('WP_Feed_Cache');
 	$feed->set_file_class('WP_SimplePie_File');
 	$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200, $url));
-	do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) );
+	do_action( 'wp_feed_options', $feed, $url );
 	$feed->init();
 	$feed->handle_content_type();
 
Index: wp-includes/meta.php
===================================================================
--- wp-includes/meta.php	(revision 17517)
+++ wp-includes/meta.php	(working copy)
@@ -442,7 +442,7 @@
 		$where .= $wpdb->prepare( " AND CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string}", $meta_value );
 	}
 
-	return apply_filters_ref_array( 'get_meta_sql', array( compact( 'join', 'where' ), $meta_query, $meta_type, $primary_table, $primary_id_column, &$context ) );
+	return apply_filters( 'get_meta_sql', array( compact( 'join', 'where' ), $meta_query, $meta_type, $primary_table, $primary_id_column, $context ) );
 }
 
 /**
Index: wp-includes/pluggable.php
===================================================================
--- wp-includes/pluggable.php	(revision 17517)
+++ wp-includes/pluggable.php	(working copy)
@@ -256,7 +256,7 @@
  * @uses apply_filters() Calls 'wp_mail_from_name' hook to get the from address name.
  * @uses apply_filters() Calls 'wp_mail_content_type' hook to get the email content type.
  * @uses apply_filters() Calls 'wp_mail_charset' hook to get the email charset
- * @uses do_action_ref_array() Calls 'phpmailer_init' hook on the reference to
+ * @uses do_action() Calls 'phpmailer_init' hook on the reference to
  *		phpmailer object.
  * @uses PHPMailer
  * @
@@ -459,7 +459,7 @@
 		}
 	}
 
-	do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) );
+	do_action( 'phpmailer_init', $phpmailer );
 
 	// Send!
 	$result = @$phpmailer->Send();
Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 17517)
+++ wp-includes/query.php	(working copy)
@@ -1627,7 +1627,7 @@
 		if ( '404' == $qv['error'] )
 			$this->set_404();
 
-		do_action_ref_array('parse_query', array(&$this));
+		do_action( 'parse_query', $this );
 	}
 
 	/*
@@ -1868,7 +1868,7 @@
 	 *
 	 * @since 1.5.0
 	 * @access public
-	 * @uses do_action_ref_array() Calls 'pre_get_posts' hook before retrieving posts.
+	 * @uses do_action() Calls 'pre_get_posts' hook before retrieving posts.
 	 *
 	 * @return array List of posts.
 	 */
@@ -1877,7 +1877,7 @@
 
 		$this->parse_query();
 
-		do_action_ref_array('pre_get_posts', array(&$this));
+		do_action( 'pre_get_posts', $this );
 
 		// Shorthand.
 		$q = &$this->query_vars;
@@ -2147,7 +2147,7 @@
 		}
 
 		// Allow plugins to contextually add/remove/modify the search section of the database query
-		$search = apply_filters_ref_array('posts_search', array( $search, &$this ) );
+		$search = apply_filters( 'posts_search', $search, $this );
 
 		// Taxonomies
 		if ( !$this->is_singular ) {
@@ -2453,8 +2453,8 @@
 		// Apply filters on where and join prior to paging so that any
 		// manipulations to them are reflected in the paging by day queries.
 		if ( !$q['suppress_filters'] ) {
-			$where = apply_filters_ref_array('posts_where', array( $where, &$this ) );
-			$join = apply_filters_ref_array('posts_join', array( $join, &$this ) );
+			$where = apply_filters( 'posts_where', $where, $this );
+			$join = apply_filters( 'posts_join', $join, $this );
 		}
 
 		// Paging
@@ -2487,11 +2487,11 @@
 			}
 
 			if ( !$q['suppress_filters'] ) {
-				$cjoin = apply_filters_ref_array('comment_feed_join', array( $cjoin, &$this ) );
-				$cwhere = apply_filters_ref_array('comment_feed_where', array( $cwhere, &$this ) );
-				$cgroupby = apply_filters_ref_array('comment_feed_groupby', array( $cgroupby, &$this ) );
-				$corderby = apply_filters_ref_array('comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
-				$climits = apply_filters_ref_array('comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
+				$cjoin = apply_filters('comment_feed_join', $cjoin, $this );
+				$cwhere = apply_filters('comment_feed_where', $cwhere, $this );
+				$cgroupby = apply_filters('comment_feed_groupby', $cgroupby, $this );
+				$corderby = apply_filters('comment_feed_orderby', 'comment_date_gmt DESC', $this );
+				$climits = apply_filters('comment_feed_limits', 'LIMIT ' . get_option('posts_per_rss'), $this );
 			}
 			$cgroupby = ( ! empty( $cgroupby ) ) ? 'GROUP BY ' . $cgroupby : '';
 			$corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
@@ -2519,16 +2519,16 @@
 		// Apply post-paging filters on where and join.  Only plugins that
 		// manipulate paging queries should use these hooks.
 		if ( !$q['suppress_filters'] ) {
-			$where		= apply_filters_ref_array( 'posts_where_paged',	array( $where, &$this ) );
-			$groupby	= apply_filters_ref_array( 'posts_groupby',		array( $groupby, &$this ) );
-			$join		= apply_filters_ref_array( 'posts_join_paged',	array( $join, &$this ) );
-			$orderby	= apply_filters_ref_array( 'posts_orderby',		array( $orderby, &$this ) );
-			$distinct	= apply_filters_ref_array( 'posts_distinct',	array( $distinct, &$this ) );
-			$limits		= apply_filters_ref_array( 'post_limits',		array( $limits, &$this ) );
-			$fields		= apply_filters_ref_array( 'posts_fields',		array( $fields, &$this ) );
+			$where		= apply_filters( 'posts_where_paged',	$where, $this );
+			$groupby	= apply_filters( 'posts_groupby',		$groupby, $this );
+			$join		= apply_filters( 'posts_join_paged',	$join, $this );
+			$orderby	= apply_filters( 'posts_orderby',		$orderby, $this );
+			$distinct	= apply_filters( 'posts_distinct',		$distinct, $this );
+			$limits		= apply_filters( 'post_limits',			$limits, $this );
+			$fields		= apply_filters( 'posts_fields',		$fields, $this );
 
 			// Filter all clauses at once, for convenience
-			$clauses = (array) apply_filters_ref_array( 'posts_clauses', array( compact( $pieces ), &$this ) );
+			$clauses = (array) apply_filters( 'posts_clauses', compact( $pieces ), $this );
 			foreach ( $pieces as $piece )
 				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
 		}
@@ -2538,16 +2538,16 @@
 
 		// Filter again for the benefit of caching plugins.  Regular plugins should use the hooks above.
 		if ( !$q['suppress_filters'] ) {
-			$where		= apply_filters_ref_array( 'posts_where_request',		array( $where, &$this ) );
-			$groupby	= apply_filters_ref_array( 'posts_groupby_request',		array( $groupby, &$this ) );
-			$join		= apply_filters_ref_array( 'posts_join_request',		array( $join, &$this ) );
-			$orderby	= apply_filters_ref_array( 'posts_orderby_request',		array( $orderby, &$this ) );
-			$distinct	= apply_filters_ref_array( 'posts_distinct_request',	array( $distinct, &$this ) );
-			$fields		= apply_filters_ref_array( 'posts_fields_request',		array( $fields, &$this ) );
-			$limits		= apply_filters_ref_array( 'post_limits_request',		array( $limits, &$this ) );
+			$where		= apply_filters( 'posts_where_request',		$where, $this );
+			$groupby	= apply_filters( 'posts_groupby_request',	$groupby, $this );
+			$join		= apply_filters( 'posts_join_request',		$join, $this );
+			$orderby	= apply_filters( 'posts_orderby_request',	$orderby, $this );
+			$distinct	= apply_filters( 'posts_distinct_request',	$distinct, $this );
+			$fields		= apply_filters( 'posts_fields_request',	$fields, $this );
+			$limits		= apply_filters( 'post_limits_request',		$limits, $this );
 
 			// Filter all clauses at once, for convenience
-			$clauses = (array) apply_filters_ref_array( 'posts_clauses_request', array( compact( $pieces ), &$this ) );
+			$clauses = (array) apply_filters( 'posts_clauses_request', compact( $pieces ), $this );
 			foreach ( $pieces as $piece )
 				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
 		}
@@ -2563,7 +2563,7 @@
 
 		$this->request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
 		if ( !$q['suppress_filters'] )
-			$this->request = apply_filters_ref_array('posts_request', array( $this->request, &$this ) );
+			$this->request = apply_filters('posts_request', $this->request, $this );
 
 		if ( 'ids' == $q['fields'] ) {
 			$this->posts = $wpdb->get_col($this->request);
@@ -2585,25 +2585,25 @@
 
 		// Raw results filter.  Prior to status checks.
 		if ( !$q['suppress_filters'] )
-			$this->posts = apply_filters_ref_array('posts_results', array( $this->posts, &$this ) );
+			$this->posts = apply_filters('posts_results', $this->posts, $this );
 
 		if ( !empty($this->posts) && $this->is_comment_feed && $this->is_singular ) {
-			$cjoin = apply_filters_ref_array('comment_feed_join', array( '', &$this ) );
-			$cwhere = apply_filters_ref_array('comment_feed_where', array( "WHERE comment_post_ID = '{$this->posts[0]->ID}' AND comment_approved = '1'", &$this ) );
-			$cgroupby = apply_filters_ref_array('comment_feed_groupby', array( '', &$this ) );
+			$cjoin = apply_filters('comment_feed_join', '', $this );
+			$cwhere = apply_filters('comment_feed_where', "WHERE comment_post_ID = '{$this->posts[0]->ID}' AND comment_approved = '1'", $this );
+			$cgroupby = apply_filters('comment_feed_groupby', '', $this );
 			$cgroupby = ( ! empty( $cgroupby ) ) ? 'GROUP BY ' . $cgroupby : '';
-			$corderby = apply_filters_ref_array('comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
+			$corderby = apply_filters('comment_feed_orderby', 'comment_date_gmt DESC', $this );
 			$corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
-			$climits = apply_filters_ref_array('comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
+			$climits = apply_filters('comment_feed_limits', 'LIMIT ' . get_option('posts_per_rss'), $this );
 			$comments_request = "SELECT $wpdb->comments.* FROM $wpdb->comments $cjoin $cwhere $cgroupby $corderby $climits";
 			$this->comments = $wpdb->get_results($comments_request);
 			$this->comment_count = count($this->comments);
 		}
 
 		if ( !$q['no_found_rows'] && !empty($limits) ) {
-			$found_posts_query = apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) );
+			$found_posts_query = apply_filters( 'found_posts_query', 'SELECT FOUND_ROWS()', $this );
 			$this->found_posts = $wpdb->get_var( $found_posts_query );
-			$this->found_posts = apply_filters_ref_array( 'found_posts', array( $this->found_posts, &$this ) );
+			$this->found_posts = apply_filters( 'found_posts', $this->found_posts, $this );
 			$this->max_num_pages = ceil($this->found_posts / $q['posts_per_page']);
 		}
 
@@ -2636,7 +2636,7 @@
 			}
 
 			if ( $this->is_preview && current_user_can( $edit_cap, $this->posts[0]->ID ) )
-				$this->posts[0] = apply_filters_ref_array('the_preview', array( $this->posts[0], &$this ));
+				$this->posts[0] = apply_filters('the_preview', $this->posts[0], $this );
 		}
 
 		// Put sticky posts at the top of the posts array
@@ -2690,7 +2690,7 @@
 		}
 
 		if ( !$q['suppress_filters'] )
-			$this->posts = apply_filters_ref_array('the_posts', array( $this->posts, &$this ) );
+			$this->posts = apply_filters('the_posts', $this->posts, $this );
 
 		$this->post_count = count($this->posts);
 
@@ -2734,14 +2734,14 @@
 	 * @since 1.5.0
 	 * @access public
 	 * @uses $post
-	 * @uses do_action_ref_array() Calls 'loop_start' if loop has just started
+	 * @uses do_action() Calls 'loop_start' if loop has just started
 	 */
 	function the_post() {
 		global $post;
 		$this->in_the_loop = true;
 
 		if ( $this->current_post == -1 ) // loop has just started
-			do_action_ref_array('loop_start', array(&$this));
+			do_action( 'loop_start', $this );
 
 		$post = $this->next_post();
 		setup_postdata($post);
@@ -2754,7 +2754,7 @@
 	 *
 	 * @since 1.5.0
 	 * @access public
-	 * @uses do_action_ref_array() Calls 'loop_end' if loop is ended
+	 * @uses do_action() Calls 'loop_end' if loop is ended
 	 *
 	 * @return bool True if posts are available, false if end of loop.
 	 */
@@ -2762,7 +2762,7 @@
 		if ( $this->current_post + 1 < $this->post_count ) {
 			return true;
 		} elseif ( $this->current_post + 1 == $this->post_count && $this->post_count > 0 ) {
-			do_action_ref_array('loop_end', array(&$this));
+			do_action( 'loop_end', $this );
 			// Do some cleaning up after the loop
 			$this->rewind_posts();
 		}
@@ -3487,7 +3487,7 @@
  * @since 1.5.0
  *
  * @param object $post Post data.
- * @uses do_action_ref_array() Calls 'the_post'
+ * @uses do_action() Calls 'the_post'
  * @return bool True when finished.
  */
 function setup_postdata($post) {
@@ -3520,7 +3520,7 @@
 		$multipage = 0;
 	}
 
-	do_action_ref_array('the_post', array(&$post));
+	do_action( 'the_post', $post );
 
 	return true;
 }
Index: wp-includes/rewrite.php
===================================================================
--- wp-includes/rewrite.php	(revision 17517)
+++ wp-includes/rewrite.php	(working copy)
@@ -1562,7 +1562,7 @@
 		else
 			$this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $default_feeds, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite,  $author_rewrite, $date_rewrite, $post_rewrite, $page_rewrite, $this->extra_rules);
 
-		do_action_ref_array('generate_rewrite_rules', array(&$this));
+		do_action( 'generate_rewrite_rules', $this );
 		$this->rules = apply_filters('rewrite_rules_array', $this->rules);
 
 		return $this->rules;
Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 17517)
+++ wp-includes/user.php	(working copy)
@@ -531,7 +531,7 @@
 			$this->query_where .= " AND $wpdb->users.ID NOT IN ($ids)";
 		}
 
-		do_action_ref_array( 'pre_user_query', array( &$this ) );
+		do_action( 'pre_user_query', $this );
 	}
 
 	/**
Index: wp-includes/widgets.php
===================================================================
--- wp-includes/widgets.php	(revision 17517)
+++ wp-includes/widgets.php	(working copy)
@@ -270,7 +270,7 @@
 			$return = $this->form($instance);
 			// add extra fields in the widget form - be sure to set $return to null if you add any
 			// if the widget has no form the text echoed from the default form method can be hidden using css
-			do_action_ref_array( 'in_widget_form', array(&$this, &$return, $instance) );
+			do_action_ref_array( 'in_widget_form', array($this, &$return, $instance) );
 		}
 		return $return;
 	}
