I found these sentences in my book:
He did nothing but cry.
He had no choice but to obey.
Example #1 uses a bare infinitive ("cry"), but example #2 uses a to-infinitive ("to obey").
Why is this so?
I think we can understand this syntax in terms of the verb in the matrix clause:
These verbs govern the objects on either side of but.
He did nothing but he (did) cry.
He had no choice but he (had) to obey.
We cannot say "*he did to cry". Nor can we say "*he had obey".
When he was rescued from the desert, the parched man did nothing but ________.