The use of "should" and "but" in "who should he see but Whillie"

He came to the corner where the carton was, and who should he see but Whillie.

What is the meaning of should and but here?


Solution 1:

Nice question. It's an odd, and slightly old-fashioned, idiom.

It means "He saw Willie", but with a strong connotation of surprise.

I don't find it easy to analyse and explain, but I think it stands for something like the following:

Who was it that he saw at the corner? Surprise! It was nobody else but Willie!"