This type of prompt is more sophisticated. It creates a new buffer for
you to type your response into (called *prompt*), the title of the
prompt is displayed in the buffer's first line.
Normally you type the answer to the prompt into the buffer and then press the RET key. All normal editor commands are available while you are using the prompt, you can switch buffers, load new files, whatever you like.
Another advantage of this type of prompt is that it supports completion, this allows you to type the beginning of your response then press the TAB key. What you have typed will be matched against the list of responses that the editor has (i.e. when being prompted for the name of a file it will be matched against all available files), if a unique match is found your response will be completed to that match.
If several potential completions are found, these will be displayed after
the line ::Completions:: in the buffer and your response will only
be completed as far as the potential completions are similar. For example,
if you enter `fo' then press TAB and files called `foo' and
`foobar' exist, the contents of the prompt will become `foo'.
Completion is provided for many different things, some are: files, buffers, symbols, functions, variables, Info nodes, etc...
The special commands for this type of prompt are,
::Completions::
line) the whole line will be entered. Otherwise, just the text to the left
of the cursor is entered.
Go to the first, previous, next, last section, table of contents.