Subject: RE: bug#1165: 23.0.60; doc of make-frame-command

From: "Drew Adams" <[email-masked]>
Date: Tue, 14 Oct 2008 13:15:18 -0700

> > (if (and window-system (not (eq window-system 'pc)))
> >     (make-frame)
> >   (select-frame (make-frame)))
> >  
> > 1. Why the difference for `pc'?
> 
> `pc' is the value of window-system for the MS-DOS build of Emacs.  The
> MS-DOS build behaves like a text terminal, but its window-system has a
> non-nil value; thus the difference.
> 
> Although correct, that code should actually be rewritten using
> display-graphic-p to become cleaner.
> 
> > 2. What does the doc string mean by "terminal" and "if the terminal
> > displays only one frame"?
> 
> It means the text-only terminals, which can only display one frame at
> a time.

In that case, that's what it should say. There is a difference between (1) a
terminal that _can only_ display one frame at a time and (2) a terminal that is
currently displaying only one frame. The way it is written, it sounds as if that
occurs whenever Emacs (even with a window manager) shows only one frame.

> > If "terminal" refers only to emacs -nw, then nothing is said about
> > the window-manager case.
> 
> Well, I think it does say something about the windowed terminals: it
> says that on those terminals, a new frame is created, but it is not
> selected.

Unless only one frame is displayed. That's what it seems to say.

If the distinction in behavior is really due to emacs -nw versus emacs with a
window manager, then that's what should be said. Saying "if the terminal
displays only one frame" is misleading or, at best, not clear, IMO.

And the manual should be at least as specific about this distinction as the doc
string. In node Creating Frames it says nothing about it.