Fix prompt width miscalculation

As it turns out, an empty <if> or <else> part in %(<var>.<if>.<else>)
causes problems when calculating the right text width. We're printing
something in black now (an ugly fix that works).