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 12:39:36 +0200
User-agent: NeoMutt/20180716

Hi:

On Wed, Oct 09, 2019 at 11:37:09AM +0300, Eli Zaretskii wrote:
Date: Wed, 9 Oct 2019 01:43:50 +0200
From: Ergus <address@hidden>
Cc: address@hidden, address@hidden, address@hidden

>                  if (FRAME_GARBAGED_P (f))
>                {
>                  fset_redisplay (f);
>                  f->garbaged = false;  <<<<<<<<<<<<<<<<<<<<
>                  goto retry_frame;
>                }
>
>(if your repository is up to date and you are on the master branch,
>this should be line 15690), does the breakpoint fire after you type
>the "C-x 6 f FILENAME RET" command?

No actually. I only get some messages:
But nothing else; the breakpoint is not reached.

OK, so this is not due to the recent change which introduced the above
code.

In your original message you wrote:

This used to work fine before... I just pull and recompiled (since
saturday)...

Can you tell what was the latest date when this problem in GUI frames
didn't exist in your builds?

Something else I observe is that when I leave the desktop and return
back; the tab-bar is visible, but with the cursor there. When I move the
cursor horizontally, the tabs image is substituted with the text that is
supposed to be in the first visible line that is supposed to be bellow
the tab-bar (attached image with the config.log open.)

Yes, these and other symptoms you described all tell one thing: that
some redisplay optimization is taken that shouldn't be used in this
case.  IOW, Emacs optimizes redisplay ignoring the fact that there is
now a tab bar, which usurps portions of display that previously
belonged to some window.  I just don't yet understand why this
happens, because the call to SET_FRAME_GARBAGED in
x_change_tab_bar_height should have had the effect of disabling all
the redisplay optimizations for this frame...

Does the change below fix this problem, per chance?

diff --git a/src/xfns.c b/src/xfns.c
index 20e63a2..f2264be 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -1660,6 +1660,8 @@ x_change_tab_bar_height (struct frame *f, int height)

  if ((height < old_height) && WINDOWP (f->tab_bar_window))
    clear_glyph_matrix (XWINDOW (f->tab_bar_window)->current_matrix);
+  else if (height > old_height)
+    clear_current_matrices (f);

  /* Recalculate tabbar height.  */
  f->n_tab_bar_rows = 0;

It solved partially the problem, which is good.

1) The tabs does not become visible automatically after C-x 6 f, and
C-TAB works as yesterday.

2) But when I leave the desk and return they become visible but this
time they are clickable. (unlike yesterday)

They does not have a cursor as before and the first line is after the
tab-bar as they should. So it seems that the problem is related with
this.



reply via email to

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