--- /dev/null
+@c -*-texinfo-*-
+@c This is part of the XEmacs Lisp Reference Manual.
+@c Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
+@c See the file lispref.texi for copying conditions.
+@setfilename ../../info/dialog.info
+@node Dialog Boxes, Toolbar, Menus, Top
+@chapter Dialog Boxes
+@cindex dialog box
+
+@menu
+* Dialog Box Format::
+* Dialog Box Functions::
+@end menu
+
+@node Dialog Box Format
+@section Dialog Box Format
+
+A dialog box description is a list.
+
+@itemize @bullet
+@item
+The first element of the list is a string to display in the dialog box.
+@item
+The rest of the elements are descriptions of the dialog box's buttons.
+Each one is a vector of three elements:
+@itemize @minus
+@item
+The first element is the text of the button.
+@item
+The second element is the @dfn{callback}.
+@item
+The third element is @code{t} or @code{nil}, whether this button is
+selectable.
+@end itemize
+@end itemize
+
+If the callback of a button is a symbol, then it must name a command.
+It will be invoked with @code{call-interactively}. If it is a list,
+then it is evaluated with @code{eval}.
+
+One (and only one) of the buttons may be @code{nil}. This marker means
+that all following buttons should be flushright instead of flushleft.
+
+The syntax, more precisely:
+
+@example
+ form := <something to pass to `eval'>
+ command := <a symbol or string, to pass to `call-interactively'>
+ callback := command | form
+ active-p := <t, nil, or a form to evaluate to decide whether this
+ button should be selectable>
+ name := <string>
+ partition := 'nil'
+ button := '[' name callback active-p ']'
+ dialog := '(' name [ button ]+ [ partition [ button ]+ ] ')'
+@end example
+
+@node Dialog Box Functions
+@section Dialog Box Functions
+
+@defun popup-dialog-box dbox-desc
+This function pops up a dialog box. @var{dbox-desc} describes how the
+dialog box will appear (@pxref{Dialog Box Format}).
+@end defun
+
+@xref{Yes-or-No Queries}, for functions to ask a yes/no question using
+a dialog box.