From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Tabs Date: Wed, 09 Oct 2019 11:37:09 +0300 Message-ID: <837e5ewc0a.fsf@gnu.org> References: <20191007171230.falxjxuazoxw7zo5@Ergus> <83h84kza54.fsf@gnu.org> <20191007192836.phg3nhjj56dz3ui2@Ergus> <83a7abznro.fsf@gnu.org> <20191008085604.tjtxm6ndyuluocbs@Ergus> <83lftvy4s6.fsf@gnu.org> <20191008160038.6xvnytnoruzphzd6@Ergus> <83zhibw6qn.fsf@gnu.org> <20191008164048.bnad4wdkcbatqepp@Ergus> <83v9szw4o4.fsf@gnu.org> <20191008234350.ahxt4zcylxqludoc@Ergus> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="99864"; mail-complaints-to="usenet@blaine.gmane.org" Cc: michael_heerdegen@web.de, emacs-devel@gnu.org, juri@linkov.net To: Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 09 19:34:40 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iIFrA-000PoR-1Z for ged-emacs-devel@m.gmane.org; Wed, 09 Oct 2019 19:34:36 +0200 Original-Received: from localhost ([::1]:53108 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iIFr8-0008Cu-Hv for ged-emacs-devel@m.gmane.org; Wed, 09 Oct 2019 13:34:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46935) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iI7TM-0007x1-69 for emacs-devel@gnu.org; Wed, 09 Oct 2019 04:37:29 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:37616) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iI7TL-0008V5-Do; Wed, 09 Oct 2019 04:37:27 -0400 Original-Received: from [176.228.60.248] (port=2418 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iI7TK-0005qb-V7; Wed, 09 Oct 2019 04:37:27 -0400 In-reply-to: <20191008234350.ahxt4zcylxqludoc@Ergus> (message from Ergus on Wed, 9 Oct 2019 01:43:50 +0200) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:240771 Archived-At: > Date: Wed, 9 Oct 2019 01:43:50 +0200 > From: Ergus > Cc: michael_heerdegen@web.de, juri@linkov.net, emacs-devel@gnu.org > > > 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;