Subject: bug#75691: 31.0.50; tab-line mode adds extra space during in-buffer completion

From: Juri Linkov <[email-masked]>
Date: Mon, 20 Jan 2025 19:25:49 +0200

> it seems that some recent changes in tab-line mode produce additional
> vertical space during in-buffer completion.  To reproduce, start with
> "emacs -Q" and then eval:
>
> (progn
>   (package-initialize t)
>   (package-activate 'corfu)
>   (global-corfu-mode)
>   (setq tab-always-indent 'complete))
>
> Note the extra line between the text and the candidates.  I haven't
> bisect this, but this behavior is new.

Thanks for the report.

Daniel, in corfu.el there is no need anymore to use
`(window-tab-line-height)` because recently `window-edges`
was fixed in lisp/window.el by the commit ec20ebf2413.

The package exwm was updated in
https://github.com/emacs-exwm/exwm/commit/9cdfe95066a63666e211d54f898eed980b043f3a
https://github.com/emacs-exwm/exwm/commit/10bd61dbcf69110b2b029ac677c38bd076376d21
to use `window-tab-line-height` only conditionally on

  (when (< emacs-major-version 31))

For Corfu this would mean something like

  (yb (+ (cadr edge) (if (< emacs-major-version 31) (window-tab-line-height) 0) (or (cdr pos) 0) lh))