From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Luc Teirlinck Newsgroups: gmane.emacs.devel Subject: abort in `make-frame' Date: Tue, 20 Jul 2004 18:47:03 -0500 (CDT) Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: <200407202347.i6KNl3V16313@raven.dms.auburn.edu> NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1090367457 21711 80.91.224.253 (20 Jul 2004 23:50:57 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 20 Jul 2004 23:50:57 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 21 01:50:48 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Bn4Nk-0008IH-00 for ; Wed, 21 Jul 2004 01:50:48 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Bn4QU-000816-SM for ged-emacs-devel@m.gmane.org; Tue, 20 Jul 2004 19:53:38 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1Bn4QA-0007zZ-5b for emacs-devel@gnu.org; Tue, 20 Jul 2004 19:53:18 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1Bn4Q8-0007yt-8T for emacs-devel@gnu.org; Tue, 20 Jul 2004 19:53:17 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Bn4Q7-0007yd-Px for emacs-devel@gnu.org; Tue, 20 Jul 2004 19:53:15 -0400 Original-Received: from [131.204.53.104] (helo=manatee.dms.auburn.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Bn4N3-0001kE-7z for emacs-devel@gnu.org; Tue, 20 Jul 2004 19:50:05 -0400 Original-Received: from raven.dms.auburn.edu (raven.dms.auburn.edu [131.204.53.29]) by manatee.dms.auburn.edu (8.12.10/8.12.10) with ESMTP id i6KNo4uE017905 for ; Tue, 20 Jul 2004 18:50:04 -0500 (CDT) Original-Received: (from teirllm@localhost) by raven.dms.auburn.edu (8.11.6+Sun/8.11.6) id i6KNl3V16313; Tue, 20 Jul 2004 18:47:03 -0500 (CDT) X-Authentication-Warning: raven.dms.auburn.edu: teirllm set sender to teirllm@dms.auburn.edu using -f Original-To: emacs-devel@gnu.org 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: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:25857 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:25857 If one specifies one of the `icon-left' or `icon-top' frame parameters, both need to be specified. This is not documented in the Elisp manual. That is no problem, I will document it. What is a problem is that inadvertently forgetting to do so makes Emacs abort. I did: [bash2.05b.0 ~ 3 1] cd /home/teirllm/emacscvsdir/emacs/src [bash2.05b.0 ~/emacscvsdir/emacs/src 3 2] gdb emacs-21.3.50.1 (gdb) run -q --eval '(blink-cursor-mode 0)' Starting program: /home/teirllm/emacscvsdir/emacs/src/emacs-21.3.50.1 -q --eval '(blink-cursor-mode 0)' Then: M-: (make-frame '((icon-left . 0))) Result: Debugger entered--Lisp error: (error "Both left and top icon corners of icon must be specified") x-create-frame(((visibility) (icon-left . 0))) x-create-frame-with-faces(((icon-left . 0))) make-frame(((icon-left . 0))) eval((make-frame (quote (...)))) eval-expression((make-frame (quote (...))) nil) call-interactively(eval-expression) Now, this is expected. What I did not expect is that quitting out of the debugger with `q' would make Emacs abort. Is this unavoidable? Below are an xbacktrace and a backtrace. Breakpoint 1, abort () at emacs.c:428 428 kill (getpid (), SIGABRT); (gdb) xbacktrace "top-level" "call-interactively" "recursive-edit" "byte-code" "debug" "x-create-frame" "x-create-frame-with-faces" "make-frame" "eval" "eval-expression" "call-interactively" (gdb) bt #0 abort () at emacs.c:428 #1 0x0817e8b8 in EmacsFrameDestroy (widget=0x865daa0) at widget.c:761 #2 0x40095cfe in _XtCreateHookObj () from /usr/X11R6/lib/libXt.so.6 #3 0x40095afc in _XtCreateHookObj () from /usr/X11R6/lib/libXt.so.6 #4 0x40095aa3 in _XtCreateHookObj () from /usr/X11R6/lib/libXt.so.6 #5 0x40095aa3 in _XtCreateHookObj () from /usr/X11R6/lib/libXt.so.6 #6 0x4009604a in _XtCreateHookObj () from /usr/X11R6/lib/libXt.so.6 #7 0x4009614a in _XtDoPhase2Destroy () from /usr/X11R6/lib/libXt.so.6 #8 0x40096340 in XtDestroyWidget () from /usr/X11R6/lib/libXt.so.6 #9 0x080c7f03 in x_free_frame_resources (f=0x8667428) at xterm.c:9017 #10 0x080ce075 in unwind_create_frame (frame=140932140) at xfns.c:2810 #11 0x0813facf in unbind_to (count=2, value=138193841) at eval.c:3084 #12 0x0813d288 in unwind_to_catch (catch=0xbffff430, value=138193841) at eval.c:1139 #13 0x0813d31a in Fthrow (tag=138248793, value=138193841) at eval.c:1173 #14 0x080e4c89 in Ftop_level () at keyboard.c:1345 #15 0x0813f10e in Ffuncall (nargs=1, args=0xbfffdf40) at eval.c:2722 #16 0x0813bb89 in Fcall_interactively (function=138248793, record_flag=17274230, keys=140390028) at callint.c:862 #17 0x080ef8b5 in Fcommand_execute (cmd=138248793, record_flag=138193841, keys=138193841, special=138193841) at keyboard.c:9724 #18 0x080e5beb in command_loop_1 () at keyboard.c:1776 #19 0x0813d686 in internal_condition_case (bfun=0x80e4d18 , handlers=138254769, hfun=0x80e4894 ) at eval.c:1335 #20 0x080e4b8a in command_loop_2 () at keyboard.c:1306 #21 0x0813d21f in internal_catch (tag=138278241, func=0x80e4b6c , arg=138193841) at eval.c:1096 #22 0x080e4b5b in command_loop () at keyboard.c:1273 #23 0x080e464b in recursive_edit_1 () at keyboard.c:978 #24 0x080e4773 in Frecursive_edit () at keyboard.c:1039 #25 0x0813f10e in Ffuncall (nargs=1, args=0xbfffe480) at eval.c:2722 #26 0x08165888 in Fbyte_code (bytestr=138651827, vector=140397868, maxdepth=24) at bytecode.c:689 #27 0x0813e76a in Feval (form=139727429) at eval.c:2086 #28 0x0813c25b in Fprogn (args=139726933) at eval.c:408 #29 0x08094e4b in Fsave_window_excursion (args=139726933) at window.c:5932 #30 0x08165cfd in Fbyte_code (bytestr=138201363, vector=140283404, maxdepth=208) at bytecode.c:838 #31 0x0813f63f in funcall_lambda (fun=140704588, nargs=2, arg_vector=0xbfffe794) at eval.c:2912 #32 0x0813f215 in Ffuncall (nargs=3, args=0xbfffe790) at eval.c:2782 #33 0x0813eac8 in Fapply (nargs=2, args=0xbfffe820) at eval.c:2230 #34 0x0813ee33 in apply1 (fn=138425417, arg=139822133) at eval.c:2486 #35 0x0813c043 in call_debugger (arg=139822133) at eval.c:265 #36 0x0813ddac in find_handler_clause (handlers=138254769, conditions=138226581, sig=138254769, data=139822173, debugger_value_ptr=0xbfffe8c8) at eval.c:1678 #37 0x0813d9f3 in Fsignal (error_symbol=138254769, data=139822173) at eval.c:1509 #38 0x0813dfa8 in error ( m=0x818b400 "Both left and top icon corners of icon must be specified", a1=0x0, a2=0x86189e8 "", a3=0x855155d "$U\b|K\\\b\261\253<\bu\025U\b\261\253<\b\311GB\b\275\025U\b+nG\bM\025U\b9\231=\b\265\025U\b\001|=\b}\025U\b\231\354T\b\215\255B\bKnG\b\225\025U\bI\357>\b\235\025U\b\335\034U\b}\022U\bm%U\b\261\253<\b\205\025U\b\375\025U\b\241\252A\b\315\034U\b=\026U\b\261\253<\b\365\025U\b\261\253<\b\345\025U\b\261\253<\b9\231=\b\355\025U\b\251P>\b\261\253<\b1\322=\b\335\025U\b\261\253<\b\261\253<\b%\026U\b\325\025U\b\025\026U\b\261\253<\b9\231=\b\035\026U\b\251P>\b\261\253<\b\031\322=\b\r"...) at eval.c:1762 #39 0x080cdc69 in x_icon (f=0x8667428, parms=139793757) at xfns.c:2658 #40 0x080ceb5f in Fx_create_frame (parms=139793757) at xfns.c:3127 #41 0x0813f123 in Ffuncall (nargs=2, args=0xbfffeb48) at eval.c:2725 #42 0x08165888 in Fbyte_code (bytestr=136236899, vector=136236980, maxdepth=40) ---Type to continue, or q to quit--- at bytecode.c:689 #43 0x0813f63f in funcall_lambda (fun=136236852, nargs=1, arg_vector=0xbfffec74) at eval.c:2912 #44 0x0813f215 in Ffuncall (nargs=2, args=0xbfffec70) at eval.c:2782 #45 0x08165888 in Fbyte_code (bytestr=136614451, vector=136614492, maxdepth=24) at bytecode.c:689 #46 0x0813f63f in funcall_lambda (fun=136614404, nargs=1, arg_vector=0xbfffed30) at eval.c:2912 #47 0x0813f352 in apply_lambda (fun=136614404, args=139797397, eval_flag=1) at eval.c:2834 #48 0x0813e8a7 in Feval (form=139797869) at eval.c:2138 #49 0x0813f123 in Ffuncall (nargs=2, args=0xbfffeed0) at eval.c:2725 #50 0x08165888 in Fbyte_code (bytestr=136367779, vector=136367884, maxdepth=40) at bytecode.c:689 #51 0x0813f63f in funcall_lambda (fun=136367724, nargs=2, arg_vector=0xbffff004) at eval.c:2912 #52 0x0813f215 in Ffuncall (nargs=3, args=0xbffff000) at eval.c:2782 #53 0x0813eac8 in Fapply (nargs=2, args=0xbffff090) at eval.c:2230 #54 0x0813ee33 in apply1 (fn=138561481, arg=139793973) at eval.c:2486 #55 0x0813ac65 in Fcall_interactively (function=138561481, record_flag=138193841, keys=138250700) at callint.c:406 #56 0x080ef8b5 in Fcommand_execute (cmd=138561481, record_flag=138193841, keys=138193841, special=138193841) at keyboard.c:9724 #57 0x080e5beb in command_loop_1 () at keyboard.c:1776 #58 0x0813d686 in internal_condition_case (bfun=0x80e4d18 , handlers=138254769, hfun=0x80e4894 ) at eval.c:1335 #59 0x080e4b8a in command_loop_2 () at keyboard.c:1306 #60 0x0813d21f in internal_catch (tag=138248793, func=0x80e4b6c , arg=138193841) at eval.c:1096 #61 0x080e4b19 in command_loop () at keyboard.c:1285 #62 0x080e464b in recursive_edit_1 () at keyboard.c:978 #63 0x080e4773 in Frecursive_edit () at keyboard.c:1039 #64 0x080e366f in main (argc=4, argv=0xbffff834) at emacs.c:1687 #65 0x40317627 in __libc_start_main (main=0x80e2998
, argc=4, ubp_av=0xbffff834, init=0x804e118 <_init>, fini=0x818421c <_fini>, rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbffff82c) at ../sysdeps/generic/libc-start.c:129 (gdb)