Index: option.php
===================================================================
--- option.php	(revision 30699)
+++ option.php	(working copy)
@@ -627,6 +627,8 @@
  */
 function set_transient( $transient, $value, $expiration = 0 ) {
 
+	$expiration = (int) $expiration;
+
 	/**
 	 * Filter a specific transient before its value is set.
 	 *
@@ -636,10 +638,8 @@
 	 *
 	 * @param mixed $value New value of transient.
 	 */
-	$value = apply_filters( 'pre_set_transient_' . $transient, $value );
+	$value = apply_filters( 'pre_set_transient_' . $transient, $value, $expiration );
 
-	$expiration = (int) $expiration;
-
 	if ( wp_using_ext_object_cache() ) {
 		$result = wp_cache_set( $transient, $value, 'transient', $expiration );
 	} else {
