Index: wp-includes/plugin.php
===================================================================
--- wp-includes/plugin.php	(revision 18590)
+++ wp-includes/plugin.php	(working copy)
@@ -308,8 +308,56 @@
 	return end( $wp_current_filter );
 }
 
+/**
+ * Retrieve the name of the current action.
+ *
+ * @since 3.2.0
+ *
+ * @return string Hook name of the current action.
+ */
+function current_action() {
+	return current_filter();
+}
 
 /**
+ * Retrieve the name of a filter currently being processed.
+ *
+ * The function current_filter() only returns the most recent filter
+ * or action being executed. did_action() returns true once the action
+ * is initially processed. This function allows detection for any filter
+ * currently being executed (despite not being the most recent filter to
+ * fire, in the case of hooks called from hook callbacks) to be verified.
+ *
+ * @since 3.2.0
+ * @see current_filter()
+ * @see did_action()
+ *
+ * @param $filter string Optional. Filter to check. Defaults to null,
+ * 	which checks if any filter is currently being run.
+ * @return bool Whether the filter is currently in the stack
+ */
+function doing_filter( $filter = null ) {
+	global $wp_current_filter;
+	if ( null === $filter )
+		return empty( $wp_current_filter );
+	return in_array( $filter, $wp_current_filter );
+}
+
+/**
+ * Retrieve the name of an action currently being processed.
+ *
+ * @since 3.2.0
+ * @uses doing_filter()
+ *
+ * @param $action string Optional. Action to check. Defaults to null,
+ * 	which checks if any action is currently being run.
+ * @return bool Whether the action is currently in the stack
+ */
+function doing_action( $action = null ) {
+	return doing_filter( $action );
+}
+
+/**
  * Hooks a function on to a specific action.
  *
  * Actions are the hooks that the WordPress core launches at specific points
