Subject: bug#32736: bug#34715: bug#32736: 26; Bind `C-x 5 2' to `clone-frame' by default

From: Eli Zaretskii <[email-masked]>
Date: Wed, 01 Sep 2021 18:57:23 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Wed, 01 Sep 2021 16:18:13 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > If the problem is background-color, why does redisplay complain about
> > faces saying they are *invalid*?  I could understand if it said it
> > cannot load some color, but why "invalid face"?
> >
> > The only funky thing about background-color on TTY I can think of is
> > the unspecified-bg thingy.
> 
> The following is the minimal case for reproduction here:
> 
> (let ((default-frame-alist
>         '((background-color . "red"))))
>   (make-frame))
> 
> This reliably makes all the faces go AWOL on the new frame.  (It doesn't
> matter what the colour is.)

Shouldn't we copy the parameters alist?  Maybe even deep-copy?  And
faces are supposed to be frame-local, so maybe faces also need to be
copied?  Otherwise, you are basically manipulating faces that don't
"belong" to the frame, no?  And likewise with frame's parameters
alist, I think.