Subject: bug#20247: 24.4; Emacs hangs at startup in desktop mode

From: Eli Zaretskii <[email-masked]>
Date: Fri, 20 May 2016 19:06:47 +0300

> Date: Fri, 20 May 2016 08:24:04 -0700 (PDT)
> From: Drew Adams <[email-masked]>
> Cc: Richard Munitz <[email-masked]>, [email-masked]
> 
> Can we not leave the default to respecting the saved display value,
> but also use a `condition-case' or similar to DTRT if that display
> does not exist or trying to use it raises an error in some other way?

Can you explain why using display that is not the current one even
makes sense?

> The proposed cure sounds like killing the patient.

To me it sounds like the only sane behavior.

> And it doesn't solve the underlying problem for a user who decides
> to customize the value to use the recorded display value.

The assumption is that if such a customization produces problematic
behavior, users won't do that.

> A better fix, I think, would be to do something like this:
> 
> 1. Leave the default as is (not specifically important to this bug,
> however, as I mentioned: changing the default does NOT solve the
> problem, AFAICT).
> 
> 2. If the current value says to use the recorded display then try
> to do that.  If an error is raised then do not use it.

That's okay to try on master (if someone thinks it would be better),
but not on the release branch.  Note that trying to use it might
display some of the frames, which would then be tricky to remove, and
flashing them might not look good.

> I don't have the code for #2.  No doubt Someone (TM) would need to
> _actually try to debug this_, to find out just what happens when a
> bad display value is tried.

I think it's clear without any debugging.

> The first task is for Someone (TM) to actually try to find out
> what the problem is - what happens - when the display value is
> inappropriate.

The same thing that happens when you try to communicate with a machine
that is down or disconnected.