M_p() now accepts an optional file descriptor argument.