Index: src/wp-admin/options-general.php
===================================================================
--- src/wp-admin/options-general.php	(revision 29650)
+++ src/wp-admin/options-general.php	(working copy)
@@ -332,7 +332,7 @@
 					</p>
 					<?php
 				}
-				_deprecated_argument( 'define()', '4.0', sprintf( __( 'The %s constant in your %s file is no longer needed.' ), 'WPLANG', 'wp-config.php' ) );
+				_deprecated_constant( 'WPLANG', '4.0', sprintf( __( 'The %s constant in your %s file is no longer needed.' ), 'WPLANG', 'wp-config.php' ) );
 			}
 			?>
 		</td>
Index: src/wp-includes/functions.php
===================================================================
--- src/wp-includes/functions.php	(revision 29650)
+++ src/wp-includes/functions.php	(working copy)
@@ -3328,6 +3328,59 @@
 }
 
 /**
+ * Mark a constant as deprecated and inform when it has been used.
+ *
+ * There is a hook deprecated_constant_used that will be called that can be used
+ * to get the backtrace up to what file and function used the deprecated
+ * constant.
+ *
+ * The current behavior is to trigger a user error if WP_DEBUG is true.
+ *
+ * This function is to be used whenever a deprecated constant is used.
+ *
+ * @since 4.0.0
+ * @access private
+ *
+ * @param string $constant The constant that was used.
+ * @param string $version  The version of WordPress that deprecated the constant.
+ * @param string $message  Optional. A message regarding the change. Default null.
+ */
+function _deprecated_constant( $constant, $version, $message = null ) {
+
+	/**
+	 * Fires when a deprecated constant is used.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param string $constant The constant that was called.
+	 * @param string $message  A message regarding the change.
+	 * @param string $version  The version of WordPress that deprecated the constant used.
+	 */
+	do_action( 'deprecated_constant_used', $constant, $message, $version );
+
+	/**
+	 * Filter whether to trigger an error for deprecated constants.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param bool $trigger Whether to trigger the error for deprecated constants. Default true.
+	 */
+	if ( WP_DEBUG && apply_filters( 'deprecated_constant_trigger_error', true ) ) {
+		if ( function_exists( '__' ) ) {
+			if ( ! is_null( $message ) )
+				trigger_error( sprintf( __('%1$s is <strong>deprecated</strong> since version %2$s! %3$s'), $constant, $version, $message ) );
+			else
+				trigger_error( sprintf( __('%1$s is <strong>deprecated</strong> since version %2$s with no alternative available.'), $constant, $version ) );
+		} else {
+			if ( ! is_null( $message ) )
+				trigger_error( sprintf( '%1$s is <strong>deprecated</strong> since version %2$s! %3$s', $constant, $version, $message ) );
+			else
+				trigger_error( sprintf( '%1$s is <strong>deprecated</strong> since version %2$s with no alternative available.', $constant, $version ) );
+		}
+	}
+}
+
+/**
  * Mark something as being incorrectly called.
  *
  * There is a hook doing_it_wrong_run that will be called that can be used
