Incorrect usage of unless
Solution 1:
Very interesting question, and I hadn't noticed the problem before.
English Grammar Today says:
"We don’t use unless for things that we know to be true:
You won’t be able to get a ticket for the match unless you’re prepared to pay a lot of money for it. (The speaker doesn’t know if you’re prepared to pay a lot of money for a ticket.)
I don’t know what we would have done if we hadn’t seen you. (We did see you.)
Not: I don’t know what we would have done unless we’d seen you. "
I think this is the point that excludes your sentence: I know whether or not I am waiting for a call at the moment, so I cannot use unless. If I were talking generally, or about a time in the future (when I would not know), then I could use it:
In those days, I would go to bed unless I was waiting for a phone call. (non-specific occasion in the past)
On work days, after 11 I would go to bed unless I was waiting for a phone call. (non-specific occasion, past present or future)
I'll go to bed unless I'm waiting for a phone call. (occasion in the future)
Solution 2:
These two:*
I would go to bed if I wasn't waiting for a phone call.
I would go to bed unless I was waiting for a phone call.
Describe the same situation:
- Waiting for phone call → stay up
- Not waiting for phone call → go to bed
The difference is that if I wasn't implies that the speaker is currently waiting for a call, and therefore that they're describing the present situation.
I would use unless I was in a more hypothetical context, like “At 11 pm on a school night, I would go to bed, unless I was waiting for a phone call.”
* Unless I wasn't just reverses the logic: only go to bed if waiting for a call.