all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Engster <deng@randomsample.de>
To: martin rudalics <rudalics@gmx.at>
Cc: 8857@debbugs.gnu.org
Subject: bug#8857: display-buffer attempt to pop-up frame in batch mode causes	"Unknown terminal type" error
Date: Thu, 16 Jun 2011 15:57:24 +0200	[thread overview]
Message-ID: <m2y611angb.fsf@ibookg4-c2.pc.gwdg.de> (raw)
In-Reply-To: <4DF9FE9D.3080609@gmx.at> (martin rudalics's message of "Thu, 16 Jun 2011 15:01:17 +0200")

martin rudalics writes:
>> BTW, but I think related to this, I don't really understand the new
>> default for pop-up-frames. The doc-string says:
>>
>> "If this is the symbol unset, the option was not set and is
>> ignored."
>
> 'unset stands for "nobody bothered to set or bind this".
>
>> Sorry, but I think this is a bit of a cop-out. You can't really ignore a
>> boolean option - you either pop up a new frame or you don't; it all just
>> depends on how you handle "unset", and this introduces ambiguity in the
>> code. A quick grep shows me that pop-up-frames is either tested with
>>
>> (if (memq pop-up-frames '(nil unset))
>>   ...
>>
>> which means 'unset is actually handled as "not set",
>
> Because it's the same for `display-buffer'.

I see.

>
>> or it is simply
>> tested with
>>
>> (if pop-up-frames
>>   ...
>
> I can't find this anywhere :-(

Sorry, I should have been more explicit: There are places in the Emacs
sources which only test pop-up-frames for being non-nil, usually with
'and'/'or':

calendar/diary-lib.el:

  (let* ((pop-up-frames (or pop-up-frames
                            (window-dedicated-p (selected-window))))

mail/rmail.el:

        (and pop-up-frames (one-window-p))

progmodes/inf-lisp.el:

     (let ((pop-up-frames
             ;; Be willing to use another frame
             ;; that already has the window in it.
             (or pop-up-frames
                 (get-buffer-window inferior-lisp-buffer t))))

vc/pcvs-util.el:

    (let ((pop-up-windows (or pop-up-windows pop-up-frames))

... just to mention a few.

>> which means 'unset is handled as "set".
>
> But an application should be allowed to test whether the user or the
> calling application has set this option in some way or the other before
> possibly (re-)binding it.  If the value is still 'unset, no one bothered
> about it.  If it is nil, someone up there explicitly doesn't want to pop
> up buffers.  If it's graphic-only, someone up there wants to pop them up
> on graphic systems only.  Any other value means that someone wants to
> pop up frames anywhere.  Not that applications care that much ...

OK, I think I understand the motivation behind 'unset now. However, this
effectively means that there really is no default value for
pop-up-frames, and every application can decide how they will deal with
that. The snippets above will see it as non-nil and will now create
frames.

>> I would vote for setting the default to 'graphic-only.
>
> IIRC the default was nil.  'graphic-only was IMHO a not very
> well-conceived idea because it didn't inhibit applications to rebind
> this to t.  I've never seen a `pop-up-frames' rebinding function care
> about this issue.

Right, the current code doesn't care about 'graphic-only, but neither
does the old code care about 'unset. This can be changed, of course... :-)

>> (Maybe this is the wrong place to discuss this - please let me know if I
>> should file another bug-report or bring this to emacs-devel).
>
> Please do what you find more convenient ;-)
>
> BTW, Drew started a related discussion in another thread.  I asked him
> to join us.

I actually don't feel that strongly about it. It just found it
confusing, but I think I understand it better now. I have set this
option to nil anyway. :-)

Thanks for explaining,
David





  reply	other threads:[~2011-06-16 13:57 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-13 22:21 bug#8857: display-buffer attempt to pop-up frame in batch mode causes "Unknown terminal type" error Glenn Morris
2011-06-13 22:23 ` Glenn Morris
2011-06-14  9:16   ` martin rudalics
2011-06-14 16:19     ` Glenn Morris
2011-06-14 17:14       ` martin rudalics
2011-06-14 17:20         ` Glenn Morris
2011-06-14 17:56           ` martin rudalics
2011-06-14 18:25             ` Glenn Morris
2011-06-14 19:09               ` martin rudalics
2011-06-15  7:29                 ` Glenn Morris
2011-06-15  8:01                   ` martin rudalics
2011-06-15 16:17                     ` Glenn Morris
2011-06-15 17:01                     ` David Engster
2011-06-15 17:45                       ` martin rudalics
2011-06-15 18:09                         ` Glenn Morris
2011-06-15 18:13                           ` David Engster
2011-06-15 19:16                             ` Glenn Morris
2011-06-15 18:30                         ` David Engster
2011-06-15 19:32                           ` martin rudalics
2011-06-15 19:42                             ` David Engster
2011-06-16  9:23                       ` martin rudalics
2011-06-16 10:04                         ` David Engster
2011-06-16 13:01                           ` martin rudalics
2011-06-16 13:57                             ` David Engster [this message]
2011-06-16 15:08                               ` martin rudalics
2011-06-17  6:49                                 ` David Engster
2011-06-16 14:17                             ` Stefan Monnier
2011-06-15 14:36                   ` Stefan Monnier
2011-06-15 19:40                     ` Glenn Morris
2011-06-15 21:02                       ` Stefan Monnier
2011-06-15 22:13                         ` Glenn Morris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2y611angb.fsf@ibookg4-c2.pc.gwdg.de \
    --to=deng@randomsample.de \
    --cc=8857@debbugs.gnu.org \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.