From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.bugs Subject: bug#1450: w32_reset_fringes Date: Tue, 02 Dec 2008 15:14:51 +0100 Message-ID: <877i6ioe90.fsf@escher.local.home> 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> Reply-To: Stephen Berman , 1450@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1228228275 24705 80.91.229.12 (2 Dec 2008 14:31:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 2 Dec 2008 14:31:15 +0000 (UTC) Cc: 1450@emacsbugs.donarmstrong.com To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Dec 02 15:32:18 2008 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1L7WIU-0005Cd-1o for geb-bug-gnu-emacs@m.gmane.org; Tue, 02 Dec 2008 15:32:18 +0100 Original-Received: from localhost ([127.0.0.1]:55564 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L7WHJ-0001Of-L0 for geb-bug-gnu-emacs@m.gmane.org; Tue, 02 Dec 2008 09:31:05 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L7WGY-00010y-Lv for bug-gnu-emacs@gnu.org; Tue, 02 Dec 2008 09:30:18 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L7WGX-00010F-Cd for bug-gnu-emacs@gnu.org; Tue, 02 Dec 2008 09:30:17 -0500 Original-Received: from [199.232.76.173] (port=41502 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L7WGX-000101-42 for bug-gnu-emacs@gnu.org; Tue, 02 Dec 2008 09:30:17 -0500 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:60249) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L7WGW-0006VK-Hb for bug-gnu-emacs@gnu.org; Tue, 02 Dec 2008 09:30:16 -0500 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mB2EUCOt028254; Tue, 2 Dec 2008 06:30:13 -0800 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id mB2EK66g025346; Tue, 2 Dec 2008 06:20:06 -0800 X-Loop: don@donarmstrong.com Resent-From: Stephen Berman Original-Sender: steve@escher.local.home Resent-To: bug-submit-list@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: Original-Received: via spool by 1450-submit@emacsbugs.donarmstrong.com id=B1450.122822730524135 (code B ref 1450); Tue, 02 Dec 2008 14:20:05 +0000 Original-Received: (at 1450) by emacsbugs.donarmstrong.com; 2 Dec 2008 14:15:05 +0000 Original-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 Original-Received: (qmail invoked by alias); 02 Dec 2008 14:14:53 -0000 Original-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 Original-Received: by escher.local.home (Postfix, from userid 1000) id 1591D7FFB7; Tue, 2 Dec 2008 15:14:51 +0100 (CET) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-Y-GMX-Trusted: 0 X-FuHaFi: 0.46 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Tue, 02 Dec 2008 09:30:17 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:22837 Archived-At: 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)