Alright. First of all, I believe CAB probably answered you, but I've looked at it. The first problem I see is that if someone were to hit C for change, the program would break because there is no function called c:spiral. Your code above says espiral and there is an argument required with it, which you also have not supplied. Your cond statement could be a little better too. Have a look at this:
(cond
((eq answer "Change")(espiral (list "dont" "forget" "your" "argument")))
((eq answer "Restart")(c:sol))
)
You could take out the eXit part and also the 1 from your initget and consider eXit as the default, or even use a call to enter as a default for something else, like so:
((or (aq answer "Restart") (eq answer nil)))
I hope that helps.
Sorry if my post reads a little annoyed. I don't wish to sound that way, but just so you know, most of the people here read all the threads and posts within those threads. Posting the same question in different ways in different threads may turn a few of us off. Please consider this for future topics.