Subject: bug#74867: 29.4; fit-frame-to-window + no vertical scroll bar + changed face height = mess

From: Eli Zaretskii <[email-masked]>
Date: Sat, 14 Dec 2024 15:29:34 +0200

merge 74867 74866
thanks

> From: [email-masked]
> Date: Sat, 14 Dec 2024 15:19:44 +0200
> 
> 
> ----------------8<----------------8<----------------8<----------------
> 
> In "emacs -Q" under X (I have XFCE), evaluate:
> 
> (defun fit (lin col)
>   "Try to fit some text (LIN lines and COL columns) in a newly created frame."
>   (interactive)
>   (let ((buf (get-buffer-create "*foo*"))
>         (frm (make-frame '((z-group . above)))))
>     (with-current-buffer buf
>       (erase-buffer)
>       (setq mode-line-format '(""))
>       (dotimes (_ lin) (insert (format "%s\n" (make-string col ?x))))
>       (goto-char (point-min)))
>     (with-selected-frame frm
>       (switch-to-buffer buf)
>       (fit-frame-to-buffer))))
> ;;; LIN and COL are arbitrary, make them sufficiently small.
> (fit 9 23)
> 
> So far, so good.  Now evaluate the following:
> 
> (setq-default vertical-scroll-bar nil)
> (set-face-attribute 'default nil :height 75)
> (fit 9 23)
> 
> On my system, the new frame's width is one character short and the lines
> do not fit into the new frame any more.

This is an exact duplicate of bug#74866, which you filed about 20
minutes earlier, so I'm now merging them.