! (if (eq initial-window-system 'w32)
! (list (cons 'window-system initial-window-system)
! (cons 'visibility t)
! frame-initial-frame-alist)
! (list (cons 'window-system initial-window-system)
! frame-initial-frame-alist)))
Does that really need to be conditional on Windows?
If you specify visibility here on all systems,
that would be simpler. Would it break anything?
Please install your patch, correcting that if appropriate.
There is still a mystery why visibility's cons cell is pure
without this, but we may as well fix the bug.
If you want to figure out the mystery, then take out this change, put
a breakpoint at the start of the primitive that creates the frame, and
see if its args include a cons cell for visibility. If yes, is that
pure? If yes, where was it made? If it doesn't have a cons cell for
visibility, then step thru it and see where it puts visibility into
the alist and how.