Subject: bug#75828: [PATCH] Correct make-frame docstring vis-a-vis make_frame.c

From: Ship Mints <[email-masked]>
Date: Mon, 27 Jan 2025 13:16:13 -0500

That works for me applied to a recent master. Happy to use the buffer
local. It's unlikely to cause trouble if a user doesn't kill it, and we'll
understand why if they don't.

On Mon, Jan 27, 2025 at 1:01 PM martin rudalics <[email-masked]> wrote:

>  > These are the two options on the table?
>  >
>  > (let ((frame-inhibit-make-frame-hidden-buffer-check t))
>  >    (with-current-buffer " *string-pixel-width*"
>  >      (make-frame)))
>  > ;; could also do this if users want the behavior all the time
>  > (setq frame-inhibit-make-frame-hidden-buffer-check t)
>  >
>  > (with-current-buffer " *string-pixel-width*"
>  >    (setq-local frame-inhibit-make-frame-hidden-buffer-check t)
>  >    (make-frame)
>  >    (kill-local-variable 'frame-inhibit-make-frame-hidden-buffer-check))
>  >
>  > I prefer the former over the latter.
>
> I prefer these ones
>
> (let ((frame-inhibit-make-frame-hidden-buffer-check t))
>    (with-current-buffer " *string-pixel-width*"
>      (make-frame)))
>
> ;; Set the default for all buffers.
> (setq-default frame-inhibit-make-frame-hidden-buffer-check t)
>
> ;; Set the buffer-local value.
> (with-current-buffer " *string-pixel-width*"
>    (setq frame-inhibit-make-frame-hidden-buffer-check t))
>
> with the attached patch.
>
>  > It seems harmonious with other
>  > frame-related controls such as frame-resize-pixelwise
>  > and frame-inhibit-implied-resize, unless I'm missing some subtlety,
> which I
>  > surely am.
>
> The subtlety is that a leading space in a buffer name is a buffer-local
> property, a property which affects only the buffer wearing that name and
> no other buffers.
>
> 'frame-resize-pixelwise' and 'frame-inhibit-implied-resize' are (or
> better should be) frame properties, properties that affect a frame and
> consequently all buffers displayed on that frame.
>
> martin