Index: src/wp-admin/async-upload.php
===================================================================
--- src/wp-admin/async-upload.php	(revision 44476)
+++ src/wp-admin/async-upload.php	(working copy)
@@ -92,7 +92,9 @@
 if ( is_wp_error( $id ) ) {
 	echo '<div class="error-div error">
 	<button type="button" class="dismiss button-link" onclick="jQuery(this).parents(\'div.media-item\').slideUp(200, function(){jQuery(this).remove();});">' . __( 'Dismiss' ) . '</button>
-	<strong>' . sprintf( __( '&#8220;%s&#8221; has failed to upload.' ), esc_html( $_FILES['async-upload']['name'] ) ) . '</strong><br />' .
+	<strong>' .
+		/* translators: %s: Name of the file that was failed to upload. */
+		sprintf( __( '&#8220;%s&#8221; has failed to upload.' ), esc_html( $_FILES['async-upload']['name'] ) ) . '</strong><br />' .
 	esc_html( $id->get_error_message() ) . '</div>';
 	exit;
 }
Index: src/wp-admin/includes/misc.php
===================================================================
--- src/wp-admin/includes/misc.php	(revision 44476)
+++ src/wp-admin/includes/misc.php	(working copy)
@@ -313,6 +313,10 @@
  * @since 4.9.0
  * @access private
  *
+ * @global string $relative_file Name of the file being edited relative to the
+ *                               theme directory.
+ * @global string $stylesheet    The stylesheet name of the theme being edited.
+ *
  * @param array|string $tree  List of file/folder paths, or filename.
  * @param int          $level The aria-level for the current iteration.
  * @param int          $size  The aria-setsize for the current iteration.
@@ -321,6 +325,7 @@
 function wp_print_theme_file_tree( $tree, $level = 2, $size = 1, $index = 1 ) {
 	global $relative_file, $stylesheet;
 
+	echo $relative_file;
 	if ( is_array( $tree ) ) {
 		$index = 0;
 		$size  = count( $tree );
