From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: martin rudalics , 1450@debbugs.gnu.org Resent-From: martin rudalics Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 28 Nov 2008 13:05:05 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.122787698420253 (code B ref -1); Fri, 28 Nov 2008 13:05:05 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-5.2 required=4.0 tests=AWL,BAYES_00,FOURLA, FVGT_m_MULTI_ODD,IMPRONONCABLE_2,ONEWORD,RCVD_IN_DNSWL_MED autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at submit) by emacsbugs.donarmstrong.com; 28 Nov 2008 12:56:24 +0000 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mASCuKb5020243 for ; Fri, 28 Nov 2008 04:56:21 -0800 Received: from mx10.gnu.org ([199.232.76.166]:54707) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1L62t5-0008O2-8O for emacs-pretest-bug@gnu.org; Fri, 28 Nov 2008 07:55:59 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1L62tL-0001R3-Sy for emacs-pretest-bug@gnu.org; Fri, 28 Nov 2008 07:56:19 -0500 Received: from mail.gmx.net ([213.165.64.20]:51284) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1L62tL-0001Qj-BY for emacs-pretest-bug@gnu.org; Fri, 28 Nov 2008 07:56:15 -0500 Received: (qmail invoked by alias); 28 Nov 2008 12:56:13 -0000 Received: from 62-47-48-88.adsl.highway.telekom.at (EHLO [62.47.48.88]) [62.47.48.88] by mail.gmx.net (mp027) with SMTP; 28 Nov 2008 13:56:13 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19FCSoC8PJFjVydkh1jIp9KXITD/Hm7o0xbjXr0jb tu4Lw14N9/tbt9 Message-ID: <492FE9A0.2080505@gmx.at> Date: Fri, 28 Nov 2008 13:52:48 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: emacs-pretest-bug Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.47 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) The following is with Drew Adams `default-frame-alist' from bug#117 but completely unrelated to the issues discussed there. Hence .emacs is (setq default-frame-alist '((foreground-color . "Black") (background-color . "LightBlue") (font . "-*-Lucida Console-normal-r-*-*-14-112-96-96-c-*-iso8859-1") (mouse-color . "Red") (cursor-color . "Red") (cursor-type . bar) (menu-bar-lines . 1) (top . 0) (left . 0) (width . 80) (height . 35) (minibuffer) (user-position . t) (vertical-scroll-bars . right) (icon-type) (left-fringe . 0) (right-fringe . 0) (fringe . 0) (menu-bar-lines . 1) (tool-bar-lines . 0))) which gets you two frames - a main frame and a minibuffer frame. In the main frame type C-x C-f and then kill (with the window manager) the minibuffer frame. In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600) of 2008-11-27 on MACHNO Windowing system distributor `Microsoft Corp.', version 5.1.2600 configured using `configure --with-gcc (3.4)' this gets me Current directory is c:/Programme/Emacs-trunk/src/ GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-mingw32"... SIGINT is used by the debugger. Are you sure you want to change it? (y or n) [answered Y; input not from terminal] DISPLAY = TERM = emacs Breakpoint 1 at 0x1151c6a: file w32fns.c, line 7279. Breakpoint 2 at 0x109c79f: file sysdep.c, line 1135. (gdb) run btStarting program: c:/Programme/Emacs-trunk/bin/emacs.exe [New thread 476.0x71c] [New thread 476.0x1f4] Breakpoint 1, w32_abort () at w32fns.c:7279 (gdb) bt #0 w32_abort () at w32fns.c:7279 #1 0x010b5f36 in w32_reset_fringes () at fringe.c:1712 #2 0x01161def in x_delete_terminal (terminal=0x0) at w32term.c:6161 #3 0x010ddea9 in Fdelete_terminal (terminal=48912132, force=44013617) at terminal.c:334 #4 0x010efbdd in Fdelete_frame (frame=45964804, force=44013617) at frame.c:1515 #5 0x0100be38 in Ffuncall (nargs=3, args=0x12be1f0) at eval.c:3047 #6 0x01112783 in Fbyte_code (bytestr=45964800, vector=8579712, maxdepth=2) at bytecode.c:678 #7 0x0100b732 in funcall_lambda (fun=18827052, nargs=1, arg_vector=0x82ec24) at eval.c:3231 #8 0x0100bc27 in Ffuncall (nargs=2, args=0x11f472c) at eval.c:3101 #9 0x01110e2f in Fcall_interactively (function=44325801, record_flag=44013569, keys=48668580) at callint.c:857 #10 0x0100be21 in Ffuncall (nargs=4, args=0x12bee58) at eval.c:3050 #11 0x0100bff9 in call3 (fn=0, arg1=0, arg2=0, arg3=0) at eval.c:2870 #12 0x01056cc9 in Fcommand_execute (cmd=44325801, record_flag=44013569, keys=0, special=44013617) at keyboard.c:10333 #13 0x0105a5e2 in read_char (commandflag=1, nmaps=2, maps=0x82f090, prev_event=44013569, used_mouse_menu=0x82f0d8, end_time=0x0) at keyboard.c:3087 #14 0x0105c47d in read_key_sequence (keybuf=0x82f220, bufsize=30, prompt=44013569, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9344 #15 0x0105e342 in command_loop_1 () at keyboard.c:1621 #16 0x01009fae in internal_condition_case (bfun=0x105e190 , handlers=44077321, hfun=0x105773c ) at eval.c:1511 #17 0x01051cca in command_loop_2 () at keyboard.c:1338 #18 0x01009ee3 in internal_catch (tag=0, func=0x1051ca7 , arg=44013569) at eval.c:1247 #19 0x01051a83 in command_loop () at keyboard.c:1303 #20 0x01051b70 in recursive_edit_1 () at keyboard.c:942 #21 0x010fa4f9 in read_minibuf (map=44002797, initial=50364131, prompt=44152324, backup_n=33, expflag=0, histvar=0, histpos=0, defalt=44056819, allow_props=0, inherit_input_method=0) at minibuf.c:735 #22 0x010fb181 in Fcompleting_read (prompt=0, collection=0, predicate=0, require_match=44229137, initial_input=44093873, hist=44093873, def=44056819, inherit_input_method=44013569) at minibuf.c:1818 #23 0x0100bd45 in Ffuncall (nargs=8, args=0x12be6f8) at eval.c:3075 #24 0x01112783 in Fbyte_code (bytestr=45964800, vector=8582688, maxdepth=7) at bytecode.c:678 #25 0x0100b732 in funcall_lambda (fun=18560372, nargs=4, arg_vector=0x82f784) at eval.c:3231 #26 0x0100bc27 in Ffuncall (nargs=5, args=0x11b3574) at eval.c:3101 #27 0x01112783 in Fbyte_code (bytestr=45964800, vector=8583040, maxdepth=4) at bytecode.c:678 #28 0x0100b732 in funcall_lambda (fun=18474988, nargs=2, arg_vector=0x82f8d4) at eval.c:3231 #29 0x0100bc27 in Ffuncall (nargs=3, args=0x119e7ec) at eval.c:3101 #30 0x01112783 in Fbyte_code (bytestr=45964800, vector=8583376, maxdepth=2) at bytecode.c:678 #31 0x0100b356 in Feval (form=19656352) at eval.c:2381 #32 0x011105f8 in Fcall_interactively (function=44404073, record_flag=44013569, keys=44047108) at callint.c:361 #33 0x0100be21 in Ffuncall (nargs=4, args=0x12bee58) at eval.c:3050 #34 0x0100bff9 in call3 (fn=0, arg1=0, arg2=0, arg3=0) at eval.c:2870 #35 0x01056cc9 in Fcommand_execute (cmd=44404073, record_flag=44013569, keys=0, special=44013569) at keyboard.c:10333 #36 0x0105e4f5 in command_loop_1 () at keyboard.c:1880 #37 0x01009fae in internal_condition_case (bfun=0x105e190 , handlers=44077321, hfun=0x105773c ) at eval.c:1511 #38 0x01051cca in command_loop_2 () at keyboard.c:1338 #39 0x01009ee3 in internal_catch (tag=0, func=0x1051ca7 , arg=44013569) at eval.c:1247 #40 0x01051ad7 in command_loop () at keyboard.c:1317 #41 0x01051b70 in recursive_edit_1 () at keyboard.c:942 #42 0x01051c91 in Frecursive_edit () at keyboard.c:1004 #43 0x01002e46 in main (argc=1, argv=0xa327b8) at emacs.c:1777 Lisp Backtrace: "delete-frame" (0x82ea84) "handle-delete-frame" (0x82ec24) "call-interactively" (0x82ee24) "completing-read" (0x82f624) "read-file-name" (0x82f784) "find-file-read-args" (0x82f8d4) "byte-code" (0x82f990) "call-interactively" (0x82fc04) (gdb) From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: martin rudalics , 1450@debbugs.gnu.org Resent-From: martin rudalics Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 28 Nov 2008 13:30:03 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122787868727201 (code B ref 1450); Fri, 28 Nov 2008 13:30:03 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-6.7 required=4.0 tests=AWL,BAYES_00,FOURLA, HAS_BUG_NUMBER autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 28 Nov 2008 13:24:47 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mASDOhsF027193 for <1450@emacsbugs.donarmstrong.com>; Fri, 28 Nov 2008 05:24:45 -0800 Received: (qmail invoked by alias); 28 Nov 2008 13:24:37 -0000 Received: from 62-47-48-88.adsl.highway.telekom.at (EHLO [62.47.48.88]) [62.47.48.88] by mail.gmx.net (mp060) with SMTP; 28 Nov 2008 14:24:37 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX182WsMBuAc20tO9PkOybj/rR5WMSt9oXvyLHyJZCp nDah1QD3guRGcF Message-ID: <492FF0A5.4050106@gmx.at> Date: Fri, 28 Nov 2008 14:22:45 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> In-Reply-To: <492FE9A0.2080505@gmx.at> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.53 The first report was too complicated. It's sufficient to put the following line into your .emacs (setq default-frame-alist '((minibuffer))) and kill the minibuffer window. The bug seems due to Richard's change from 2008-02-08 ... *************** *** 1393,1404 **** && EQ (frame, WINDOW_FRAME (XWINDOW (FRAME_MINIBUF_WINDOW (XFRAME (this)))))) ! error ("Attempt to delete a surrogate minibuffer frame"); } } ! /* Run `delete-frame-functions' unless frame is a tooltip. */ ! if (!NILP (Vrun_hooks) && NILP (Fframe_parameter (frame, intern ("tooltip")))) { Lisp_Object args[2]; --- 1395,1415 ---- && EQ (frame, WINDOW_FRAME (XWINDOW (FRAME_MINIBUF_WINDOW (XFRAME (this)))))) ! { ! /* If we MUST delete this frame, delete the other first. */ ! if (!NILP (force)) ! Fdelete_frame (this, force); ! else ! error ("Attempt to delete a surrogate minibuffer frame"); ! } } } ... but maybe other changes are involved too. martin From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: martin rudalics , 1450@debbugs.gnu.org Resent-From: martin rudalics Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 28 Nov 2008 17:40:04 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122789351026988 (code B ref 1450); Fri, 28 Nov 2008 17:40:04 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-6.7 required=4.0 tests=AWL,BAYES_00,HAS_BUG_NUMBER autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 28 Nov 2008 17:31:50 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mASHVkZv026966 for <1450@emacsbugs.donarmstrong.com>; Fri, 28 Nov 2008 09:31:48 -0800 Received: (qmail invoked by alias); 28 Nov 2008 17:31:40 -0000 Received: from 62-47-62-43.adsl.highway.telekom.at (EHLO [62.47.62.43]) [62.47.62.43] by mail.gmx.net (mp049) with SMTP; 28 Nov 2008 18:31:40 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1+vxjcYC5yvwh/pHrw6yUSM7rifAkeM+RURCVBRD9 VALs6Ts9CikLjV Message-ID: <493029E6.2060200@gmx.at> Date: Fri, 28 Nov 2008 18:27:02 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> <492FF0A5.4050106@gmx.at> In-Reply-To: <492FF0A5.4050106@gmx.at> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.79 The most simple recipe I found so far: Type (delete-frame nil t) and C-x C-e crashes Emacs. So reverting Richard's change I mentioned in the previous post won't help anyway. martin From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: Stephen Berman , 1450@debbugs.gnu.org Resent-From: Stephen Berman Original-Sender: steve@escher.local.home Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 28 Nov 2008 22:10:04 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122790990031184 (code B ref 1450); Fri, 28 Nov 2008 22:10:04 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-7.1 required=4.0 tests=AWL,BAYES_00,HAS_BUG_NUMBER autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 28 Nov 2008 22:05:00 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mASM4uux031168 for <1450@emacsbugs.donarmstrong.com>; Fri, 28 Nov 2008 14:04:58 -0800 Received: (qmail invoked by alias); 28 Nov 2008 22:04:50 -0000 Received: from i59F54E12.versanet.de (EHLO escher.local.home) [89.245.78.18] by mail.gmx.net (mp027) with SMTP; 28 Nov 2008 23:04:50 +0100 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX1/PbEF8SUjPNFeAJqJiqiryXuoSwsb5rbwdrpvRPb tlC8sSdV4jKdHG Received: by escher.local.home (Postfix, from userid 1000) id 52EE97FF99; Fri, 28 Nov 2008 23:04:48 +0100 (CET) From: Stephen Berman To: martin rudalics Cc: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> <492FF0A5.4050106@gmx.at> <493029E6.2060200@gmx.at> Sender: steve@escher.local.home Date: Fri, 28 Nov 2008 23:04:48 +0100 In-Reply-To: <493029E6.2060200@gmx.at> (martin rudalics's message of "Fri, 28 Nov 2008 18:27:02 +0100") Message-ID: <87hc5rtslb.fsf@escher.local.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Y-GMX-Trusted: 0 X-FuHaFi: 0.61 On Fri, 28 Nov 2008 18:27:02 +0100 martin rudalics wrote: > The most simple recipe I found so far: Type > > (delete-frame nil t) > > and C-x C-e crashes Emacs. > > So reverting Richard's change I mentioned in the previous post won't > help anyway. > > martin A further datapoint: both the above as well as (setq default-frame-alist '((minibuffer))) also induce a crash in GNU Emacs 23.0.60.16 (i686-pc-linux-gnu, GTK+ Version 2.12.9) of 2008-11-20 on escher Steve Berman From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: martin rudalics , 1450@debbugs.gnu.org Resent-From: martin rudalics Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 29 Nov 2008 11:55:04 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122795932713901 (code B ref 1450); Sat, 29 Nov 2008 11:55:04 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-6.3 required=4.0 tests=AWL,BAYES_00,FOURLA, FVGT_m_MULTI_ODD,HAS_BUG_NUMBER,MIXEDBDN,MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 29 Nov 2008 11:48:47 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mATBmgZ7013895 for <1450@emacsbugs.donarmstrong.com>; Sat, 29 Nov 2008 03:48:44 -0800 Received: (qmail invoked by alias); 29 Nov 2008 11:48:36 -0000 Received: from 88-117-40-33.adsl.highway.telekom.at (EHLO [88.117.40.33]) [88.117.40.33] by mail.gmx.net (mp065) with SMTP; 29 Nov 2008 12:48:36 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1/rzGgNAwLrCOkgucRw2kdyZYdKzwikTNnCmcJ/rG t0Xb4v522ncwtB Message-ID: <49312AD9.2090004@gmx.at> Date: Sat, 29 Nov 2008 12:43:21 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: Stephen Berman CC: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> <492FF0A5.4050106@gmx.at> <493029E6.2060200@gmx.at> <87hc5rtslb.fsf@escher.local.home> In-Reply-To: <87hc5rtslb.fsf@escher.local.home> Content-Type: multipart/mixed; boundary="------------070707090207000504040403" X-Y-GMX-Trusted: 0 X-FuHaFi: 0.6899999999999999,0.48 This is a multi-part message in MIME format. --------------070707090207000504040403 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > A further datapoint: both the above as well as (setq default-frame-alist > '((minibuffer))) also induce a crash in GNU Emacs 23.0.60.16 > (i686-pc-linux-gnu, GTK+ Version 2.12.9) of 2008-11-20 on escher I attached a fairly secure and minimally invasive patch. Could you try it? Thanks, martin. --------------070707090207000504040403 Content-Type: text/plain; name="terminal-frame.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="terminal-frame.diff" *** frame.h.~1.145.~ 2008-11-14 07:21:31.062500000 +0100 --- frame.h 2008-11-29 12:27:15.156250000 +0100 *************** *** 1115,1120 **** --- 1115,1121 ---- Lisp_Object component, Lisp_Object subclass); =20 + extern Lisp_Object delete_frame P_ ((Lisp_Object, Lisp_Object)); =20 #endif /* HAVE_WINDOW_SYSTEM */ =20 *** frame.c.~1.399.~ 2008-11-29 12:04:07.515625000 +0100 --- frame.c 2008-11-29 12:26:53.468750000 +0100 *************** *** 1322,1341 **** =20 extern Lisp_Object Qrun_hook_with_args; =20 ! DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 2, "", ! doc: /* Delete FRAME, permanently eliminating it from use. ! If omitted, FRAME defaults to the selected frame. ! A frame may not be deleted if its minibuffer is used by other frames. ! Normally, you may not delete a frame if all other frames are invisible,= ! but if the second optional argument FORCE is non-nil, you may do so. !=20 ! This function runs `delete-frame-functions' before actually deleting th= e ! frame, unless the frame is a tooltip. ! The functions are run with one arg, the frame to be deleted. ! But FORCE inhibits this too. */) ! /* FORCE is non-nil when handling a disconnected terminal. */ ! (frame, force) ! Lisp_Object frame, force; { struct frame *f; struct frame *sf =3D SELECTED_FRAME (); --- 1322,1330 ---- =20 extern Lisp_Object Qrun_hook_with_args; =20 ! Lisp_Object ! delete_frame (frame, force) ! register Lisp_Object frame, force; { struct frame *f; struct frame *sf =3D SELECTED_FRAME (); *************** *** 1360,1371 **** if (NILP (force) && !other_visible_frames (f)) error ("Attempt to delete the sole visible or iconified frame"); =20 - #if 0 /* This is a nice idea, but x_connection_closed needs to be able to delete the last frame, if it is gone. */ ! if (NILP (XCDR (Vframe_list))) error ("Attempt to delete the only frame"); - #endif =20 /* Does this frame have a minibuffer, and is it the surrogate minibuffer for any other frame? */ --- 1349,1358 ---- if (NILP (force) && !other_visible_frames (f)) error ("Attempt to delete the sole visible or iconified frame"); =20 /* This is a nice idea, but x_connection_closed needs to be able to delete the last frame, if it is gone. */ ! if (NILP (XCDR (Vframe_list)) && !EQ (force, Qnoelisp)) error ("Attempt to delete the only frame"); =20 /* Does this frame have a minibuffer, and is it the surrogate minibuffer for any other frame? */ *************** *** 1386,1392 **** (FRAME_MINIBUF_WINDOW (XFRAME (this)))))) { /* If we MUST delete this frame, delete the other first. */ ! if (!NILP (force)) Fdelete_frame (this, force); else error ("Attempt to delete a surrogate minibuffer frame"); --- 1373,1379 ---- (FRAME_MINIBUF_WINDOW (XFRAME (this)))))) { /* If we MUST delete this frame, delete the other first. */ ! if (EQ (force, Qnoelisp)) Fdelete_frame (this, force); else error ("Attempt to delete a surrogate minibuffer frame"); *************** *** 1634,1639 **** --- 1621,1645 ---- =20 return Qnil; } +=20 + DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 2, "", + doc: /* Delete FRAME, permanently eliminating it from use. + If omitted, FRAME defaults to the selected frame. + A frame may not be deleted if its minibuffer is used by other frames. + Normally, you may not delete a frame if all other frames are invisible,= + but if the second optional argument FORCE is non-nil, you may do so. +=20 + This function runs `delete-frame-functions' before actually deleting th= e + frame, unless the frame is a tooltip. + The functions are run with one arg, the frame to be deleted. + But FORCE inhibits this too. */) + /* FORCE is non-nil when handling a disconnected terminal. */ + (frame, force) + Lisp_Object frame, force; + { + return delete_frame (frame, !NILP (force) ? Qt : Qnil); + } +=20 =0C /* Return mouse position in character cell units. */ =20 *** terminal.c.~1.13.~ 2008-11-29 12:04:07.843750000 +0100 --- terminal.c 2008-11-29 12:23:14.406250000 +0100 *************** *** 256,262 **** struct terminal **tp; Lisp_Object tail, frame; =20 ! /* Protect against recursive calls. Fdelete_frame calls the delete_terminal_hook when we delete our last frame. */ if (!terminal->name) return; --- 256,262 ---- struct terminal **tp; Lisp_Object tail, frame; =20 ! /* Protect against recursive calls. delete_frame calls the delete_terminal_hook when we delete our last frame. */ if (!terminal->name) return; *************** *** 270,276 **** if (FRAME_LIVE_P (f) && f->terminal =3D=3D terminal) { /* Maybe this should pass Qnoelisp rather than Qt? */ ! Fdelete_frame (frame, Qt); } } =20 --- 270,276 ---- if (FRAME_LIVE_P (f) && f->terminal =3D=3D terminal) { /* Maybe this should pass Qnoelisp rather than Qt? */ ! delete_frame (frame, Qnoelisp); } } --------------070707090207000504040403-- From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: Stephen Berman , 1450@debbugs.gnu.org Resent-From: Stephen Berman Original-Sender: steve@escher.local.home Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 29 Nov 2008 20:20:02 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122798962116159 (code B ref 1450); Sat, 29 Nov 2008 20:20:02 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-7.0 required=4.0 tests=AWL,BAYES_00,FOURLA, HAS_BUG_NUMBER,MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 29 Nov 2008 20:13:41 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mATKDbdh016144 for <1450@emacsbugs.donarmstrong.com>; Sat, 29 Nov 2008 12:13:38 -0800 Received: (qmail invoked by alias); 29 Nov 2008 20:13:31 -0000 Received: from i59F57AB2.versanet.de (EHLO escher.local.home) [89.245.122.178] by mail.gmx.net (mp021) with SMTP; 29 Nov 2008 21:13:31 +0100 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX1+hiAo2hpGhqG79konPZM+rEyJm028RcAbUsbrQ+N m2lOXIx8Vgkuww Received: by escher.local.home (Postfix, from userid 1000) id 27F287FF99; Sat, 29 Nov 2008 21:13:30 +0100 (CET) From: Stephen Berman To: martin rudalics Cc: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> <492FF0A5.4050106@gmx.at> <493029E6.2060200@gmx.at> <87hc5rtslb.fsf@escher.local.home> <49312AD9.2090004@gmx.at> Sender: steve@escher.local.home Date: Sat, 29 Nov 2008 21:13:29 +0100 In-Reply-To: <49312AD9.2090004@gmx.at> (martin rudalics's message of "Sat, 29 Nov 2008 12:43:21 +0100") Message-ID: <878wr2guja.fsf@escher.local.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Y-GMX-Trusted: 0 X-FuHaFi: 0.54 On Sat, 29 Nov 2008 12:43:21 +0100 martin rudalics wrote: >> A further datapoint: both the above as well as (setq default-frame-alist >> '((minibuffer))) also induce a crash in GNU Emacs 23.0.60.16 >> (i686-pc-linux-gnu, GTK+ Version 2.12.9) of 2008-11-20 on escher > > I attached a fairly secure and minimally invasive patch. > Could you try it? I tried your patch after updating from the current CVS HEAD. Now starting with emacs -q --eval "(setq default-frame-alist '((minibuffer)))" and trying to delete the minibuffer frame via the window manager does not crash Emacs, but instead results in no deleted frame and the error message "Attempt to delete a surrogate minibuffer frame" (from handle-delete-frame). Likewise, C-x 5 0 from the minibuffer frame does not delete it, again showing the error message (now from call-interactively). With a non-minibuffer frame deletion via either the window manager or C-x 5 0 succeeds; then as soon as I click in the minibuffer frame, a new regular frame is created. As for starting with emacs -q and the evalling (delete-frame nil t), this also does not make Emacs crash, but raises the error "Attempt to delete the only frame". However, I apparently was mistaken in my post cited above: I thought evalling (delete-frame nil t) produced a core dump, like the attempt to delete the minibuffer frame did, but I cannot reproduce that with the unpatched Emacs, so I must have been confused about the source of the core file (which I since deleted). Instead, evalling (delete-frame nil t) in the unpatched Emacs simply kills Emacs, verified under gdb ("Program exited normally."). Sorry for misreporting this yesterday. Steve Berman From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: martin rudalics , 1450@debbugs.gnu.org Resent-From: martin rudalics Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sun, 30 Nov 2008 09:30:05 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122803700124172 (code B ref 1450); Sun, 30 Nov 2008 09:30:05 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-6.8 required=4.0 tests=AWL,BAYES_00,FOURLA, HAS_BUG_NUMBER,MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 30 Nov 2008 09:23:21 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mAU9NGva024163 for <1450@emacsbugs.donarmstrong.com>; Sun, 30 Nov 2008 01:23:18 -0800 Received: (qmail invoked by alias); 30 Nov 2008 09:23:10 -0000 Received: from 88-117-46-34.adsl.highway.telekom.at (EHLO [88.117.46.34]) [88.117.46.34] by mail.gmx.net (mp016) with SMTP; 30 Nov 2008 10:23:10 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19VJ1k89V9VD92Jwk+P7vasjXH8JJP3JGCt6D11w+ zf9rAkNnwW3drO Message-ID: <49325AA5.8080506@gmx.at> Date: Sun, 30 Nov 2008 10:19:33 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: Stephen Berman CC: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> <492FF0A5.4050106@gmx.at> <493029E6.2060200@gmx.at> <87hc5rtslb.fsf@escher.local.home> <49312AD9.2090004@gmx.at> <878wr2guja.fsf@escher.local.home> In-Reply-To: <878wr2guja.fsf@escher.local.home> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.57 Thanks for testing this. > I tried your patch after updating from the current CVS HEAD. Now > starting with emacs -q --eval "(setq default-frame-alist > '((minibuffer)))" and trying to delete the minibuffer frame via the > window manager does not crash Emacs, but instead results in no deleted > frame and the error message "Attempt to delete a surrogate minibuffer > frame" (from handle-delete-frame). Likewise, C-x 5 0 from the > minibuffer frame does not delete it, again showing the error message > (now from call-interactively). With a non-minibuffer frame deletion via > either the window manager or C-x 5 0 succeeds; then as soon as I click > in the minibuffer frame, a new regular frame is created. I think that's the intended behavior. At least it was until Emacs 22. And delete_frame depends on doing so as explained by this comment /* We know that there must be some frame with a minibuffer out there. If this were not true, all of the frames present would have to be minibufferless, which implies that at some point their minibuffer frames must have been deleted, but that is prohibited at the top; you can't delete surrogate minibuffer frames. */ > As for starting with emacs -q and the evalling (delete-frame nil t), > this also does not make Emacs crash, but raises the error "Attempt to > delete the only frame". This is new behavior, obviously (it was there in the code, but commented out). > However, I apparently was mistaken in my post > cited above: I thought evalling (delete-frame nil t) produced a core > dump, like the attempt to delete the minibuffer frame did, Could you (or someone else on GNU/Linux) post a backtrace for the minibuffer deletion case? > but I cannot > reproduce that with the unpatched Emacs, so I must have been confused > about the source of the core file (which I since deleted). Instead, > evalling (delete-frame nil t) in the unpatched Emacs simply kills Emacs, > verified under gdb ("Program exited normally."). Sorry for misreporting > this yesterday. That's what Emacs 22 did in that case - exit normally. But Emacs 22 did _not_ offer to save any unsaved buffers, so you might have lost some work. Does it offer to save buffers on your Emacs 23? martin From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: Stephen Berman , 1450@debbugs.gnu.org Resent-From: Stephen Berman Original-Sender: steve@escher.local.home Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Tue, 02 Dec 2008 14:20:05 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122822730524135 (code B ref 1450); Tue, 02 Dec 2008 14:20:05 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-6.6 required=4.0 tests=AWL,BAYES_00,FOURLA, FVGT_m_MULTI_ODD,HAS_BUG_NUMBER,IMPRONONCABLE_2,MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 2 Dec 2008 14:15:05 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mB2EExaU023931 for <1450@emacsbugs.donarmstrong.com>; Tue, 2 Dec 2008 06:15:01 -0800 Received: (qmail invoked by alias); 02 Dec 2008 14:14:53 -0000 Received: from i59F55D9B.versanet.de (EHLO escher.local.home) [89.245.93.155] by mail.gmx.net (mp031) with SMTP; 02 Dec 2008 15:14:53 +0100 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX1+vHKsfILqvrJ0sp/rreLo8/nbkHRiKtBOuSjBfVG D61hvCYa6O+nAW Received: by escher.local.home (Postfix, from userid 1000) id 1591D7FFB7; Tue, 2 Dec 2008 15:14:51 +0100 (CET) From: Stephen Berman To: martin rudalics Cc: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> <492FF0A5.4050106@gmx.at> <493029E6.2060200@gmx.at> <87hc5rtslb.fsf@escher.local.home> <49312AD9.2090004@gmx.at> <878wr2guja.fsf@escher.local.home> <49325AA5.8080506@gmx.at> Sender: steve@escher.local.home Date: Tue, 02 Dec 2008 15:14:51 +0100 Message-ID: <877i6ioe90.fsf@escher.local.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Y-GMX-Trusted: 0 X-FuHaFi: 0.46 Sorry for the delayed response. On Sun, 30 Nov 2008 10:19:33 +0100 martin rudalics wrote: > Thanks for testing this. > >> I tried your patch after updating from the current CVS HEAD. Now >> starting with emacs -q --eval "(setq default-frame-alist >> '((minibuffer)))" and trying to delete the minibuffer frame via the >> window manager does not crash Emacs, but instead results in no deleted >> frame and the error message "Attempt to delete a surrogate minibuffer >> frame" (from handle-delete-frame). Likewise, C-x 5 0 from the >> minibuffer frame does not delete it, again showing the error message >> (now from call-interactively). With a non-minibuffer frame deletion via >> either the window manager or C-x 5 0 succeeds; then as soon as I click >> in the minibuffer frame, a new regular frame is created. > > I think that's the intended behavior. At least it was until Emacs 22. > And delete_frame depends on doing so as explained by this comment > > /* We know that there must be some frame with a minibuffer out > there. If this were not true, all of the frames present > would have to be minibufferless, which implies that at some > point their minibuffer frames must have been deleted, but > that is prohibited at the top; you can't delete surrogate > minibuffer frames. */ > >> As for starting with emacs -q and the evalling (delete-frame nil t), >> this also does not make Emacs crash, but raises the error "Attempt to >> delete the only frame". > > This is new behavior, obviously (it was there in the code, but commented > out). > >> However, I apparently was mistaken in my post >> cited above: I thought evalling (delete-frame nil t) produced a core >> dump, like the attempt to delete the minibuffer frame did, > > Could you (or someone else on GNU/Linux) post a backtrace for the > minibuffer deletion case? Appended below. >> but I cannot >> reproduce that with the unpatched Emacs, so I must have been confused >> about the source of the core file (which I since deleted). Instead, >> evalling (delete-frame nil t) in the unpatched Emacs simply kills Emacs, >> verified under gdb ("Program exited normally."). Sorry for misreporting >> this yesterday. > > That's what Emacs 22 did in that case - exit normally. But Emacs 22 did > _not_ offer to save any unsaved buffers, so you might have lost some > work. Does it offer to save buffers on your Emacs 23? No it does not. So your fix is certainly needed. Steve Berman (gdb) r -Q --eval "(setq default-frame-alist '((minibuffer)))" Starting program: /Users/steve/lib/emacs-cvs-gtk/src/emacs-23.0.60.17 -Q --eval "(setq default-frame-alist '((minibuffer)))" [Thread debugging using libthread_db enabled] [New Thread 0xb70dc6c0 (LWP 13023)] [Switching to Thread 0xb70dc6c0 (LWP 13023)] Breakpoint 1, abort () at /home/steve/cvsroot/emacs/src/emacs.c:428 428 kill (getpid (), SIGABRT); (gdb) bt full #0 abort () at /home/steve/cvsroot/emacs/src/emacs.c:428 No locals. #1 0x08089931 in redisplay_internal (preserve_echo_area=) at /home/steve/cvsroot/emacs/src/xdisp.c:11393 w = (struct window *) 0x0 pause = 0 must_finish = 0 number_of_visible_frames = 0 polling_stopped_here = 0 old_frame = 141412100 consider_all_windows_p = 0 #2 0x0812fc6e in read_char (commandflag=1, nmaps=2, maps=0xbf852ac0, prev_event=137943241, used_mouse_menu=0xbf852b74, end_time=0x0) at /home/steve/cvsroot/emacs/src/keyboard.c:2649 c = local_getcjmp = {{ __jmpbuf = {2, 143631964, 1, -1081791880, -1774884314, -1180720311}, __mask_was_saved = 0, __saved_mask = { __val = {0, 0, 40, 3213175168, 1, 0, 4294967295, 3213175228, 138076240, 3213175432, 135828553, 137972617, 8, 138076244, 1228226696, 136140190, 0, 1, 1, 135545443, 138158953, 1, 3213175000, 1, 143548420, 137969100, 3213175000, 8192, 0, 0, 0, 0} } }} save_jump = {{ __jmpbuf = {0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = { __val = {0 } } }} key_already_recorded = 0 tem = 138232705 save = previous_echo_area_message = 137943241 also_record = 137943241 reread = 0 polling_stopped_here = orig_kboard = (struct kboard *) 0x872cb00 #3 0x08131fd1 in read_key_sequence (keybuf=0xbf852c24, bufsize=30, prompt=137943241, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at /home/steve/cvsroot/emacs/src/keyboard.c:9344 interrupted_kboard = (KBOARD *) 0x872cb00 key = 0 used_mouse_menu = 0 echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 local_first_binding = 1 from_string = 137943241 count = 2 t = 0 echo_start = 0 keys_start = 0 nmaps = 2 nmaps_allocated = 2 defs = (Lisp_Object * volatile) 0xbf852aa0 submaps = (Lisp_Object * volatile) 0xbf852ac0 orig_local_map = 137943241 orig_keymap = 137943241 localized_local_map = 0 first_binding = 1 first_unbound = 31 mock_input = 0 fkey = { parent = 138343165, map = 138343165, start = 0, end = 0 } keytran = { parent = 137936765, map = 137936765, start = 0, end = 0 } indec = { parent = 138343181, map = 138343181, start = 0, end = 0 } shift_translated = 0 delayed_switch_frame = 137943241 original_uppercase = 2 original_uppercase_position = -1 starting_buffer = (struct buffer *) 0x83ae050 fake_prefixed_keys = 137943241 #4 0x081340f4 in command_loop_1 () at /home/steve/cvsroot/emacs/src/keyboard.c:1621 cmd = lose = nonundocount = 0 keybuf = {140896125, 1, -1219133440, 0, 0, 0, -1208666280, -1472036457, 1011, 88216588, 55, -1220440836, -1220445908, 0, 0, 0, 1, 1010, -1223340480, 0, -1081791352, -1081791504, 0, 0, 137943241, 138407017, 0, 138468728, 138468712, -1081791320} i = prev_modiff = 4 prev_buffer = (struct buffer *) 0x8393dc8 already_adjusted = 0 #5 0x0818ed60 in internal_condition_case (bfun=0x8133f10 , handlers=137986481, hfun=0x812e7a0 ) at /home/steve/cvsroot/emacs/src/eval.c:1511 val = c = { tag = 137943241, val = 137943241, next = 0xbf852dd0, gcpro = 0x0, jmp = {{ __jmpbuf = {0, 138468728, 138468712, -1081791080, -1774417370, -1379948215}, __mask_was_saved = 0, __saved_mask = { __val = {3213176208, 3086313080, 134543677, 141164546, 0, 0, 3077189516, 3086311412, 3213175804, 3071626684, 3213175856, 3086236055, 3075821888, 141190592, 141190592, 3075817460, 3075833856, 3213176432, 3213176140, 3213176432, 3213176280, 135516324, 2, 3213176292, 3074542620, 3075833856, 0, 4294967295, 3086311412, 3086313080, 134523392, 3213176224} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 137986481, var = 137943241, chosen_clause = 1, tag = 0xbf852cbc, next = 0x0 } #6 0x0812dcf5 in command_loop_2 () at /home/steve/cvsroot/emacs/src/keyboard.c:1338 val = 0 #7 0x0818ee3a in internal_catch (tag=137982457, func=0x812dcd0 , arg=137943241) at /home/steve/cvsroot/emacs/src/eval.c:1247 c = { tag = 137982457, val = 137943241, next = 0x0, gcpro = 0x0, jmp = {{ __jmpbuf = {0, 138468728, 138468712, -1081790824, -1774294490, -1380339383}, __mask_was_saved = 0, __saved_mask = { __val = {0, 0, 0, 0, 0, 0, 3074961710, 0, 0, 0, 0, 0, 0, 0, 3075822032, 192, 0, 3075821944, 177, 22, 138182968, 138180274, 137969096, 3213176456, 135791115, 138182969, 138180274, 137943241, 137969096, 137943265, 138180272, 0} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } #8 0x0812e5ff in command_loop () at /home/steve/cvsroot/emacs/src/keyboard.c:1317 No locals. #9 0x0812e97b in recursive_edit_1 () at /home/steve/cvsroot/emacs/src/keyboard.c:942 val = #10 0x0812eac4 in Frecursive_edit () at /home/steve/cvsroot/emacs/src/keyboard.c:1004 buffer = 137943241 #11 0x081231b7 in main (argc=4, argv=0xbf8532a4) at /home/steve/cvsroot/emacs/src/emacs.c:1777 dummy = -1081789960 stack_bottom_variable = 8 '\b' do_initial_setlocale = 1 skip_args = 0 rlim = { rlim_cur = 8388608, rlim_max = 18446744073709551615 } no_loadup = 0 junk = 0x0 dname_arg = 0x0 (gdb) From unknown Sat Jun 21 12:16:39 2025 X-Loop: don@donarmstrong.com Subject: bug#1450: w32_reset_fringes Reply-To: martin rudalics , 1450@debbugs.gnu.org Resent-From: martin rudalics Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Tue, 02 Dec 2008 16:05:08 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122823350518029 (code B ref 1450); Tue, 02 Dec 2008 16:05:08 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-6.7 required=4.0 tests=AWL,BAYES_00,HAS_BUG_NUMBER autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1450) by emacsbugs.donarmstrong.com; 2 Dec 2008 15:58:25 +0000 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mB2FwMW8018015 for <1450@emacsbugs.donarmstrong.com>; Tue, 2 Dec 2008 07:58:23 -0800 Received: (qmail invoked by alias); 02 Dec 2008 15:58:16 -0000 Received: from 62-47-63-5.adsl.highway.telekom.at (EHLO [62.47.63.5]) [62.47.63.5] by mail.gmx.net (mp032) with SMTP; 02 Dec 2008 16:58:16 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19b65Ig1y9bE6N6syOixR/wMLTprpeaHDodJ0ylkm 9s9bOCRTvVL65z Message-ID: <49355A34.8040608@gmx.at> Date: Tue, 02 Dec 2008 16:54:28 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: Stephen Berman CC: 1450@debbugs.gnu.org References: <492FE9A0.2080505@gmx.at> <492FF0A5.4050106@gmx.at> <493029E6.2060200@gmx.at> <87hc5rtslb.fsf@escher.local.home> <49312AD9.2090004@gmx.at> <878wr2guja.fsf@escher.local.home> <49325AA5.8080506@gmx.at> <877i6ioe90.fsf@escher.local.home> In-Reply-To: <877i6ioe90.fsf@escher.local.home> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.62 >> That's what Emacs 22 did in that case - exit normally. But Emacs 22 did >> _not_ offer to save any unsaved buffers, so you might have lost some >> work. Does it offer to save buffers on your Emacs 23? > > No it does not. So your fix is certainly needed. [...] > Breakpoint 1, abort () at /home/steve/cvsroot/emacs/src/emacs.c:428 > 428 kill (getpid (), SIGABRT); > (gdb) bt full > #0 abort () at /home/steve/cvsroot/emacs/src/emacs.c:428 > No locals. > #1 0x08089931 in redisplay_internal (preserve_echo_area=) > at /home/steve/cvsroot/emacs/src/xdisp.c:11393 > w = (struct window *) 0x0 > pause = 0 > must_finish = 0 > number_of_visible_frames = 0 > polling_stopped_here = 0 > old_frame = 141412100 > consider_all_windows_p = 0 Thanks! Unless someone has a better idea, I'll check in my fix in a couple of days. martin From jasonrumney@gmail.com Sat Dec 20 01:02:04 2008 Received: (at control) by emacsbugs.donarmstrong.com; 20 Dec 2008 09:02:05 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.0 required=4.0 tests=MURPHY_DRUGS_REL8, SPAMBUGNUMSUBJ,VALID_BTS_CONTROL autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from ti-out-0910.google.com (ti-out-0910.google.com [209.85.142.184]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mBK921k6005542 for ; Sat, 20 Dec 2008 01:02:02 -0800 Received: by ti-out-0910.google.com with SMTP id b6so903631tic.1 for ; Sat, 20 Dec 2008 01:02:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:subject:content-type :content-transfer-encoding; bh=ym/+iqv2Kd19QfJ70DmfjnUNi8c5PdOK9N7qz9/RnDg=; b=bHtPEAc00+4ALx7YtJZ10JqkGTpHy0Xmuu7nWx/A4oLOVnoJWxGBqrgRvFdd8Kq3Zl +3kyKl1LBdAI5S8dDX8uNa+FV499dUUlu2A48CUHgQ+RFz1MK+eZmxU0ms6/7ofb0EQU TKywlvTmkutHcvXLBb0s4ZqSliFscBmr1/SOE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; b=cbUcxLsgm7vjmdpid6c5AyqAdmfIo6ObcJMESn/yMNvXyBtnoE4U0fc2nXpsDrZVoB jeQ4pgqfpC5mRJevmO2x/BBfGdY/l6CYXvRwYuSovd2/73peQtrr0J3STUFatqVVnx5j D6Ov0at2XJuMxwm56zj/gZg5e8T4pgO5myXCY= Received: by 10.110.17.6 with SMTP id 6mr1602736tiq.58.1229763720667; Sat, 20 Dec 2008 01:02:00 -0800 (PST) Received: from ?192.168.1.3? ([118.101.181.97]) by mx.google.com with ESMTPS id y3sm3393116tia.0.2008.12.20.01.01.58 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 20 Dec 2008 01:01:59 -0800 (PST) Sender: Jason Rumney Message-ID: <494CB469.4030305@gnu.org> Date: Sat, 20 Dec 2008 17:01:29 +0800 From: Jason Rumney User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) MIME-Version: 1.0 To: control@debbugs.gnu.org Subject: 1450 causes crash and has patch Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit tags 1450 +patch severity 1450 grave thanks From unknown Sat Jun 21 12:16:39 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.420 (Entity 5.420) X-Loop: owner@emacsbugs.donarmstrong.com From: help-debbugs@gnu.org (Emacs bug Tracking System) To: martin rudalics Subject: bug#1450 closed by martin rudalics (Re: bug#1450: w32_reset_fringes) Message-ID: References: <49509A54.8000403@gmx.at> <492FE9A0.2080505@gmx.at> X-Emacs-PR-Message: they-closed 1450 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: patch Reply-To: 1450@debbugs.gnu.org Date: Tue, 23 Dec 2008 08:05:09 +0000 Content-Type: multipart/mixed; boundary="----------=_1230019509-8040-1" This is a multi-part message in MIME format... ------------=_1230019509-8040-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This is an automatic notification regarding your bug report which was filed against the emacs package: #1450: w32_reset_fringes It has been closed by martin rudalics . Their explanation is attached below along with your original report. If this explanation is unsatisfactory and you have not received a better one in a separate message then please contact martin rudalics by replying to this email. --=20 1450: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D1450 Emacs Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1230019509-8040-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 1450-done) by emacsbugs.donarmstrong.com; 23 Dec 2008 08:00:35 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id mBN80UOb006593 for <1450-done@emacsbugs.donarmstrong.com>; Tue, 23 Dec 2008 00:00:31 -0800 Received: (qmail invoked by alias); 23 Dec 2008 08:00:24 -0000 Received: from 62-47-41-16.adsl.highway.telekom.at (EHLO [62.47.41.16]) [62.47.41.16] by mail.gmx.net (mp034) with SMTP; 23 Dec 2008 09:00:24 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1/Basx/VxXBKr4wZQgtPw8BPjkmPJ7wUIna2covBx Ix8gRUjV0FB0VK Message-ID: <49509A54.8000403@gmx.at> Date: Tue, 23 Dec 2008 08:59:16 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: 1450-done@debbugs.gnu.org Subject: Re: bug#1450: w32_reset_fringes References: <492FE9A0.2080505@gmx.at> In-Reply-To: <492FE9A0.2080505@gmx.at> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.64 Fixed as * frame.c (delete_frame): New function derived from Fdelete_frame to handle Qnoelisp value for FORCE argument. Delete last frame iff FORCE equals Qnoelisp. (Bug#1450) (Fdelete_frame): Call delete_frame. Remove line from doc-string saying that FORCE non-nil doesn't run `delete-frame-functions'. * frame.h: Extern delete_frame. * window.c (window_loop): * terminal.c (delete_terminal): * xterm.c (x_connection_closed): * xfns.c (Fx_hide_tip): * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame. martin ------------=_1230019509-8040-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit >From rudalics@gmx.at Fri Nov 28 04:56:24 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-5.2 required=4.0 tests=AWL,BAYES_00,FOURLA, FVGT_m_MULTI_ODD,IMPRONONCABLE_2,ONEWORD,RCVD_IN_DNSWL_MED autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at submit) by emacsbugs.donarmstrong.com; 28 Nov 2008 12:56:24 +0000 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mASCuKb5020243 for ; Fri, 28 Nov 2008 04:56:21 -0800 Received: from mx10.gnu.org ([199.232.76.166]:54707) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1L62t5-0008O2-8O for emacs-pretest-bug@gnu.org; Fri, 28 Nov 2008 07:55:59 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1L62tL-0001R3-Sy for emacs-pretest-bug@gnu.org; Fri, 28 Nov 2008 07:56:19 -0500 Received: from mail.gmx.net ([213.165.64.20]:51284) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1L62tL-0001Qj-BY for emacs-pretest-bug@gnu.org; Fri, 28 Nov 2008 07:56:15 -0500 Received: (qmail invoked by alias); 28 Nov 2008 12:56:13 -0000 Received: from 62-47-48-88.adsl.highway.telekom.at (EHLO [62.47.48.88]) [62.47.48.88] by mail.gmx.net (mp027) with SMTP; 28 Nov 2008 13:56:13 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19FCSoC8PJFjVydkh1jIp9KXITD/Hm7o0xbjXr0jb tu4Lw14N9/tbt9 Message-ID: <492FE9A0.2080505@gmx.at> Date: Fri, 28 Nov 2008 13:52:48 +0100 From: martin rudalics User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: emacs-pretest-bug Subject: w32_reset_fringes Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.47 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) The following is with Drew Adams `default-frame-alist' from bug#117 but completely unrelated to the issues discussed there. Hence .emacs is (setq default-frame-alist '((foreground-color . "Black") (background-color . "LightBlue") (font . "-*-Lucida Console-normal-r-*-*-14-112-96-96-c-*-iso8859-1") (mouse-color . "Red") (cursor-color . "Red") (cursor-type . bar) (menu-bar-lines . 1) (top . 0) (left . 0) (width . 80) (height . 35) (minibuffer) (user-position . t) (vertical-scroll-bars . right) (icon-type) (left-fringe . 0) (right-fringe . 0) (fringe . 0) (menu-bar-lines . 1) (tool-bar-lines . 0))) which gets you two frames - a main frame and a minibuffer frame. In the main frame type C-x C-f and then kill (with the window manager) the minibuffer frame. In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600) of 2008-11-27 on MACHNO Windowing system distributor `Microsoft Corp.', version 5.1.2600 configured using `configure --with-gcc (3.4)' this gets me Current directory is c:/Programme/Emacs-trunk/src/ GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-mingw32"... SIGINT is used by the debugger. Are you sure you want to change it? (y or n) [answered Y; input not from terminal] DISPLAY = TERM = emacs Breakpoint 1 at 0x1151c6a: file w32fns.c, line 7279. Breakpoint 2 at 0x109c79f: file sysdep.c, line 1135. (gdb) run btStarting program: c:/Programme/Emacs-trunk/bin/emacs.exe [New thread 476.0x71c] [New thread 476.0x1f4] Breakpoint 1, w32_abort () at w32fns.c:7279 (gdb) bt #0 w32_abort () at w32fns.c:7279 #1 0x010b5f36 in w32_reset_fringes () at fringe.c:1712 #2 0x01161def in x_delete_terminal (terminal=0x0) at w32term.c:6161 #3 0x010ddea9 in Fdelete_terminal (terminal=48912132, force=44013617) at terminal.c:334 #4 0x010efbdd in Fdelete_frame (frame=45964804, force=44013617) at frame.c:1515 #5 0x0100be38 in Ffuncall (nargs=3, args=0x12be1f0) at eval.c:3047 #6 0x01112783 in Fbyte_code (bytestr=45964800, vector=8579712, maxdepth=2) at bytecode.c:678 #7 0x0100b732 in funcall_lambda (fun=18827052, nargs=1, arg_vector=0x82ec24) at eval.c:3231 #8 0x0100bc27 in Ffuncall (nargs=2, args=0x11f472c) at eval.c:3101 #9 0x01110e2f in Fcall_interactively (function=44325801, record_flag=44013569, keys=48668580) at callint.c:857 #10 0x0100be21 in Ffuncall (nargs=4, args=0x12bee58) at eval.c:3050 #11 0x0100bff9 in call3 (fn=0, arg1=0, arg2=0, arg3=0) at eval.c:2870 #12 0x01056cc9 in Fcommand_execute (cmd=44325801, record_flag=44013569, keys=0, special=44013617) at keyboard.c:10333 #13 0x0105a5e2 in read_char (commandflag=1, nmaps=2, maps=0x82f090, prev_event=44013569, used_mouse_menu=0x82f0d8, end_time=0x0) at keyboard.c:3087 #14 0x0105c47d in read_key_sequence (keybuf=0x82f220, bufsize=30, prompt=44013569, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9344 #15 0x0105e342 in command_loop_1 () at keyboard.c:1621 #16 0x01009fae in internal_condition_case (bfun=0x105e190 , handlers=44077321, hfun=0x105773c ) at eval.c:1511 #17 0x01051cca in command_loop_2 () at keyboard.c:1338 #18 0x01009ee3 in internal_catch (tag=0, func=0x1051ca7 , arg=44013569) at eval.c:1247 #19 0x01051a83 in command_loop () at keyboard.c:1303 #20 0x01051b70 in recursive_edit_1 () at keyboard.c:942 #21 0x010fa4f9 in read_minibuf (map=44002797, initial=50364131, prompt=44152324, backup_n=33, expflag=0, histvar=0, histpos=0, defalt=44056819, allow_props=0, inherit_input_method=0) at minibuf.c:735 #22 0x010fb181 in Fcompleting_read (prompt=0, collection=0, predicate=0, require_match=44229137, initial_input=44093873, hist=44093873, def=44056819, inherit_input_method=44013569) at minibuf.c:1818 #23 0x0100bd45 in Ffuncall (nargs=8, args=0x12be6f8) at eval.c:3075 #24 0x01112783 in Fbyte_code (bytestr=45964800, vector=8582688, maxdepth=7) at bytecode.c:678 #25 0x0100b732 in funcall_lambda (fun=18560372, nargs=4, arg_vector=0x82f784) at eval.c:3231 #26 0x0100bc27 in Ffuncall (nargs=5, args=0x11b3574) at eval.c:3101 #27 0x01112783 in Fbyte_code (bytestr=45964800, vector=8583040, maxdepth=4) at bytecode.c:678 #28 0x0100b732 in funcall_lambda (fun=18474988, nargs=2, arg_vector=0x82f8d4) at eval.c:3231 #29 0x0100bc27 in Ffuncall (nargs=3, args=0x119e7ec) at eval.c:3101 #30 0x01112783 in Fbyte_code (bytestr=45964800, vector=8583376, maxdepth=2) at bytecode.c:678 #31 0x0100b356 in Feval (form=19656352) at eval.c:2381 #32 0x011105f8 in Fcall_interactively (function=44404073, record_flag=44013569, keys=44047108) at callint.c:361 #33 0x0100be21 in Ffuncall (nargs=4, args=0x12bee58) at eval.c:3050 #34 0x0100bff9 in call3 (fn=0, arg1=0, arg2=0, arg3=0) at eval.c:2870 #35 0x01056cc9 in Fcommand_execute (cmd=44404073, record_flag=44013569, keys=0, special=44013569) at keyboard.c:10333 #36 0x0105e4f5 in command_loop_1 () at keyboard.c:1880 #37 0x01009fae in internal_condition_case (bfun=0x105e190 , handlers=44077321, hfun=0x105773c ) at eval.c:1511 #38 0x01051cca in command_loop_2 () at keyboard.c:1338 #39 0x01009ee3 in internal_catch (tag=0, func=0x1051ca7 , arg=44013569) at eval.c:1247 #40 0x01051ad7 in command_loop () at keyboard.c:1317 #41 0x01051b70 in recursive_edit_1 () at keyboard.c:942 #42 0x01051c91 in Frecursive_edit () at keyboard.c:1004 #43 0x01002e46 in main (argc=1, argv=0xa327b8) at emacs.c:1777 Lisp Backtrace: "delete-frame" (0x82ea84) "handle-delete-frame" (0x82ec24) "call-interactively" (0x82ee24) "completing-read" (0x82f624) "read-file-name" (0x82f784) "find-file-read-args" (0x82f8d4) "byte-code" (0x82f990) "call-interactively" (0x82fc04) (gdb) ------------=_1230019509-8040-1--