This is NOT the official version of dialog.  This version has been
significantly modified from the original.  It is for use by the Linux
kernel configuration script.  Please do not bother Savio Lam with 
questions about this program.
