Subject: bug#60210: 30.0.50; tab-bar height not recalculated when face changes

From: Gregory Heytings <[email-masked]>
Date: Mon, 26 Dec 2022 00:24:11 +0000

>
> I doubt the font-related changes are relevant, but bisecting will be 
> welcome.
>

Indeed, the culprit is 5db4ec20fe.

Patch attached.
From f2081576513e8b6fba71e67f36622cebe915c4c4 Mon Sep 17 00:00:00 2001
From: Gregory Heytings <[email-masked]>
Date: Mon, 26 Dec 2022 00:20:59 +0000
Subject: [PATCH] Improve handling of tab-bar height.

* src/xdisp.c (redisplay_tab_bar): When 'auto-resize-tab-bar' is
not 'grow-only', also consider the case when the tab-bar height
needs to shrink.  Fixes bug#60210.
---
 src/xdisp.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index ea2d11e8b4e..c9b3b187fe2 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -14271,12 +14271,14 @@ redisplay_tab_bar (struct frame *f)
 	frame_default_tab_bar_height = new_height;
     }
 
-  /* If new_height or new_nrows indicate that we need to enlarge the
-     tab-bar window, we can return right away.  */
+  /* If new_height or new_nrows indicate that we need to enlarge or
+     shrink the tab-bar window, we can return right away.  */
   if (new_nrows > f->n_tab_bar_rows
       || (EQ (Vauto_resize_tab_bars, Qgrow_only)
 	  && !f->minimize_tab_bar_window_p
-	  && new_height > WINDOW_PIXEL_HEIGHT (w)))
+	  && new_height > WINDOW_PIXEL_HEIGHT (w))
+      || (! EQ (Vauto_resize_tab_bars, Qgrow_only)
+	  && new_height < WINDOW_PIXEL_HEIGHT (w)))
     {
       if (FRAME_TERMINAL (f)->change_tab_bar_height_hook)
 	FRAME_TERMINAL (f)->change_tab_bar_height_hook (f, new_height);
-- 
2.35.1