Subject: bug#1077: 23.0.60; x-create-frame: (wrong-type-argument number-or-marker-p nil)

From: Eli Zaretskii <[email-masked]>
Date: Tue, 30 Nov 2010 20:27:37 +0200

> From: "Drew Adams" <[email-masked]>
> Cc: <[email-masked]>
> Date: Tue, 30 Nov 2010 09:57:20 -0800
> 
> >  > What is the difference between these two?  What does "cannot have a
> >  > menu bar" mean in practice?  Just wondering.
> > 
> > Minibuffer-only frames don't have a menubar by design.  Surprisingly
> > they have (menu-bar-lines . 1) here.
> 
> Why by design?  I mean why must that be the design?

It's not the design.  Simply, no one bothered to solve the
difficulties that are related to having menu bars in minibuffer-only
frames.  The function set_menu_bar_lines, which handles changes in the
menu-bar-lines frame parameter, has this fragment right at its
beginning:

  /* Right now, menu bars don't work properly in minibuf-only frames;
     most of the commands try to apply themselves to the minibuffer
     frame itself, and get an error because you can't switch buffers
     in or split the minibuffer window.  */
  if (FRAME_MINIBUF_ONLY_P (f))
    return;

So it simply punts for minibuffer-only frames.