[Top][All Lists]
[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
snapshot.png
Description: PNG image
- Re: mouse-set-font and menu position?,
Pavel Janík <=