Printing inside `finally` causes the order of logging to change
when there is an error, which is undesirable. So this is reverted.
The issue of `--print` being blocked by pre-processors was an
unintentional side-effect of changing the operation orders in
170605840ea9d5ad75da6576485ea7d125b428ee, and this is also partially
reverted.