emacs-devel
[Top][All Lists]
Advanced

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

Re: Tabs


From: Ergus
Subject: Re: Tabs
Date: Wed, 9 Oct 2019 17:15:05 +0200
User-agent: NeoMutt/20180716

On Wed, Oct 09, 2019 at 05:21:15PM +0300, Eli Zaretskii wrote:
Date: Wed, 9 Oct 2019 15:55:39 +0200
From: Ergus <address@hidden>
Cc: address@hidden, address@hidden, address@hidden

>If you set a breakpoint in this fragment from clear_garbaged_frames:
>
>      if (FRAME_VISIBLE_P (f) && FRAME_GARBAGED_P (f))
>        {
>          if ((f->resized_p || f->tab_bar_resized)
>              /* It makes no sense to redraw a non-selected TTY
>                 frame, since that will actually clear the
>                 selected frame, and might leave the selected
>                 frame with corrupted display, if it happens not
>                 to be marked garbaged.  */
>              && !(f != sf && (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))))
>            redraw_frame (f);  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>          else
>            clear_current_matrices (f);
>
>does the breakpoint fire after you type "C-x 6 f"?

Yes:

Thread 1 "emacs" hit Breakpoint 1, clear_garbaged_frames () at 
../../src/xdisp.c:11805
11805                   redraw_frame (f);

So you are saying that the call to redraw_frame does nothing in your
case?  It's supposed to clear out the entire X window and then cause
its redisplay...

Exactly

What about disabling double buffering, does it help in any way?

The same

And what about the question I asked earlier about the last master
build you had that didn't have this problem? do you have an answer?

I will look for it now.

TIA.

Anyway, Juri, I'm at the end of my wits (which evidently are too short
to begin with) regarding this problem.  It is bad enough to have to
debug this without being able to reproduce the problem on my machine,
and in addition, I don't have a clear understanding how this is
supposed to work.  AFAIU, you just copied the code from the tool-bar
code, so it's possible that you don't understand that either.  Maybe
Martin will be able to explain how the tool-bar related flags are
supposed to work, and maybe that will help me see the light.  But I'm
not holding my breath, given that even the call to redraw_frame
doesn't seem to do what it's supposed to.

Do you see the problem described by Jimmy on your system?  If so, are
you able to debug it on your system (with my help, if you need it)?
If not, would someone else who sees the problem please try debugging
it?

This seems to be related with an optimization in redisplay as you said
because sometimes when I get the broken tab-bar if I scroll with the
mouse the bar scrolls too. (attached picture.) This happens with and
without double buffering.

Attachment: Screenshot_2019-10-09_17-08-58.png
Description: PNG image


reply via email to

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