Yes, we do need something like this. Properties that it needs to have include (and not all of these are true of your proposal), in no particular order:
1. Questions may need to be `independent' of any particular package. 2. Only a particular package can determine which questions need to be asked in what order; in particular, following questions can depend on the previous ones. This means that we can't specify the questions in advance in a file. Instead, we have to put the information in command-line arguments to the query program. 3. Questions should have a `name' that is textual (not numeric), and is separate from the prompt string. Given 1. the name should probably have a hierarchical structure. Given 2. there needs to be a way to put arbitrary `parameters' into the `name'. 4. There should be a way to specify how `important' it is that a question be asked, and an environment variable or something to specify how willing we are to prompt, so that we can tune the level of prompting. 5. The interface should be suitable for changing the UI later (eg, plain-text, fullscreen text, X or whatever). 6. The database format used to cache answers should be editable by humans. 7. The query program should be the same as the retrieve-question program, so that the database of previous questions acts as a cache for the user. 8. If the query program cannot prompt but the arguments say it needs to then it should indicate this with a nonzero exit status, which will (hopefully) cause the script to bomb out. 9. Valid responses should be specified by regexp (preferably a reasonably fully-featured regexp like a Perl one) not a glob. 10. Metacharacters in prompts and data should work completely correctly. Ian. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

