From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Schwab Newsgroups: gmane.emacs.bugs Subject: bug#11141: 24.0.94; crash with `x-popup-dialog' Date: Sun, 01 Apr 2012 09:16:57 +0200 Message-ID: References: <6BE6D98D3BE7424E993D454647337EA9@us.oracle.com> <87y5qgou0p.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1333264682 30258 80.91.229.3 (1 Apr 2012 07:18:02 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 1 Apr 2012 07:18:02 +0000 (UTC) Cc: 'Chong Yidong' , 11141@debbugs.gnu.org To: "Drew Adams" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Apr 01 09:18:00 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SEF32-0004F1-0E for geb-bug-gnu-emacs@m.gmane.org; Sun, 01 Apr 2012 09:18:00 +0200 Original-Received: from localhost ([::1]:54418 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SEF31-0001KD-AD for geb-bug-gnu-emacs@m.gmane.org; Sun, 01 Apr 2012 03:17:59 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:46237) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SEF2y-0001Jo-HQ for bug-gnu-emacs@gnu.org; Sun, 01 Apr 2012 03:17:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SEF2w-0002KP-Ly for bug-gnu-emacs@gnu.org; Sun, 01 Apr 2012 03:17:56 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37013) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SEF2w-0002KI-IN for bug-gnu-emacs@gnu.org; Sun, 01 Apr 2012 03:17:54 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SEF34-0005aX-JC for bug-gnu-emacs@gnu.org; Sun, 01 Apr 2012 03:18:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Andreas Schwab Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 01 Apr 2012 07:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11141 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 11141-submit@debbugs.gnu.org id=B11141.133326462321418 (code B ref 11141); Sun, 01 Apr 2012 07:18:02 +0000 Original-Received: (at 11141) by debbugs.gnu.org; 1 Apr 2012 07:17:03 +0000 Original-Received: from localhost ([127.0.0.1]:33550 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SEF27-0005ZO-4S for submit@debbugs.gnu.org; Sun, 01 Apr 2012 03:17:03 -0400 Original-Received: from mail-out.m-online.net ([212.18.0.10]:60941) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SEF24-0005Yv-KR for 11141@debbugs.gnu.org; Sun, 01 Apr 2012 03:17:02 -0400 Original-Received: from frontend1.mail.m-online.net (frontend1.mail.intern.m-online.net [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 3VL7D24fqFz3hhVk; Sun, 1 Apr 2012 09:16:48 +0200 (CEST) Original-Received: from linux.local (ppp-88-217-123-48.dynamic.mnet-online.de [88.217.123.48]) by mail.mnet-online.de (Postfix) with ESMTPA id 3VL7D00J5lz4KK3l; Sun, 1 Apr 2012 09:16:47 +0200 (CEST) Original-Received: by linux.local (Postfix, from userid 501) id 8701A1E52D1; Sun, 1 Apr 2012 09:16:57 +0200 (CEST) X-Yow: Yow! STYROFOAM.. In-Reply-To: (Drew Adams's message of "Sat, 31 Mar 2012 23:31:49 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:58426 Archived-At: Please try this. Andreas. * w32menu.c (is_simple_dialog): Properly check lisp types. diff --git a/src/w32menu.c b/src/w32menu.c index b5cc680..b25edf0 100644 --- a/src/w32menu.c +++ b/src/w32menu.c @@ -1173,18 +1173,23 @@ w32_dialog_show (FRAME_PTR f, int keymaps, static int is_simple_dialog (Lisp_Object contents) { - Lisp_Object options = XCDR (contents); + Lisp_Object options; Lisp_Object name, yes, no, other; + if (!CONSP (contents)) + return 0; + options = XCDR (contents); + yes = build_string ("Yes"); no = build_string ("No"); if (!CONSP (options)) return 0; - name = XCAR (XCAR (options)); - if (!CONSP (options)) + name = XCAR (options); + if (!CONSP (name)) return 0; + name = XCAR (name); if (!NILP (Fstring_equal (name, yes))) other = no; @@ -1197,7 +1202,10 @@ is_simple_dialog (Lisp_Object contents) if (!CONSP (options)) return 0; - name = XCAR (XCAR (options)); + name = XCAR (options); + if (!CONSP (name)) + return 0; + name = XCAR (name); if (NILP (Fstring_equal (name, other))) return 0; -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."