I'd use an OR construct similar to the one posted by gile.
...the reader just needs to glance at it to understand the functionality.
Then you would just be perpetuating the misuse of code.
Then the reader needs to be better informed because its goofy and confusing. I think you like the use of OR because it seems like a fancy trick but if you stop and look at OR vs COND in this instance you will notice something...You know what? I'll just show you cause im sick of this crap.
OR statement (Lets remove the extra stuff and get down to the basics):
(or (setq var (getint "\nPrompt"))
(setq var <DEFAULT>)
)
Step thru that eval sequence.
1. run getint function
2. fill variable with result of getint function (worst case: nil).
3. if variable is nill then evaluate next process which is setting the variable to something else.
4. Return a Boolean value.
Now lets look at COND:
(setq var (cond ((getint "\nPrompt")) (<DEFAULT>) )
1. run getint function
2. if nil evaluate next (which is just a value)
3. return that value to fill the variable.
Do you see how it all plays out now?
OR can be good for running several different scenarios of process' not setting variables the statement is confusing.