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.
 	 *
@@ -633,13 +635,13 @@
 	 * The dynamic portion of the hook name, `$transient`, refers to the transient name.
 	 *
 	 * @since 3.0.0
+	 * @since 4.2.0 Added `$expiration` parameter.
 	 *
 	 * @param mixed $value New value of transient.
+	 * @param int $expiration Time until expiration in seconds.
 	 */
-	$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 {
