-.I user
-name is included,
-the output will be restricted to that user.
-.SH FILES
-.ta 1i
-/var/run/utmp
-.br
-/dev/kmem
-.br
-/dev/drum
-.SH "SEE ALSO"
-who(1), finger(1), ps(1)
-.SH BUGS
-.PP
+.Ar user
+name is given, the output is restricted to that user.
+.Sh FILES
+.Bl -tag -width /var/run/utmp -compact
+.It Pa /var/run/utmp
+list of users on the system
+.El
+.Sh SEE ALSO
+.Xr who 1 ,
+.Xr finger 1 ,
+.Xr ps 1
+.Sh BUGS
+The notion of the
+.Dq current process
+is muddy.
+The current algorithm is ``the highest numbered process on the terminal that
+is not ignoring interrupts, or, if there is none, the highest numbered
+process on the terminal''.
+This fails, for example, in critical sections of programs like the shell
+and editor, or when faulty programs running in the background fork and fail
+to ignore interrupts.
+(In cases where no process can be found,
+.Nm w
+prints
+.Dq \- . )
+.Pp
+The
+.Tn CPU
+time is only an estimate, in particular, if someone leaves a
+background process running after logging out, the person currently
+on that terminal is
+.Dq charged
+with the time.
+.Pp
+Background processes are not shown, even though they account for
+much of the load on the system.
+.Pp