From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Canceling dialogues Date: Mon, 31 Jul 2006 22:57:32 +0300 Message-ID: References: <44CE4007.6020904@student.lu.se> <44CE5BB3.7000008@student.lu.se> Reply-To: Eli Zaretskii NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1154375923 13753 80.91.229.2 (31 Jul 2006 19:58:43 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 31 Jul 2006 19:58:43 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 31 21:58:32 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1G7du6-0003oX-Gv for ged-emacs-devel@m.gmane.org; Mon, 31 Jul 2006 21:58:18 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G7du6-0004K0-1f for ged-emacs-devel@m.gmane.org; Mon, 31 Jul 2006 15:58:18 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1G7dtU-0003jH-3q for emacs-devel@gnu.org; Mon, 31 Jul 2006 15:57:40 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1G7dtS-0003h6-Lj for emacs-devel@gnu.org; Mon, 31 Jul 2006 15:57:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G7dtS-0003gq-Ah for emacs-devel@gnu.org; Mon, 31 Jul 2006 15:57:38 -0400 Original-Received: from [192.114.186.73] (helo=heller.inter.net.il) by monty-python.gnu.org with esmtp (Exim 4.52) id 1G7dwB-00041Z-Bq for emacs-devel@gnu.org; Mon, 31 Jul 2006 16:00:27 -0400 Original-Received: from HOME-C4E4A596F7 (IGLD-80-230-39-32.inter.net.il [80.230.39.32]) by heller.inter.net.il (MOS 3.7.3a-GA) with ESMTP id ACY62053 (AUTH halo1); Mon, 31 Jul 2006 22:57:29 +0300 (IDT) Original-To: Lennart Borgman In-reply-to: <44CE5BB3.7000008@student.lu.se> (message from Lennart Borgman on Mon, 31 Jul 2006 21:36:19 +0200) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:57870 Archived-At: > Date: Mon, 31 Jul 2006 21:36:19 +0200 > From: Lennart Borgman > CC: emacs-devel@gnu.org > > Eli Zaretskii wrote: > > > >> I think this is a bug and that a third alternative for canceling should > >> be added. > >> > > > > The menu only has YES and NO, so that's what is displayed. > > > > > Yes ... - I was suggesting that we should add a Cancel alternative. So I > do not understand what you mean. Can you explain? When Emacs wants to pop the YES/NO dialog, it calls the function x-popup-dialog (Fx_popup_dialog), which in the Windows port currently creates a menu instead of a dialog and pops that menu. This function (x-popup-dialog) is a general-purpose function, it doesn't know, nor care, what it gets as the contents of the dialog. It isn't called only for the YES/NO type of dialog, you can have other dialogs with arbitrary long lists of alternatives. So, unless we somehow program the function to discover that it is called for YES/NO dialog, we cannot blithely add a CANCEL button to it. If you meant to add code to x-popup-dialog that would recognize this special case, I think fixing the generic dialog code is a better investment of our resources and energy, and the result is going to be much cleaner. In addition, there's the question what to do for CANCEL, as someone else pointed out.