 -		    sp->st_nlink, dp->s_user, np->user, dp->s_group,
 -		    np->group);
 +		xo_attr("value", "%03o", (int) sp->st_mode & ALLPERMS);
-+		xo_emit("{:mode/%s} {:links/%*u} {:user/%-*s}  {:group/%-*s}  ",
++		xo_emit("{t:mode/%s} {:links/%*u} {:user/%-*s}  {:group/%-*s}  ",
 +			buf, dp->s_nlink, sp->st_nlink,
 +			dp->s_user, np->user, dp->s_group, np->group);
  		if (f_flags)

 	if (f_humanval) {
 		/*
 		 * Reserve one space before the size and allocate room for
@@ -605,13 +624,15 @@
 
 		humanize_number(buf, sizeof(buf), (int64_t)bytes, "",
 		    HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL);

 					    "characters a-h instead of 0-9 ("
 					    "see the manual page)");
 				}
@@ -552,7 +595,7 @@
 			} else if (tolower((unsigned char)c[j]) == 'x')
 				colors[i].num[j] = -1;
 			else {
