Because I want a guaranteed new frame with the explicitly specified buffer.

I assume this is also an issue for child frames--make_frame doesn't distinguish during buffer selection?

The following works but is wonky (kind of annoying) because it first shows a non-hidden buffer, and then switches to the one I really want (note that string pixel width is just an example that we all have at hand):

(with-selected-frame (make-frame)
  ;; (select-frame-set-input-focus (selected-frame)) ; might need based on platform
  (switch-to-buffer " *string-pixel-width*"))

-Stephane

On Sat, Jan 25, 2025 at 10:32 AM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Sat, 25 Jan 2025 10:21:52 -0500
> Cc: Stefan Kangas <stefankangas@gmail.com>, 75828@debbugs.gnu.org
>
> I tried. It looks like having a control of some kind for make-frame, or altering make_frame to not use
> other_buffer_safely, are the only options.
>
> make_frame calls other_buffer_safely which ignores the suggested frame parameters.

Can you tell why you must use make-frame and not, say,
switch-to-buffer-other-frame?