Partially revert ed0acede20945780aa41fa69bd0353240c02f471

ed0acede20945780aa41fa69bd0353240c02f471 wasn't good enough. Most noticeable in `file_error_alert`. File name is unicode, while `p->error.message()` is not. `p->message()` concatenated both strings and messed 'em up.