Go to the first, previous, next, last section, table of contents.


Question Mark and Exclamation Point

At any time, you can type a question mark or exclamation point. Either of these will make Sdtty display all legal completions of the line that has been typed so far. If what you have typed is unambiguous, that will consist of just one thing. If you have typed nothing, it will consist of every legal thing you could type--typically that is every call, every concept, and every special command.

The difference between question mark and exclamation point is that the question mark actually attempts to execute every call in the current call menu (that is, every call whose name matches the text you have typed so far), and shows only those that can be legally performed. Exclamation point simply displays every call on the menu that matches the text that you have typed so far. Remember that the call menus are only approximate--they often have many calls listed that are in fact not legal in the present setup. This is particularly true when concepts are in place. The program simply has no idea what calls are legal without trying them. Question mark tells it to do so.

The difference between question mark and exclamation point only applies to calls. All concepts and special commands (resolve, for example) are always listed whenever either character is typed.

The output from typing a question mark or exclamation point may be quite lengthy. If it fills more than one screenful, Sdtty will stop and display `--More--' at the bottom of the screen. Type SPACE to go on to the next screenful. Type ENTER to see just one more line. Type a backspace (or DEL) to stop. When the output ends, either because Sdtty displayed everything or because you typed a backspace, the partially entered line will be redisplayed, just as it was before you typed the question mark.

When you are typing calls or concepts and you type ENTER while the line that you have typed is ambiguous, Sdtty will display something like `(10 matches, type ! or ? for list)'. The number that it displays is the number of syntactically legal choices among which it can't decide. This is the number of choices that would have been listed if you had typed `!'. It may be more than the number of things that would be listed if you had typed `?'. The reason is that the `?' operation has to test every call before listing it. It can easily do this faster than you can read the list of choices. When you type ENTER while there are multiple syntactic choices available, the computer can't count them fast enough to respond instantaneously. It therefore displays an approximate number, computed by looking at its database without testing each call.


Go to the first, previous, next, last section, table of contents.