From: "Stephen Berman" <stephen.berman@gmx.net>
To: "Eli Zaretskii" <eliz@gnu.org>
Cc: cyd@gnu.org, 7464@debbugs.gnu.org
Subject: bug#7464: 24.0.50; mouse highlighting vanishes upon unsplitting window
Date: 30 Mar 2012 00:56:02 +0200 [thread overview]
Message-ID: <87ty173tkt.fsf@escher.home> (raw)
In-Reply-To: <83r4wb1byq.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 29 Mar 2012 20:47:09 +0200")
On Thu, 29 Mar 2012 20:47:09 +0200 Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Stephen Berman <stephen.berman@gmx.net>
>> Cc: cyd@gnu.org, 7464@debbugs.gnu.org
>> Date: Thu, 29 Mar 2012 09:57:53 +0200
>>
>> openSUSE's 23.3 has GTK scroll bars, while I built 23.4 like I build 24,
>> i.e., without toolkit scroll bars. So I rebuilt 23.4 with GTK scroll
>> bars, did the bug recipe and sure enough, now the mouse highlighting
>> remained, i.e., no bug. Then I disabled the scroll bars in that build,
>> tested again, and got the bug again. Then I rebuilt Emacs 24 with GTK
>> scroll bars, and now did not see the bug with them enabled but did see
>> it with them disabled. So the answers to my questions above appear to
>> involve the presence vs. absence of GTK scroll bars. (I guess Chong
>> Yidong also builds Emacs 24 with GTK scroll bars and tested the recipe
>> with them enabled, so that's why he did not observe the bug.)
>
> Unfortunately, I know almost nothing about how GTK in general and GTK
> scroll bars in particular are integrated into Emacs, and what, if
> anything, they change in how the Emacs display engine works.
>
>> After these tests, I ran both Emacs 24 builds (i.e., with and without
>> GTK scroll bars) under gdb, and in both cases, the value of
>> (w->current_matrix->rows+1)->mouse_face_p is 0 both at the breakpoint
>> and after the call to free_window_matrices (and of course after
>> adjust_glyphs). I also ran 23.4 under gdb, with the same result:
>> (w->current_matrix->rows+1)->mouse_face_p is already 0 before
>> adjust_glyphs. Do you have any idea why, or any further debugging
>> suggestions?
In the meantime I also built Emacs 24 --with-x-toolkit=athena, and this
shows the bug just like the non-toolkit-scrollbar and scrollbarless GTK
builds. I ran the Athena build under gdb and carried out the
instructions from your previous post, and here too,
(w->current_matrix->rows+1)->mouse_face_p is 0 at the breakpoint.
[...]
> Perhaps you could step through these functions and see what happens
> there with and without GTK scroll bars. To do so, put a breakpoint
> inside Fdelete_other_windows_internal, do the recipe, and when the
> breakpoint breaks, put a breakpoint in redisplay_internal and
> continue. When the breakpoint in redisplay_internal breaks, put a
> breakpoint in update_window, and step through the loop which updates
> the screen lines:
>
> /* Update the rest of the lines. */
> for (; row < end && (force_p || !input_pending); ++row)
>
> This loop calls update_window_line:
>
> changed_p |= update_window_line (w, vpos,
> &mouse_face_overwritten_p);
I got this far, but...
> Does the mouse_face_overwritten_p flag return being set when the line
> with highlight is updated?
...I don't understand what I should do to answer this question. Here's
what I tried (the Emacs window was still displaying mouse highlighting):
(gdb)
3655 changed_p |= update_window_line (w, vpos,
(gdb) s
update_window_line (w=0x88a9290, vpos=2, mouse_face_overwritten_p=0xbfffd17c)
at /data/steve/bzr/emacs/quickfixes/src/dispnew.c:4009
4009 struct glyph_row *current_row = MATRIX_ROW (w->current_matrix, vpos);
(gdb) n
4010 struct glyph_row *desired_row = MATRIX_ROW (w->desired_matrix, vpos);
(gdb) p w->current_matrix
$8 = (struct glyph_matrix *) 0x89f2e58
(gdb) p w->current_matrix->rows
$9 = (struct glyph_row *) 0x8aa18a0
(gdb) p (w->current_matrix->rows+1)->mouse_face_p
$10 = 0
(gdb) p mouse_face_overwritten_p
$11 = (int *) 0xbfffd17c
I guess this isn't the answer you're looking for. If you can continue
to indulge me with precise gdb instructions, I'll be happy to try again.
Steve Berman
next prev parent reply other threads:[~2012-03-29 22:56 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-22 14:57 bug#7464: 24.0.50; mouse highlighting vanishes upon unsplitting window Stephen Berman
2010-11-22 17:54 ` Eli Zaretskii
2010-11-22 19:17 ` Eli Zaretskii
2012-03-21 16:29 ` Chong Yidong
2012-03-21 17:52 ` Stephen Berman
2012-03-21 22:41 ` Stephen Berman
2012-03-22 3:55 ` Eli Zaretskii
2012-03-22 14:51 ` Stefan Monnier
2012-03-22 17:01 ` Stephen Berman
2012-03-22 17:05 ` Eli Zaretskii
2012-03-24 18:32 ` Eli Zaretskii
2012-03-24 21:46 ` Stephen Berman
2012-03-25 3:55 ` Eli Zaretskii
2012-03-25 12:57 ` Stephen Berman
2012-03-28 18:56 ` Eli Zaretskii
2012-03-29 7:57 ` Stephen Berman
2012-03-29 18:47 ` Eli Zaretskii
2012-03-29 22:56 ` Stephen Berman [this message]
2012-03-30 6:35 ` Eli Zaretskii
2012-03-30 8:44 ` Stephen Berman
2012-03-30 9:10 ` Eli Zaretskii
2012-03-30 11:08 ` Stephen Berman
2012-03-30 12:06 ` Eli Zaretskii
2012-03-30 19:35 ` Stephen Berman
2012-03-30 20:41 ` Eli Zaretskii
2012-03-30 23:09 ` Stephen Berman
2012-03-31 5:56 ` Eli Zaretskii
2012-03-31 14:01 ` Stephen Berman
2012-03-31 18:12 ` Eli Zaretskii
2012-03-30 7:43 ` Jan D.
2012-03-30 8:00 ` Eli Zaretskii
2012-03-30 8:45 ` Stephen Berman
2012-03-30 8:57 ` Eli Zaretskii
2012-03-30 12:20 ` Jan Djärv
2012-03-30 12:37 ` Stefan Monnier
2012-03-25 12:56 ` martin rudalics
2012-03-21 18:54 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ty173tkt.fsf@escher.home \
--to=stephen.berman@gmx.net \
--cc=7464@debbugs.gnu.org \
--cc=cyd@gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.