I did just find two references to 'fullscreen used as an alias to 'fullboth, but it's not documented and not implemented in all front ends so its use is not portable.  I suggest we remove these or we document it and correct all the front ends.  It looks like copy pasta, rather than by intent.

pgtkfns.c:

static Lisp_Object
frame_geometry (Lisp_Object frame, Lisp_Object attribute)
{
  struct frame *f = decode_live_frame (frame);
  Lisp_Object fullscreen_symbol = Fframe_parameter (frame, Qfullscreen);
  bool fullscreen = (EQ (fullscreen_symbol, Qfullboth)
    || EQ (fullscreen_symbol, Qfullscreen));

nsfns.m:

static Lisp_Object
frame_geometry (Lisp_Object frame, Lisp_Object attribute)
{
  struct frame *f = decode_live_frame (frame);
  Lisp_Object fullscreen_symbol = Fframe_parameter (frame, Qfullscreen);
  bool fullscreen = (EQ (fullscreen_symbol, Qfullboth)
    || EQ (fullscreen_symbol, Qfullscreen));

On Tue, Feb 18, 2025 at 12:50 PM Ship Mints <shipmints@gmail.com> wrote:
In frame.el's toggle-frame-fullscreen and toggle-frame-maximized, these look like either typos, or vestigial references.  The frame-parameter fullscreen is never set to 'fullscreen nor is the value 'fullscreen used in other places in Emacs.  It is an undocumented value, appearing nowhere.  Unless I missed something.

I reviewed below sources and relevant headers:

android.c
androidfns.c
androidterm.c
emacs.c
frame.c
gtkutil.c
haikufns.c
haikuterm.c
pgtkfns.c
pgtkterm.c
term.c
w32fns.c
w32term.c
xfns.c
xmenu.c
xterm.c
nsfns.m
nsterm.m

-Stephane