Dialog[ ] initiates a dialog.
Dialog[expr] initiates a dialog with expr as the current value of %.
Dialog creates a dialog which consists of a sequence of input and output lines.
You can exit a dialog using Return.
With the global setting $IgnoreEOF = False, you can also exit a dialog by entering an end-of-file character.
If you exit with Return[expr], then expr is the value returned by the Dialog function. Otherwise, the value returned is the expression on the last output line in the dialog.
Dialog automatically localizes the values of $Line, $MessageList and $Epilog.
Dialog initially sets the local value of $Line to be equal to its global value. This means that the numbering of input and output lines in the dialog follows the sequence outside the dialog. When the dialog is exited, however, the numbering reverts to the sequence that would be followed if there had been no dialog.
Any local value assigned to $Epilog is evaluated when the dialog is exited.
The main loop within a dialog uses global variables such as $Pre and $Post.
The option DialogSymbols :> x, y, ... sets up local values for variables within the dialog. DialogSymbols :> x = , ... defines initial values for the variables.
The option DialogProlog :> expr specifies an expression to evaluate before starting the dialog.
Dialog first localizes variables, then evaluates any expression specified by DialogProlog, then evaluates any argument you have given for Dialog.
See The Mathematica Book: Section 2.13.2.
See also: TraceDialog, Input, $Inspector, ButtonBox.