all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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





  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.