Fix prompt if default not found

("string") was a malformed function call!
Tidied up code, simplified some logic