emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mouse-set-font and menu position?


From: Pavel Janík
Subject: Re: mouse-set-font and menu position?
Date: Fri, 02 Nov 2001 15:53:01 +0100
User-agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1.50 (i386-suse-linux-gnu)

   From: Richard Stallman <address@hidden>
   Date: Tue, 30 Oct 2001 19:51:06 -0700 (MST)

   >     while experimenting with mouse-set-font (S-down-mouse-1) I have 
realized,
   >     that the Font menu is not always displayed at the point, where you 
click on
   >     the frame in X. When I selected non-Default font (like Misc/6x10, but 
it
   >     does not apply to all of them) the menu is about 5cm from the mouse
   >     cursor. It seems to me, that the coordinates of the mouse event are not
   >     good in this case.
   > 
   > If you can find the reason, that would be nice...but if it is a choice
   > betwene debugging this and debugging all the other more serious bugs,
   > I think the others should get priority.

OK, so to make it a bit serious, while debugging this I have found that
after down-mouse-1 on the place (not exactly - somewhere around it) which
is marked with red point on the attached screenshot, you can SIGSEGV (in
Emacs from CVS without any additional patch running with -q inside the
debugger. Reproducible also on plain X without any window manager.):

address@hidden:/tmp/emacs-sigsegv-debug/src> gdb emacs
GNU gdb 20010316
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-suse-linux"...
DISPLAY = :0.0
TERM = xterm
Breakpoint 1 at 0x80d5ce6: file emacs.c, line 403.
Breakpoint 2 at 0x80b9c29: file xterm.c, line 12032.
(gdb) run
Starting program: /tmp/emacs-sigsegv-debug/src/emacs -geometry 80x40+0+0 -q

Breakpoint 1, abort () at emacs.c:403
403       kill (getpid (), SIGABRT);
(gdb) backtrace
#0  abort () at emacs.c:403
#1  0x0812d26f in Fsignal (error_symbol=405387660, data=1482292524)
    at eval.c:1438
#2  0x0811d7f8 in args_out_of_range (a1=268435455, a2=268435455) at data.c:149
#3  0x081663e3 in validate_interval_range (object=945201876, begin=0xbffd1200, 
    end=0xbffd1200, force=0) at textprop.c:164
#4  0x08166ce6 in Ftext_properties_at (position=268435455, object=945201876)
    at textprop.c:549
#5  0x08166d5d in Fget_text_property (position=268435455, prop=405469564, 
    object=945201876) at textprop.c:570
#6  0x08066b26 in tool_bar_item_info (f=0x8480c80, glyph=0x84a1a80, 
    prop_idx=0xbffd12cc) at xdisp.c:7943
#7  0x080b449c in x_tool_bar_item (f=0x8480c80, x=-1, y=36, glyph=0xbffd12c0, 
    hpos=0xbffd12c4, vpos=0xbffd12c8, prop_idx=0xbffd12cc) at xterm.c:7298
#8  0x080b4567 in x_handle_tool_bar_click (f=0x8480c80, 
    button_event=0xbffd1844) at xterm.c:7335
#9  0x080b8066 in XTread_socket (sd=0, bufp=0xbffd293c, numchars=4094, 
    expected=1) at xterm.c:10921
#10 0x080de53e in read_avail_input (expected=1) at keyboard.c:6166
#11 0x080de70e in input_available_signal (signo=29) at keyboard.c:6329
#12 <signal handler called>
#13 0x403d647e in select () from /lib/libc.so.6
(gdb) list
398     #endif
399     
400     ABORT_RETURN_TYPE
401     abort ()
402     {
403       kill (getpid (), SIGABRT);
404       /* This shouldn't be executed, but it prevents a warning.  */
405       exit (1);
406     }
407     #endif
(gdb) up
#1  0x0812d26f in Fsignal (error_symbol=405387660, data=1482292524)
    at eval.c:1438
1438        abort ();
(gdb) list
1433      extern int display_hourglass_p;
1434      struct backtrace *bp;
1435    
1436      immediate_quit = handling_signal = 0;
1437      if (gc_in_progress || waiting_for_input)
1438        abort ();
1439    
1440      TOTALLY_UNBLOCK_INPUT;
1441    
1442      if (NILP (error_symbol))
(gdb) up
#2  0x0811d7f8 in args_out_of_range (a1=268435455, a2=268435455) at data.c:149
149         Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Qnil)));
(gdb) list
144     void
145     args_out_of_range (a1, a2)
146          Lisp_Object a1, a2;
147     {
148       while (1)
149         Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Qnil)));
150     }
151     
152     void
153     args_out_of_range_3 (a1, a2, a3)
(gdb) up
#3  0x081663e3 in validate_interval_range (object=945201876, begin=0xbffd1200, 
    end=0xbffd1200, force=0) at textprop.c:164
164             args_out_of_range (*begin, *end);
(gdb) list
159         {
160           register struct Lisp_String *s = XSTRING (object);
161     
162           if (! (0 <= XINT (*begin) && XINT (*begin) <= XINT (*end)
163                  && XINT (*end) <= s->size))
164             args_out_of_range (*begin, *end);
165           XSETFASTINT (*begin, XFASTINT (*begin));
166           if (begin != end)
167             XSETFASTINT (*end, XFASTINT (*end));
168           i = s->intervals;
(gdb) quit

Can you reproduce that too?
-- 
Pavel Janík

/* Supposedly happens on VMS. */
error ("File size is negative");"
                  -- A piece of code in GNU Emacs

Attachment: snapshot.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]